diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
new file mode 100644
index 0000000000..935064e933
--- /dev/null
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
@@ -0,0 +1,34 @@
+package com.epmet.commons.tools.enums;
+
+public enum CollectUrlEnum {
+
+
+ URL_PRE("subpages/points/pages/fangyi/xinxi/create/index", "小程序码跳转地址"),
+ GET_CODE_URL("https://api.weixin.qq.com/wxa/getwxacode?access_token=", "获取二维码的url");
+
+
+ private String code;
+ private String name;
+
+
+ CollectUrlEnum(String code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java
new file mode 100644
index 0000000000..677660bdbb
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java
@@ -0,0 +1,36 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author wgf
+ * @date 2022/8/3 11:18
+ */
+@Data
+public class CollectHouseFormDTO implements Serializable {
+ private static final long serialVersionUID = 2636608477324780974L;
+
+ private String id;
+
+ /**
+ * 房屋状态 1:出租 0:自住 2:闲置 3:未售出
+ */
+ private Integer rentFlag;
+
+ /**
+ * 房主姓名
+ */
+ private String ownerName;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 居住人数
+ */
+ private Integer resiNumber;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java
new file mode 100644
index 0000000000..62f5de1216
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author wgf
+ * @date 2022/8/3 11:18
+ */
+@Data
+public class GetHouseInfoToCollectFormDTO implements Serializable {
+ private static final long serialVersionUID = 2636608477324780974L;
+
+ /**
+ * 单元
+ */
+ private String buildingUnitId;
+
+ /**
+ * 门牌号
+ */
+ private String doorName;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java
new file mode 100644
index 0000000000..ab08b38bec
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java
@@ -0,0 +1,124 @@
+
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * desc:房屋列表结果类
+ *
+ * @author liujianjun
+ */
+@Data
+public class IcHouseInfoCollectResultDTO implements Serializable {
+
+
+ private static final long serialVersionUID = 4963952996288796744L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 所属组织的PIDS,包括agency,grid
+ */
+ private String orgIdPath;
+
+ /**
+ * 小区id
+ */
+ private String neighborHoodId;
+
+ /**
+ * 片区id,neighbor_hood_part.id,可为空。
+ */
+ private String partId;
+
+ /**
+ * 所属楼栋id
+ */
+ private String buildingId;
+
+ /**
+ * 所属单元id
+ */
+ private String buildingUnitId;
+
+ /**
+ * 房屋名字后台插入时生成
+ */
+ private String houseName;
+
+ /**
+ * 全名:小区,楼栋,单元,房屋
+ */
+ private String fullName;
+
+ /**
+ * 门牌号
+ */
+ private String doorName;
+
+ /**
+ * 房屋类型,这里存储字典value就可以
+ */
+ private String houseType;
+
+ /**
+ * 存储字典value
+ */
+ private String purpose;
+
+ /**
+ * 1:出租 0:自住 2:闲置 3:未出售
+ */
+ private Integer rentFlag;
+
+ /**
+ * 房主姓名
+ */
+ private String ownerName;
+
+ /**
+ * 房主电话
+ */
+ private String ownerPhone;
+
+ /**
+ * 房主身份证号
+ */
+ private String ownerIdCard;
+
+ /**
+ * 排序
+ */
+ private BigDecimal sort;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 房屋编码
+ */
+ private String houseCode;
+ private String houseQrcodeUrl;
+
+ /**
+ * 居住人数
+ */
+ private Integer resiNumber;
+ /**
+ * 房屋可编辑编码
+ */
+ private String coding;
+}
diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml
index 401f05c967..2da6b8b8ac 100644
--- a/epmet-module/gov-org/gov-org-server/pom.xml
+++ b/epmet-module/gov-org/gov-org-server/pom.xml
@@ -147,6 +147,12 @@
2.0.0
compile
+
+ com.epmet
+ epmet-third-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
index eb42e5a043..3d86d05fb6 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
@@ -17,31 +17,35 @@
package com.epmet.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.constant.StrConstant;
-import com.epmet.commons.tools.enums.EnvEnum;
+import com.epmet.commons.tools.enums.CollectUrlEnum;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
-import com.epmet.commons.tools.utils.BarcodeUtils;
+import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dto.CustomerAgencyDTO;
-import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
+import com.epmet.feign.OssFeignClient;
+import com.epmet.resi.group.dto.QRCodeMultipartFileDTO;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.IcNeighborHoodService;
+import com.epmet.utils.ThirdUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -56,9 +60,9 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.URL;
import java.net.URLEncoder;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -82,6 +86,8 @@ public class AgencyController {
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private IcNeighborHoodService neighborHoodService;
+ @Autowired
+ private OssFeignClient ossFeignClient;
/**
* @param formDTO
@@ -400,45 +406,60 @@ public class AgencyController {
public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) {
ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class);
String id = formDTO.getId();
- String type = formDTO.getType();
String name = "";
+ if(!formDTO.getType().equals(OrgInfoConstant.COMMUNITY)){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只可生成社区码");
+ }
try {
- if (type.equals(OrgInfoConstant.COMMUNITY)) {
- CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
- if (customerAgencyDTO == null) {
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
- }
- name = customerAgencyDTO.getOrganizationName();
- } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
- IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
- if (icNeighborHoodDTO == null) {
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
+ //获取AccessToken
+ String accessToken = ThirdUtils.getAccessToken(tokenDto.getCustomerId()).getResiToken();
+ if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) {
+ log.warn("获取accessToken失败,customerId:{}", tokenDto.getCustomerId());
+ throw new RenException("获取accessToken失败,customerId:{}", tokenDto.getCustomerId());
+ }
+ CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
+ if (customerAgencyDTO == null) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
+ }
+ name = customerAgencyDTO.getOrganizationName();
+ //url组成:信息采集地址?社区id
+ StringBuilder path = new StringBuilder(CollectUrlEnum.URL_PRE.getCode());
+ path.append("?agencyId=").append(formDTO.getId());
+ //需要发送的Json
+ JSONObject data = new JSONObject();
+ data.put("path", path.toString());
+ data.put("width", 400);
+ //发送
+ byte[] buffer = HttpClientManager.getInstance().getMediaByteArray(CollectUrlEnum.GET_CODE_URL.getCode() + accessToken, JSON.toJSONString(data)).getData();
+ if (buffer != null && buffer.length < 500) {
+ String wxResult = "";
+ wxResult = new String(buffer, StandardCharsets.UTF_8);
+ if (-1 != wxResult.indexOf("errcode")) {
+ log.error("获取二维码接口返回错误:{}", wxResult);
+ throw new RenException("获取二维码失败");
}
- name = icNeighborHoodDTO.getNeighborHoodName();
}
- //url组成:数字社区地址?小区id&用户id
- //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
- String url = EnvEnum.getCurrentEnv().getUrl()
- .replace("cloud", "open")
- .replace("api/", StrConstant.EPMETY_STR)
- .concat("epmet-oper-gov/#/caiji/")
- .concat(id).concat("?")
- .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK)
- .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK)
- .concat("type=").concat(type).concat(StrConstant.AND_MARK)
- .concat("userId=").concat(tokenDto.getUserId())
- .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()));
- BufferedImage image = BarcodeUtils.drawQRImage(name, url);
- //BufferedImage 转 InputStream
+ //上传
+ QRCodeMultipartFileDTO qrCodeMultipartFile = new QRCodeMultipartFileDTO();
+ qrCodeMultipartFile.setBytes(buffer);
+ String originalFilename = name.concat(".jpg");
+ qrCodeMultipartFile.setOriginalFilename(originalFilename);
+ Result uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile);
+ if (!uploadResult.success()) {
+ throw new RenException("调用oss服务上传活动居民信息录入码失败");
+ }
+
+ URL url = new URL(uploadResult.getData().getUrl());
+ BufferedImage img = ImageIO.read(url);
+
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
- ImageIO.write(image, "png", imageOutput);
+ ImageIO.write(img, "png", imageOutput);
InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
long length = imageOutput.length();
- String fileName = name + ".png";
response.setContentType("application/octet-stream");
response.setContentLength((int) length);
- response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8));
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(originalFilename, StrConstant.UTF_8));
//输出流
byte[] bytes = new byte[1024];
@@ -450,10 +471,69 @@ public class AgencyController {
outputStream.write(bytes, 0, len);
}
outputStream.flush();
+
} catch (Exception e) {
log.error("method exception", e);
}
}
+// @PostMapping("create-qrcode")
+// public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) {
+// ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class);
+// String id = formDTO.getId();
+// String type = formDTO.getType();
+// String name = "";
+// try {
+// if (type.equals(OrgInfoConstant.COMMUNITY)) {
+// CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
+// if (customerAgencyDTO == null) {
+// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
+// }
+// name = customerAgencyDTO.getOrganizationName();
+// } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
+// IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
+// if (icNeighborHoodDTO == null) {
+// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
+// }
+// name = icNeighborHoodDTO.getNeighborHoodName();
+// }
+// //url组成:数字社区地址?小区id&用户id
+// //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
+// String url = EnvEnum.getCurrentEnv().getUrl()
+// .replace("cloud", "open")
+// .replace("api/", StrConstant.EPMETY_STR)
+// .concat("epmet-oper-gov/#/caiji/")
+// .concat(id).concat("?")
+// .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK)
+// .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK)
+// .concat("type=").concat(type).concat(StrConstant.AND_MARK)
+// .concat("userId=").concat(tokenDto.getUserId())
+// .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()));
+// BufferedImage image = BarcodeUtils.drawQRImage(name, url);
+// //BufferedImage 转 InputStream
+// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+// ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
+// ImageIO.write(image, "png", imageOutput);
+// InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+// long length = imageOutput.length();
+// String fileName = name + ".png";
+// response.setContentType("application/octet-stream");
+// response.setContentLength((int) length);
+// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8));
+//
+// //输出流
+// byte[] bytes = new byte[1024];
+// OutputStream outputStream = response.getOutputStream();
+// long count = 0;
+// while (count < length) {
+// int len = inputStream.read(bytes, 0, 1024);
+// count += len;
+// outputStream.write(bytes, 0, len);
+// }
+// outputStream.flush();
+// } catch (Exception e) {
+// log.error("method exception", e);
+// }
+// }
/**
* Desc: 查询工作人员所属组织下的所有社区
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 62dfafccdf..0be889c93d 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
@@ -200,6 +200,34 @@ public class HouseController implements ResultDataResolver {
return new Result();
}
+ /**
+ * 信息登记,更新房屋信息
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author wgf
+ * @date 2022/8/3 11:16
+ */
+ @NoRepeatSubmit
+ @PostMapping("updateCollect")
+ public Result updateCollect(@RequestBody CollectHouseFormDTO formDTO) {
+ houseService.updateCollect(formDTO);
+ return new Result();
+ }
+
+ /**
+ * 获取房屋信息
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author wgf
+ * @date 2022/8/3 11:16
+ */
+ @PostMapping("getHouseInfoToCollect")
+ public Result getHouseInfoToCollect(@RequestBody GetHouseInfoToCollectFormDTO formDTO) {
+ return houseService.getHouseInfoToCollect(formDTO);
+ }
+
/**
* lzh
*
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java
index ece90f219d..d318f9116b 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java
@@ -141,4 +141,18 @@ public class NeighborHoodController {
TemplateExportParams templatePath = new TemplateExportParams("excel/neighbor_template.xlsx");
ExcelPoiUtils.exportExcel(templatePath ,new HashMap<>(),"小区信息录入表",response);
}
+
+ /**
+ * @describe: 批量生成小区二维码
+ * @author wangtong
+ * @date 2022/8/4 15:15
+ * @params [loginUser]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @NoRepeatSubmit
+ @PostMapping("createBatchNeiQrUrl")
+ public Result createBatchNeiQrUrl(@LoginUser TokenDto loginUser) {
+ return neighborHoodService.createBatchNeiQrUrl(loginUser.getCustomerId());
+
+ }
}
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 ac4eba65fd..3ae10791bf 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
@@ -2,6 +2,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportGeneralDTO;
+import com.epmet.dto.form.GetHouseInfoToCollectFormDTO;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
@@ -192,4 +193,12 @@ public interface IcHouseDao extends BaseDao {
* @params [coding]
*/
IcHouseEntity selectByCoding(@Param("coding") String coding);
+
+ /**
+ * 获取房屋信息
+ * @param formDTO
+ * @return
+ */
+ IcHouseInfoCollectResultDTO getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO);
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
index f96edb70bb..26e278fd16 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
@@ -116,4 +116,9 @@ public class IcNeighborHoodEntity extends BaseEpmetEntity {
* 实有楼栋数
*/
private Integer realBuilding;
+
+ /**
+ * 二维码地址
+ */
+ private String qrcodeUrl;
}
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 a5c940b0c1..225c28405a 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
@@ -43,6 +43,7 @@ public interface HouseService {
void updateHouse(String customerId, IcHouseAddFormDTO formDTO);
+ void updateCollect(CollectHouseFormDTO formDTO);
/**
* Desc: 房屋变更记录
@@ -54,6 +55,16 @@ public interface HouseService {
*/
void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO);
+ /**
+ * Desc: 房屋变更记录(信息登记)
+ * @param houseId
+ * @param customerId
+ * @param houseDTO
+ * @author wgf
+ * @date 2022/5/10 10:57
+ */
+ void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO);
+
/**
* 小寨子社区-合同签订后变更成出租状态
*
@@ -175,4 +186,11 @@ public interface HouseService {
Result getHomeInfoByHouseCode(HouseInfoFormDTO dto);
void orgIdPathInit();
+
+ /**
+ * 获取房屋信息
+ * @param formDTO
+ * @return
+ */
+ Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java
index 24427a6657..b091fc4e32 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java
@@ -18,6 +18,7 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.form.IcNeighborHoodAddFormDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
@@ -51,4 +52,13 @@ public interface NeighborHoodService{
* @param response
*/
void exportNeighborhoodinfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception ;
+
+ /**
+ * @describe: 批量生成小区二维码
+ * @author wangtong
+ * @date 2022/8/4 15:18
+ * @params [customerId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result createBatchNeiQrUrl(String customerId);
}
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 5d0556337b..f7c5713e7a 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
@@ -244,6 +244,30 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
icHouseRedis.delHouseInfo(formDTO.getHouseId(), customerId);
}
+ /**
+ * 更新房屋(信息登记)
+ *
+ * @param
+ * @param formDTO
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateCollect(CollectHouseFormDTO formDTO) {
+ IcHouseEntity entity = new IcHouseEntity();
+ entity.setId(formDTO.getId());
+ entity.setRentFlag(formDTO.getRentFlag());
+ entity.setOwnerName(formDTO.getOwnerName());
+ entity.setResiNumber(formDTO.getResiNumber());
+
+ // 更新变更记录
+ IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class);
+ houseChangeRecordCollect(formDTO.getId(), formDTO.getCustomerId(), icHouseDTO);
+
+ icHouseDao.updateById(entity);
+ //删除房屋缓存
+ icHouseRedis.delHouseInfo(formDTO.getId(), entity.getCustomerId());
+ }
+
/**
* Desc: 房屋变更记录
*
@@ -337,6 +361,64 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
}
+ /**
+ * Desc: 房屋变更记录(信息登记)
+ *
+ * @param houseId
+ * @param customerId
+ * @param houseDTO
+ * @author wgf
+ * @date 2022/5/10 10:57
+ */
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO) {
+ IcHouseEntity entity = icHouseService.selectById(houseId);
+ entity.setOwnerName(null == entity.getOwnerName() ? "" : entity.getOwnerName());
+ entity.setOwnerPhone(null == entity.getOwnerPhone() ? "" : entity.getOwnerPhone());
+ entity.setOwnerIdCard(null == entity.getOwnerIdCard() ? "" : entity.getOwnerIdCard());
+ if (null == entity) {
+ throw new EpmetException("不存在此房屋...");
+ }
+ StringBuilder sbBefore = new StringBuilder();
+ StringBuilder sbAfter = new StringBuilder();
+ List entityList = new ArrayList<>();
+
+ if (!houseDTO.getRentFlag().equals(entity.getRentFlag())) {
+ sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()).append(";");
+ sbBefore.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())).append(";");
+ IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
+ e.setChangeCol(HouseChangeEnums.RENT_FLAG.getColumn());
+ e.setChangeAfter(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName());
+ e.setChangeBefore(HouseRentFlagEnums.getTypeValue(entity.getRentFlag()));
+ entityList.add(e);
+ }
+ if (null != houseDTO.getOwnerName() && !houseDTO.getOwnerName().equals(entity.getOwnerName())) {
+ sbAfter.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无").append(";");
+ sbBefore.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无").append(";");
+ IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
+ e.setChangeCol(HouseChangeEnums.OWNER_NAME.getColumn());
+ e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无");
+ e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无");
+ entityList.add(e);
+ }
+ if (StringUtils.isNotBlank(sbAfter)) {
+ String before = sbBefore.substring(NumConstant.ZERO, sbBefore.length() - NumConstant.ONE);
+ String after = sbAfter.substring(NumConstant.ZERO, sbAfter.length() - NumConstant.ONE);
+ HouseAgencyInfoResultDTO houseAgencyInfo = icHouseDao.getHouseAgencyInfo(houseId);
+ IcHouseChangeRecordEntity recordEntity = ConvertUtils.sourceToTarget(houseAgencyInfo, IcHouseChangeRecordEntity.class);
+ recordEntity.setCustomerId(customerId);
+ recordEntity.setChangeBefore(before);
+ recordEntity.setChangeAfter(after);
+ changeRecordService.insert(recordEntity);
+ entityList.forEach(e -> {
+ e.setCustomerId(customerId);
+ e.setRecordId(recordEntity.getId());
+ });
+ changeDetailService.insertBatch(entityList);
+ }
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public void update2Rent(RentHouseFormDTO formDTO) {
@@ -1220,4 +1302,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
recureAppendParentAgencyId(pid, result);
}
+
+
+ @Override
+ public Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO) {
+ IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = icHouseDao.getHouseInfoToCollect(formDTO);
+
+ return new Result().ok(icHouseInfoCollectResultDTO);
+ }
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
index 0f5079181b..a7d6cf0769 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
@@ -1,20 +1,22 @@
package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.enums.CollectUrlEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.NeighborhoodConstant;
-import com.epmet.dao.CustomerGridDao;
-import com.epmet.dao.IcNeighborHoodDao;
-import com.epmet.dao.IcNeighborHoodPropertyDao;
-import com.epmet.dao.IcOrganizationCodeInfoDao;
+import com.epmet.dao.*;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.IcNeighborHoodPropertyDTO;
@@ -24,18 +26,19 @@ import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.form.IcUserBelongToChangedFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.dto.result.OrganizationCommunityDTO;
-import com.epmet.entity.IcHouseEntity;
-import com.epmet.entity.IcNeighborHoodEntity;
-import com.epmet.entity.IcNeighborHoodPropertyEntity;
-import com.epmet.entity.IcOrganizationCodeInfoEntity;
+import com.epmet.dto.result.UploadImgResultDTO;
+import com.epmet.entity.*;
import com.epmet.enums.OrganizationTypeEnums;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
+import com.epmet.feign.OssFeignClient;
+import com.epmet.resi.group.dto.QRCodeMultipartFileDTO;
import com.epmet.service.IcNeighborHoodPropertyService;
import com.epmet.service.IcNeighborHoodService;
import com.epmet.service.NeighborHoodService;
import com.epmet.util.ExcelPoiUtils;
+import com.epmet.utils.ThirdUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@@ -46,6 +49,7 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -73,6 +77,10 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile);
+ if (!uploadResult.success()) {
+ throw new RenException("调用oss服务上传活动居民信息录入码失败");
+ }
+ return uploadResult.getData().getUrl();
}
/**
@@ -271,6 +336,28 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(IcNeighborHoodEntity::getCustomerId,customerId)
+ .eq(IcNeighborHoodEntity::getDelFlag, NumConstant.ZERO_STR);;
+ List neiList = baseDao.selectList(queryWrapper);
+ //保存二维码地址
+ neiList.forEach(nei->{
+ if(org.apache.commons.lang3.StringUtils.isBlank(nei.getQrcodeUrl())){
+ try {
+ nei.setQrcodeUrl(createNeiQrcodeUrl(nei));
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败:"+nei.getId(),"二维码生成失败:"+nei.getId());
+ }
+ }
+ baseDao.updateById(nei);
+ });
+ return new Result().ok("批量生成成功");
+ }
+
private List searchAllNeighborhood(IcHouseListFormDTO formDTO) {
IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class);
neighbor.setDelFlag("0");
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql
new file mode 100644
index 0000000000..754bf0631a
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql
@@ -0,0 +1 @@
+alter table ic_neighbor_hood add COLUMN `QRCODE_URL` varchar(255) DEFAULT NULL COMMENT '二维码地址';
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 2abb12cdda..8b900c90dd 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
@@ -541,5 +541,13 @@
and CODING=#{coding}
+
+
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java
new file mode 100644
index 0000000000..01a79ad36e
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java
@@ -0,0 +1,144 @@
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+public class IcResiCollectVisitorDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 目的地
+ */
+ private String address;
+
+ /**
+ * 客户Id customer.id
+ */
+ private String customerId;
+
+ /**
+ * 网格ID
+ */
+ private String gridId;
+
+ /**
+ * 组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 组织的pids
+ */
+ private String pids;
+
+ /**
+ * 所属小区ID;
+ */
+ private String villageId;
+
+ /**
+ * 所属小区名称
+ */
+ private String villageName;
+
+ /**
+ * 所属楼宇Id
+ */
+ private String buildId;
+
+ /**
+ * 所属楼宇名称
+ */
+ private String buildName;
+
+ /**
+ * 单元id
+ */
+ private String unitId;
+
+ /**
+ * 单元名
+ */
+ private String unitName;
+
+ /**
+ * 所属家庭Id
+ */
+ private String homeId;
+
+ /**
+ * 房间名
+ */
+ private String homeName;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 手机号
+ */
+ private String mobile;
+
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ /**
+ * 来访事由
+ */
+ private String comeReason;
+
+ /**
+ * 人脸照片
+ */
+ private String faceImg;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java
new file mode 100644
index 0000000000..2f7c71dfd8
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java
@@ -0,0 +1,122 @@
+package com.epmet.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+public class SaveCollectVisitorFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户Id customer.id
+ */
+ private String customerId;
+
+ /**
+ * 网格ID
+ */
+ private String gridId;
+
+ /**
+ * 组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 组织的pids
+ */
+ private String pids;
+
+ /**
+ * 所属小区ID;
+ */
+ @NotBlank(message = "小区ID不能为空")
+ private String villageId;
+
+ /**
+ * 所属小区名称
+ */
+ @NotBlank(message = "小区名称不能为空")
+ private String villageName;
+
+ /**
+ * 所属楼宇Id
+ */
+ @NotBlank(message = "楼宇Id不能为空")
+ private String buildId;
+
+ /**
+ * 所属楼宇名称
+ */
+ @NotBlank(message = "楼宇名称不能为空")
+ private String buildName;
+
+ /**
+ * 单元id
+ */
+ @NotBlank(message = "单元id不能为空")
+ private String unitId;
+
+ /**
+ * 单元名
+ */
+ @NotBlank(message = "单元名不能为空")
+ private String unitName;
+
+ /**
+ * 所属家庭Id
+ */
+ @NotBlank(message = "家庭Id不能为空")
+ private String homeId;
+
+ /**
+ * 房间名
+ */
+ @NotBlank(message = "房间名不能为空")
+ private String homeName;
+
+ /**
+ * 详细地址
+ */
+ @NotBlank(message = "家庭地址不能为空")
+ private String address;
+
+ /**
+ * 姓名
+ */
+ @NotBlank(message = "姓名不能为空")
+ private String name;
+
+ /**
+ * 手机号
+ */
+ @NotBlank(message = "手机号不能为空")
+ private String mobile;
+
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ /**
+ * 来访事由
+ */
+ private String comeReason;
+
+ /**
+ * 人脸照片
+ */
+ private String faceImg;
+
+
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java
new file mode 100644
index 0000000000..1aa8776d36
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @program: epmet-cloud
+ * @description:
+ * @author: wangtong
+ * @create: 2022-08-03 14:15
+ **/
+@Data
+public class CollectDetailFormDTO extends PageFormDTO implements Serializable {
+
+ @NotBlank(message = "id不可为空")
+ private String id;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java
new file mode 100644
index 0000000000..3f2f2f728b
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java
@@ -0,0 +1,76 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 收集居民信息入参
+ */
+@Data
+public class CollectDetailResultDTO implements Serializable {
+
+ private String id;
+
+ /**
+ * 组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 所属小区ID
+ */
+ private String villageId;
+ private String villageName;
+
+ /**
+ * 所属楼宇Id
+ */
+ private String buildId;
+ private String buildName;
+
+ /**
+ * 单元id
+ */
+ private String unitId;
+ private String unitName;
+
+ /**
+ * 所属家庭Id
+ */
+ private String homeId;
+ private String homeName;
+
+ /**
+ * 详细地址
+ */
+ private String address;
+
+ /**
+ * 房屋状态
+ */
+ private String houseType;
+
+ /**
+ * 户主姓名
+ */
+ private String houseHolderName;
+
+ /**
+ * 居住成员人数
+ */
+ private Integer totalResi;
+
+ /**
+ * 审核状态:0待审核 1未通过 2已通过
+ */
+ private String checkState;
+
+ /**
+ * 审核原因
+ */
+ private String checkReason;
+
+ private List memberList;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java
new file mode 100644
index 0000000000..1654fe09b3
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @program: epmet-cloud
+ * @description:
+ * @author: wangtong
+ * @create: 2022-08-03 14:15
+ **/
+@Data
+public class CollectPageFormDTO extends PageFormDTO implements Serializable {
+
+ private String customerId;
+
+ private String userId;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java
new file mode 100644
index 0000000000..ad0ac9f106
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java
@@ -0,0 +1,65 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 居民信息采集-审核入参
+ *
+ * @author wgf
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+public class IcResiCollectCheckFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @NotBlank(message = "Id不能为空")
+ private String id;
+
+ /**
+ * 审核状态:0待审核 1未通过 2已通过
+ */
+ @NotBlank(message = "审核状态不能为空")
+ private String checkState;
+
+ /**
+ * 审核原因
+ */
+ private String checkReason;
+
+ /**
+ * 单元号
+ */
+ private String buildingUnitId;
+
+ /**
+ * 房间号
+ */
+ private String doorName;
+
+ /**
+ * 客户ID(审核人)
+ */
+ private String customerId;
+
+ /**
+ * 员工ID(审核人)
+ */
+ private String userId;
+
+ /**
+ * 员工姓名(审核人)
+ */
+ private String realName;
+
+
+
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java
new file mode 100644
index 0000000000..3de6728d72
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+
+/**
+ * 居民信息采集-获取房屋信息
+ *
+ * @author wgf
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+public class IcResiCollectGetDetailFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @NotBlank(message = "Id不能为空")
+ private String id;
+
+
+
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java
new file mode 100644
index 0000000000..004d5a082f
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java
@@ -0,0 +1,93 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 家庭成员信息
+ * 前端做校验
+ */
+@Data
+public class IcResiCollectMemDetailDTO implements Serializable {
+
+ /**
+ * 居住成员1姓名
+ */
+ // @NotBlank(message = "姓名不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class})
+ private String name;
+
+ /**
+ * 居住成员1身份证号
+ */
+ // @NotBlank(message = "身份证号不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class})
+ private String idNum;
+
+ /**
+ * 居住成员1手机号
+ */
+ // @NotBlank(message = "手机号不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class})
+ private String mobile;
+
+ /**
+ * 居住成员1是否参加几轮全员核算检测,数字1-10
+ */
+ // @NotBlank(message = "核算检测情况不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class})
+ private String heSuanCount;
+
+ /**
+ * 居住成员1新冠疫苗接种情况;1:已全程接种;2:未全程接种;0未接种;
+ */
+ // @NotNull(message = "疫苗接种情况不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class})
+ private Integer ymjz;
+
+ /**
+ * 户籍所在地
+ */
+ private String domicilePlace;
+
+ /**
+ * 户籍所在地行政地区编码
+ */
+ private String domicilePlaceCode;
+
+ /**
+ * 户籍所在地行政地区编码全路径,包含自己,英文逗号隔开例如:37,3702,370203
+ */
+ private String domicilePlaceCodePath;
+
+ /**
+ * 学校或公司
+ */
+ private String workPlace;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 社区居民信息登记-查询返参用
+ */
+ private String id;
+
+ /**
+ * 与房主关系
+ */
+ private String relationship;
+
+ /**
+ * 人脸头像
+ */
+ private String faceImg;
+
+ /**
+ * 是否是党员
+ */
+ private String isParty;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java
index 7e7cb6e846..987783a172 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java
@@ -73,4 +73,15 @@ public class IcResiCollectMemFormDTO implements Serializable {
* 社区居民信息登记-查询返参用
*/
private String id;
+
+ /**
+ * 与房主关系
+ */
+ private String relationship;
+
+ /**
+ * 人脸头像
+ */
+ private String faceImg;
+
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java
new file mode 100644
index 0000000000..7c3dd2983d
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java
@@ -0,0 +1,105 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 收集居民信息入参
+ */
+@Data
+public class SaveCollectFormDTO implements Serializable {
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * 客户Id customer.id
+ */
+ private String customerId;
+
+ /**
+ * 内部:internal;外部:external
+ */
+ private String origin;
+
+ /**
+ * 网格ID_后端接口赋值
+ */
+ private String gridId;
+
+ /**
+ * 组织Id_后端接口赋值
+ */
+ private String agencyId;
+
+ /**
+ * 组织的pid_后端接口赋值
+ */
+ private String pids;
+
+ /**
+ * 所属小区ID
+ */
+ @NotBlank(message = "小区不能为空")
+ private String villageId;
+ @NotBlank(message = "小区名不能为空")
+ private String villageName;
+
+ /**
+ * 所属楼宇Id
+ */
+ @NotBlank(message = "楼栋不能为空")
+ private String buildId;
+ @NotBlank(message = "楼栋名不能为空")
+ private String buildName;
+
+ /**
+ * 单元id
+ */
+ @NotBlank(message = "单元不能为空")
+ private String unitId;
+ @NotBlank(message = "单元名不能为空")
+ private String unitName;
+
+ /**
+ * 所属家庭Id
+ */
+ private String homeId;
+ @NotBlank(message = "家庭名不能为空")
+ private String homeName;
+
+ /**
+ * 详细地址
+ */
+ @NotBlank(message = "家庭地址不能为空")
+ private String address;
+
+ /**
+ * 1自有0租住
+ */
+ @NotBlank(message = "房子属于自有还是租住?")
+ private String houseType;
+
+ /**
+ * 户主姓名
+ */
+ @NotBlank(message = "户主姓名不能为空")
+ private String houseHolderName;
+
+ /**
+ * 居住成员人数
+ */
+ @NotNull(message = "居住成员人数不能为空")
+ private Integer totalResi;
+
+
+ @NotEmpty(message = "成员信息不能为空")
+ private List memberList;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java
new file mode 100644
index 0000000000..09ca9bf294
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java
@@ -0,0 +1,26 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+
+/**
+ * @Author wgf
+ * @DateTime 2022/8/5 8:00
+ * @DESC
+ */
+@Data
+public class VisitListFormDTO extends PageFormDTO {
+
+ private static final long serialVersionUID = 2106773724057183577L;
+
+ private String startTime;
+
+ private String endTime;
+
+ private String userId;
+
+ private String customerId;
+
+ private String orgId;
+
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java
new file mode 100644
index 0000000000..6e9fa340ee
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java
@@ -0,0 +1,57 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author wgf
+ * @DateTime 2022/3/18 19:00
+ * @DESC
+ */
+@Data
+public class CollectHouseInfoResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -6692672375850864451L;
+
+ /**
+ * label
+ */
+ private String label;
+
+ /**
+ * 所属小区id
+ */
+ private String neighborHoodId;
+
+ /**
+ * 所属小区姓名
+ */
+ private String neighborHoodName;
+
+ /**
+ * 所属楼栋id
+ */
+ private String buildingId;
+ /**
+ * 所属楼栋名称
+ */
+ private String buildName;
+ /**
+ * 所属单元id
+ */
+ private String buildingUnitId;
+ /**
+ * 所属单元名称
+ */
+ private String buildingUnitName;
+ /**
+ * 门牌号
+ */
+ private String doorName;
+ /**
+ * 房主姓名
+ */
+ private String ownerName;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
index 0fcaa480d4..9851be6340 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
@@ -24,6 +24,9 @@ public class CollectListResultDTO implements Serializable {
// @JsonIgnore
private String id;
+ // 组织Id
+ private String agencyId;
+
/**
* 居住地址
*/
@@ -39,6 +42,16 @@ public class CollectListResultDTO implements Serializable {
*/
private Integer totalResi;
+ /**
+ * 所属家庭Id
+ */
+ private String homeId;
+
+ /**
+ * 审核状态:0待审核 1审核不通过 2审核通过
+ */
+ private String checkState;
+
private String domicilePlace;
private List list;
@@ -95,5 +108,15 @@ public class CollectListResultDTO implements Serializable {
* 备注
*/
private String remark;
+
+ /**
+ * 与户主关系
+ */
+ private String relationship;
+
+ /**
+ * 人脸照片
+ */
+ private String faceImg;
}
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java
new file mode 100644
index 0000000000..a25dbcdfec
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java
@@ -0,0 +1,56 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2022/3/18 19:00
+ * @DESC
+ */
+@Data
+public class CollectPageListDTO implements Serializable {
+
+ private static final long serialVersionUID = -6692672375850864451L;
+
+
+ private String id;
+
+ /**
+ * 居住地址
+ */
+ private String address;
+
+ /**
+ * 居民:resi 访客:visitor
+ */
+ private String type;
+
+ /**
+ * 居民登记/访客登记
+ */
+ private String title;
+
+ /**
+ * 审核状态:0待审核 1审核不通过 2审核通过
+ */
+ private String checkState;
+
+ /**
+ * 审核状态名称
+ */
+ private String checkStateName;
+
+ /**
+ * 审核原因
+ */
+ private String checkReason;
+
+ /**
+ * 提交时间
+ */
+ private String createTime;
+
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
index 543493a395..cca091439f 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
@@ -10,14 +10,8 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
-import com.epmet.dto.form.CollectListFormDTO;
-import com.epmet.dto.form.IcResiCollectFormDTO;
-import com.epmet.dto.form.LatestSubmitCollectFormDTO;
-import com.epmet.dto.form.ResiCollectFormDTO;
-import com.epmet.dto.result.CollectListExcelResultDTO;
-import com.epmet.dto.result.CollectListMemberExcelResultDTO;
-import com.epmet.dto.result.CollectListResultDTO;
-import com.epmet.dto.result.LatestCollectResDTO;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.*;
import com.epmet.service.IcResiCollectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -156,4 +150,76 @@ public class IcResiCollectController {
ValidatorUtils.validateEntity(formDTO,LatestSubmitCollectFormDTO.AddUserInternalGroup.class);
return new Result().ok(icResiCollectService.latestSubmit(formDTO));
}
+
+ /**
+ * 信息采集-审核
+ * @param formDTO
+ * @param tokenDto
+ * @return
+ */
+ @PostMapping("collectCheck")
+ public Result collectCheck(@RequestBody IcResiCollectCheckFormDTO formDTO, @LoginUser TokenDto tokenDto) {
+ formDTO.setUserId(tokenDto.getUserId());
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ icResiCollectService.collectCheck(formDTO,tokenDto);
+
+ return new Result();
+ }
+
+
+ /**
+ * @describe: 扫描社区/小区二维码进行居民信息登记
+ * @author wangtong
+ * @date 2022/8/2 16:01
+ * @params [formDTO]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @NoRepeatSubmit
+ @PostMapping("saveCollectInfo")
+ public Result saveCollectInfo(@RequestBody SaveCollectFormDTO formDTO) {
+ //效验数据
+ ValidatorUtils.validateEntity(formDTO);
+ formDTO.setOrigin("internal");//固定为内部
+ return icResiCollectService.saveCollectInfo(formDTO);
+ }
+
+ /**
+ * @describe: 我的登记列表
+ * @author wangtong
+ * @date 2022/8/3 13:59
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result>
+ */
+ @PostMapping("getCollectPage")
+ public Result> getCollectPage(@LoginUser TokenDto tokenDto,@RequestBody CollectPageFormDTO dto) {
+ dto.setUserId(tokenDto.getUserId());
+ dto.setCustomerId(tokenDto.getCustomerId());
+ PageData page = icResiCollectService.getCollectPage(dto);
+ return new Result>().ok(page);
+ }
+
+ /**
+ * 信息采集-审核通过-新增房屋-复显房屋信息
+ * @param formDTO
+ * @param tokenDto
+ * @return
+ */
+ @PostMapping("getHouseDetailByCollect")
+ public Result getHouseDetailByCollect(@RequestBody IcResiCollectGetDetailFormDTO formDTO, @LoginUser TokenDto tokenDto) {
+ return new Result().ok(icResiCollectService.getHouseDetailByCollect(formDTO));
+ }
+
+ /**
+ * @describe: 查看居民采集信息详情
+ * @author wangtong
+ * @date 2022/8/3 15:05
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getCollectDetail")
+ public Result getCollectDetail(@RequestBody CollectDetailFormDTO dto) {
+ ValidatorUtils.validateEntity(dto);
+ return icResiCollectService.getCollectDetail(dto);
+ }
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java
new file mode 100644
index 0000000000..60995a0211
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java
@@ -0,0 +1,137 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.annotation.MaskResponse;
+import com.epmet.commons.tools.aop.NoRepeatSubmit;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.ExcelUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.IcResiCollectVisitorDTO;
+import com.epmet.dto.SaveCollectVisitorFormDTO;
+import com.epmet.dto.form.CollectDetailFormDTO;
+import com.epmet.dto.form.CollectListFormDTO;
+import com.epmet.dto.form.VisitListFormDTO;
+import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.excel.IcResiCollectVisitorExcel;
+import com.epmet.service.IcResiCollectVisitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@RestController
+@RequestMapping("icResiCollectVisitor")
+public class IcResiCollectVisitorController {
+
+ @Autowired
+ private IcResiCollectVisitorService icResiCollectVisitorService;
+
+ @RequestMapping("page")
+ public Result> page(@RequestParam Map params){
+// PageData page = icResiCollectVisitorService.page(params);
+ PageData page = icResiCollectVisitorService.getPhrasePage(params);
+ return new Result>().ok(page);
+
+
+ }
+
+ /**
+ * Desc: 访客记录列表
+ * @param formDTO
+ * @param tokenDto
+ * @author wgf
+ * @date 2022/8/5 8:23
+ */
+ @PostMapping("list")
+// @MaskResponse(fieldNames = { "memberIdNum", "memberMobile" },
+// fieldsMaskType = { MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE })
+ public Result> getVisitorList(@RequestBody VisitListFormDTO formDTO, @LoginUser TokenDto tokenDto){
+ ValidatorUtils.validateEntity(formDTO,CollectListFormDTO.CollectListForm.class);
+ formDTO.setUserId(tokenDto.getUserId());
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ return new Result>().ok(icResiCollectVisitorService.getVisitorList(formDTO));
+ }
+
+ @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
+ public Result get(@PathVariable("id") String id){
+ IcResiCollectVisitorDTO data = icResiCollectVisitorService.get(id);
+ return new Result().ok(data);
+ }
+
+ @NoRepeatSubmit
+ @PostMapping("save")
+ public Result save(@RequestBody IcResiCollectVisitorDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ icResiCollectVisitorService.save(dto);
+ return new Result();
+ }
+
+ @NoRepeatSubmit
+ @PostMapping("update")
+ public Result update(@RequestBody IcResiCollectVisitorDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ icResiCollectVisitorService.update(dto);
+ return new Result();
+ }
+
+ @PostMapping("delete")
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ icResiCollectVisitorService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = icResiCollectVisitorService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, IcResiCollectVisitorExcel.class);
+ }
+
+ /**
+ * @describe: 保存访客信息
+ * @author wangtong
+ * @date 2022/8/3 10:33
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @NoRepeatSubmit
+ @PostMapping("saveInfo")
+ public Result saveInfo(@RequestBody SaveCollectVisitorFormDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto);
+ return icResiCollectVisitorService.saveInfo(dto);
+ }
+
+ /**
+ * @describe: 访客信息详情
+ * @author wangtong
+ * @date 2022/8/3 15:41
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getVisitorDetail")
+ public Result getVisitorDetail(@RequestBody CollectDetailFormDTO dto) {
+ ValidatorUtils.validateEntity(dto);
+ return icResiCollectVisitorService.getVisitorDetail(dto);
+ }
+
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java
index db8eb3db7c..5210b45a27 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java
@@ -2,7 +2,10 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.CollectListFormDTO;
+import com.epmet.dto.form.IcResiCollectGetDetailFormDTO;
+import com.epmet.dto.result.CollectHouseInfoResultDTO;
import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.dto.result.CollectPageListDTO;
import com.epmet.entity.IcResiCollectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -43,4 +46,20 @@ public interface IcResiCollectDao extends BaseDao {
* @return
*/
List selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId);
-}
\ No newline at end of file
+
+ /**
+ * @describe: 我的登记列表
+ * @author wangtong
+ * @date 2022/8/3 14:19
+ * @params [customerId]
+ * @return java.util.List
+ */
+ List getCollectPage(@Param("customerId") String customerId, @Param("userId") String userId);
+
+ /**
+ * 获取房屋信息
+ * @param formDTO
+ * @return
+ */
+ CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO);
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java
new file mode 100644
index 0000000000..acf3fe568c
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java
@@ -0,0 +1,38 @@
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.IcResiCollectVisitorDTO;
+import com.epmet.dto.form.CollectListFormDTO;
+import com.epmet.dto.form.VisitListFormDTO;
+import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.entity.IcResiCollectVisitorEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Mapper
+public interface IcResiCollectVisitorDao extends BaseDao {
+
+ /**
+ * 条件查询
+ * @param params
+ * @return
+ */
+ List getPhrasePage(Map params);
+
+ /**
+ * Desc: 查询访客信息
+ * @param formDTO
+ * @author wgf
+ * @date 2022/8/5 8:41
+ */
+ List getCollectList(VisitListFormDTO formDTO);
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java
index e61539e1da..bd4c629d53 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java
@@ -1,6 +1,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.form.IcResiCollectMemDetailDTO;
import com.epmet.dto.form.IcResiCollectMemFormDTO;
import com.epmet.entity.IcResiMemberEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -18,4 +19,12 @@ import java.util.List;
public interface IcResiMemberDao extends BaseDao {
List selectMySubmit(@Param("latestResiCollectId") String latestResiCollectId, @Param("userId")String userId);
-}
\ No newline at end of file
+
+ /**
+ * 审核在用
+ * @param collectId
+ * @return
+ */
+ List selectListByCollectId(@Param("collectId") String collectId);
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java
index 3b4b8ac3e0..8c11f4a849 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java
@@ -86,4 +86,14 @@ public class IcResiCollectEntity extends BaseEpmetEntity {
private String buildName;
private String unitName;
private String homeName;
+
+ /**
+ * 审核状态:0待审核 1未通过 2已通过
+ */
+ private String checkState;
+
+ /**
+ * 审核原因
+ */
+ private String checkReason;
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java
new file mode 100644
index 0000000000..7b9c8a7501
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java
@@ -0,0 +1,111 @@
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_resi_collect_visitor")
+public class IcResiCollectVisitorEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户Id customer.id
+ */
+ private String customerId;
+
+ /**
+ * 网格ID
+ */
+ private String gridId;
+
+ /**
+ * 组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 组织的pids
+ */
+ private String pids;
+
+ /**
+ * 所属小区ID;
+ */
+ private String villageId;
+
+ /**
+ * 所属小区名称
+ */
+ private String villageName;
+
+ /**
+ * 所属楼宇Id
+ */
+ private String buildId;
+
+ /**
+ * 所属楼宇名称
+ */
+ private String buildName;
+
+ /**
+ * 单元id
+ */
+ private String unitId;
+
+ /**
+ * 单元名
+ */
+ private String unitName;
+
+ /**
+ * 所属家庭Id
+ */
+ private String homeId;
+
+ /**
+ * 房间名
+ */
+ private String homeName;
+
+ /**
+ * 详细地址
+ */
+ private String address;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 手机号
+ */
+ private String mobile;
+
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ /**
+ * 来访事由
+ */
+ private String comeReason;
+
+ /**
+ * 人脸照片
+ */
+ private String faceImg;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java
index 583663a1a1..e49fbeb008 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java
@@ -77,4 +77,14 @@ public class IcResiMemberEntity extends BaseEpmetEntity {
* 备注
*/
private String remark;
+
+ /**
+ * 与房主关系
+ */
+ private String relationship;
+
+ /**
+ * 人脸头像
+ */
+ private String faceImg;
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java
new file mode 100644
index 0000000000..32d4ce6836
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java
@@ -0,0 +1,90 @@
+package com.epmet.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Data
+public class IcResiCollectVisitorExcel {
+
+ @Excel(name = "主键")
+ private String id;
+
+ @Excel(name = "客户Id customer.id")
+ private String customerId;
+
+ @Excel(name = "网格ID")
+ private String gridId;
+
+ @Excel(name = "组织Id")
+ private String agencyId;
+
+ @Excel(name = "组织的pids")
+ private String pids;
+
+ @Excel(name = "所属小区ID;")
+ private String villageId;
+
+ @Excel(name = "所属小区名称")
+ private String villageName;
+
+ @Excel(name = "所属楼宇Id")
+ private String buildId;
+
+ @Excel(name = "所属楼宇名称")
+ private String buildName;
+
+ @Excel(name = "单元id")
+ private String unitId;
+
+ @Excel(name = "单元名")
+ private String unitName;
+
+ @Excel(name = "所属家庭Id")
+ private String homeId;
+
+ @Excel(name = "房间名")
+ private String homeName;
+
+ @Excel(name = "姓名")
+ private String name;
+
+ @Excel(name = "手机号")
+ private String mobile;
+
+ @Excel(name = "身份证号")
+ private String idCard;
+
+ @Excel(name = "来访事由")
+ private String comeReason;
+
+ @Excel(name = "人脸照片")
+ private String faceImg;
+
+ @Excel(name = "删除标识 0.未删除 1.已删除")
+ private Integer delFlag;
+
+ @Excel(name = "乐观锁")
+ private Integer revision;
+
+ @Excel(name = "创建人")
+ private String createdBy;
+
+ @Excel(name = "创建时间")
+ private Date createdTime;
+
+ @Excel(name = "更新人")
+ private String updatedBy;
+
+ @Excel(name = "更新时间")
+ private Date updatedTime;
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
index 8f3c43251c..be03fdfc96 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
@@ -3,11 +3,10 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
-import com.epmet.dto.form.CommonGridIdFormDTO;
-import com.epmet.dto.form.CustomerGridFormDTO;
-import com.epmet.dto.form.OrgInfoPointFormDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.CommunityInfoResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
+import com.epmet.dto.result.IcHouseInfoCollectResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@@ -85,4 +84,24 @@ public interface GovOrgFeignClient {
@GetMapping("/gov/org/customeragency/getCommunityInfoByUserId/{userId}")
Result getCommunityInfoByUserId(@PathVariable("userId") String userId);
+ /**
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author wgf
+ * @Description 更新房屋新
+ * @Date 2020/4/26 23:16
+ **/
+ @PostMapping("/gov/org/house/updateCollect")
+ Result updateCollect(CollectHouseFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author wgf
+ * @Description 获取房屋信息
+ * @Date 2020/4/26 23:16
+ **/
+ @PostMapping("/gov/org/house/getHouseInfoToCollect")
+ Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO);
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
index 0c1f3a6342..77d306b310 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
@@ -4,11 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
-import com.epmet.dto.form.CommonGridIdFormDTO;
-import com.epmet.dto.form.CustomerGridFormDTO;
-import com.epmet.dto.form.OrgInfoPointFormDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.CommunityInfoResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
+import com.epmet.dto.result.IcHouseInfoCollectResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
@@ -51,4 +50,14 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
public Result getCommunityInfoByUserId(String userId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCommunityInfoByUserId",userId);
}
+
+ @Override
+ public Result updateCollect(CollectHouseFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "updateCollect",formDTO);
+ }
+
+ @Override
+ public Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getHouseInfoToCollect",formDTO);
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java
new file mode 100644
index 0000000000..f22d25ee1a
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java
@@ -0,0 +1,30 @@
+package com.epmet.redis;
+
+import com.epmet.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Component
+public class IcResiCollectVisitorRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java
index 17b6031472..07a97f933d 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java
@@ -2,11 +2,12 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
-import com.epmet.dto.form.CollectListFormDTO;
-import com.epmet.dto.form.IcResiCollectFormDTO;
-import com.epmet.dto.form.LatestSubmitCollectFormDTO;
-import com.epmet.dto.form.ResiCollectFormDTO;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.CollectHouseInfoResultDTO;
import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.dto.result.CollectPageListDTO;
import com.epmet.dto.result.LatestCollectResDTO;
import com.epmet.entity.IcResiCollectEntity;
@@ -56,4 +57,46 @@ public interface IcResiCollectService extends BaseService {
* @return
*/
CollectListResultDTO detail(CollectListFormDTO formDTO);
-}
\ No newline at end of file
+
+ /**
+ * 信息登记审核
+ * @param formDTO
+ * @return
+ */
+ void collectCheck(IcResiCollectCheckFormDTO formDTO, TokenDto tokenDto);
+
+ /**
+ * @describe: 扫描社区/小区二维码进行居民信息登记
+ * @author wangtong
+ * @date 2022/8/2 17:14
+ * @params [formDTO]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result saveCollectInfo(SaveCollectFormDTO formDTO);
+
+ /**
+ * @describe: 我的登记列表
+ * @author wangtong
+ * @date 2022/8/3 14:14
+ * @params [dto]
+ * @return com.epmet.commons.tools.page.PageData
+ */
+ PageData getCollectPage(CollectPageFormDTO dto);
+
+ /**
+ * @describe: 查看居民采集信息详情
+ * @author wangtong
+ * @date 2022/8/3 15:08
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getCollectDetail(CollectDetailFormDTO dto);
+
+ /**
+ * 信息采集-获取房屋信息
+ * @param formDTO
+ * @return
+ */
+ CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO);
+}
+
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java
new file mode 100644
index 0000000000..5f7f3e4d25
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java
@@ -0,0 +1,111 @@
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.IcResiCollectVisitorDTO;
+import com.epmet.dto.SaveCollectVisitorFormDTO;
+import com.epmet.dto.form.CollectDetailFormDTO;
+import com.epmet.dto.form.CollectListFormDTO;
+import com.epmet.dto.form.VisitListFormDTO;
+import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.entity.IcResiCollectVisitorEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+public interface IcResiCollectVisitorService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2022-08-02
+ */
+ PageData page(Map params);
+
+ /**
+ * 分页条件查询
+ * @param params
+ * @return
+ */
+ PageData getPhrasePage(Map params);
+
+ PageData getVisitorList(VisitListFormDTO formDTO);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2022-08-02
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return IcResiCollectVisitorDTO
+ * @author generator
+ * @date 2022-08-02
+ */
+ IcResiCollectVisitorDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2022-08-02
+ */
+ void save(IcResiCollectVisitorDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2022-08-02
+ */
+ void update(IcResiCollectVisitorDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2022-08-02
+ */
+ void delete(String[] ids);
+
+ /**
+ * @describe: 保存访客信息
+ * @author wangtong
+ * @date 2022/8/3 10:44
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result saveInfo(SaveCollectVisitorFormDTO dto);
+
+ /**
+ * @describe: 访客信息详情
+ * @author wangtong
+ * @date 2022/8/3 15:43
+ * @params [dto]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getVisitorDetail(CollectDetailFormDTO dto);
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java
index 5caeb3a008..93c25d9ec5 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java
@@ -5,6 +5,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
+import com.epmet.commons.tools.enums.RelationshipEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
@@ -12,18 +13,24 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
+import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcResiCollectDao;
import com.epmet.dao.IcResiMemberDao;
+import com.epmet.dao.IcResiUserDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.*;
-import com.epmet.dto.result.CollectListResultDTO;
-import com.epmet.dto.result.LatestCollectResDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.IcResiCollectEntity;
import com.epmet.entity.IcResiMemberEntity;
+import com.epmet.entity.IcResiUserEntity;
+import com.epmet.entity.IcUserChangeRecordEntity;
+import com.epmet.feign.EpmetUserOpenFeignClient;
+import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcResiCollectService;
+import com.epmet.service.IcUserChangeRecordService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
@@ -51,6 +58,19 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class);
//查询之前录入的成员表
Map memMap = queryOriginMem(origin.getId());
- saveOrUpdateMem(newMemberList, memMap,origin.getId());
+ saveOrUpdateMem(newMemberList, memMap,origin);
}
}
@@ -130,7 +150,64 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class);
+ memberList.forEach(mem -> {
+ if (StringUtils.isNotBlank(mem.getName()) || StringUtils.isNotBlank(mem.getIdNum())) {
+ //姓名或份身份证号不为空时插入
+ mem.setCustomerId(neighborHoodDTO.getCustomerId());
+ mem.setIcResiCollectId(entity.getId());
+ icResiMemberDao.insert(mem);
+ }
+ });
+ } else {
+ IcResiCollectEntity collectInfo = baseDao.selectByAddress(formDTO.getAddress());
+ //更新主表
+ baseDao.updateRec(collectInfo.getId(), formDTO.getHouseType(), formDTO.getHouseHolderName(), formDTO.getTotalResi(),null);
+ List newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class);
+ //查询之前录入的成员表
+ Map memMap = queryOriginMem(collectInfo.getId());
+ saveOrUpdateMem(newMemberList, memMap,collectInfo);
+ }
+ return new Result().ok("提交成功");
+ }
+
+ @Override
+ public PageData getCollectPage(CollectPageFormDTO dto) {
+ PageHelper.startPage(dto.getPageNo(), dto.getPageSize());
+ List list = baseDao.getCollectPage(dto.getCustomerId(),dto.getUserId());
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new PageData<>(list, pageInfo.getTotal());
+ }
+
+ @Override
+ public Result getCollectDetail(CollectDetailFormDTO dto) {
+ IcResiCollectEntity entity = baseDao.selectById(dto.getId());
+ if(null == entity){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "暂无查询到信息","暂无查询到信息");
+ }
+ CollectDetailResultDTO result = ConvertUtils.sourceToTarget(entity, CollectDetailResultDTO.class);
+ //查询成员信息
+ List memberList = icResiMemberDao.selectListByCollectId(dto.getId());
+ result.setMemberList(memberList);
+ return new Result().ok(result);
+ }
+
+ public IcNeighborHoodDTO queryIcNeighborHood(String villageId) {
Result res = govOrgOpenFeignClient.getIcNeighbordhoodById(villageId);
if (!res.success() || null == res.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息查询异常", "小区信息查询异常");
@@ -146,12 +223,12 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList, Map memMap, String originIcResiCollectId) {
+ private void saveOrUpdateMem(List newMemberList, Map memMap, IcResiCollectEntity collectInfo) {
for (IcResiMemberEntity entity : newMemberList) {
if(StringUtils.isNotBlank(entity.getIdNum())){
if (MapUtils.isNotEmpty(memMap) && memMap.containsKey(entity.getIdNum())) {
- entity.setIcResiCollectId(originIcResiCollectId);
- entity.setCustomerId(memMap.get(entity.getIdNum()).getCustomerId());
+ entity.setIcResiCollectId(collectInfo.getId());
+ entity.setCustomerId(collectInfo.getCustomerId());
entity.setId(memMap.get(entity.getIdNum()).getId());
icResiMemberDao.updateById(entity);
continue;
@@ -161,7 +238,8 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class);
//查询之前录入的成员表
Map memMap = queryOriginMem(origin.getId());
- saveOrUpdateMem(newMemberList, memMap,origin.getId());
+ saveOrUpdateMem(newMemberList, memMap,origin);
}
}
@@ -254,4 +332,245 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = icResiMemberDao.selectListByCollectId(formDTO.getId());
+
+ // 更新审核信息
+ icResiCollectEntity.setCheckState(formDTO.getCheckState());
+ icResiCollectEntity.setCheckReason(formDTO.getCheckReason());
+ baseDao.updateById(icResiCollectEntity);
+
+ // 审核状态:0待审核 1未通过 2已通过
+ if("2".equals(formDTO.getCheckState())){
+
+ if("other".equals(icResiCollectEntity.getHomeId())){
+ // 新增房屋(新增房屋操作已在审核接口之前,前端调用新增接口实现)
+ // 更新登记表房屋ID
+ icResiCollectEntity = updateHomeId(icResiCollectEntity,formDTO);
+
+ for(int i = 0 ; i < memberList.size() ; i++){
+ // 根据身份证号和房屋ID获取人员信息
+ IcResiUserEntity userIdCardEntity = queryOriginUserByIdCard(memberList.get(i).getIdNum(),icResiCollectEntity.getCustomerId());
+ if(userIdCardEntity != null){
+ // 已存在人员 人员房屋不一致(更新人员信息和变更记录)
+ updateUserInfo(icResiCollectEntity,memberList.get(i),true,formDTO,userIdCardEntity);
+ }else{
+ // 不存在人员
+ insertUserInfo(icResiCollectEntity,memberList.get(i),formDTO);
+ }
+ }
+ }else{
+ // 更新房屋
+ updateHouseInfo(icResiCollectEntity);
+
+ for(int i = 0 ; i < memberList.size() ; i++){
+ // 根据身份证号和房屋ID获取人员信息
+ IcResiUserEntity userIdCardEntity = queryOriginUserByIdCard(memberList.get(i).getIdNum(),icResiCollectEntity.getCustomerId());
+ Map userMap = queryOriginUserByHomeId(icResiCollectEntity.getHomeId(),icResiCollectEntity.getCustomerId());
+ if(userIdCardEntity != null){
+ // 已存在人员
+ if(userMap.containsKey(memberList.get(i).getIdNum())){
+ // 人员房屋一致(只更新人员信息)
+ updateUserInfo(icResiCollectEntity,memberList.get(i),false,formDTO,userIdCardEntity);
+ }else{
+ // 人员房屋不一致(更新人员信息和变更记录)
+ updateUserInfo(icResiCollectEntity,memberList.get(i),true,formDTO,userIdCardEntity);
+ }
+ }else{
+ // 不存在人员
+ insertUserInfo(icResiCollectEntity,memberList.get(i),formDTO);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * 更新登记表房屋ID
+ * @param icResiCollectEntity
+ * @param formDTO
+ * @return
+ */
+ private IcResiCollectEntity updateHomeId(IcResiCollectEntity icResiCollectEntity,IcResiCollectCheckFormDTO formDTO){
+
+ // fegin获取房屋信息
+ GetHouseInfoToCollectFormDTO getHouseInfoToCollectFormDTO = new GetHouseInfoToCollectFormDTO();
+ getHouseInfoToCollectFormDTO.setBuildingUnitId(formDTO.getBuildingUnitId());
+ getHouseInfoToCollectFormDTO.setDoorName(formDTO.getDoorName());
+ Result resultDTOResult = govOrgFeignClient.getHouseInfoToCollect(getHouseInfoToCollectFormDTO);
+ IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = resultDTOResult.getData();
+
+ // 新增房屋后需要collect更新上房屋ID
+ // log
+ icResiCollectEntity.setHomeId(icHouseInfoCollectResultDTO.getId());
+ baseDao.updateById(icResiCollectEntity);
+ return icResiCollectEntity;
+
+ }
+
+ /**
+ * 更新房屋信息
+ * @param icResiCollectEntity
+ */
+ private void updateHouseInfo(IcResiCollectEntity icResiCollectEntity){
+ CollectHouseFormDTO collectHouseFormDTO = new CollectHouseFormDTO();
+ collectHouseFormDTO.setId(icResiCollectEntity.getHomeId());
+ collectHouseFormDTO.setOwnerName(icResiCollectEntity.getHouseHolderName());
+ collectHouseFormDTO.setRentFlag(Integer.parseInt(icResiCollectEntity.getHouseType()));
+ collectHouseFormDTO.setCustomerId(icResiCollectEntity.getCustomerId());
+ collectHouseFormDTO.setResiNumber(icResiCollectEntity.getTotalResi());
+ govOrgFeignClient.updateCollect(collectHouseFormDTO);
+
+ }
+
+ /**
+ * 更新人员信息
+ * @param icResiCollectEntity 登记信息
+ * @param icResiCollectMemDetailDTO 登记城阳信息
+ * @param isUpdateLog 是否更新记录
+ * @param formDTO 入参
+ * @param userEntity 根据身份证号查询到的user信息
+ */
+ private void updateUserInfo(IcResiCollectEntity icResiCollectEntity,IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,Boolean isUpdateLog,
+ IcResiCollectCheckFormDTO formDTO,IcResiUserEntity userEntity){
+
+ // 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
+ if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId());
+ wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
+ List entityList = icResiUserDao.selectList(wrapper);
+ if (CollectionUtils.isNotEmpty(entityList)) {
+ String errorMsg = "房屋下已存在户主";
+ throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
+ }
+ }
+
+ userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身
+ userEntity.setAgencyId(icResiCollectEntity.getAgencyId());
+ userEntity.setGridId(icResiCollectEntity.getGridId());
+ userEntity.setVillageId(icResiCollectEntity.getVillageId());
+ userEntity.setBuildId(icResiCollectEntity.getBuildId());
+ userEntity.setUnitId(icResiCollectEntity.getUnitId());
+ userEntity.setHomeId(icResiCollectEntity.getHomeId());
+ userEntity.setName(icResiCollectMemDetailDTO.getName());
+ userEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
+ userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
+ userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
+ userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
+ userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
+ userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
+ icResiUserDao.updateById(userEntity);
+
+ // 判断是否需要更新记录
+ if(isUpdateLog){
+ //变更记录表
+ IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
+ changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId());
+ changeRecordEntity.setOperatorId(formDTO.getUserId());
+ changeRecordEntity.setIcUserId(userEntity.getId());
+ changeRecordEntity.setOperatorName(formDTO.getRealName());
+ changeRecordEntity.setIcUserName(userEntity.getName());
+ changeRecordEntity.setType("update");
+ changeRecordEntity.setTypeName("修改");
+ changeRecordEntity.setBeforeChangeName("-");
+ changeRecordEntity.setAfterChangeName("-");
+ changeRecordEntity.setChangeTime(new java.util.Date());
+ icUserChangeRecordService.insert(changeRecordEntity);
+ }
+
+ }
+
+ /**
+ * 新增人员信息
+ * @param icResiCollectMemDetailDTO
+ */
+ private void insertUserInfo(IcResiCollectEntity icResiCollectEntity,IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,IcResiCollectCheckFormDTO formDTO){
+
+ // 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
+ if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId());
+ wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
+ List entityList = icResiUserDao.selectList(wrapper);
+ if (CollectionUtils.isNotEmpty(entityList)) {
+ String errorMsg = "房屋下已存在户主";
+ throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
+ }
+ }
+
+ // 新增人员
+ IcResiUserEntity userEntity = new IcResiUserEntity();
+ userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身
+ userEntity.setAgencyId(icResiCollectEntity.getAgencyId());
+ userEntity.setGridId(icResiCollectEntity.getGridId());
+ userEntity.setVillageId(icResiCollectEntity.getVillageId());
+ userEntity.setBuildId(icResiCollectEntity.getBuildId());
+ userEntity.setUnitId(icResiCollectEntity.getUnitId());
+ userEntity.setHomeId(icResiCollectEntity.getHomeId());
+ userEntity.setName(icResiCollectMemDetailDTO.getName());
+ userEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
+ userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
+ userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
+ userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
+ userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
+ userEntity.setCustomerId(icResiCollectMemDetailDTO.getCustomerId());
+ userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
+ icResiUserDao.insert(userEntity);
+
+ //变更记录表
+ IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
+ changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId());
+ changeRecordEntity.setOperatorId(formDTO.getUserId());
+ changeRecordEntity.setIcUserId(userEntity.getId());
+ changeRecordEntity.setOperatorName(formDTO.getRealName());
+ changeRecordEntity.setIcUserName(userEntity.getName());
+ changeRecordEntity.setType("add");
+ changeRecordEntity.setTypeName("新增");
+ changeRecordEntity.setBeforeChangeName("-");
+ changeRecordEntity.setAfterChangeName("-");
+ changeRecordEntity.setChangeTime(new java.util.Date());
+ icUserChangeRecordService.insert(changeRecordEntity);
+
+ }
+
+ /**
+ * 获取人员信息
+ * @param idCard
+ * @return
+ */
+ private IcResiUserEntity queryOriginUserByIdCard(String idCard,String customerId) {
+ LambdaQueryWrapper query = new LambdaQueryWrapper<>();
+ query.eq(IcResiUserEntity::getIdCard, idCard);
+ query.eq(IcResiUserEntity::getCustomerId, customerId);
+ IcResiUserEntity originUser = icResiUserDao.selectOne(query);
+ return originUser;
+ }
+ private Map queryOriginUserByHomeId(String homeId,String customerId) {
+ LambdaQueryWrapper query = new LambdaQueryWrapper<>();
+ query.eq(IcResiUserEntity::getHomeId, homeId);
+ query.eq(IcResiUserEntity::getCustomerId, customerId);
+ List originUserList = icResiUserDao.selectList(query);
+ Map memMap = originUserList.stream().collect(Collectors.toMap(IcResiUserEntity::getIdCard, Function.identity()));
+ return memMap;
+ }
+
+ @Override
+ public CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO) {
+
+ CollectHouseInfoResultDTO collectHouseInfoResultDTO = baseDao.getHouseDetailByCollect(formDTO);
+
+ return collectHouseInfoResultDTO;
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java
new file mode 100644
index 0000000000..ccb7451952
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java
@@ -0,0 +1,158 @@
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
+import com.epmet.commons.tools.exception.EpmetException;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dao.IcResiCollectVisitorDao;
+import com.epmet.dto.IcNeighborHoodDTO;
+import com.epmet.dto.IcResiCollectVisitorDTO;
+import com.epmet.dto.SaveCollectVisitorFormDTO;
+import com.epmet.dto.form.CollectDetailFormDTO;
+import com.epmet.dto.form.CollectListFormDTO;
+import com.epmet.dto.form.VisitListFormDTO;
+import com.epmet.dto.result.CollectListResultDTO;
+import com.epmet.entity.IcResiCollectVisitorEntity;
+import com.epmet.redis.IcResiCollectVisitorRedis;
+import com.epmet.service.IcResiCollectVisitorService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民信息采集-访客
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-08-02
+ */
+@Service
+public class IcResiCollectVisitorServiceImpl extends BaseServiceImpl implements IcResiCollectVisitorService {
+
+ @Autowired
+ private IcResiCollectVisitorRedis icResiCollectVisitorRedis;
+
+ @Autowired
+ private IcResiCollectServiceImpl icResiCollectServiceImpl;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, IcResiCollectVisitorDTO.class);
+ }
+
+ /**
+ * 条件查询
+ * @param params
+ * @return
+ */
+ @Override
+ public PageData getPhrasePage(Map params) {
+ IPage page = getPage(params);
+ List list = baseDao.getPhrasePage(params);
+ return new PageData<>(list, page.getTotal());
+ }
+
+ /**
+ * Desc: 查询访客信息
+ * @param formDTO
+ * @author wgf
+ * @date 2022/8/5 8:23
+ */
+ @Override
+ public PageData getVisitorList(VisitListFormDTO formDTO) {
+ PageData result = new PageData<>(new ArrayList<>(), 0);
+ if (StringUtils.isBlank(formDTO.getStartTime()) && StringUtils.isBlank(formDTO.getEndTime()) ){
+ CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
+ if (null == staffInfo){
+ throw new EpmetException("查询人员信息失败"+formDTO.getUserId());
+ }
+ formDTO.setOrgId(staffInfo.getAgencyId());
+ }
+ PageInfo pageList = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.getCollectList(formDTO));
+ result.setList(pageList.getList());
+ result.setTotal(Integer.parseInt(String.valueOf(pageList.getTotal())));
+ return result;
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, IcResiCollectVisitorDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public IcResiCollectVisitorDTO get(String id) {
+ IcResiCollectVisitorEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, IcResiCollectVisitorDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(IcResiCollectVisitorDTO dto) {
+ IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(IcResiCollectVisitorDTO dto) {
+ IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result saveInfo(SaveCollectVisitorFormDTO dto) {
+ IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class);
+ //根据小区id查询网格相关信息
+ IcNeighborHoodDTO neighborHoodDTO = icResiCollectServiceImpl.queryIcNeighborHood(dto.getVillageId());
+ entity.setGridId(neighborHoodDTO.getGridId());
+ entity.setAgencyId(neighborHoodDTO.getAgencyId());
+ entity.setPids(neighborHoodDTO.getAgencyPids());
+ entity.setCustomerId(neighborHoodDTO.getCustomerId());
+ insert(entity);
+ return new Result().ok("提交成功");
+ }
+
+ @Override
+ public Result getVisitorDetail(CollectDetailFormDTO dto) {
+ IcResiCollectVisitorEntity entity = baseDao.selectById(dto.getId());
+ return new Result().ok(entity);
+ }
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql
new file mode 100644
index 0000000000..fa54cfab0e
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql
@@ -0,0 +1,36 @@
+alter table ic_resi_collect add COLUMN `CHECK_STATE` varchar(1) DEFAULT NULL COMMENT '审核状态:0待审核 1审核不通过 2审核通过';
+alter table ic_resi_collect add COLUMN `CHECK_REASON` varchar(255) DEFAULT NULL COMMENT '审核理由';
+
+
+alter table ic_resi_member add COLUMN `RELATIONSHIP` varchar(10) DEFAULT NULL COMMENT '与户主关系';
+alter table ic_resi_member add COLUMN `FACE_IMG` varchar(255) DEFAULT NULL COMMENT '人脸照片';
+
+
+CREATE TABLE `ic_resi_collect_visitor` (
+ `ID` varchar(64) NOT NULL COMMENT '主键',
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id',
+ `GRID_ID` varchar(64) DEFAULT NULL COMMENT '网格ID',
+ `AGENCY_ID` varchar(64) DEFAULT NULL COMMENT '组织Id',
+ `PIDS` varchar(255) DEFAULT NULL COMMENT '组织的pids',
+ `VILLAGE_ID` varchar(64) DEFAULT NULL COMMENT '所属小区ID;',
+ `VILLAGE_NAME` varchar(64) DEFAULT NULL COMMENT '所属小区名称',
+ `BUILD_ID` varchar(64) DEFAULT NULL COMMENT '所属楼宇Id',
+ `BUILD_NAME` varchar(64) DEFAULT NULL COMMENT '所属楼宇名称',
+ `UNIT_ID` varchar(64) DEFAULT NULL COMMENT '单元id',
+ `UNIT_NAME` varchar(64) DEFAULT NULL COMMENT '单元名',
+ `HOME_ID` varchar(64) DEFAULT NULL COMMENT '所属家庭Id',
+ `HOME_NAME` varchar(64) DEFAULT NULL COMMENT '房间名',
+ `ADDRESS` varchar(255) NOT NULL COMMENT '详细地址',
+ `NAME` varchar(64) NOT NULL COMMENT '姓名',
+ `MOBILE` varchar(15) NOT NULL COMMENT '手机号',
+ `ID_CARD` varchar(18) DEFAULT NULL COMMENT '身份证号',
+ `COME_REASON` varchar(255) DEFAULT NULL COMMENT '来访事由',
+ `FACE_IMG` varchar(255) DEFAULT NULL COMMENT '人脸照片',
+ `DEL_FLAG` int(11) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除',
+ `REVISION` int(11) NOT NULL COMMENT '乐观锁',
+ `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='居民信息采集-访客';
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml
index d2ca4339c1..35090d4a12 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml
@@ -4,7 +4,7 @@
@@ -16,6 +16,9 @@
+
+
+
@@ -26,6 +29,9 @@
c.ADDRESS AS address,
c.HOUSE_TYPE AS houseType,
c.TOTAL_RESI AS totalResi,
+ c.HOME_ID as homeId,
+ c.CHECK_STATE as checkState,
+ c.AGENCY_ID as agencyId,
#{domicilePlace} as domicile_place
FROM ic_resi_collect c
left join ic_resi_member m on(c.id=m.IC_RESI_COLLECT_ID and m.del_flag='0')
@@ -61,7 +67,9 @@
m.DOMICILE_PLACE_CODE as domicilePlaceCode,
m.DOMICILE_PLACE_CODE_PATH as domicilePlaceCodePath,
m.WORK_PLACE as workPlace,
- m.REMARK as remark
+ m.REMARK as remark,
+ m.RELATIONSHIP as relationship,
+ m.FACE_IMG as faceImg
from ic_resi_member m
where m.DEL_FLAG = 0
and m.IC_RESI_COLLECT_ID = #{id}
@@ -85,7 +93,8 @@
UPDATED_BY = #{updatedBy},
- UPDATED_TIME = NOW()
+ UPDATED_TIME = NOW(),
+ CHECK_STATE = '0'
WHERE
id = #{id}
@@ -102,4 +111,56 @@
ORDER BY
m.UPDATED_TIME DESC
-
\ No newline at end of file
+
+
+
+
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml
new file mode 100644
index 0000000000..52cdb9ace8
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml
index 13db077a3c..d7cfcc48f2 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml
@@ -25,4 +25,11 @@
AND m.DEL_FLAG = '0'
AND ( m.CREATED_BY = #{userId} OR m.UPDATED_BY = #{userId} )
-
\ No newline at end of file
+
+