From 75aaf9e7315eeee39e24945bf8940bd265b50f17 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 27 Oct 2021 10:46:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/IcResiUserEditFormDTO.java | 27 ++++++++++ .../com/epmet/dto/form/IcResiUserFormDTO.java | 22 ++++---- .../controller/IcResiUserController.java | 4 +- .../java/com/epmet/dao/IcResiUserDao.java | 6 ++- .../com/epmet/service/IcResiUserService.java | 4 +- .../service/impl/IcResiUserServiceImpl.java | 53 +++++++++++++++++-- .../main/resources/mapper/IcResiUserDao.xml | 21 ++++++++ 7 files changed, 118 insertions(+), 19 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserEditFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserEditFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserEditFormDTO.java new file mode 100644 index 0000000000..dad16bda6b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserEditFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 党建互联平台--保存/修改居民信息 + * @Author sun + */ +@Data +public class IcResiUserEditFormDTO implements Serializable { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 字段对应表名 + */ + private String tableName; + /** + * 字段key值 + */ + private String columnName; + /** + * 字段值 + */ + private String columnValue; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserFormDTO.java index 29ea3fa9b3..d359492bae 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserFormDTO.java @@ -2,24 +2,24 @@ package com.epmet.dto.form; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; +import java.util.Map; /** - * @Description 居民注册信息查询入参DTO - * @Author yinzuomei - * @Date 2020/3/30 10:26 + * @Description 党建互联平台--保存/修改居民信息 + * @Author sun */ @Data public class IcResiUserFormDTO implements Serializable { private static final long serialVersionUID = 9156247659994638103L; - @NotBlank(message = "徽章id不能为空", groups = {ManageGroup.class}) - private String badgeId; + + /** + * 字段对应表名 + */ + private String tableName; /** - * 网格Id + * 表对应的字段及值 */ - @NotBlank(message = "网格id不能为空", groups = {AuditGroup.class}) - private String gridId; - public interface ManageGroup {} - public interface AuditGroup {} + private List> list; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index c24cc5f309..5db6c930a4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -110,8 +110,8 @@ public class IcResiUserController { * @Description 党建互联平台--保存居民信息 **/ @PostMapping("add") - public Result add(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserFormDTO formDTO) { - icResiUserService.add(formDTO); + public Result add(@LoginUser TokenDto tokenDto, @RequestBody List formDTO) { + icResiUserService.add(tokenDto, formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 85ee8dc125..7b45e51552 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -20,6 +20,9 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IcResiUserEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * 用户基础信息 @@ -29,5 +32,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcResiUserDao extends BaseDao { - + + void add(@Param("tableName") String tableName, @Param("map") Map map); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 507e214ef5..f4bc23b00f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -19,7 +19,7 @@ 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.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.IcResiUserFormDTO; import com.epmet.entity.IcResiUserEntity; @@ -99,7 +99,7 @@ public interface IcResiUserService extends BaseService { * @Author sun * @Description 党建互联平台--保存居民信息 **/ - void add(IcResiUserFormDTO formDTO); + void add(TokenDto tokenDto, List formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 3a8c2b195a..2bc1390f19 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -20,16 +20,23 @@ 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.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiUserDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.IcResiUserFormDTO; import com.epmet.entity.IcResiUserEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.redis.IcResiUserRedis; import com.epmet.service.IcResiUserService; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.UUID; /** * 用户基础信息 @@ -46,9 +54,11 @@ import java.util.Map; */ @Service public class IcResiUserServiceImpl extends BaseServiceImpl implements IcResiUserService { - + private Logger logger = LogManager.getLogger(IcResiUserServiceImpl.class); @Autowired private IcResiUserRedis icResiUserRedis; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; @Override public PageData page(Map params) { @@ -107,7 +117,44 @@ public class IcResiUserServiceImpl extends BaseServiceImpl formDTO) { + //循环自动拼接sql语句,往多个表新增数据 + //1.先往主表新增数据 + //主表Id + String resiUserId = UUID.randomUUID().toString().replaceAll("-", ""); + formDTO.forEach(d -> { + if ("ic_resi_user".equals(d.getTableName())) { + Map map = d.getList().get(0); + map.put("id", resiUserId); + map.put("customer_id", tokenDto.getCustomerId()); + map.put("created_by", tokenDto.getUserId()); + map.put("updated_by", tokenDto.getUserId()); + //查询组织信息 + String agencyId = (null == map.get("AGENCY_ID") ? map.get("agency_id") : map.get("AGENCY_ID")); + Result result = govOrgOpenFeignClient.getAgencyById(agencyId); + if (result.success() && null != result.getData()) { + map.put("pids", result.getData().getPids()); + } else { + throw new RenException(String.format("新增居民信息-根据agencyId查询组织信息失败,agencyId->%s", agencyId)); + } + //新增主表数据 + baseDao.add(d.getTableName(), map); + } + }); + //2.循环字表新增数据 + formDTO.forEach(d -> { + if (!"ic_resi_user".equals(d.getTableName())) { + d.getList().forEach(map -> { + map.put("id", UUID.randomUUID().toString().replaceAll("-", "")); + map.put("ic_resi_user", resiUserId); + map.put("customer_id", tokenDto.getCustomerId()); + map.put("created_by", tokenDto.getUserId()); + map.put("updated_by", tokenDto.getUserId()); + //字表新增数据 + baseDao.add(d.getTableName(), map); + }); + } + }); } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 135f7b6635..2631d213fd 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -3,6 +3,27 @@ + + insert into ${tableName} + ( + + ${key} + + ,DEL_FLAG + ,REVISION + ,CREATED_TIME + ,UPDATED_TIME + ) values + ( + + #{value} + + ,'0' + ,'0' + ,NOW() + ,NOW() + ) + \ No newline at end of file