From 2e1ac74716f62ca5712d0187cb7d7d25ee13efe5 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 05 三月 2024 14:34:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java | 16 ++-- server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java | 4 server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 29 ++++++ server/company/src/main/java/com/doumee/api/business/MemberController.java | 4 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 63 +++++++++++++++ server/platform/src/main/java/com/doumee/task/ScheduleTool.java | 4 server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java | 24 +++-- server/service/src/main/java/com/doumee/service/business/SmsEmailService.java | 1 server/company/src/main/java/com/doumee/api/business/SmsEmailController.java | 7 + server/service/src/main/java/com/doumee/core/utils/Constants.java | 1 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 14 ++- server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 30 ++----- server/service/src/main/java/com/doumee/service/business/MemberService.java | 2 13 files changed, 144 insertions(+), 55 deletions(-) diff --git a/server/company/src/main/java/com/doumee/api/business/MemberController.java b/server/company/src/main/java/com/doumee/api/business/MemberController.java index 74eea2e..ee6cf89 100644 --- a/server/company/src/main/java/com/doumee/api/business/MemberController.java +++ b/server/company/src/main/java/com/doumee/api/business/MemberController.java @@ -118,8 +118,8 @@ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class), }) @RequiresPermissions("business:worktype:create") - public ApiResponse<List<MemberImport>> importExcel (@ApiParam(value = "file") MultipartFile file) { - return ApiResponse.success(memberService.importBatch(file)); + public ApiResponse<List<MemberImport>> importExcel (@ApiParam(value = "file") MultipartFile file,Integer solutionId) { + return ApiResponse.success(memberService.importBatch(file,solutionId)); } } diff --git a/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java b/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java index 6b8ece7..c89f032 100644 --- a/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java +++ b/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java @@ -46,6 +46,13 @@ return ApiResponse.success(smsEmailService.sendSms(smsEmail)); } + @ApiOperation("鐭俊楠岃瘉 - 浼佷笟楠岀") + @GetMapping("/validateCode") +// @RequiresPermissions("business:smsemail:sendSms") + public ApiResponse validateCode(@RequestParam String code) { + smsEmailService.validateCode(code); + return ApiResponse.success("鎿嶄綔鎴愬姛"); + } @ApiOperation("鏍规嵁ID鍒犻櫎") @GetMapping("/delete/{id}") diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java index 270fced..58da84c 100644 --- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java +++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java @@ -16,8 +16,8 @@ * @date 2021-10-10 14:40:35 * https://www.bejson.com/othertools/cron/ cron 琛ㄨ揪寮忕敓鎴愬湴鍧� */ -//@Component -//@EnableScheduling +@Component +@EnableScheduling @Slf4j public class ScheduleTool { @Autowired diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java index 7bf1ba9..5d4125f 100644 --- a/server/service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java @@ -856,6 +856,7 @@ COMPANY_BACK_APPLY_SIGNATURE(8, "浼佷笟鐢宠閫�鍥�(宸茬绔�)","鎻愪氦鎰忚锛�${param}",5), CLOSE(9, "璁㈠崟鍏抽棴","",6), PLATFORM_CHECK_PASS(10,"骞冲彴鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",0), + COMPANY_BACK_APPLY_PASS(11, "浼佷笟鐢宠閫�鍥�(骞冲彴鎶曚繚瀹℃牳閫氳繃)","鎻愪氦鎰忚锛�${param}",5), ; // 鎴愬憳鍙橀噺 private String name; diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java b/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java index e8ed9c6..caf1c85 100644 --- a/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java +++ b/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java @@ -24,21 +24,23 @@ @ExcelColumn(name="韬唤璇佸彿",value = "idCard") private String idCard; + @ExcelColumn(name="娲鹃仯鍗曚綅" , value = "duName") + private String duName; + + @ExcelColumn(name="宸ョ" , value = "workTypeName") + private String workTypeName; + + @ExcelColumn(name="骞撮緞",value = "age") private Integer age; - -// @ApiModelProperty(value = "娲鹃仯鍗曚綅涓婚敭") -// private Integer duId; @ApiModelProperty(value = "鎬у埆") private Integer sex; -// @ApiModelProperty(value = "鎵�灞炲伐绉嶄富閿�") -// private Integer workTypeId; -// -// @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О") -// private String duName; -// -// @ApiModelProperty(value = "鎵�灞炲伐绉嶅悕绉�") -// private String workTypeName; + @ApiModelProperty(value = "娲鹃仯鍗曚綅涓婚敭") + private Integer duId; + + @ApiModelProperty(value = "鎵�灞炲伐绉嶄富閿�") + private Integer worktypeId; + } diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java index 0c3cebc..bf125e8 100644 --- a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java +++ b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java @@ -143,5 +143,7 @@ @TableField(exist = false) private String companyName; - + @ApiModelProperty(value = "娲鹃仯鍗曚綅涓嬬殑宸ョ淇℃伅") + @TableField(exist = false) + private List<Worktype> worktypeList; } diff --git a/server/service/src/main/java/com/doumee/service/business/MemberService.java b/server/service/src/main/java/com/doumee/service/business/MemberService.java index 592bffd..536d665 100644 --- a/server/service/src/main/java/com/doumee/service/business/MemberService.java +++ b/server/service/src/main/java/com/doumee/service/business/MemberService.java @@ -104,6 +104,6 @@ List<Member> findListByDTO(MemberQueryDTO memberQueryDTO); - List<MemberImport> importBatch(MultipartFile file); + List<MemberImport> importBatch(MultipartFile file,Integer solutionId); } diff --git a/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java b/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java index 8d5dfaf..7120ad4 100644 --- a/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java +++ b/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java @@ -21,6 +21,7 @@ Integer create(SmsEmail smsEmail); Integer sendSms(SmsEmail smsEmail); Integer sendEmail(SmsEmail smsEmail); + void validateCode(String code); /** * 涓婚敭鍒犻櫎 * diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java index 051eacf..21fc9bf 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java @@ -224,10 +224,10 @@ queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId()); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59"); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59"); + queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00.0"); + queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0"); + queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0"); + queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0"); for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -281,10 +281,10 @@ queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getMemberId()),Member::getId,applyDetailPageDTO.getMemberId()); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59"); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59"); + queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00.0"); + queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0"); + queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0"); + queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0"); return applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); } diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java index b906342..cfd12aa 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java @@ -292,8 +292,6 @@ public Integer create(SaveDispatchUnitDTO saveDispatchUnitDTO) { if(Objects.isNull(saveDispatchUnitDTO) || StringUtils.isEmpty(saveDispatchUnitDTO.getName()) - || StringUtils.isEmpty(saveDispatchUnitDTO.getCode()) - || StringUtils.isEmpty(saveDispatchUnitDTO.getContent()) || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -306,13 +304,13 @@ )> Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪"); }; - if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() - .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) - .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) - .eq(DispatchUnit::getIsdeleted,Constants.ZERO) - )> Constants.ZERO){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪"); - }; +// if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() +// .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) +// .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) +// .eq(DispatchUnit::getIsdeleted,Constants.ZERO) +// )> Constants.ZERO){ +// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪"); +// }; DispatchUnit dispatchUnit = new DispatchUnit(); dispatchUnit.setCreateDate(new Date()); dispatchUnit.setCreator(loginUserInfo.getId()); @@ -413,14 +411,6 @@ )> Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪"); }; - if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() - .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId()) - .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) - .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) - .eq(DispatchUnit::getIsdeleted,Constants.ZERO) - )> Constants.ZERO){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪"); - } dispatchUnit.setCode(saveDispatchUnitDTO.getCode()); dispatchUnit.setContent(saveDispatchUnitDTO.getContent()); dispatchUnit.setName(saveDispatchUnitDTO.getName()); @@ -431,9 +421,6 @@ //瀛樺偍鎿嶄綔璁板綍 this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null); - -// this.dealDuData(saveDispatchUnitDTO,loginUserInfo); - //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT; @@ -911,11 +898,10 @@ .eq(DispatchUnit::getStatus,Constants.ZERO) .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" ) .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) - .eq(DispatchUnit::getStatus,Constants.ZERO) .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO) .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType()) .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()), - "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId() ) + "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.status = 1 and b.solution_id="+dispatchUnitQueryDTO.getSolutionId() ) .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()), " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " + " and ad.du_id = t.id ") diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index 3c5b8c7..f8dd34f 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -334,7 +334,8 @@ //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣� if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())|| - Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())) + Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())|| + Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } @@ -347,6 +348,8 @@ update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey()); + }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){ + update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); } }else{ //濡傛灉鏄悓鎰�,涓ょ鐢宠閫�鍥炵姸鎬侀兘鍙搷浣� @@ -808,8 +811,8 @@ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,model.getId())); - Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType); - noticesMapper.insert(notices); +// Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType); +// noticesMapper.insert(notices); String info =applyLogType.getInfo(); if(StringUtils.isNotBlank(update.getCheckInfo())){ @@ -1229,7 +1232,7 @@ queryWrapper.in(InsuranceApply::getStatus, pageWrap.getModel().getStatus().split(",")); } if (pageWrap.getModel().getLoseEfficacy() != null && pageWrap.getModel().getLoseEfficacy() ==1) { - queryWrapper.apply(" DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 "); + queryWrapper.apply(" DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 and t.END_TIME >= now() "); } if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){ for(PageWrap.SortData sortData: pageWrap.getSorts()) { @@ -1513,6 +1516,7 @@ if(insuranceApplyOptDTO.getOptType().equals(Constants.ONE)){ if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey()) ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) + ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()) ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀潪鍙敵璇烽��鍥�!"); } @@ -1522,6 +1526,8 @@ insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE; }else if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey())){ insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE; + }else if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey())){ + insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS; } //瀛樺偍寰呭姙淇℃伅 diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index bdafd31..ffd6741 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -10,9 +10,11 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.WorktypeMapper; import com.doumee.dao.business.dto.MemberImport; import com.doumee.dao.business.dto.MemberQueryDTO; import com.doumee.dao.business.dto.WorktypeImport; +import com.doumee.dao.business.join.DispatchUnitJoinMapper; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.MemberService; @@ -45,6 +47,12 @@ @Autowired private MemberJoinMapper memberJoinMapper; + + @Autowired + private DispatchUnitJoinMapper dispatchUnitJoinMapper; + + @Autowired + private WorktypeMapper worktypeMapper; @Override public Integer create(Member member) { @@ -285,7 +293,7 @@ @Override - public List<MemberImport> importBatch(MultipartFile file){ + public List<MemberImport> importBatch(MultipartFile file,Integer solutionId){ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!loginUserInfo.getType().equals(Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔"); @@ -316,7 +324,40 @@ if(idCardList.size() != set.size()){ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁瀛樺湪韬唤璇佸彿鐩稿悓鏁版嵁锛�"); } + List<DispatchUnit> dispatchUnitList = new ArrayList<>(); + if(!Objects.isNull(solutionId)){ + dispatchUnitList = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class, + new MPJLambdaWrapper<DispatchUnit>() + .selectAll(DispatchUnit.class) + .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+solutionId+" limit 1) as du_solution_id" ) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + .eq(DispatchUnit::getStatus,Constants.ZERO) + .eq(DispatchUnit::getDataType,Constants.TWO) + .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) + .exists("select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.status = 1 and b.solution_id="+solutionId ) + ); + if(CollectionUtils.isNotEmpty(dispatchUnitList)){ + for (DispatchUnit dispatchUnit:dispatchUnitList) { + List<Worktype> worktypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda() + .eq(Worktype::getIsdeleted,Constants.ZERO) + .eq(Worktype::getDataType,Constants.TWO) + .eq(Worktype::getStatus,Constants.ZERO) + .apply("id in ( select dw.work_type_id from du_worktype dw where dw.status = 1" + + " and dw.du_solution_id = "+dispatchUnit.getDuSolutionId()+" )") + ); + dispatchUnit.setWorktypeList(worktypeList); + } + } + } + long index = Constants.TWO; for(MemberImport model : dataList){ + if(StringUtils.isBlank(model.getIdCard())||model.getIdCard().length()!=18){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹韩浠借瘉淇℃伅寮傚父锛�"); + } + if(StringUtils.isBlank(model.getName())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹鍚嶄俊鎭紓甯革紒"); + } + index = index + Constants.ONE; if(CollectionUtils.isNotEmpty(list)){ Optional<Member> memberOptional= list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findFirst(); if(memberOptional.isPresent()){ @@ -329,6 +370,26 @@ }else{ model.setSex(Constants.getSexByIdCard(model.getIdCard())); } + if(StringUtils.isNotBlank(model.getDuName())&&CollectionUtils.isNotEmpty(dispatchUnitList)){ + Optional<DispatchUnit> dispatchUnitOptional= dispatchUnitList.stream().filter(m->m.getName().equals(model.getDuName())).findFirst(); + if(dispatchUnitOptional.isPresent()){ + DispatchUnit dispatchUnit = dispatchUnitOptional.get(); + model.setDuId(dispatchUnit.getId()); + if(StringUtils.isNotBlank(model.getWorkTypeName())&&CollectionUtils.isNotEmpty(dispatchUnit.getWorktypeList())){ + Optional<Worktype> worktypeOptional= dispatchUnit.getWorktypeList().stream().filter(m->m.getName().equals(model.getWorkTypeName())).findFirst(); + if(worktypeOptional.isPresent()){ + Worktype worktype = worktypeOptional.get(); + model.setWorktypeId(worktype.getId()); + } + } + } + } + if(Objects.isNull(model.getDuId())){ + model.setWorkTypeName(null); + model.setDuName(null); + }else if(Objects.isNull(model.getWorktypeId())){ + model.setWorkTypeName(null); + } } return dataList; } diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java index 78a3a64..32a4157 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java @@ -3,12 +3,14 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.SmsEmailMapper; +import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.SmsEmail; import com.doumee.service.business.SmsEmailService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -18,6 +20,7 @@ import com.doumee.service.business.third.EmailService; import com.doumee.service.business.third.EmayService; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -25,6 +28,7 @@ import java.util.Date; import java.util.List; +import java.util.Objects; /** * 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇 @@ -56,7 +60,8 @@ if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇曪紒"); } - if(model.getCreateDate() !=null && System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*100){ + if(model.getCreateDate() !=null && + System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){ model.setStatus(Constants.ONE); model.setEditDate(new Date()); smsEmailMapper.updateById(model); @@ -103,8 +108,12 @@ )>=3){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝瓒呭嚭鍙戦�佹鏁帮紝璇风◢鍚庨噸璇曪紒"); } + String code = Constants.getRandom6Num(); - boolean result= emayService.sendSingleSms(smsEmail.getPhone(),code); + + String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�"; + + boolean result= emayService.sendSingleSms(smsEmail.getPhone(),content); if(!result){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒"); } @@ -115,13 +124,27 @@ smsEmail.setStatus(Constants.ZERO); smsEmail.setType(Constants.ZERO); smsEmail.setTitle("鐭俊楠岃瘉鐮�"); - smsEmail.setContent(systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�"); + smsEmail.setContent(content); smsEmailMapper.insert(smsEmail); return smsEmail.getId(); } + + @Override + public void validateCode(String code) { + if(StringUtils.isBlank(code)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!loginUserInfo.getType().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲埆閿欒"); + }; + Company company = loginUserInfo.getCompany(); + SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),code); + } + @Override public void deleteById(Integer id) { smsEmailMapper.deleteById(id); -- Gitblit v1.9.3