Browse Source

修复可以重复添加贫困人员的bug;

dev
luyan 2 years ago
parent
commit
27d0db20c1
  1. 38
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PovertyManageController.java
  2. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/PovertyManageDao.java
  3. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/PovertyManageService.java
  4. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PovertyManageServiceImpl.java
  5. 9
      epmet-user/epmet-user-server/src/main/resources/mapper/PovertyManageDao.xml

38
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PovertyManageController.java

@ -2,8 +2,12 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -12,11 +16,15 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.PovertyManageDTO; import com.epmet.dto.PovertyManageDTO;
import com.epmet.dto.form.povertyManage.PovertyManageFormDto; import com.epmet.dto.form.povertyManage.PovertyManageFormDto;
import com.epmet.excel.PovertyManageExcel;
import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.remote.EpmetUserRemoteService;
import com.epmet.service.PovertyManageService; import com.epmet.service.PovertyManageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,6 +33,7 @@ import java.util.Map;
* @author generator generator@elink-cn.com * @author generator generator@elink-cn.com
* @since v1.0.0 2023-06-16 * @since v1.0.0 2023-06-16
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("povertyManage") @RequestMapping("povertyManage")
public class PovertyManageController { public class PovertyManageController {
@ -35,6 +44,9 @@ public class PovertyManageController {
@Autowired @Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient; private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private EpmetUserRemoteService userRemoteService;
@RequestMapping("page") @RequestMapping("page")
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
@ -57,7 +69,12 @@ public class PovertyManageController {
public Result save(@RequestBody PovertyManageFormDto dto) { public Result save(@RequestBody PovertyManageFormDto dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
povertyManageService.save(dto); Boolean flag = povertyManageService.isExist(dto.getResiUserId());
if (!flag) {
povertyManageService.save(dto);
} else {
return new Result().error(8000, "该人员已经是贫困户,请勿重复添加!");
}
return new Result(); return new Result();
} }
@ -78,6 +95,25 @@ public class PovertyManageController {
return new Result(); return new Result();
} }
@RequestMapping(value = "/exportExcel")
public void exportExcelByEasyExcel(@RequestBody PovertyManageFormDto formDTO, HttpServletResponse response) throws Exception {
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
AgencyInfoCache agency = CustomerOrgRedis.getAgencyInfo(userRemoteService.getLoginUserDetails().getAgencyId());
String agencyName = agency.getOrganizationName();
PageData<PovertyManageDTO> data = povertyManageService.search(formDTO);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
if (null != data && data.getList().size() > 0) {
buildData(data.getList());
for (PovertyManageDTO dto : data.getList()) {
dto.setAgencyId(agencyName);
dto.setGridId(CustomerOrgRedis.getGridInfo(dto.getGridId()).getGridName());
}
}
ExcelUtils.exportExcelToTarget(response, "贫困人员名单.xls", data.getList(), PovertyManageExcel.class);
}
@PostMapping("search") @PostMapping("search")
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
public Result<PageData<PovertyManageDTO>> search(@RequestBody PovertyManageFormDto formDto) { public Result<PageData<PovertyManageDTO>> search(@RequestBody PovertyManageFormDto formDto) {

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/PovertyManageDao.java

@ -18,4 +18,6 @@ public interface PovertyManageDao extends BaseDao<PovertyManageEntity> {
List<PovertyManageDTO> search(@Param("userName") String userName, @Param("mobile") String mobile, List<PovertyManageDTO> search(@Param("userName") String userName, @Param("mobile") String mobile,
@Param("idCard") String idCard, @Param("povertyType") String povertyType, @Param("idCard") String idCard, @Param("povertyType") String povertyType,
@Param("povertyStatus") Integer povertyStatus); @Param("povertyStatus") Integer povertyStatus);
Boolean isExist(@Param("resiUserId") String resiUserId);
} }

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/PovertyManageService.java

@ -77,4 +77,11 @@ public interface PovertyManageService extends BaseService<PovertyManageEntity> {
PageData<PovertyManageDTO> search(PovertyManageFormDto formDto); PageData<PovertyManageDTO> search(PovertyManageFormDto formDto);
/**
* 判定人员是否已经存在
* @param resiUserId
* @return
*/
Boolean isExist(String resiUserId);
} }

5
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PovertyManageServiceImpl.java

@ -84,4 +84,9 @@ public class PovertyManageServiceImpl extends BaseServiceImpl<PovertyManageDao,
.doSelectPageInfo(() -> baseDao.search(formDto.getUserName(), formDto.getMobile(), formDto.getIdCard(), formDto.getPovertyType(), formDto.getPovertyStatus())); .doSelectPageInfo(() -> baseDao.search(formDto.getUserName(), formDto.getMobile(), formDto.getIdCard(), formDto.getPovertyType(), formDto.getPovertyStatus()));
return new PageData<>(pageInfo.getList() == null ? new ArrayList<>() : pageInfo.getList(), pageInfo.getTotal()); return new PageData<>(pageInfo.getList() == null ? new ArrayList<>() : pageInfo.getList(), pageInfo.getTotal());
} }
@Override
public Boolean isExist(String resiUserId) {
return baseDao.isExist(resiUserId);
}
} }

9
epmet-user/epmet-user-server/src/main/resources/mapper/PovertyManageDao.xml

@ -49,10 +49,17 @@
<if test="null != povertyType and povertyType != ''"> <if test="null != povertyType and povertyType != ''">
AND pm.POVERTY_TYPE = #{povertyType} AND pm.POVERTY_TYPE = #{povertyType}
</if> </if>
<if test="null != povertyStatus and povertyStatus != ''"> <if test="null != povertyStatus">
AND pm.POVERTY_STATUS = #{povertyStatus} AND pm.POVERTY_STATUS = #{povertyStatus}
</if> </if>
</where> </where>
</select> </select>
<select id="isExist" resultType="java.lang.Boolean">
select count(pm.id) FROM poverty_manage pm
where pm.DEL_FLAG = 0
<if test="null != resiUserId and resiUserId != ''">
AND pm.RESI_USER_ID = #{resiUserId}
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save