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. 37
      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 {
SUFFIX(".png", "二维码格式的后缀");
SUFFIX(".png", "二维码格式的后缀"),
PREFIX_KEY("house_qrcode_pre", "二维码格式的前缀key");
// 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
*/
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.StrConstant;
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.EpmetException;
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.constants.ImportTaskConstants;
import com.epmet.dao.IcHouseDao;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
@ -432,7 +433,7 @@ public class HouseController implements ResultDataResolver {
/**
* @return void
* @describe: 下载房屋
* @describe: 下载房屋一户一
* @author wangtong
* @date 2022/6/1 17:24
* @params [formDTO, response]
@ -446,11 +447,11 @@ public class HouseController implements ResultDataResolver {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到房屋信息", "未查到房屋信息");
}
//url组成:小程序地址?房屋编码
Result<List<SysDictDataDTO>> dict = epmetAdminOpenFeignClient.dictDataList("house_qrcode_pre");
if (!dict.success() || CollectionUtils.isEmpty(dict.getData())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "一户一码前缀查询异常", "一户一码前缀查询异常");
CustomerOrgParameterEntity codePre = icHouseDao.selectByCustomerId(house.getCustomerId(), HouseQrcodeEnum.PREFIX_KEY.getCode());
if(null == codePre){
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 转 InputStream
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
@ -491,6 +492,7 @@ public class HouseController implements ResultDataResolver {
//效验数据
LoginUserDetailsResultDTO loginUserDetail = getLoginUserDetailsResultDTO(loginUser, "【查询房屋】查询当前staff所在组织信息失败");
formDTO.setAgencyId(loginUserDetail.getAgencyId());
formDTO.setCustomerId(loginUser.getCustomerId());
ValidatorUtils.validateEntity(formDTO);
houseService.downloadZip(response, formDTO);
}
@ -548,7 +550,7 @@ public class HouseController implements ResultDataResolver {
*/
@PostMapping("createHouseQrcodeUrl")
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.form.IcHouseListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.entity.IcHouseEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -144,4 +145,13 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @params []
*/
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]
* @return java.lang.String
*/
String createHouseQrcodeUrl(String houseId) throws Exception;
String createHouseQrcodeUrl(String houseId,String houseCode) throws Exception;
/**
* @describe: 根据房屋编码获取信息

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

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 = '')
order by h.CREATED_TIME desc
</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">

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

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

Loading…
Cancel
Save