From b8ffee963236f66b8b40a6180813d99f34c45cd1 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 03 四月 2024 10:55:17 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 180 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 129 insertions(+), 51 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java index 69d410b..252e5f9 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java @@ -12,10 +12,7 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; -import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO; -import com.doumee.dao.business.dto.ApplyChangeOptDTO; -import com.doumee.dao.business.dto.CountCyclePriceDTO; -import com.doumee.dao.business.dto.InsuranceApplyOptDTO; +import com.doumee.dao.business.dto.*; import com.doumee.dao.business.join.*; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.CountCyclePriceVO; @@ -25,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.third.SignService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -105,6 +103,8 @@ private SolutionsMapper solutionsMapper; @Autowired + private SmsEmailService smsEmailService; + @Autowired private NoticesMapper noticesMapper; /** * 骞冲彴閫�鍥炴姇淇� @@ -135,13 +135,17 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); } - if( -// Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey()) -// ||Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey()) -// || - Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){ - //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){ + //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + } + }else if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey()) + || Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey()) ){ + //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + } } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); ApplyChange update = new ApplyChange(); @@ -776,7 +780,10 @@ if (Objects.isNull(insuranceApply)) { throw new BusinessException(ResponseStatus.DATA_EMPTY); } - if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) { + if (!(Constants.equalsInteger(insuranceApply.getStatus(), + Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())||Constants.equalsInteger(insuranceApply.getStatus(), + Constants.InsuranceApplyStatus.WTB_DONE.getKey())) + ) { throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�"); } if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO @@ -1470,6 +1477,7 @@ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType()) .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId()) .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId()) + .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName()) .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" ) .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" ) .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" ) @@ -1565,7 +1573,12 @@ Notices notices = new Notices(noticeObjectType,Constants.ZERO,applyChange.getId(),solutions.getName(), insuranceApply.getCompanyId(), Constants.NoticeType.THREE); noticesMapper.insert(notices); - + //鍟嗘埛寰呭姙 + if(Objects.nonNull(solutions.getShopId())){ + Notices shopNotices = new Notices(noticeObjectType,Constants.TWO, + applyChange.getId(),solutions.getName(),solutions.getShopId(),Constants.NoticeType.THREE); + noticesMapper.insert(shopNotices); + } }else if(applyChangeOptDTO.getOptType().equals(4)){ applyLogType = Constants.ApplyLogType.CA_PLATFORM_AGREE_BACK_APPLY; @@ -1597,14 +1610,10 @@ }else if(applyChangeOptDTO.getOptType().equals(6)){ //浼佷笟鍏抽棴 applyLogType = Constants.ApplyLogType.CA_COMPANY_CLOSE; - if(!loginUserInfo.getType().equals(Constants.ONE)){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�"); - } if(!applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇棤娉曡繘琛岃鎿嶄綔!"); } applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey()); - //瀛樺偍寰呭姙淇℃伅 //鍒犻櫎鍏朵粬寰呭姙 noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId())); @@ -1632,11 +1641,13 @@ MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(ApplyChange.class) .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) + .selectAs(Company::getId,ApplyChange::getCompanyId) .selectAs(Company::getName,ApplyChange::getCompanyName) .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime) .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime) .selectAs(Solutions::getName,ApplyChange::getSolutionsName) .selectAs(Solutions::getType,ApplyChange::getSolutionType) + .selectAs(Solutions::getId,ApplyChange::getSolutionsId) .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum) .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum) .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum) @@ -1738,9 +1749,9 @@ } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company = user.getCompany(); - if(debugModel){ + /*if(debugModel){ company = companyMapper.selectById(model.getCompanyId()); - } + }*/ if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁"); } @@ -1967,22 +1978,27 @@ * 浜哄憳鍚嶅崟绛剧珷 */ @Override - public String getChangeMemberListOnlineSignLink(Integer applyChangeId) { - ApplyChange model = this.queryApplyChangeData(applyChangeId); + public String getChangeMemberListOnlineSignLink(SmsCheckDTO smsCheckDTO) { + if(Objects.isNull(smsCheckDTO) + || Objects.isNull(smsCheckDTO.getBusinessId()) + || StringUtils.isBlank(smsCheckDTO.getCode()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + //楠岃瘉 楠岃瘉鐮� + if(!debugModel){ + smsEmailService.validateCode(smsCheckDTO.getCode()); + } + ApplyChange model = this.queryApplyChangeData(smsCheckDTO.getBusinessId()); if(Objects.isNull(model)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠姞鍑忎繚淇℃伅"); } if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔绛剧珷鎿嶄綔锛�"); - } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - Company company = user.getCompany(); - if(debugModel){ - company = companyMapper.selectById(model.getCompanyId()); - } + Company company = companyMapper.selectById(model.getCompanyId()); if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁"); } @@ -1990,36 +2006,98 @@ if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); } - if(solutions.getType().equals(Constants.ZERO)){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炲鎵樹繚鏂规淇濆崟锛屾棤娉曡繘琛岃鎿嶄綔!"); - } String fileUrl = null; - if(Constants.equalsObject(model.getType(), Constants.ONE)){ - fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉"); + if(solutions.getType().equals(Constants.ONE)){ + if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔绛剧珷鎿嶄綔锛�"); + } + if(Constants.equalsObject(model.getType(), Constants.ONE)){ + fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉"); + }else{ + fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉"); + } + String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); + notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); + String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl); + if(StringUtils.isBlank(applyNo) ){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); + } + String link = signService.signLink(applyNo,company.getName(),company.getCode()); + if(StringUtils.isBlank(link) ){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); + } + ApplyChange update= new ApplyChange(); + update.setId(model.getId()); + update.setEditor(user.getId()); + update.setEditDate(new Date()); + update.setSignMemberListNo(applyNo); + applyChangeMapper.updateById(update); + return link; }else{ - fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉"); + return this.getSignLinkJiajiabao(model); } - String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); - notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); - String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl); - if(StringUtils.isBlank(applyNo) ){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); - } - String link = signService.signLink(applyNo,company.getName(),company.getCode()); - if(StringUtils.isBlank(link) ){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); - } - ApplyChange update= new ApplyChange(); - update.setId(model.getId()); - update.setEditor(user.getId()); - update.setEditDate(new Date()); - update.setSignMemberListNo(applyNo); - applyChangeMapper.updateById(update); - return link; } + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public Integer check(ApplyChange applyChange) { + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!user.getType().equals(Constants.TWO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风鏃犳硶杩涜璇ユ搷浣�"); + } + if(applyChange.getId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class, + new MPJLambdaWrapper<ApplyChange>() + .selectAll(ApplyChange.class) + .selectAs(InsuranceApply::getSolutionId,ApplyChange::getSolutionsId) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .eq(ApplyChange::getId,applyChange.getId()) + .last(" limit 1") + ); + if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + Solutions solutions = solutionsMapper.selectById(model.getSolutionsId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); + } + if(solutions.getType().equals(Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐩翠繚鍗曟嵁鏃犳硶杩涜璇ユ搷浣�"); + }else{ + if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + } + } + + ApplyChange update = new ApplyChange(); + update.setEditDate(new Date()); + update.setEditor(user.getId()); + update.setCheckDate(update.getEditDate()); + update.setCheckInfo(applyChange.getCheckInfo()); + update.setCheckUserId(user.getId()); + update.setId(model.getId()); + if(applyChange.getDealBackApply() ==1){ + //濡傛灉鏄笉閫氳繃 + update.setStatus(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey()); + }else{ + update.setStatus(Constants.ApplyChangeStatus.COMPANY_SIGN.getKey()); + } + applyChangeJoinMapper.updateById(update); + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; + if(Constants.equalsInteger(applyChange.getType(),Constants.ONE)){ + noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY; + } + //鍒犻櫎鍏ㄩ儴寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjType, noticeObjectType.getKey()) + .eq(Notices::getObjId, model.getId())); + return 1; + + } } -- Gitblit v1.9.3