From f6b0e262db2af5ca2e5ed76f95e746c1dd3c58e3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 01 二月 2024 15:17:47 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 84 insertions(+), 15 deletions(-) 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 9da21c5..10f893b 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 @@ -24,6 +24,8 @@ 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.EmailService; import com.doumee.service.business.third.SignService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -36,6 +38,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.File; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -53,7 +56,9 @@ @Autowired private InsuranceApplyMapper insuranceApplyMapper; @Autowired - private ApplyChangeMapper applyChangeMapper; + private SmsEmailService smsEmailService; + @Autowired + private ApplyChangeJoinMapper applyChangeMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -396,14 +401,13 @@ return tempFileName; } }catch (Exception e){ - } return null; } - public Integer uploadSignedFileDo(InsuranceApply model,String fileurl) { + public Multifile uploadSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) { InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(model.getCreator()); @@ -422,15 +426,19 @@ f.setObjType(Constants.MultiFile.BD_SIGNED_PDF.getKey()); f.setType(Constants.TWO); f.setFileurl(fileurl); + f.setFileurlFull(fullUrl); + f.setInfo("鎶曚繚鍗曚紒涓氱绾﹀悎鍚�"); f.setName("鎶曚繚鍗曠绾﹀悎鍚�.pdf"); multifileMapper.insert(f); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SIGNATURE; ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); - return 1; + + startSendEmail(f, model.getCompanyName(),model.getSolutionsName(),model.getSolutionEmail()); + return f; } - public Integer uploadChangeSignedFileDo(ApplyChange model,String fileurl) { + public Multifile uploadChangeSignedFileDo(ApplyChange model,String fileurl,String fullurl) { ApplyChange update = new ApplyChange(); update.setEditDate(new Date()); update.setEditor(model.getCreator()); @@ -449,19 +457,53 @@ f.setObjType(Constants.equalsInteger(Constants.ZERO,model.getType())?Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() : Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()); f.setType(Constants.TWO); f.setFileurl(fileurl); + f.setFileurlFull(fullurl); + f.setInfo("浼佷笟鐢宠琛ㄧ缃叉枃浠�"); f.setName("绛剧珷鐢宠琛�.pdf"); multifileMapper.insert(f); Constants.ApplyLogType applyLogType =Constants.equalsInteger(Constants.ZERO,model.getType())? Constants.ApplyLogType.CA_JIAJIAN_APPLY_SIGN: Constants.ApplyLogType.CA_CHANGUNIT_APPLY_SIGN; ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); - return 1; + + startSendEmail(f,model.getCompanyName(),model.getSolutionsName(),model.getSolutionEmail()); + return f; } + + private void startSendEmail(Multifile f, String companyName, String solutionsName, String solutionEmail) { + if(StringUtils.isBlank(solutionEmail) || f==null|| StringUtils.isBlank(f.getFileurl())){ + return; + } + SmsEmail email = new SmsEmail(); + email.setTitle(f.getInfo()); + email.setEmail(solutionEmail); + email.setContent("鏉ヨ嚜浼佷笟銆�"+companyName+"銆戝叧浜庝繚闄╂柟妗堛��"+solutionsName+"銆戠殑"+f.getInfo()); + File file = Constants.getFileByNetFile(f.getFileurlFull(),f.getName()); + if(file!=null && file.isFile()){ + Map<String,Object> files = new HashMap<>(); + files.put("name",f.getName()); + files.put("file",file); + email.setFileList(new ArrayList<>()); + email.getFileList().add(files); + smsEmailService.sendEmail(email); + file.delete();//鍙戦�佸悗鍒犻櫎涓存椂鏂囦欢 + } + } + @Override public void dealWaitSignedData(){ - List<InsuranceApply> applyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>().lambda() + List<InsuranceApply> applyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) .isNotNull(InsuranceApply::getSignApplyNo)); + String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ + systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); if(applyList !=null && applyList.size()>0 ){ for(InsuranceApply model : applyList){ String status = signService.linkFileStatus(model.getSignApplyNo()); @@ -474,11 +516,19 @@ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� return; } - uploadSignedFileDo(model,fileUrl); + uploadSignedFileDo(model,fileUrl,path+fileUrl); return; } } - List<ApplyChange> chagneList = applyChangeMapper.selectList(new QueryWrapper<ApplyChange>().lambda() + List<ApplyChange> chagneList = applyChangeMapper.selectJoinList(ApplyChange.class, + new MPJLambdaWrapper<ApplyChange>() + .selectAll(ApplyChange.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(ApplyChange::getStatus,Constants.ApplyChangeStatus.UPLOAD.getKey()) .isNotNull(ApplyChange::getSignApplyNo)); if(chagneList !=null && chagneList.size()>0 ){ @@ -493,7 +543,7 @@ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� return; } - uploadChangeSignedFileDo(model,fileUrl); + uploadChangeSignedFileDo(model,fileUrl,path+fileUrl); return; } } @@ -505,7 +555,18 @@ } if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ //濡傛灉宸蹭繚鍏�,鍙笅杞界绾﹂檮浠� - InsuranceApply model = insuranceApplyMapper.selectOne(new QueryWrapper<InsuranceApply>().lambda().eq(InsuranceApply::getSignApplyNo,data.getApplyNo()).last("limit 1" )); + String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ + systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); + InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(InsuranceApply::getSignApplyNo,data.getApplyNo()) + .last("limit 1" )); if(model != null && Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ //瀹屾垚绛剧讲宸插畬鎴愭搷浣� String link = signService.linkFile(data.getApplyNo()); @@ -514,11 +575,19 @@ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� return; } - uploadSignedFileDo(model,fileUrl); + uploadSignedFileDo(model,fileUrl,path+fileUrl); return; } - - ApplyChange applyChange = applyChangeMapper.selectOne(new QueryWrapper<ApplyChange>().lambda().eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" )); + ApplyChange applyChange = applyChangeMapper.selectJoinOne(ApplyChange.class, + new MPJLambdaWrapper<ApplyChange>() + .selectAll(ApplyChange.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" )); if(applyChange != null &&Constants.equalsInteger(applyChange.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())){ String link = signService.linkFile(data.getApplyNo()); String fileUrl = uploadSignFile(link); @@ -526,7 +595,7 @@ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� return; } - uploadChangeSignedFileDo(applyChange,fileUrl); + uploadChangeSignedFileDo(applyChange,fileUrl,path+fileUrl); } }else if(Constants.equalsInteger(data.getSignStatus(), Constants.TWO )){ //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 -- Gitblit v1.9.3