package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.IdCardRegexUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.IcResiCollectService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 居民信息采集表 * * @author generator generator@elink-cn.com * @since v1.0.0 2022-03-18 */ @RestController @RequestMapping("icresicollect") public class IcResiCollectController { @Autowired private IcResiCollectService icResiCollectService; /** * 居民信息采集_提交 * * @param formDTO * @return */ @NoRepeatSubmit @PostMapping("save") public Result save(@RequestBody IcResiCollectFormDTO formDTO) { //效验数据 ValidatorUtils.validateEntity(formDTO, IcResiCollectFormDTO.AddUserInternalGroup.class); // 内部:internal;外部:external if ("internal".equals(formDTO.getOrigin())) { ValidatorUtils.validateEntity(formDTO, IcResiCollectFormDTO.InternalShowGroup.class); } else if ("external".equals(formDTO.getOrigin())) { ValidatorUtils.validateEntity(formDTO, IcResiCollectFormDTO.ExternalShowGroup.class); } icResiCollectService.save(formDTO); return new Result(); } /** * Desc: 查询采集居民信息 * @param formDTO * @param tokenDto * @author zxc * @date 2022/3/18 19:23 */ @PostMapping("list") @MaskResponse(fieldNames = { "memberIdNum", "memberMobile" }, fieldsMaskType = { MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE }) public Result> getCollectList(@RequestBody CollectListFormDTO formDTO, @LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO,CollectListFormDTO.CollectListForm.class); formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result>().ok(icResiCollectService.getCollectList(formDTO)); } /** * 信息采集-详情 * @param formDTO * @param tokenDto * @return */ @PostMapping("detail") public Result detail(@RequestBody CollectListFormDTO formDTO, @LoginUser TokenDto tokenDto) { formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result().ok(icResiCollectService.detail(formDTO)); } /** * Desc: 查询采集居民信息 * @param formDTO * @param tokenDto * @author zxc * @date 2022/3/18 19:23 */ @PostMapping("export") public void export(@RequestBody CollectListFormDTO formDTO, @LoginUser TokenDto tokenDto, HttpServletResponse response) throws Exception { //ValidatorUtils.validateEntity(formDTO,CollectListFormDTO.CollectListForm.class); //tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725"); //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setIsPage(false); PageData collectList = icResiCollectService.getCollectList(formDTO); List list =new ArrayList<>(); collectList.getList().forEach(o->{ List children = new ArrayList<>(); o.getList().forEach(item->{ CollectListMemberExcelResultDTO resultDTO = ConvertUtils.sourceToTarget(item, CollectListMemberExcelResultDTO.class); resultDTO.setYmjz(item.getYmjz() == null? StrConstant.EPMETY_STR:String.valueOf(item.getYmjz())); children.add(resultDTO); }); CollectListExcelResultDTO resultDTO = ConvertUtils.sourceToTarget(o, CollectListExcelResultDTO.class); resultDTO.setListP(children); list.add(resultDTO); }); ExcelUtils.exportExcelToTarget(response, null, list, CollectListExcelResultDTO.class); } /** * 居民端小程序:社区居民信息登记-提交 * * @param tokenDto * @param formDTO * @return */ @PostMapping("save-resi") public Result saveResi(@LoginUser TokenDto tokenDto, @RequestBody ResiCollectFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(formDTO, ResiCollectFormDTO.InternalShowGroup.class, ResiCollectFormDTO.AddUserInternalGroup.class); icResiCollectService.saveResi(formDTO); return new Result(); } /** * 居民端小程序:社区居民信息登记-查询 * @param tokenDto * @param formDTO * @return */ @PostMapping("latest-submit") public Result latestSubmit(@LoginUser TokenDto tokenDto, @RequestBody LatestSubmitCollectFormDTO formDTO){ formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); ValidatorUtils.validateEntity(formDTO,LatestSubmitCollectFormDTO.AddUserInternalGroup.class); return new Result().ok(icResiCollectService.latestSubmit(formDTO)); } /** * 信息采集-审核 * @param formDTO * @param tokenDto * @return */ @PostMapping("collectCheck") public Result collectCheck(@RequestBody IcResiCollectCheckFormDTO formDTO, @LoginUser TokenDto tokenDto) { formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); icResiCollectService.collectCheck(formDTO,tokenDto); return new Result(); } /** * @describe: 扫描社区/小区二维码进行居民信息登记 * @author wangtong * @date 2022/8/2 16:01 * @params [formDTO] * @return com.epmet.commons.tools.utils.Result */ @NoRepeatSubmit @PostMapping("saveCollectInfo") public Result saveCollectInfo(@RequestBody SaveCollectFormDTO formDTO) { //效验数据 ValidatorUtils.validateEntity(formDTO); formDTO.setOrigin("internal");//固定为内部 // 证件类型判断----start---- for (IcResiCollectMemFormDTO member : formDTO.getMemberList()) { if (StringUtils.isNotBlank(member.getIdNum())) { IdCardRegexUtils regex = IdCardRegexUtils.parse(member.getIdNum()); if (regex == null) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "证件号解析错误", "证件号解析错误"); } } } // 证件类型判断----end---- return icResiCollectService.saveCollectInfo(formDTO); } /** * @describe: 我的登记列表 * @author wangtong * @date 2022/8/3 13:59 * @params [dto] * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("getCollectPage") public Result> getCollectPage(@LoginUser TokenDto tokenDto,@RequestBody CollectPageFormDTO dto) { dto.setUserId(tokenDto.getUserId()); dto.setCustomerId(tokenDto.getCustomerId()); PageData page = icResiCollectService.getCollectPage(dto); return new Result>().ok(page); } /** * 信息采集-审核通过-新增房屋-复显房屋信息 * @param formDTO * @param tokenDto * @return */ @PostMapping("getHouseDetailByCollect") public Result getHouseDetailByCollect(@RequestBody IcResiCollectGetDetailFormDTO formDTO, @LoginUser TokenDto tokenDto) { return new Result().ok(icResiCollectService.getHouseDetailByCollect(formDTO)); } /** * @describe: 查看居民采集信息详情 * @author wangtong * @date 2022/8/3 15:05 * @params [dto] * @return com.epmet.commons.tools.utils.Result */ @PostMapping("getCollectDetail") public Result getCollectDetail(@RequestBody CollectDetailFormDTO dto) { ValidatorUtils.validateEntity(dto); return icResiCollectService.getCollectDetail(dto); } }