springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/admin/ComMngPopulationListDTO.java
New file @@ -0,0 +1,58 @@ package com.panzhihua.common.model.dtos.grid.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; /** * 居民列表-请求参数 * * @author lyq * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("居民列表-请求参数") public class ComMngPopulationListDTO { @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize = 10L; @ApiModelProperty(value = "走访状态(1待走访2已走访3待验证5已撤销)") private Integer eventStatus; @Length(max=100) @ApiModelProperty(value = "人员标签", hidden = false, example = "") private String label; @Max(127) @ApiModelProperty(value = "性别 1.男 2.女", hidden = false, example = "1") private Integer sex; @Max(10) @ApiModelProperty("政治面貌(1.中共党员2.中共预备党员3.共青团员4.民革党员5.民盟盟员6.民建会员7.8.农工党党员9.致公党党员10.九三学社社员11.台盟盟员12.无党派人士13.群众)") private Integer politicalOutlook; @Max(2) @ApiModelProperty("关联实有房屋(1.是 2.否)") private Integer isHouse; @Length(max=100) @ApiModelProperty(value = "关键词", hidden = false, example = "") private String keyWord; @Max(9223372036854775807L) @ApiModelProperty(value = "社区id", hidden = true, example = "1") private Long communityId; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/ComMngPopulationListVO.java
New file @@ -0,0 +1,68 @@ package com.panzhihua.common.model.vos.grid.admin; import com.fasterxml.jackson.annotation.JsonFormat; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** * 居民管理-列表返回参数 */ @Data @ApiModel("居民管理列表返回参数") @EncryptDecryptClass public class ComMngPopulationListVO { @ApiModelProperty("自增id") private Long id; @ApiModelProperty("姓名") private String userName; @ApiModelProperty("标签") private String label; @ApiModelProperty("走访时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty(value = "身份证号码") @EncryptDecryptField private String cardNo; @ApiModelProperty(value = "性别(1.男 2.女)") private Integer sex; @ApiModelProperty(value = "现居住地址") private String address; @ApiModelProperty("政治面貌(1.中共党员2.中共预备党员3.共青团员4.民革党员5.民盟盟员6.民建会员7.8.农工党党员9.致公党党员10.九三学社社员11.台盟盟员12.无党派人士13.群众)") private Integer politicalOutlook; @ApiModelProperty("联系方式") private String phone; @ApiModelProperty("关联实有房屋(0.否 1.是)") private String isHouse; @ApiModelProperty(value = "走访状态(1待走访2已走访3待验证5已撤销)") private Integer eventStatus; @ApiModelProperty(value = "户口所在地") private String censusRegister; @ApiModelProperty(value = "年龄") private Integer age; @ApiModelProperty(value = "是否是户主(1.是 2.否)") private Integer isRelation; @ApiModelProperty(value = "居住地房屋id") private Long houseId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -20,6 +20,7 @@ import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO; import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAdminDTO; @@ -3141,4 +3142,12 @@ */ @PostMapping("/wallet/get/ranking") R getWalletRanking(@RequestBody PageComActWalletTradeDTO walletTradeDTO); /** * 综治后台-居民列表 * @param populationListDTO 请求参数 * @return 居民列表 */ @PostMapping("/population/grid/list") R getGridPopulationList(@RequestBody ComMngPopulationListDTO populationListDTO); } springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/PopulationApi.java
New file @@ -0,0 +1,37 @@ package com.panzhihua.grid_backstage.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationListVO; import com.panzhihua.common.model.vos.screen.ComActPopulationScreenVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.grid.GridService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Slf4j @Api(tags = {"居民模块"}) @RestController @RequestMapping("/population/") public class PopulationApi extends BaseController { @Resource private CommunityService communityService; @Resource private GridService gridService; @ApiOperation(value = "居民列表@lyq",response = ComMngPopulationListVO.class) @PostMapping("/list") public R list(@RequestBody ComMngPopulationListDTO populationListDTO){ LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); populationListDTO.setCommunityId(loginUserInfoVO.getCommunityId()); return communityService.getGridPopulationList(populationListDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.api; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.service.ComMngPopulationService; @@ -32,6 +33,16 @@ return comMngPopulationService.getPopulationRepairByApp(); } /** * 综治后台-居民列表 * @param populationListDTO 请求参数 * @return 居民列表 */ @PostMapping("/grid/list") public R getGridPopulationAdminList(@RequestBody ComMngPopulationListDTO populationListDTO) { return comMngPopulationService.getGridPopulationAdminList(populationListDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.area.AreaAddressVO; import com.panzhihua.common.model.vos.community.ComActMessageVO; @@ -17,6 +18,7 @@ import com.panzhihua.common.model.vos.grid.EventGridDataVO; import com.panzhihua.common.model.vos.grid.PopulationDetailVO; import com.panzhihua.common.model.vos.grid.PopulationListVO; import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationListVO; import com.panzhihua.common.model.vos.user.*; import com.panzhihua.common.model.vos.community.PageComActMessageVO; import com.panzhihua.common.model.vos.user.ComHouseMemberVo; @@ -910,4 +912,57 @@ " id = #{populationId}") PopulationDetailVO getPopulationDetailApp(@Param("populationId") Long populationId); @Select("<script> " + "SELECT " + " * " + "FROM " + " ( " + " SELECT " + " cmp.id, " + " cmp.`name` AS userName, " + " cmp.label, " + " cmp.card_no, " + " cmp.card_no_str, " + " cmp.sex, " + " cmp.address, " + " cmp.political_outlook, " + " cmp.census_register, " + " cmp.house_id, " + " cmp.phone, " + " IFNULL(cmp.house_id,0) as isHouse, " + " ( SELECT event_status FROM event_visiting_tasks WHERE event_status in (1,2,3,5) AND visiter_id = cmp.id ORDER BY create_at DESC LIMIT 1 ) AS eventStatus, " + " ( SELECT create_at FROM event_visiting_tasks WHERE event_status in (1,2,3,5) AND visiter_id = cmp.id ORDER BY create_at DESC LIMIT 1 ) AS createAt " + " FROM " + " com_mng_population AS cmp where 1=1 " + "<if test='populationListDTO.keyWord != null and populationListDTO.keyWord != ""'>" + "AND (cmp.name like concat (#{populationListDTO.keyWord},'%') or cmp.card_no_str like concat (#{populationListDTO.keyWord},'%') or cmp.address like concat (#{populationListDTO.keyWord},'%')) " + " </if> " + "<if test='populationListDTO.label != null and populationListDTO.label != ""'>" + "AND cmp.label like concat ('%',#{populationListDTO.label},'%') " + " </if> " + "<if test='populationListDTO.sex != null'>" + "AND cmp.sex = #{populationListDTO.sex} " + " </if> " + "<if test='populationListDTO.isHouse != null and populationListDTO.isHouse == 1'>" + "AND cmp.house_id is not null " + " </if> " + "<if test='populationListDTO.isHouse != null and populationListDTO.isHouse == 2'>" + "AND cmp.house_id is null " + " </if> " + "<if test='populationListDTO.communityId != null'>" + "AND cmp.community_id = #{populationListDTO.communityId} " + " </if> " + "<if test='populationListDTO.politicalOutlook != null'>" + "AND cmp.political_outlook = #{populationListDTO.politicalOutlook} " + " </if> " + " ) as population where 1=1 " + "<if test='populationListDTO.eventStatus != null'>" + "AND population.eventStatus = #{populationListDTO.eventStatus} " + " </if> " + " </script>") IPage<ComMngPopulationListVO> getGridPopulationAdminList(Page page,@Param("populationListDTO") ComMngPopulationListDTO populationListDTO); @Select("select relation from com_mng_population_house_user where house_id = #{houseId} and popul_id = #{populationId}") Integer getPopulationRelationByHouseId(@Param("houseId") Long houseId, @Param("populationId") Long populationId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
@@ -6,6 +6,7 @@ import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO; @@ -214,4 +215,6 @@ R getPopulationDetailApp(Long populationId); R getPopulationRepairByApp(); R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -17,6 +17,7 @@ import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; @@ -32,6 +33,7 @@ import com.panzhihua.common.model.vos.grid.EventResourceVO; import com.panzhihua.common.model.vos.grid.PopulationDetailVO; import com.panzhihua.common.model.vos.grid.PopulationListVO; import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationListVO; import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; import com.panzhihua.common.model.vos.screen.ComActPopulationScreenVO; import com.panzhihua.common.model.vos.screen.ComMngPopulationAgeVO; @@ -1493,5 +1495,28 @@ return R.ok(); } @Override public R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO){ IPage<ComMngPopulationListVO> populationListIPage = this.baseMapper.getGridPopulationAdminList(new Page(populationListDTO.getPageNum(),populationListDTO.getPageSize()),populationListDTO); if(!populationListIPage.getRecords().isEmpty()){ populationListIPage.getRecords().forEach(population -> { try { Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); population.setAge(age); }catch (Exception e){ log.error("当前人口身份证获取年龄失败,实有人口id:" + population.getId()); } //查询此用户在当前房屋是否是户主 Integer relation = this.baseMapper.getPopulationRelationByHouseId(population.getHouseId(),population.getId()); if(relation == null || relation != 1){ population.setIsRelation(2); }else{ population.setIsRelation(1); } }); } return R.ok(populationListIPage); } }