springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/user/ComMngUserTagDTO.java
New file @@ -0,0 +1,28 @@ package com.panzhihua.common.model.dtos.user; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 居民信息excel导入 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-02-04 16:06 **/ @Data @ApiModel("特殊群体标签请求参数") public class ComMngUserTagDTO { @ApiModelProperty(value = "分页-当前页数",example = "1") private Long pageNum; @ApiModelProperty(value = "分页-每页记录数",example = "10") private Long pageSize; @ApiModelProperty("标签名称") private String tagName; @ApiModelProperty(value = "社区id",hidden = true) private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/user/PageInputUserDTO.java
@@ -32,4 +32,7 @@ @ApiModelProperty(value = "分页-每页记录数",example = "10") private Long pageSize; @ApiModelProperty("标签") private String tags; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/user/ComMngTagVO.java
New file @@ -0,0 +1,38 @@ package com.panzhihua.common.model.vos.user; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 小程序用户 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-30 11:22 **/ @Data @ApiModel("特殊群体标签管理") public class ComMngTagVO implements Serializable { @ApiModelProperty("主键") private Long id; @ApiModelProperty("标签名称") private String tagName; @ApiModelProperty("社区id") private Long communityId; @ApiModelProperty("创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty("系统预置:1-是(不可编辑删除) 0-否") private Integer sysFlag; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -11,10 +11,7 @@ import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; import com.panzhihua.common.model.vos.user.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -584,5 +581,38 @@ */ @PostMapping("/common/data/user/export") R inputUserExport(@RequestBody ExportUserDTO exportUserDTO); /** * 基础数据》特殊群体》分页查询 * @param pageInputUserDTO * @return */ @PostMapping("common/data/special/page") R specialInputUser(PageInputUserDTO pageInputUserDTO); /** * 删除特殊群体用户 * @param id * @return */ @DeleteMapping("common/data/special/delete") R deleteSpecialInputUser(@RequestParam(value = "id") Long id); /** * 基础数据》特殊群体》分页查询标签列表 * @param comMngUserTagDTO * @return */ @PostMapping("common/data/special/tags/page") R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO); /** * 新增或修改特殊群体标签 * @param comMngTagVO * @return */ @PostMapping("common/data/special/tags/save") R saveSpecialInputUserTags(@RequestBody ComMngTagVO comMngTagVO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java
@@ -12,12 +12,14 @@ import com.panzhihua.common.listen.ComMngCarExcelListen; import com.panzhihua.common.model.dtos.community.ComMngCarSaveDTO; import com.panzhihua.common.model.dtos.community.PageComMngCarDTO; import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO; import com.panzhihua.common.model.dtos.user.EexcelUserDTO; import com.panzhihua.common.model.dtos.user.InputUserTagsDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.user.ComMngTagVO; import com.panzhihua.common.model.vos.user.CommunityUserInfoVO; import com.panzhihua.common.model.vos.user.InputUserInfoVO; import com.panzhihua.common.service.community.CommunityService; @@ -261,4 +263,40 @@ public R putUserTag(@RequestBody InputUserTagsDTO inputUserTagsDTO){ return userService.setInputUserTag(inputUserTagsDTO); } @ApiOperation(value = "特殊群体/分页查询特殊群体列表",response =InputUserInfoVO.class ) @PostMapping("/special/page") public R specialInputUser(@RequestBody PageInputUserDTO pageInputUserDTO) { Long communityId = this.getCommunityId(); pageInputUserDTO.setCommunityId(communityId); return userService.specialInputUser(pageInputUserDTO); } @ApiOperation(value = "特殊群体/删除",response =InputUserInfoVO.class ) @DeleteMapping("/special/delete") public R deleteSpecialInputUser(@RequestParam(value = "id") Long id) { return userService.deleteSpecialInputUser(id); } @ApiOperation(value = "特殊群体/分页查询标签列表",response = ComMngTagVO.class ) @PostMapping("/special/tags/page") public R specialInputUserTags(@RequestBody ComMngUserTagDTO comMngUserTagDTO) { Long communityId = this.getCommunityId(); comMngUserTagDTO.setCommunityId(communityId); return userService.specialInputUserTags(comMngUserTagDTO); } /** * 新增或修改特殊群体标签 * @param comMngTagVO * @return */ @ApiOperation(value = "特殊群体/新增或修改标签") @PostMapping("/special/tags/save") R saveSpecialInputUserTags(@RequestBody ComMngTagVO comMngTagVO) { Long communityId = this.getCommunityId(); comMngTagVO.setCommunityId(communityId); return userService.saveSpecialInputUserTags(comMngTagVO); } } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -653,8 +653,7 @@ */ @PostMapping("/common/data/user/detail") public R inputUserDetail(@RequestParam("id")Long id){ InputUserInfoVO inputUserInfoVO=sysUserInputService.inputUserDetail(id); return R.ok(inputUserInfoVO); return sysUserInputService.inputUserDetail(id); } /** @@ -666,4 +665,43 @@ public R inputUserExport(@RequestBody ExportUserDTO exportUserDTO){ return sysUserInputService.export(exportUserDTO); } /** * 特殊群体 * @param pageInputUserDTO * @return */ @PostMapping("common/data/special/page") R specialInputUser(@RequestBody PageInputUserDTO pageInputUserDTO) { return sysUserInputService.specialInputUser(pageInputUserDTO); } /** * 特殊群体 * @param id * @return */ @DeleteMapping("common/data/special/delete") R deleteSpecialInputUser(@RequestParam(value = "id") Long id) { return sysUserInputService.deleteSpecialInputUser(id); } /** * 特殊群体标签列表 * @param comMngUserTagDTO * @return */ @PostMapping("common/data/special/tags/page") R specialInputUserTags(@RequestBody ComMngUserTagDTO comMngUserTagDTO) { return sysUserInputService.specialInputUserTags(comMngUserTagDTO); } /** * 新增或修改特殊群体标签 * @param comMngTagVO * @return */ @PostMapping("common/data/special/tags/save") R saveSpecialInputUserTags(@RequestBody ComMngTagVO comMngTagVO) { return sysUserInputService.saveSpecialInputUserTags(comMngTagVO); } } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/ComMngUserTagDAO.java
@@ -1,8 +1,14 @@ package com.panzhihua.service_user.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO; import com.panzhihua.common.model.vos.user.ComMngTagVO; import com.panzhihua.service_user.model.dos.ComMngUserTagDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -12,4 +18,24 @@ **/ @Mapper public interface ComMngUserTagDAO extends BaseMapper<ComMngUserTagDO> { /** * 标签查询 * @param page * @param comMngUserTagDTO * @return */ @Select("<script> " +" SELECT " + " t.* " + "FROM " + " com_mng_user_tag t " + "WHERE " + " community_id IN ( 0, #{comMngUserTagDTO.communityId} ) " + "<if test='comMngUserTagDTO.tagName != null and comMngUserTagDTO.tagName.trim() != ""'>" + " and t.tag_name like concat(#{comMngUserTagDTO.tagName},'%') \n" + " </if> " + "ORDER BY " + " t.sys_flag DESC" +"</script> ") IPage<ComMngTagVO> pageSpecialInputUserTags(Page page, @Param(value = "comMngUserTagDTO") ComMngUserTagDTO comMngUserTagDTO); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/SysUserInputDAO.java
@@ -128,4 +128,63 @@ " WHERE" + " t.id_card = #{idCard}") List<ComMngStructHouseVO> selectUserHouseList(@Param("idCard") String idCard); @Select("<script> " + "SELECT " + " t.`name`, " + "CASE " + " IF " + " ( " + " length( t.id_card ) = 18, " + " cast( substring( t.id_card, 17, 1 ) AS UNSIGNED ) % 2, " + " IF " + " ( " + " length( t.id_card ) = 15, " + " cast( substring( t.id_card, 15, 1 ) AS UNSIGNED ) % 2, " + " 3 " + " ) " + " ) " + " WHEN 1 THEN " + " 1 " + " WHEN 0 THEN " + " 2 ELSE 0 " + " END AS sex, " + " t.phone, " + " YEAR ( now( ) ) - YEAR ( substring( t.id_card, 7, 8 ) ) age, " + " t1.area_name, " + " t.political_outlook politicalOutlook, " + " CONCAT( " + " IF " + " ( t.soldier = 1, '军人,', '' ), " + " IF " + " ( t.lowIncome_households = 1, '低保户,', '' ), " + " IF " + " ( t.lowIncome_people = 1, '低收入,', '' ), " + " IF " + " ( t.old_people = 1, '特服家庭,', '' ), " + " IF " + " ( t.key_personnel = 1, '重点人员,', '' ) " + " ) tags " + "FROM " + " sys_user_input t " + " LEFT JOIN com_mng_struct_area t1 ON t.area_id = t1.id " + "WHERE " + " t.community_id = #{pageInputUserDTO.communityId}"+ " AND " + "(t.soldier=1 OR t.lowIncome_households=1 OR t.lowIncome_people=1 or t.old_people=1 OR t.special_service_family=1 OR t.key_personnel=1 OR (t.tags IS NOT NULL AND TRIM(t.tags)!=''))"+ "<if test='pageInputUserDTO.name != null and pageInputUserDTO.name.trim() != ""'>" + " and t.`name` like concat(#{pageInputUserDTO.name},'%') " + " </if> " + "<if test='pageInputUserDTO.phone != null and pageInputUserDTO.phone.trim() != ""'>" + " and t.phone like concat(#{pageInputUserDTO.phone},'%') " + " </if> " + "<if test='pageInputUserDTO.areaId != null and pageInputUserDTO.areaId.trim() != ""'>" + " and t.area_id = #{pageInputUserDTO.areaId} " + " </if> " + "<if test='pageInputUserDTO.tags != null and pageInputUserDTO.tags.trim() != ""'>" + " and t.tags like concat('%',#{pageInputUserDTO.tags},'%') " + " </if> " + " group by t.id_card "+ "</script>") IPage<InputUserInfoVO> specialInputUser(Page page, @Param("pageInputUserDTO") PageInputUserDTO pageInputUserDTO); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/ComMngUserTagDO.java
@@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -34,4 +35,14 @@ * 社区id */ private Long communityId; /** * 创建时间 */ private Date createAt; /** * 系统预置:1-是 0-否 */ private Integer sysFlag; } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/SysUserInputService.java
@@ -2,11 +2,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.ExportUserDTO; import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO; import com.panzhihua.common.model.dtos.user.EexcelUserDTO; import com.panzhihua.common.model.dtos.user.InputUserTagsDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.user.ComMngTagVO; import com.panzhihua.common.model.vos.user.CommunityUserInfoVO; import com.panzhihua.common.model.vos.user.InputUserInfoVO; import com.panzhihua.service_user.model.dos.SysUserInputDO; @@ -60,5 +62,33 @@ * @param id * @return */ InputUserInfoVO inputUserDetail(Long id); R inputUserDetail(Long id); /** * 查询特殊群体 * @param pageInputUserDTO * @return */ R specialInputUser(PageInputUserDTO pageInputUserDTO); /** * 特殊群体标签 * @param comMngUserTagDTO * @return */ R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO); /** * 新增或修改特殊群体标签 * @param comMngTagVO * @return */ R saveSpecialInputUserTags(ComMngTagVO comMngTagVO); /** * 删除特殊群体用户 * @param id * @return */ R deleteSpecialInputUser(Long id); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ExportUserDTO; import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO; import com.panzhihua.common.model.dtos.user.EexcelUserDTO; import com.panzhihua.common.model.dtos.user.InputUserTagsDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; @@ -16,12 +17,15 @@ import com.panzhihua.common.model.vos.community.ComMngStructHouseVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; import com.panzhihua.common.model.vos.user.ComMngTagVO; import com.panzhihua.common.model.vos.user.CommunityUserInfoVO; import com.panzhihua.common.model.vos.user.InputUserInfoVO; import com.panzhihua.common.utlis.IdCard; import com.panzhihua.common.utlis.SensitiveUtil; import com.panzhihua.service_user.dao.ComMngUserTagDAO; import com.panzhihua.service_user.dao.SysUserInputDAO; import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO; import com.panzhihua.service_user.model.dos.ComMngUserTagDO; import com.panzhihua.service_user.model.dos.SysUserDO; import com.panzhihua.service_user.model.dos.SysUserInputDO; import com.panzhihua.service_user.service.SysUserInputService; @@ -34,6 +38,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -49,6 +54,8 @@ private SysUserInputDAO sysUserInputDAO; @Resource private StringRedisTemplate stringRedisTemplate; @Resource private ComMngUserTagDAO comMngUserTagDAO; /** * 批量导入居民用户 * @param list 居民用户集合 @@ -229,7 +236,7 @@ @Override public InputUserInfoVO inputUserDetail(Long id) { public R inputUserDetail(Long id) { InputUserInfoVO inputUserInfoVO = new InputUserInfoVO(); SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id); if (!org.springframework.util.ObjectUtils.isEmpty(sysUserInputDO)) { @@ -278,6 +285,99 @@ List<ComMngStructHouseVO> comMngStructHouseVOS = sysUserInputDAO.selectUserHouseList(inputUserInfoVO.getIdCard()); inputUserInfoVO.setComMngStructHouseVOS(comMngStructHouseVOS); } return inputUserInfoVO; return R.ok(inputUserInfoVO); } @Override public R specialInputUser(PageInputUserDTO pageInputUserDTO) { Page page = new Page<>(); Long pageNum = pageInputUserDTO.getPageNum(); Long pageSize = pageInputUserDTO.getPageSize(); if (null==pageNum||0==pageNum) { pageNum = 1l; } if (null==pageSize||0==pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage<InputUserInfoVO> iPage = sysUserInputDAO.specialInputUser(page, pageInputUserDTO); iPage.getRecords().forEach(record->{ record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone())); record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard())); }); return R.ok(iPage); } @Override public R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO) { Page page = new Page<>(); Long pageNum = comMngUserTagDTO.getPageNum(); Long pageSize = comMngUserTagDTO.getPageSize(); if (null==pageNum||0==pageNum) { pageNum = 1l; } if (null==pageSize||0==pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage<ComMngTagVO> iPage = comMngUserTagDAO.pageSpecialInputUserTags(page, comMngUserTagDTO); return R.ok(iPage); } @Override public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) { if(null!=comMngTagVO.getId()&&comMngTagVO.getId()!=0){ ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId()); if(null==comMngUserTagDO){ return R.fail("标签不存在"); } if(comMngUserTagDO.getSysFlag()==1){ return R.fail("系统预置标签不可修改"); } ComMngUserTagDO exist = comMngUserTagDAO.selectOne(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName())); if(null!=exist && exist.getId()!=comMngUserTagDO.getId()){ return R.fail("标签重复"); } comMngUserTagDO.setTagName(comMngTagVO.getTagName()); comMngUserTagDAO.updateById(comMngUserTagDO); }else{ int count = comMngUserTagDAO.selectCount(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName())); if(count>0){ return R.fail("标签重复"); } ComMngUserTagDO comMngUserTagDO = new ComMngUserTagDO(); comMngUserTagDO.setTagName(comMngTagVO.getTagName()); comMngUserTagDO.setCommunityId(comMngTagVO.getCommunityId()); comMngUserTagDO.setSysFlag(0); comMngUserTagDO.setCreateAt(new Date()); comMngUserTagDAO.insert(comMngUserTagDO); } return R.ok(); } @Override public R deleteSpecialInputUser(Long id) { SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id); if(null==sysUserInputDO){ return R.fail("用户不存在"); } List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard,sysUserInputDO.getIdCard())); sysUserInputDOS.forEach(sysUserInput ->{ sysUserInput.setTags(null); sysUserInput.setKeyPersonnel(0); sysUserInput.setSpecialServiceFamily(0); sysUserInput.setSoldier(0); sysUserInput.setLowincomeHouseholds(0); sysUserInput.setLowincomePeople(0); sysUserInput.setOldPeople(0); sysUserInput.setDisability(0); }); boolean update = this.updateBatchById(sysUserInputDOS); if(update){ return R.ok(); } return R.fail(); } }