springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -125,7 +125,7 @@ vo.setBirthday(year + "-" + month + "-" + day); } //设置用户年龄 vo.setAge(AgeUtils.getAgeFromBirthTime(birthday)); // vo.setAge(AgeUtils.getAgeFromBirthTime(birthday)); //获取用户性别 int sex = Integer.parseInt(vo.getCardNo().substring(16, 17)); if(sex%2 == 1){ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/CascadeHouseDTO.java
New file @@ -0,0 +1,22 @@ package com.panzhihua.common.model.dtos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** * 房屋级联选择请求参数 */ @Data @ApiModel("房屋级联选择请求参数") public class CascadeHouseDTO implements Serializable { @ApiModelProperty(value="级别(1.街路巷 2.门牌号 3.楼排号 4.单元号 5.户室)") private Integer level = 1; @ApiModelProperty(value="名称") private String name; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComMngPopulationEditDTO.java
New file @@ -0,0 +1,76 @@ package com.panzhihua.common.model.dtos.community; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; import com.panzhihua.common.model.helper.sensitive.Sensitive; import com.panzhihua.common.model.helper.sensitive.SensitiveStrategy; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.common.validated.PutGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.List; /** * 实有人口编辑请求参数 */ @Data @ApiModel("实有人口编辑请求参数") public class ComMngPopulationEditDTO implements Serializable { @ApiModelProperty("实有人口id") private Long id; @ApiModelProperty("姓名") @NotBlank(groups = {PutGroup.class},message = "姓名不可为空") private String name; @ApiModelProperty("政治面貌(1.中共党员2.中共预备党员3.共青团员4.民革党员5.民盟盟员6.民建会员7.8.农工党党员9.致公党党员10.九三学社社员11.台盟盟员12.无党派人士13.群众)") @NotBlank(groups = {PutGroup.class},message = "政治面貌不可为空") private Integer politicalOutlook; @ApiModelProperty("是否租住 是否租住(0.否 1.是)") @NotBlank(groups = {PutGroup.class},message = "是否租住不可为空") private Integer isRent; @ApiModelProperty("与户主关系(1.户主 2.配偶 3.子女 4.孙女 5.父母 6.其他)") @NotBlank(groups = {PutGroup.class},message = "与户主关系不可为空") private Integer relation; @ApiModelProperty("联系方式") @NotBlank(groups = {PutGroup.class},message = "联系方式不可为空") @EncryptDecryptField private String phone; @ApiModelProperty("文化程度(1.小学 2.初中 3.高中 4.中专 5.大专 6.本科 7.硕士 8.博士 9.其他)") @NotBlank(groups = {PutGroup.class},message = "文化程度不可为空") private Integer cultureLevel; @ApiModelProperty("婚姻状况(1.未婚 2.已婚 3.离异 4.丧偶 5.分居 6.其他)") @NotBlank(groups = {PutGroup.class},message = "婚姻状况不可为空") private Integer marriage; @ApiModelProperty("工作单位") @NotBlank(groups = {PutGroup.class},message = "工作单位不可为空") private String workCompany; @ApiModelProperty("外地or本地(1.本地 2.外地)") @NotBlank(groups = {PutGroup.class},message = "外地/本地不可为空") private Integer outOrLocal; @ApiModelProperty("户口所在地") @NotBlank(groups = {PutGroup.class},message = "户口所在地不可为空") private String censusRegister; @ApiModelProperty("备注") private String remark; @ApiModelProperty("标签集合(多个标签以,隔开,如物业工作人员,物业") private String label; @ApiModelProperty("房屋信息请求参数") private List<ComMngPopulationHouseEditDTO> houseEditDTOList; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComMngPopulationHouseEditDTO.java
New file @@ -0,0 +1,30 @@ package com.panzhihua.common.model.dtos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** * 实有人口编辑请求参数 */ @Data @ApiModel("实有人口房屋编辑请求参数") public class ComMngPopulationHouseEditDTO implements Serializable { @ApiModelProperty("实有房屋id") private Long id; @ApiModelProperty(value = "是否是居住地(1.是 2.否)") private Integer isResidence; /** * 是否是居住地(1.是 2.否) */ public interface isResidence{ int yes = 1; int no = 2; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngCascadeHouseVO.java
New file @@ -0,0 +1,46 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("级联菜单返回参数") public class ComMngCascadeHouseVO { /** * 房屋id */ @ApiModelProperty("房屋id") private Long houseId; /** * 街路巷 */ @ApiModelProperty("街路巷") private String alley; /** * 门牌号 */ @ApiModelProperty("门牌号") private String houseNum; /** * 楼排号 */ @ApiModelProperty("楼排号") private String floor; /** *单元号 */ @ApiModelProperty("单元号") private String unitNo; /** *户室(房间号) */ @ApiModelProperty("户室(房间号)") private String houseNo; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationTotalVO.java
New file @@ -0,0 +1,35 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 实有人口统计返回参数 */ @Data @ApiModel("实有人口统计返回参数") public class ComMngPopulationTotalVO { /** * 人口总数 */ @ApiModelProperty("人口总数") private Long populationTotal; /** * 本地人口 */ @ApiModelProperty("本地人口") private Integer localTotal; /** * 外地人口 */ @ApiModelProperty("外地人口") private Integer outTotal; /** * 特殊群体 */ @ApiModelProperty("特殊群体") private Integer specialTotal; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -2181,11 +2181,11 @@ /** * 编辑实有人口 * @param editComMngPopulationVO * @param populationEditDTO * @return */ @PostMapping("/common/data/population/edit") R editPopulation(@RequestBody EditComMngPopulationVO editComMngPopulationVO, @RequestParam("communityId") Long communityId); R editPopulation(@RequestBody ComMngPopulationEditDTO populationEditDTO, @RequestParam("communityId") Long communityId); /** * 微心愿删除 @@ -2461,4 +2461,20 @@ */ @PostMapping("/common/data/population/edit/electronicArchives") R editUserElectronicFile(@RequestBody UserElectronicFileVO userElectronicFileVO); /** * 实有人口统计 * @param communityId 社区id * @return 统计结果 */ @PostMapping("/common/data/population/statistics") R getPopulationTotalByAdmin(@RequestParam("communityId") Long communityId); /** * 查询房屋级联菜单 * @param cascadeHouseDTO 请求参数 * @return 菜单列表 */ @PostMapping("/common/data/population/cascade/list") R getCascadeHouseAddress(@RequestBody CascadeHouseDTO cascadeHouseDTO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java
@@ -11,11 +11,14 @@ import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; import com.panzhihua.common.enums.PopulSexEnum; import com.panzhihua.common.listen.ComMngPopulationServeExcelListen; import com.panzhihua.common.model.dtos.community.CascadeHouseDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationEditDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationExcelVo; import com.panzhihua.common.model.vos.community.ComMngPopulationTotalVO; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.community.EditComMngPopulationVO; import com.panzhihua.common.model.vos.user.UserElectronicFileVO; @@ -74,6 +77,14 @@ return communityService.pagePopulation(comMngPopulationVO); } @ApiOperation(value = "实有人口统计接口", response = ComMngPopulationTotalVO.class) @PostMapping("/statistics") public R getPopulationTotalByAdmin() { //获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); return communityService.getPopulationTotalByAdmin(communityId); } @ApiOperation(value = "excel导入实有人口") @PostMapping(value = "/serve/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") public R downloadPopulationTemplate(@RequestParam MultipartFile file, HttpServletRequest request) { @@ -95,9 +106,9 @@ @ApiOperation(value = "编辑实有人口") @PostMapping(value = "/edit") public R editPopulationInfo(@RequestBody EditComMngPopulationVO editComMngPopulationVO){ public R editPopulationInfo(@RequestBody ComMngPopulationEditDTO populationEditDTO){ LoginUserInfoVO loginUserInfo = getLoginUserInfo(); return communityService.editPopulation(editComMngPopulationVO,loginUserInfo.getCommunityId()); return communityService.editPopulation(populationEditDTO,loginUserInfo.getCommunityId()); } @ApiOperation(value = "实有人口详情", response = ComMngPopulationVO.class) @@ -374,4 +385,10 @@ public R editPopulation(@RequestBody UserElectronicFileVO userElectronicFileVO){ return communityService.editUserElectronicFile(userElectronicFileVO); } @ApiOperation(value = "房屋级联菜单查询") @PostMapping("/cascade/list") public R getCascadeHouseAddress(@RequestBody CascadeHouseDTO cascadeHouseDTO){ return communityService.getCascadeHouseAddress(cascadeHouseDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommonDataApi.java
@@ -39,6 +39,8 @@ private ComMngProvinceService comMngProvinceService; @Resource private ComMngPopulationService comMngPopulationService; @Resource private ComMngPopulationHouseService comMngPopulationHouseService; /** @@ -354,12 +356,12 @@ /** * 编辑实有人口 * @param editComMngPopulationVO * @param populationEditDTO * @return */ @PostMapping("/population/edit") R editPopulation(@RequestBody EditComMngPopulationVO editComMngPopulationVO,@RequestParam("communityId") Long communityId){ return comMngPopulationService.editPopulation(editComMngPopulationVO, communityId); R editPopulation(@RequestBody ComMngPopulationEditDTO populationEditDTO,@RequestParam("communityId") Long communityId) throws Exception{ return comMngPopulationService.editPopulation(populationEditDTO, communityId); } /** @@ -392,4 +394,24 @@ return comMngPopulationService.editUserElectronicFile(userElectronicFileVO); } /** * 实有人口统计 * @param communityId 社区id * @return 统计结果 */ @PostMapping("/population/Statistics") public R getPopulationTotalByAdmin(@RequestParam("communityId") Long communityId) { return comMngPopulationService.getPopulationTotalByAdmin(communityId); } /** * 查询房屋级联菜单 * @param cascadeHouseDTO 请求参数 * @return 菜单列表 */ @PostMapping("/population/cascade/list") public R getCascadeHouseAddress(@RequestBody CascadeHouseDTO cascadeHouseDTO){ return comMngPopulationHouseService.getCascadeHouseAddress(cascadeHouseDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -7,6 +7,7 @@ import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.area.AreaAddressVO; import com.panzhihua.common.model.vos.community.ComActMessageVO; import com.panzhihua.common.model.vos.community.ComMngPopulationTotalVO; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.community.PageComActMessageVO; import com.panzhihua.common.model.vos.user.ComHouseMemberVo; @@ -223,4 +224,11 @@ "(select district_name from com_mng_struct_area_district where district_adcode = #{districtCode}) as district" + "</script>") AreaAddressVO getAreaAddress(@Param("provinceCode") String provinceCode,@Param("cityCode") String cityCode,@Param("districtCode") String districtCode); @Select("select count(id) as populationTotal " + ",(select count(id) from com_mng_population where act_id = #{communityId} and out_or_local = 1) as localTotal " + ",(select count(id) from com_mng_population where act_id = #{communityId} and out_or_local = 2) as outTotal " + ",(select count(id) from com_mng_population where act_id = #{communityId} and label is null) as specialTotal " + " from com_mng_population as cmp where act_id = #{communityId}") ComMngPopulationTotalVO getPopulationTotalByAdmin(@Param("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.common.model.vos.community.ComMngCascadeHouseVO; import com.panzhihua.common.model.vos.user.ComMngHouseVo; import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO; import org.apache.ibatis.annotations.Mapper; @@ -22,4 +23,14 @@ " where cmphu.popul_id = #{populId}") List<ComMngHouseVo> getPopulHouseListByPopulId(@Param("populId")Long populId); @Select("<script> " + "select id,alley from com_mng_population_house" + "<if test='name != null and name != ""'>" + "and c.alley = #{name}" + " </if> " + " </script>") List<ComMngCascadeHouseVO> getHouseLevelByAlley(@Param("name") String name); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseUserDAO.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComMngPopulationHouseUserDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * @auther lyq @@ -12,4 +14,7 @@ @Mapper public interface ComMngPopulationHouseUserDAO extends BaseMapper<ComMngPopulationHouseUserDO> { @Select("delete from com_mng_population_house_user where popul_id = #{populationId}") void deletePopulationHouseByUserId(@Param("populationId") Long populationId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationDO.java
@@ -160,26 +160,6 @@ private String birthday; /** * 房屋状态(1.自住 2.租住 3.其他) */ private Integer houseStatus; /** * 房屋用途(1.住宅 2.公寓 3.宿舍 4.仓库 5.其他) */ private Integer housePurpose; /** * 管控状态(1.常规 2.关注 3.管控) */ private Integer controlStatus; /** * 是否是居住地(1.是 2.否) */ private Integer isResidence; /** * 居住地房屋id */ private Long houseId; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationHouseService.java
@@ -1,6 +1,8 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.CascadeHouseDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO; /** @@ -10,4 +12,11 @@ */ public interface ComMngPopulationHouseService extends IService<ComMngPopulationHouseDO> { /** * 查询房屋级联菜单 * @param cascadeHouseDTO 请求参数 * @return 菜单列表 */ R getCascadeHouseAddress(CascadeHouseDTO cascadeHouseDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.service; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationEditDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.R; @@ -103,11 +104,11 @@ /** * 编辑实有人口 * @param editComMngPopulationVO * @param populationEditDTO * @param communityId * @return */ R editPopulation(EditComMngPopulationVO editComMngPopulationVO, Long communityId); R editPopulation(ComMngPopulationEditDTO populationEditDTO, Long communityId) throws Exception; /** * 分页查询特殊群体 @@ -136,4 +137,11 @@ * @return */ R editUserElectronicFile(UserElectronicFileVO userElectronicFileVO); /** * 实有人口统计 * @param communityId 社区id * @return 统计结果 */ R getPopulationTotalByAdmin(Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java
@@ -1,11 +1,20 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.CascadeHouseDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngCascadeHouseVO; import com.panzhihua.service_community.dao.ComMngPopulationHouseDAO; import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO; import com.panzhihua.service_community.service.ComMngPopulationHouseService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.TreeSet; import java.util.stream.Collectors; /** * @auther lyq @@ -16,4 +25,34 @@ @Service public class ComMngPopulationHouseServiceImpl extends ServiceImpl<ComMngPopulationHouseDAO, ComMngPopulationHouseDO> implements ComMngPopulationHouseService { /** * 查询房屋级联菜单 * @param cascadeHouseDTO 请求参数 * @return 菜单列表 */ @Override public R getCascadeHouseAddress(CascadeHouseDTO cascadeHouseDTO){ List<ComMngCascadeHouseVO> cascadeHouseVOList = new ArrayList<>(); switch (cascadeHouseDTO.getLevel()){ case 1: cascadeHouseVOList = this.baseMapper.getHouseLevelByAlley(cascadeHouseDTO.getName()); cascadeHouseVOList = cascadeHouseVOList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getAlley()))), ArrayList::new)); break; case 2: break; case 3: break; case 4: break; case 5: break; default: break; } return R.ok(cascadeHouseVOList); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -9,20 +9,20 @@ import com.google.common.collect.Lists; import com.panzhihua.common.enums.PopulIsOksEnum; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.dtos.community.PageComActDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.area.AreaAddressVO; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.user.*; import com.panzhihua.common.utlis.AgeUtils; import com.panzhihua.common.utlis.IdCard; import com.panzhihua.common.utlis.PayUtil; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComMngPopulationHouseUserService; import com.panzhihua.service_community.service.ComMngPopulationService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; @@ -40,9 +40,7 @@ import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.*; import java.util.stream.Collectors; /** @@ -64,6 +62,8 @@ private ComMngCarDAO comMngCarDAO; @Resource private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO; @Resource private ComMngPopulationHouseUserService comMngPopulationHouseUserService; @Value("${domain.aesKey:}") private String aesKey; @@ -136,6 +136,10 @@ if (ObjectUtils.isEmpty(comMngPopulationDO)) { return R.fail("用户信息不存在"); } if(StringUtils.isNotEmpty(comMngPopulationDO.getBirthday())){//计算年龄 comMngPopulationDO.setAge(AgeUtils.getAgeFromBirthTime(comMngPopulationDO.getBirthday())); } ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO); @@ -192,6 +196,13 @@ page.setSize(pageSize); page.setCurrent(pageNum); IPage<ComMngPopulationVO> iPage = populationDAO.pagePopulation(page, comMngPopulationVO); if(!iPage.getRecords().isEmpty()){ iPage.getRecords().forEach(populDO -> { if(StringUtils.isNotEmpty(populDO.getBirthday())){ populDO.setAge(AgeUtils.getAgeFromBirthTime(populDO.getBirthday())); } }); } return R.ok(iPage); } @@ -545,46 +556,60 @@ } @Override public R editPopulation(EditComMngPopulationVO vo, Long communityId) { ComActDO comActDO = comActDAO.selectById(communityId); public R editPopulation(ComMngPopulationEditDTO vo, Long communityId) throws Exception{ ComMngPopulationDO populationDO = populationDAO.selectById(vo.getId()); if(populationDO==null){ return R.fail(); } String cardNo = populationDO.getCardNo(); BeanUtils.copyProperties(vo,populationDO); try { //TODO 修改拦截器时候需要维护加密操作 if(!cardNo.equals(vo.getCardNo())){//判断是否修改身份证号码 //判断要修改的身份证号码是否已存在 ComMngPopulationDO cardNoDO = populationDAO.selectOne(new QueryWrapper<ComMngPopulationDO>() .lambda().eq(ComMngPopulationDO::getCardNo,vo.getCardNo())); if(cardNoDO != null){ return R.fail("您输入的身份证已存在,请重新输入"); } populationDO.setCardNo(AESUtil.encrypt128(vo.getCardNo(), aesKey)); }else{ populationDO.setCardNo(AESUtil.encrypt128(cardNo, aesKey)); } populationDO.setCardNo(null); populationDO.setPhone(AESUtil.encrypt128(vo.getPhone(), aesKey)); } catch (Exception e) { e.printStackTrace(); return R.fail(); } ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley",vo.getRoad()).eq("house_num",vo.getDoorNo()).eq("community_id",communityId)); if (comMngVillageDO == null) { return R.fail("街道巷:" + vo.getRoad() + vo.getDoorNo() + "不存在!"); // throw new ServiceException("街道巷:" + vo.getRoad() + "不存在!"); } populationDO.setVillageId(comMngVillageDO.getVillageId()); ComActDO comActDO = comActDAO.selectById(communityId); if(comActDO != null){ populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); } //清除用户房屋居住信息 comMngPopulationHouseUserDAO.deletePopulationHouseByUserId(vo.getId()); //更新用户的房屋信息 Long houseId = null; List<ComMngPopulationHouseUserDO> populationHouseUserDOList = new ArrayList<>(); if(!vo.getHouseEditDTOList().isEmpty()){ for (ComMngPopulationHouseEditDTO houseEditDto:vo.getHouseEditDTOList()) { ComMngPopulationHouseUserDO populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setPopulId(populationDO.getId()); populationHouseUserDO.setHouseId(houseEditDto.getId()); if(houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)){ houseId = houseEditDto.getId();//居住地 } populationHouseUserDOList.add(populationHouseUserDO); } } comMngPopulationHouseUserService.saveBatch(populationHouseUserDOList); if(houseId != null){//居住地更新 ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(houseId); if(houseDO != null){ populationDO.setRoad(houseDO.getAlley()); populationDO.setDoorNo(houseDO.getHouseNum()); populationDO.setFloor(houseDO.getFloor()); populationDO.setUnitNo(houseDO.getUnitNo()); populationDO.setHouseNo(houseDO.getHouseNo()); ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().lambda() .eq(ComMngVillageDO::getAlley,houseDO.getAlley()).eq(ComMngVillageDO::getHouseNum,houseDO.getHouseNum()) .eq(ComMngVillageDO::getCommunityId,communityId)); if (comMngVillageDO != null) { populationDO.setVillageId(comMngVillageDO.getVillageId()); if(!StringUtils.isEmpty(comMngVillageDO.getGroupAt())){ populationDO.setVillageName(comMngVillageDO.getGroupAt()); } } } } populationDO.setUpdateAt(new Date()); // this.updateById(populationDO); if(populationDAO.updateById(populationDO) > 0){ return R.ok(); }else{ @@ -649,4 +674,19 @@ populationDAO.updateSysUserElectronicFile(userElectronicFileVO); return R.ok(); } /** * 实有人口统计 * @param communityId 社区id * @return 统计结果 */ @Override public R getPopulationTotalByAdmin(Long communityId){ return R.ok(this.baseMapper.getPopulationTotalByAdmin(communityId)); } public static void main(String[] args) { // List<ComMngPopulationHouseUserDO> distinctClass = populationHouseUserDOList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getPopulId() + ";" + o.getHouseId() + ";" + o.getId() + ";" + o.getRelation()))), ArrayList::new)); } }