From 953a3d94af34dd5cb2dc764eb256367fd2c3e116 Mon Sep 17 00:00:00 2001 From: Jackwang Date: Mon, 6 Jun 2022 16:22:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=89=94=E9=99=A4?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B=E6=89=B9=E9=87=8F=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=8F=8A=E6=88=BF=E5=B1=8B=E7=BC=96?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/CreateHouseCodeAndUrlDTO.java | 37 +++++++++++++++++++ .../com/epmet/controller/HouseController.java | 29 ++++++++++++++- .../main/java/com/epmet/dao/IcHouseDao.java | 9 +++++ .../java/com/epmet/service/HouseService.java | 9 +++++ .../epmet/service/impl/HouseServiceImpl.java | 25 ++++++++++++- .../src/main/resources/mapper/IcHouseDao.xml | 12 ++++++ 6 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CreateHouseCodeAndUrlDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CreateHouseCodeAndUrlDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CreateHouseCodeAndUrlDTO.java new file mode 100644 index 0000000000..01dcdf11b6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CreateHouseCodeAndUrlDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @program: epmet-cloud + * @description: + * @author: wangtong + * @create: 2022-06-06 15:08 + **/ +@Data +public class CreateHouseCodeAndUrlDTO implements Serializable { + + /** + * 房屋id + */ + private String houseId; + + /** + * 客户id + */ + private String customerId; + + /** + * 楼栋id + */ + private String buildingId; + + /** + * 区划代码 + */ + private String areaCode; + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 472f3cb615..9f86eed2c9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -442,7 +442,7 @@ public class HouseController implements ResultDataResolver { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息"); } //url组成:小程序地址?房屋编码 - String url = HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode() + "&customerId=" + house.getCustomerId() + "&gridId=" + house.getGridId(); + String url = HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode(); BufferedImage image = BarcodeUtils.drawQRImage(house.getNeighborHoodName() + house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url); //BufferedImage 转 InputStream ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); @@ -502,6 +502,26 @@ public class HouseController implements ResultDataResolver { } + /** + * @describe: 批量生成房屋的房屋编码和一户一档二维码 + * @author wangtong + * @date 2022/6/6 14:39 + * @params [] + * @return java.lang.String + */ + @PostMapping("createBatchHouseCodeAndUrl") + public Result createBatchHouseCodeAndUrl() { + return houseService.createBatchHouseCodeAndUrl( ); + + } + + /** + * @describe: 测试生成Service接口-生成房屋编码 + * @author wangtong + * @date 2022/6/6 14:39 + * @params [formDTO] + * @return java.lang.String + */ @PostMapping("createHouseCode") public String createHouseCode(@RequestBody TestFormDTO formDTO) { //效验数据 @@ -509,6 +529,13 @@ public class HouseController implements ResultDataResolver { } + /** + * @describe: 测试生成Service接口-生成房屋一户一档二维码 + * @author wangtong + * @date 2022/6/6 14:40 + * @params [formDTO] + * @return java.lang.String + */ @PostMapping("createHouseQrcodeUrl") public String createHouseQrcodeUrl(@RequestBody TestFormDTO formDTO) throws Exception { return houseService.createHouseQrcodeUrl(formDTO.getHouseId()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index a08467a716..ac8a59be8c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -119,4 +119,13 @@ public interface IcHouseDao extends BaseDao { * @return com.epmet.entity.IcHouseEntity */ IcHouseEntity selectByHouseCode(@Param("houseCode") String houseCode); + + /** + * @describe: 查询需要补充房屋编码和URL的房屋信息 + * @author wangtong + * @date 2022/6/6 15:09 + * @params [] + * @return java.util.List + */ + List selectBatchHouseCodeAndUrl(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 2e6aa8cf7f..850817812c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -154,4 +154,13 @@ public interface HouseService { * @return com.epmet.commons.tools.utils.Result */ Result getHouseInfoByCode(IcHouseInfoFormDTO formDTO); + + /** + * @describe: 批量生成房屋的房屋编码和一户一档二维码 + * @author wangtong + * @date 2022/6/6 14:44 + * @params [] + * @return com.epmet.commons.tools.utils.Result + */ + Result createBatchHouseCodeAndUrl(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index b36df05988..5a994f7dc6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -833,7 +833,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { for (IcHouseListResultDTO house : houseList) { BufferedImage image = BarcodeUtils.drawQRImage(house.getNeighborHoodName() + house.getBuildingName() + house.getUnitNum() + house.getDoorName(), - HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode() + "&customerId=" + house.getCustomerId() + "&gridId=" + house.getGridId()); + HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode()); try { byte[] buf = new byte[8192]; @@ -921,7 +921,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息"); } //url组成:小程序地址?房屋编码 - String url = HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode() + "&customerId=" + house.getCustomerId() + "&gridId=" + house.getGridId(); + String url = HouseQrcodeEnum.PREFIX.getCode() + "?houseCode=" + house.getHouseCode(); String fileName = house.getNeighborHoodName() + house.getBuildingName() + house.getUnitNum() + house.getDoorName() + ".png"; BufferedImage image = BarcodeUtils.drawQRImage(house.getNeighborHoodName() + house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url); @@ -967,6 +967,27 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } + @Override + public Result createBatchHouseCodeAndUrl() { + List houseList = icHouseDao.selectBatchHouseCodeAndUrl(); + houseList.forEach(house->{ + IcHouseEntity entity = icHouseDao.selectById(house.getHouseId()); + if(StringUtils.isNotBlank(house.getAreaCode())){ + String areaCode = numberAfterFillZero(house.getAreaCode(), NumConstant.TWELVE); + entity.setHouseCode(createHouseCode(house.getCustomerId(),house.getBuildingId(),areaCode)); + } + try { + entity.setHouseQrcodeUrl(createHouseQrcodeUrl(house.getHouseId())); + } catch (Exception e) { + e.printStackTrace(); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败:"+house.getHouseId(),"二维码生成失败:"+house.getHouseId()); + } + icHouseDao.updateById(entity); + }); + return new Result().ok("批量生成成功"); + } + + /** * @return java.lang.String * @describe: 把数字转换成5位的字符串,不够的前面补0 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 2ec0234444..bb36540854 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -402,5 +402,17 @@ where HOUSE_CODE=#{houseCode} and del_flag = '0' +