From 603a69f583edd472772526de5e57eb4fe724ddc3 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期三, 03 四月 2024 10:20:32 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 118 insertions(+), 40 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..cd8d8b1 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;
@@ -104,6 +102,8 @@
@Autowired
private SolutionsMapper solutionsMapper;
+ @Autowired
+ private SmsEmailService smsEmailService;
@Autowired
private NoticesMapper noticesMapper;
/**
@@ -776,7 +776,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 +1473,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 +1569,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;
@@ -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.COMPANY_SIGN.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.PALTFORM_CHECK_PASS_NO.getKey());
+ }else{
+ update.setStatus(Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS.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