日照智慧社区接口服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

137 lines
5.4 KiB

package com.epmet.controller;
import com.epmet.commons.tools.annotation.MaskResponse;
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.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.PovertyManageDTO;
import com.epmet.dto.form.povertyManage.PovertyManageFormDto;
import com.epmet.excel.PovertyManageExcel;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.remote.EpmetUserRemoteService;
import com.epmet.service.PovertyManageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-06-16
*/
@Slf4j
@RestController
@RequestMapping("povertyManage")
public class PovertyManageController {
@Autowired
private PovertyManageService povertyManageService;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private EpmetUserRemoteService userRemoteService;
@RequestMapping("page")
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
public Result<PageData<PovertyManageDTO>> page(@RequestParam Map<String, Object> params) {
PageData<PovertyManageDTO> page = povertyManageService.page(params);
if (null != page && page.getList().size() > 0) {
buildData(page.getList());
}
return new Result<PageData<PovertyManageDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<PovertyManageDTO> get(@PathVariable("id") String id) {
PovertyManageDTO data = povertyManageService.get(id);
return new Result<PovertyManageDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody PovertyManageFormDto dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
Boolean flag = povertyManageService.isExist(dto.getResiUserId());
if (!flag) {
povertyManageService.save(dto);
} else {
return new Result().error(8000, "该人员已经是贫困户,请勿重复添加!");
}
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody PovertyManageFormDto dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
povertyManageService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
povertyManageService.delete(ids);
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")
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
public Result<PageData<PovertyManageDTO>> search(@RequestBody PovertyManageFormDto formDto) {
PageData<PovertyManageDTO> page = povertyManageService.search(formDto);
if (null != page && page.getList().size() > 0) {
buildData(page.getList());
}
return new Result<PageData<PovertyManageDTO>>().ok(page);
}
private void buildData(List<PovertyManageDTO> dtoList) {
Result<Map<String, String>> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.POVERTY_TYPE.getCode());
if (null != dictMapRes.getData() && dictMapRes.getData().size() > 0) {
Map<String, String> dictMap = dictMapRes.getData();
for (PovertyManageDTO dto : dtoList) {
if (null != dto.getPovertyType()) {
dto.setPovertyType(dictMap.get(dto.getPovertyType()));
}
}
}
}
}