Browse Source

合并孙家滩到master

dev
YUJT 3 years ago
parent
commit
b4a6dd62e9
  1. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/HouseQrcodeEnum.java
  2. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java
  3. 19
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseQrcodeConfigDTO.java
  4. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  5. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  6. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  7. 45
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  8. 15
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.22__alter_customer_org_parameter.sql
  9. 6
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  10. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/HouseQrcodeEnum.java

@ -9,7 +9,8 @@ package com.epmet.commons.tools.enums;
*/ */
public enum HouseQrcodeEnum { public enum HouseQrcodeEnum {
SUFFIX(".png", "二维码格式的后缀"); SUFFIX(".png", "二维码格式的后缀"),
PREFIX_KEY("house_qrcode_pre", "二维码格式的前缀key");
// PREFIX("https://epmet-dev.elinkservice.cn/cqrcode-ty/", "二维码地址的前缀"); // PREFIX("https://epmet-dev.elinkservice.cn/cqrcode-ty/", "二维码地址的前缀");

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java

@ -89,4 +89,6 @@ public class IcHouseListFormDTO extends PageFormDTO {
* 结束日期 eg20220505 * 结束日期 eg20220505
*/ */
private String updateEndDate; private String updateEndDate;
private String customerId;
} }

19
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseQrcodeConfigDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @program: epmet-cloud
* @description:
* @author: wangtong
* @create: 2022-06-07 18:34
**/
@Data
public class IcHouseQrcodeConfigDTO implements Serializable {
private String customerId;
private String qrcodePre;
}

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -32,6 +32,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO; import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.enums.HouseQrcodeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.feign.ResultDataResolver;
@ -47,9 +48,9 @@ import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcHouseDao; import com.epmet.dao.IcHouseDao;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
@ -432,7 +433,7 @@ public class HouseController implements ResultDataResolver {
/** /**
* @return void * @return void
* @describe: 下载房屋 * @describe: 下载房屋一户一
* @author wangtong * @author wangtong
* @date 2022/6/1 17:24 * @date 2022/6/1 17:24
* @params [formDTO, response] * @params [formDTO, response]
@ -446,11 +447,11 @@ public class HouseController implements ResultDataResolver {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息");
} }
//url组成:小程序地址?房屋编码 //url组成:小程序地址?房屋编码
Result<List<SysDictDataDTO>> dict = epmetAdminOpenFeignClient.dictDataList("house_qrcode_pre"); CustomerOrgParameterEntity codePre = icHouseDao.selectByCustomerId(house.getCustomerId(), HouseQrcodeEnum.PREFIX_KEY.getCode());
if (!dict.success() || CollectionUtils.isEmpty(dict.getData())) { if(null == codePre){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "一户一码前缀查询异常", "一户一码前缀查询异常"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "请先维护二维码前缀信息", "请先维护二维码前缀信息");
} }
String url = dict.getData().get(0).getDictValue() + house.getHouseCode(); String url = codePre.getParameterValue() + house.getHouseCode();
BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url); BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url);
//BufferedImage 转 InputStream //BufferedImage 转 InputStream
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
@ -491,6 +492,7 @@ public class HouseController implements ResultDataResolver {
//效验数据 //效验数据
LoginUserDetailsResultDTO loginUserDetail = getLoginUserDetailsResultDTO(loginUser, "【查询房屋】查询当前staff所在组织信息失败"); LoginUserDetailsResultDTO loginUserDetail = getLoginUserDetailsResultDTO(loginUser, "【查询房屋】查询当前staff所在组织信息失败");
formDTO.setAgencyId(loginUserDetail.getAgencyId()); formDTO.setAgencyId(loginUserDetail.getAgencyId());
formDTO.setCustomerId(loginUser.getCustomerId());
ValidatorUtils.validateEntity(formDTO); ValidatorUtils.validateEntity(formDTO);
houseService.downloadZip(response, formDTO); houseService.downloadZip(response, formDTO);
} }
@ -548,7 +550,7 @@ public class HouseController implements ResultDataResolver {
*/ */
@PostMapping("createHouseQrcodeUrl") @PostMapping("createHouseQrcodeUrl")
public String createHouseQrcodeUrl(@RequestBody TestFormDTO formDTO) throws Exception { public String createHouseQrcodeUrl(@RequestBody TestFormDTO formDTO) throws Exception {
return houseService.createHouseQrcodeUrl(formDTO.getHouseId()); return houseService.createHouseQrcodeUrl(formDTO.getHouseId(),null);
} }
} }

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.IcHouseListFormDTO; import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -144,4 +145,13 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @params [] * @params []
*/ */
List<CreateHouseCodeAndUrlDTO> selectBatchHouseCodeAndUrl(@Param("customerId") String customerId); List<CreateHouseCodeAndUrlDTO> selectBatchHouseCodeAndUrl(@Param("customerId") String customerId);
/**
* @describe: 通过客户id查询
* @author wangtong
* @date 2022/6/7 18:36
* @params [customerId]
* @return com.epmet.dto.result.IcHouseQrcodeConfigDTO
*/
CustomerOrgParameterEntity selectByCustomerId(@Param("customerId") String customerId, @Param("preKey") String preKey);
} }

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -144,7 +144,7 @@ public interface HouseService {
* @params [houseId] * @params [houseId]
* @return java.lang.String * @return java.lang.String
*/ */
String createHouseQrcodeUrl(String houseId) throws Exception; String createHouseQrcodeUrl(String houseId,String houseCode) throws Exception;
/** /**
* @describe: 根据房屋编码获取信息 * @describe: 根据房屋编码获取信息

45
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -32,10 +32,7 @@ import com.epmet.dao.*;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IcHouseChangeDetailEntity; import com.epmet.entity.*;
import com.epmet.entity.IcHouseChangeRecordEntity;
import com.epmet.entity.IcHouseCodeInfoEntity;
import com.epmet.entity.IcHouseEntity;
import com.epmet.enums.HouseChangeEnums; import com.epmet.enums.HouseChangeEnums;
import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseRentFlagEnums;
@ -152,7 +149,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
IcHouseEntity entity = new IcHouseEntity(); IcHouseEntity entity = new IcHouseEntity();
entity.setId(icHouseDTO.getId()); entity.setId(icHouseDTO.getId());
try { try {
entity.setHouseQrcodeUrl(createHouseQrcodeUrl(icHouseDTO.getId())); entity.setHouseQrcodeUrl(createHouseQrcodeUrl(icHouseDTO.getId(),null));
} catch (Exception e) { } catch (Exception e) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败","二维码生成失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败","二维码生成失败");
} }
@ -834,14 +831,14 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
List<IcHouseListResultDTO> houseList = icHouseDao.searchHouseByPage(formDTO); List<IcHouseListResultDTO> houseList = icHouseDao.searchHouseByPage(formDTO);
//获取一户一码前缀地址 //获取一户一码前缀地址
Result<List<SysDictDataDTO>> dict = epmetAdminOpenFeignClient.dictDataList("house_qrcode_pre"); CustomerOrgParameterEntity codePre = icHouseDao.selectByCustomerId(formDTO.getCustomerId(), HouseQrcodeEnum.PREFIX_KEY.getCode());
if (!dict.success() || CollectionUtils.isEmpty(dict.getData())) { if(null == codePre){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "一户一码前缀查询异常", "一户一码前缀查询异常"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "请先维护二维码前缀信息", "请先维护二维码前缀信息");
} }
for (IcHouseListResultDTO house : houseList) { for (IcHouseListResultDTO house : houseList) {
BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(), BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(),
dict.getData().get(0).getDictValue() + house.getHouseCode()); codePre.getParameterValue() + house.getHouseCode());
try { try {
byte[] buf = new byte[8192]; byte[] buf = new byte[8192];
@ -920,7 +917,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
} }
@Override @Override
public String createHouseQrcodeUrl(String houseId) throws Exception { public String createHouseQrcodeUrl(String houseId,String houseCode) throws Exception {
if (StringUtils.isBlank(houseId)) { if (StringUtils.isBlank(houseId)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "房屋id不可为空", "房屋id不可为空"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "房屋id不可为空", "房屋id不可为空");
} }
@ -929,11 +926,18 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息");
} }
//url组成:小程序地址?房屋编码 //url组成:小程序地址?房屋编码
Result<List<SysDictDataDTO>> dict = epmetAdminOpenFeignClient.dictDataList("house_qrcode_pre"); CustomerOrgParameterEntity codePre = icHouseDao.selectByCustomerId(house.getCustomerId(), HouseQrcodeEnum.PREFIX_KEY.getCode());
if (!dict.success() || CollectionUtils.isEmpty(dict.getData())) { if(null == codePre){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "一户一码前缀查询异常", "一户一码前缀查询异常"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "请先维护二维码前缀信息", "请先维护二维码前缀信息");
} }
String url = dict.getData().get(0).getDictValue() + house.getHouseCode(); //默认使用传参的houseCode,如果没有则使用数据库查询到的houseCode
String url = "";
if(StringUtils.isBlank(houseCode)){
url = codePre.getParameterValue() + house.getHouseCode();
}else{
url = codePre.getParameterValue() + houseCode;
}
String fileName = house.getBuildingName() + house.getUnitNum() + house.getDoorName() + ".png"; String fileName = house.getBuildingName() + house.getUnitNum() + house.getDoorName() + ".png";
BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url); BufferedImage image = HouseQRcodeUtils.drawHouseQRImage(house.getBuildingName() + house.getUnitNum() + house.getDoorName(), url);
@ -990,12 +994,13 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
if(StringUtils.isNotBlank(house.getAreaCode())){ if(StringUtils.isNotBlank(house.getAreaCode())){
String areaCode = numberAfterFillZero(house.getAreaCode(), NumConstant.TWELVE); String areaCode = numberAfterFillZero(house.getAreaCode(), NumConstant.TWELVE);
entity.setHouseCode(createHouseCode(house.getCustomerId(),house.getBuildingId(),areaCode)); entity.setHouseCode(createHouseCode(house.getCustomerId(),house.getBuildingId(),areaCode));
}
try { try {
entity.setHouseQrcodeUrl(createHouseQrcodeUrl(house.getHouseId())); entity.setHouseQrcodeUrl(createHouseQrcodeUrl(house.getHouseId(),entity.getHouseCode()));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败<houseId>:"+house.getHouseId(),"二维码生成失败<houseId>:"+house.getHouseId()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败<houseId>:"+house.getHouseId(),"二维码生成失败<houseId>:"+house.getHouseId());
}
} }
icHouseDao.updateById(entity); icHouseDao.updateById(entity);
}); });

15
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.22__alter_customer_org_parameter.sql

@ -0,0 +1,15 @@
alter table customer_org_parameter modify column PARAMETER_VALUE varchar(256);
INSERT INTO `epmet_gov_org`.`customer_org_parameter`(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('5', '3fdd0380deff5b30f45376cdf995d1c1', 'house_qrcode_pre', '一户一码前缀', 'https://epmet-cloud.elinkservice.cn/cqrcode-wxls/', '', '0', 0, 'APP_USER', '2022-06-08 09:22:52', 'APP_USER', '2022-06-08 09:22:52');
INSERT INTO `epmet_gov_org`.`customer_org_parameter`(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('6', '1530123370795233281', 'house_qrcode_pre', '一户一码前缀', 'https://epmet-cloud.elinkservice.cn/cqrcode-sjt/', '', '0', 0, 'APP_USER', '2022-06-08 09:22:52', 'APP_USER', '2022-06-08 09:22:52');
update `ic_house`
set HOUSE_CODE = null,
HOUSE_QRCODE_URL = null;
delete
FROM `ic_house_code_info`
where 1=1;

6
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -429,6 +429,12 @@
and(h.HOUSE_CODE is null or h.HOUSE_CODE = '') and(h.HOUSE_CODE is null or h.HOUSE_CODE = '')
order by h.CREATED_TIME desc order by h.CREATED_TIME desc
</select> </select>
<select id="selectByCustomerId" resultType="com.epmet.entity.CustomerOrgParameterEntity">
select * from customer_org_parameter
where CUSTOMER_ID = #{customerId}
and PARAMETER_KEY=#{preKey}
and DEL_FLAG='0'
</select>
<!-- 获取单元下的房屋数 --> <!-- 获取单元下的房屋数 -->
<select id="getHouseCountByUnitIds" resultType="java.lang.Integer"> <select id="getHouseCountByUnitIds" resultType="java.lang.Integer">

2
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java

@ -1,6 +1,7 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.enums.HomeMemberOperationEnum; import com.epmet.commons.tools.enums.HomeMemberOperationEnum;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -42,6 +43,7 @@ public class MyHomeController {
private IcResiUserService icResiUserService; private IcResiUserService icResiUserService;
@MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE})
@PostMapping("memberList/{houseCode}") @PostMapping("memberList/{houseCode}")
public Result<List<HomeUserBriefResultDTO>> selectListHomeMember(@PathVariable("houseCode") String houseCode, @LoginUser TokenDto tokenDto) { public Result<List<HomeUserBriefResultDTO>> selectListHomeMember(@PathVariable("houseCode") String houseCode, @LoginUser TokenDto tokenDto) {
return new Result().ok(myHomeService.selectListHomeMember(houseCode, tokenDto.getCustomerId())); return new Result().ok(myHomeService.selectListHomeMember(houseCode, tokenDto.getCustomerId()));

Loading…
Cancel
Save