package com.bofeng.wx.controller; import cn.afterturn.easypoi.cache.manager.IFileLoader; import com.baomidou.mybatisplus.toolkit.IdWorker; import com.bofeng.JwtHelper; import com.bofeng.dao.*; import com.bofeng.entity.*; import com.bofeng.excel.ExcelUtils; import com.bofeng.service.MsReportService; import com.bofeng.service.ScanAdminService; import com.bofeng.service.ScanService; import com.bofeng.service.SweepCodeService; import com.bofeng.unit.QRCode; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageConfig; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.yvan.Model; import com.yvan.PageDb; import com.yvan.mvc.JsonBody; import com.yvan.mvc.Pd; import com.yvan.platform.Conv; import com.yvan.springmvc.HttpParameterParser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.Cleanup; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Api("进出扫码后台信息") @RestController public class ScanAdminController { @Autowired private SweepCodeService sweepCodeService; @Autowired private UptownDoorMapper uptownDoorMapper; @Autowired private UptownMapper uptownMapper; @Autowired private ScanAdminService scanAdminService; @Autowired private OutUserMapper outUserMapper; @Autowired private UptownHomeMapper uptownHomeMapper; @Autowired private UptownUnitMapper uptownUnitMapper; @Autowired private SysUptownUnitMapper sysUptownUnitMapper; @Autowired private RbMapper rbMapper; @Autowired private MsReportService msReportService; @Autowired private ScanService scanService; @Autowired private ReturnWorkLyMapper returnWorkLyMapper; @ApiOperation("出入查询") @PostMapping("/whepi/sweepCode/selectCode") public Model> selectCode(PageDb pageDb,HttpParameterParser parser) { // HttpServletResponse response,HttpServletRequest request List sysUptownHouses = sweepCodeService.selectCode(pageDb,parser.getMap()); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云用户管理") @PostMapping("/whepi/sweepCode/selectLingyunUser") public Model> selectLingyunUser(PageDb pageDb,HttpParameterParser parser) throws ParseException { // HttpServletResponse response,HttpServletRequest request List sysUptownHouses = sweepCodeService.selectLingyunUser(pageDb,parser.getMap(), 1238790987234L); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("中建康城用户管理") @PostMapping("/whepi/sweepCode/selectLingyunUserZJ") public Model> selectLingyunUserZJ(PageDb pageDb,HttpParameterParser parser) throws ParseException { // HttpServletResponse response,HttpServletRequest request List sysUptownHouses = sweepCodeService.selectLingyunUser(pageDb,parser.getMap(), 5L); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云用户管理") @PostMapping("/whepi/sweepCode/HCUser") public Model> HCUser(PageDb pageDb,HttpParameterParser parser) { List sysUptownHouses = sweepCodeService.HCUser(pageDb,parser.getMap()); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云用户管理,上报明细") @GetMapping("/whepi/sweepCode/selectLingyunUserHistory") public Model> selectLingyunUserHistory(PageDb pageDb,@Pd(name = "userId") Long userId) { // HttpServletResponse response,HttpServletRequest request List sysUptownHouses = sweepCodeService.selectLingyunUserHistory(pageDb,userId); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云用户管理导出") @GetMapping("/whepi/sweepCode/exSelectLingyunUser") @SneakyThrows public void exSelectLingyunUser(HttpParameterParser parser,HttpServletResponse resp, @Pd(name = "queryProperties", required = false, defaultValue = "") String queryProperties, @Pd(name = "unitId", required = false, defaultValue = "0") Long unitId, @Pd(name = "msStatus", required = false, defaultValue = "0") Integer msStatus, @Pd(name = "isContact", required = false, defaultValue = "0") Integer isContact, @Pd(name = "isSuspected", required = false, defaultValue = "0") Integer isSuspected, @Pd(name = "isTrip", required = false, defaultValue = "0") Integer isTrip, @Pd(name = "date") String date, @Pd(name = "departmentId", required = false, defaultValue = "0") Long departmentId) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Map map = new HashMap<>(); map.put("queryProperties", queryProperties); map.put("msStatus", msStatus); map.put("isContact", isContact); map.put("isSuspected", isSuspected); map.put("isTrip", isTrip); map.put("departmentId", departmentId); Long userId = JwtHelper.getUserId(); if (userId > 7000 && userId < 8000) { unitId = userId; } map.put("unitId", unitId); map.put("date", date); String unitName = ""; List uptownUnits = sysUptownUnitMapper.selectByUnitId(unitId); if (uptownUnits!=null && uptownUnits.size()>0) { unitName = uptownUnits.get(0).getRidgepole()+uptownUnits.get(0).getUnit(); } List list = sweepCodeService.exSelectLingyunUser(map, 1238790987234L); ExcelUtils.writeSheet(ExcelRiBaoLYBM4.class, list).export(resp, unitName + "上报信息-" + date); } @ApiOperation("中建康城导出报表") @GetMapping("/whepi/sweepCode/exSelectLingyunUserZJ") @SneakyThrows public void exSelectLingyunUserZJ(HttpParameterParser parser,HttpServletResponse resp, @Pd(name = "queryProperties", required = false, defaultValue = "") String queryProperties, @Pd(name = "unitId", required = false, defaultValue = "0") Long unitId, @Pd(name = "msStatus", required = false, defaultValue = "0") Integer msStatus, @Pd(name = "isContact", required = false, defaultValue = "0") Integer isContact, @Pd(name = "isSuspected", required = false, defaultValue = "0") Integer isSuspected, @Pd(name = "isTrip", required = false, defaultValue = "0") Integer isTrip, @Pd(name = "date") String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Map map = new HashMap<>(); map.put("queryProperties", queryProperties); map.put("msStatus", msStatus); map.put("isContact", isContact); map.put("isSuspected", isSuspected); map.put("isTrip", isTrip); Long userId = JwtHelper.getUserId(); if (userId > 7000 && userId < 8000) { unitId = userId; } map.put("unitId", unitId); map.put("date", date); String unitName = ""; List uptownUnits = sysUptownUnitMapper.selectByUnitId(unitId); if (uptownUnits!=null && uptownUnits.size()>0) { unitName = uptownUnits.get(0).getRidgepole()+uptownUnits.get(0).getUnit(); } List list = sweepCodeService.exSelectLingyunUser(map, 5L); List excelRiBaoZJBM4s = sweepCodeService.listCopyToAotherList(ExcelRiBaoZJBM4.class, list); ExcelUtils.writeSheet(ExcelRiBaoZJBM4.class, excelRiBaoZJBM4s).export(resp, unitName + "上报信息-" + date); } @ApiOperation("凌云用户管理导出") @GetMapping("/whepi/sweepCode/exSelectHCUser") @SneakyThrows public void exSelectHCUser(HttpParameterParser parser,HttpServletResponse resp, @Pd(name = "queryProperties", required = false, defaultValue = "") String queryProperties, @Pd(name = "unitId", required = false, defaultValue = "0") Long unitId, @Pd(name = "date") String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Map map = new HashMap<>(); map.put("queryProperties", queryProperties); map.put("unitId", unitId); map.put("date", date); String unitName = ""; List uptownUnits = sysUptownUnitMapper.selectByUnitId(unitId); if (uptownUnits!=null && uptownUnits.size()>0) { unitName = uptownUnits.get(0).getRidgepole()+uptownUnits.get(0).getUnit(); } List list = sweepCodeService.exSelectHCUser(map); ExcelUtils.writeSheet(ExcelRiBaoHCBM4.class, list).export(resp, unitName + "上报信息-" + date); } @ApiOperation("导出") @PostMapping("/whepi/sweepCode/export") @SneakyThrows public void export(HttpParameterParser parser,HttpServletResponse resp) { List sysUptownHouses = sweepCodeService.export(parser.getMap()); ExcelUtils.writeSheet(SysUptownHouse.class, sysUptownHouses).export(resp,"出入管理"); } @ApiOperation("凌云出入查询") @PostMapping("/whepi/sweepCode/selectCodeLY") public Model> selectCodeLY(PageDb pageDb,HttpParameterParser parser) { List sysUptownHouses = sweepCodeService.selectCodeLY(pageDb,parser.getMap()); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云导出") @PostMapping("/whepi/sweepCode/exportLY") @SneakyThrows public void exportLY(HttpParameterParser parser,HttpServletResponse resp) { List sysUptownHouses = sweepCodeService.exportLY(parser.getMap()); ExcelUtils.writeSheet(SysUptownHouseLY.class, sysUptownHouses).export(resp,"凌云集团出入管理"); } @ApiOperation("和昌出入查询") @PostMapping("/whepi/sweepCode/selectCodeHC") public Model> selectCodeHC(PageDb pageDb,HttpParameterParser parser) { List sysUptownHouses = sweepCodeService.selectCodeHC(pageDb,parser.getMap()); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("和昌导出") @PostMapping("/whepi/sweepCode/exportHC") @SneakyThrows public void exportHC(HttpParameterParser parser,HttpServletResponse resp) { List sysUptownHouses = sweepCodeService.exportHC(parser.getMap()); ExcelUtils.writeSheet(SysUptownHouseLY.class, sysUptownHouses).export(resp,"湖北和昌新材料科技出入管理"); } @ApiOperation("出入查询") @PostMapping("/whepi/sweepCode/selectXunJian") public Model> selectXunJian(PageDb pageDb,HttpParameterParser parser) { List outScanEstates = sweepCodeService.selectXunJian(pageDb,parser.getMap()); return Model.newSuccess(pageDb,outScanEstates); } @ApiOperation("导出") @PostMapping("/whepi/sweepCode/exportXunJian") @SneakyThrows public void exportXunJian(HttpParameterParser parser,HttpServletResponse resp) { List outScanEstates = sweepCodeService.exportXunJian(parser.getMap()); ExcelUtils.writeSheet(OutScanEstate.class, outScanEstates).export(resp,"问询管理"); } @ApiOperation("导出凌云异常情况") @PostMapping("/whepi/sweepCode/getByReportSuspected") @SneakyThrows public void getByReportSuspected(HttpParameterParser parser,HttpServletResponse resp) { List list = msReportService.getByReportSuspected(); ExcelUtils.writeSheet(MsReport.class, list).export(resp,"系统六类人员"); } @ApiOperation("特殊人员查询") @PostMapping("/whepi/OutUser/selectAllOutUser") public Model> selectAllOutUser(PageDb pageDb,HttpParameterParser parser) { List outUsers = outUserMapper.getAllOutUser(pageDb,parser.getMap()); return Model.newSuccess(pageDb,outUsers); } @ApiOperation("凌云特殊人员查询") @PostMapping("/whepi/OutUser/selectAllOutUserLY") public Model> selectAllOutUserLY(PageDb pageDb,HttpParameterParser parser) { List outUsers = outUserMapper.getAllOutUserLY(pageDb,parser.getMap()); return Model.newSuccess(pageDb,outUsers); } @ApiOperation("检查电话号码") @PostMapping("/whepi/OutUser/getUptownHomeByPhone") public Model getUptownHomeByPhone(@Pd(name = "phone") String phone) { List outUsers = uptownHomeMapper.getUptownHomeByPhone(phone); if (outUsers.size() > 0) { return Model.newSuccess(outUsers.get(0)); } else { return Model.newFail("该号码并未注册"); } } @ApiOperation("更改特殊人员出入的时间") @PostMapping("/whepi/OutUser/updateOutUser") public Model updateOutUser(@Pd(name = "tuId") Long tuId, @Pd(name = "startDate") String startDate, @Pd(name = "endDate") String endDate) throws ParseException { OutUser o = outUserMapper.selectById(tuId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); o.setStartDate(sdf.parse(startDate)); o.setEndDate(sdf.parse(endDate)); o.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.updateById(o)); } @ApiOperation("更改凌云二类特殊人员的时间") @PostMapping("/whepi/OutUser/updateOutUserLY2") public Model updateOutUserLY2(@Pd(name = "tuId") Long tuId, @Pd(name = "startDate") String startDate) throws ParseException { OutUser o = outUserMapper.selectById(tuId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); o.setStartDate(sdf.parse(startDate)); o.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.updateById(o)); } @ApiOperation("保存特殊人员") @PostMapping("/whepi/OutUser/saveOutUser") public Model saveOutUser(@JsonBody OutUser outUser) { OutUser outUser1 = outUserMapper.queryOutUserByPhone(2, outUser.getPhone()); if (outUser1 != null) { return Model.newFail("该号码已经添加为特殊人员,请仔细检查该号码。"); } List uptownHomes = uptownHomeMapper.getUptownHomeByPhone(outUser.getPhone().toString()); if (uptownHomes.size() > 0) { outUser.setName(uptownHomes.get(0).getLinkman()); } outUser.setTuId(IdWorker.getId()); outUser.setTuType(2); outUser.setStartDate(new Date()); outUser.setEndDate(new Date()); outUser.setTime(1); return Model.newSuccess(outUserMapper.insert(outUser)); } @ApiOperation("凌云保存特殊人员") @PostMapping("/whepi/OutUser/saveOutUserLY") public Model saveOutUserLY(@JsonBody OutUser outUser) { OutUser outUser1 = outUserMapper.queryOutUserByPhone(1, outUser.getPhone()); if (outUser1 != null) { return Model.newFail("该号码已经添加为特殊人员,请仔细检查该号码。"); } List uptownHomes = uptownHomeMapper.getUptownHomeByPhone(outUser.getPhone().toString()); if (uptownHomes.size() > 0) { outUser.setName(uptownHomes.get(0).getLinkman()); } outUser.setTuId(IdWorker.getId()); outUser.setTuType(1); outUser.setStartDate(new Date()); outUser.setEndDate(new Date()); outUser.setTime(1); outUser.setUserCreate(JwtHelper.getUserId()); outUser.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.insert(outUser)); } @ApiOperation("凌云保存二类特殊人员") @PostMapping("/whepi/OutUser/saveOutUserLY2") public Model saveOutUserLY2(@JsonBody OutUser outUser) { OutUser outUser1 = outUserMapper.queryOutUserByPhone(5, outUser.getPhone()); if (outUser1 != null) { return Model.newFail("该号码已经添加为特殊人员,请仔细检查该号码。"); } List uptownHomes = uptownHomeMapper.getUptownHomeByPhone(outUser.getPhone().toString()); if (uptownHomes.size() > 0) { outUser.setName(uptownHomes.get(0).getLinkman()); } outUser.setTuId(IdWorker.getId()); outUser.setTuType(5); outUser.setStartDate(new Date()); outUser.setEndDate(new Date()); outUser.setTime(1); outUser.setUserCreate(JwtHelper.getUserId()); outUser.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.insert(outUser)); } @ApiOperation("凌云保存六类人员") @PostMapping("/whepi/OutUser/saveOutUserLYSix") public Model saveOutUserLYSix(@JsonBody OutUser outUser) { OutUser outUser1 = outUserMapper.queryOutUserByPhone(4, outUser.getPhone()); if (outUser1 != null) { return Model.newFail("该号码已经添加为六类人员,请仔细检查该号码。"); } List uptownHomes = uptownHomeMapper.getUptownHomeByPhone(outUser.getPhone().toString()); if (uptownHomes.size() > 0) { outUser.setName(uptownHomes.get(0).getLinkman()); } outUser.setTuId(IdWorker.getId()); outUser.setTuType(4); outUser.setStartDate(new Date()); outUser.setEndDate(new Date()); outUser.setTime(1); outUser.setUserCreate(JwtHelper.getUserId()); outUser.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.insert(outUser)); } @ApiOperation("湖北和昌新材料科技保存特殊人员") @PostMapping("/whepi/OutUser/saveOutUserHC") public Model saveOutUserHC(@JsonBody OutUser outUser) { OutUser outUser1 = outUserMapper.queryOutUserByPhone(3, outUser.getPhone()); if (outUser1 != null) { return Model.newFail("该号码已经添加为特殊人员,请仔细检查该号码。"); } List uptownHomes = uptownHomeMapper.getUptownHomeByPhone(outUser.getPhone().toString()); if (uptownHomes.size() > 0) { outUser.setName(uptownHomes.get(0).getLinkman()); } outUser.setTuId(IdWorker.getId()); outUser.setTuType(3); outUser.setStartDate(new Date()); outUser.setEndDate(new Date()); outUser.setTime(1); outUser.setUserCreate(JwtHelper.getUserId()); outUser.setUserUpdate(JwtHelper.getUserId()); return Model.newSuccess(outUserMapper.insert(outUser)); } @ApiOperation("删除特殊人员的时间") @PostMapping("/whepi/OutUser/deleteOutUser") public Model deleteOutUser(@Pd(name = "ids") String ids) { return Model.newSuccess(outUserMapper.deleteOutUsers(ids)); } @ApiOperation("小区进出二维码") @PostMapping("/whepi/qrImg/scanQrImg") public Model> scanQrImg(HttpParameterParser parser, PageDb pagination) throws IOException, WriterException { List list = uptownDoorMapper.getAllUptownDoor(pagination, parser.getMap()); for (UptownDoor door : list) { if (door.getUptownId() == 1238790987234L || door.getUptownId() == 5) { if (door.getInImg().equals("")) { String img = scan_qr(door.getDoorId(),1,door.getDoorName()+getName(1)); uptownDoorMapper.updateDoorQc("in_img", img, door.getDoorId()); door.setInImg(img); } if (door.getOutImg().equals("")) { String img = scan_qr(door.getDoorId(),2, door.getDoorName()+getName(2)); uptownDoorMapper.updateDoorQc("out_img", img, door.getDoorId()); door.setOutImg(img); } } else { if (door.getInImg().equals("")) { String img = scan_qr(door.getDoorId(),1,door.getUptownName()+door.getDoorName()+getName(1)); uptownDoorMapper.updateDoorQc("in_img", img, door.getDoorId()); door.setInImg(img); } if (door.getOutImg().equals("")) { String img = scan_qr(door.getDoorId(),2,door.getUptownName()+door.getDoorName()+getName(2)); uptownDoorMapper.updateDoorQc("out_img", img, door.getDoorId()); door.setOutImg(img); } } } return Model.newSuccess(pagination, list); } @ApiOperation("获取小区大门详细") @GetMapping("/whepi/qrImg/getDoorById") public Model getDoorById(HttpParameterParser parser, @Pd(name = "doorId") Long doorId) { return Model.newSuccess(uptownDoorMapper.getUptownDoorById(doorId)); } @ApiOperation("获取部门数据") @PostMapping("/whepi/qrImg/getDLYbumen") public Model> getDLYbumen(@Pd(name = "query", required = false, defaultValue = "") String query) { return Model.newSuccess(uptownUnitMapper.getDLYbumen(query)); } @ApiOperation("获取部门数据") @PostMapping("/whepi/qrImg/getHCBumen") public Model> getHCBumen(@Pd(name = "query", required = false, defaultValue = "") String query) { return Model.newSuccess(uptownUnitMapper.getHCBumen(query)); } @ApiOperation("保存小区大门信息") @PostMapping("/whepi/qrImg/insertDoor") public Model insert(@JsonBody UptownDoor uptownDoor) { List list = uptownDoorMapper.getUptownDoor(uptownDoor.getDoorName(), uptownDoor.getUptownId()); if (list.size() > 0) { return Model.newFail("当前小区已经添加该门"); } return Model.newSuccess(scanAdminService.saveUptownDoor(uptownDoor)); } @ApiOperation("获取小区大门详细") @PostMapping("/whepi/qrImg/getUptown") public Model> getUptown(HttpParameterParser parser, PageDb pagination) { return Model.newSuccess(pagination, uptownMapper.getUptowns(pagination, parser.getMap())); } @ApiOperation("允许复工人员") @GetMapping("/whepi/returnWork/returnWork") public void returnWork(HttpParameterParser parser) { scanService.returnWorkLY(0L); Map map = new HashMap<>(); List list = returnWorkLyMapper.exgetAllUser(map); } @ApiOperation("导出允许复工人员") @SneakyThrows @GetMapping("/whepi/returnWork/exReturnWork") public void exReturnWork(HttpParameterParser parser,HttpServletResponse resp, @Pd(name = "unitId" , required = false, defaultValue = "0") Long unitId, @Pd(name = "departmentId" , required = false, defaultValue = "0") Long departmentId) { Long userId = JwtHelper.getUserId(); if (userId > 7000 && userId < 8000) { unitId = userId; } scanService.returnWorkLY(unitId); Map map = new HashMap<>(); map.put("unitId", unitId); map.put("departmentId", departmentId); List list = returnWorkLyMapper.exgetAllUser(map); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ExcelUtils.writeSheet(ReturnWorkLy.class, list).export(resp,"凌云集团正常复工员工" + sdf.format(new Date())); } @ApiOperation("凌云签到") @PostMapping("/whepi/clock/selectClockLY") public Model> selectClockLY(PageDb pageDb,HttpParameterParser parser) { List sysUptownHouses = sweepCodeService.selectClockLY(pageDb,parser.getMap()); return Model.newSuccess(pageDb,sysUptownHouses); } @ApiOperation("凌云签到导出") @PostMapping("/whepi/clock/exSelectClockLY") @SneakyThrows public void exSelectClockLY(HttpParameterParser parser,HttpServletResponse resp) { List list = sweepCodeService.exSelectClockLY(parser.getMap()); ExcelUtils.writeSheet(OutScanClock.class, list).export(resp,"出入管理"); } // 获取code private static final String oauth2 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="; private static final String moreUrl = "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; @Value("${yvan.wechat.appID}") private String appId; @Value("${yvan.wechat.domain}") private String domain; /** * 生成进出门二维码 * @param doorId 小区大门ID * @param inType 1进入;2外出 * @param response * @throws IOException * @throws WriterException */ // @GetMapping(value = "/whepi/scan/scan_qr") // public String scanQrImg(@Pd(name = "doorId") Long doorId, @Pd(name = "inType") Integer inType, @Pd(name = "name") String name, // HttpServletResponse response) throws IOException, WriterException { // String url = oauth2+appId +"&redirect_uri="+URLEncoder.encode(domain()+"user/scan.html?doorId="+doorId+"&inType="+inType,"utf-8")+moreUrl; // String file = QRCode.createBase64Img(url, "家园互助平台", name); // return file; // } public String scan_qr(Long doorId, Integer inType, String name) throws IOException, WriterException { String url = oauth2+appId +"&redirect_uri="+URLEncoder.encode(domain()+"user/scan.html?doorId="+doorId+"&inType="+inType,"utf-8")+moreUrl; String file = QRCode.createBase64Img(url, "家园互助平台", name); return file; } /** * 生成校园巡逻二维码 * @throws IOException * @throws WriterException */ @GetMapping(value = "/whepi/scan/scanEstate_qr") public String scanEstateQrImg(HttpServletResponse response) throws IOException, WriterException { String url = oauth2 + appId + "&redirect_uri=" + URLEncoder.encode( domain() + "user/scanEstate.html","utf-8") + moreUrl; String file = QRCode.createBase64Img(url, "家园互助平台", "校园巡检二维码"); return file; } public String domain() { if (domain.substring(domain.length()-1).equals("/")) { return domain; } else { return domain + "/"; } } public String getName(Integer inType) { if (inType == 1) { return "入口"; } else if (inType == 2) { return "出口"; } return null; } }