From 32929606943fedfca286b052bcb280193a3e0222 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 18 一月 2025 10:23:58 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 88 ++++++++----
server/company/src/main/java/com/doumee/api/business/CompanySolutionController.java | 2
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java | 17 ++
server/service/src/main/java/com/doumee/service/business/SolutionsBaseService.java | 3
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java | 3
server/platform/src/main/java/com/doumee/api/business/SolutionsBaseController.java | 10 +
server/pom.xml | 6
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 39 ++++-
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java | 51 ++++---
server/service/src/main/java/com/doumee/service/business/third/SignService.java | 51 +++++++
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java | 7
server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java | 6
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java | 2
server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java | 79 +++++++++++
14 files changed, 295 insertions(+), 69 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/CompanySolutionController.java b/server/company/src/main/java/com/doumee/api/business/CompanySolutionController.java
index 5a57c22..2ce584e 100644
--- a/server/company/src/main/java/com/doumee/api/business/CompanySolutionController.java
+++ b/server/company/src/main/java/com/doumee/api/business/CompanySolutionController.java
@@ -92,7 +92,7 @@
@ApiOperation("鍙戣捣绛剧讲")
@GetMapping("/getSignLink")
- @RequiresPermissions("business:contract:query")
+ @RequiresPermissions("business:companysolution:query")
public ApiResponse<String> getSignLink (@RequestParam Integer id) {
return ApiResponse.success(companySolutionService.getCompanySolutionSignLink(id));
}
diff --git a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index d8fe710..666e71b 100644
--- a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -178,4 +178,10 @@
return ApiResponse.success(insuranceApplyService.getApplyPower(applyPowerDTO));
}
+ @ApiOperation("娴嬭瘯鍙戦�侀偖浠�")
+ @PostMapping("/testSendEmail")
+ public ApiResponse testSendEmail() {
+ insuranceApplyService.testSendEmail();
+ return ApiResponse.success(null);
+ }
}
diff --git a/server/platform/src/main/java/com/doumee/api/business/SolutionsBaseController.java b/server/platform/src/main/java/com/doumee/api/business/SolutionsBaseController.java
index 03151e4..d25ad93 100644
--- a/server/platform/src/main/java/com/doumee/api/business/SolutionsBaseController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/SolutionsBaseController.java
@@ -106,4 +106,14 @@
public ApiResponse findById(@PathVariable Integer id) {
return ApiResponse.success(solutionsBaseService.findById(id));
}
+
+
+
+ @ApiOperation("娴嬭瘯鐢熸垚涓绘柟妗�")
+ @GetMapping("/createSolutionBase")
+ public ApiResponse createSolutionBase(Integer solutionId) {
+ solutionsBaseService.createSolutionBase(solutionId);
+ return ApiResponse.success(null);
+ }
+
}
diff --git a/server/pom.xml b/server/pom.xml
index 6f18e06..f3caa99 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -141,6 +141,12 @@
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
<version>2.0.0</version>
</dependency>
+ <!-- 鍦╬om.xml涓坊鍔犱緷璧� -->
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>javax.mail-api</artifactId>
+ <version>1.6.2</version>
+ </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
index b31921d..0555a2a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -173,6 +173,10 @@
@TableField(exist = false)
private Integer signType;
+ @ApiModelProperty(value = "鎵规敼鎻愰啋鏃堕棿 HH:mm")
+ @TableField(exist = false)
+ private String correctWarnTime;
+
@ApiModelProperty(value = "鏂规绫诲瀷 0鐩翠繚 1濮旀墭鎶曚繚")
@TableField(exist = false)
private Integer solutionType;
@@ -295,7 +299,4 @@
return taxesInvoicingVO;
}
- @ApiModelProperty(value = "鍦ㄧ嚎绛剧珷鍦板潃")
- @TableField(exist = false)
- private String signLink;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
index 9740820..1cd2051 100644
--- a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -184,5 +184,7 @@
* @return
*/
ApplyPowerVO getApplyPower(ApplyPowerDTO applyPowerDTO);
+
+ void testSendEmail();
}
diff --git a/server/service/src/main/java/com/doumee/service/business/SolutionsBaseService.java b/server/service/src/main/java/com/doumee/service/business/SolutionsBaseService.java
index d4587df..8d5c90a 100644
--- a/server/service/src/main/java/com/doumee/service/business/SolutionsBaseService.java
+++ b/server/service/src/main/java/com/doumee/service/business/SolutionsBaseService.java
@@ -98,4 +98,7 @@
* @return long
*/
long count(SolutionsBase solutionsBase);
+
+
+ void createSolutionBase(Integer solutionId);
}
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 0d224e2..a7ca3b0 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
@@ -3,6 +3,7 @@
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.api.R;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.constants.ResponseStatus;
@@ -991,6 +992,9 @@
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT;
ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),"",applyChange.getId(),applyLogType.getKey(), null, null);
applyLogMapper.insert(log);
+// if(1==1){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY );
+// }
return applyChange.getId();
}
@@ -1292,18 +1296,35 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑洪櫓鏃犳硶杩涜鍑忎繚");
};
//2024-10-29 15:17:54 鏌ヨ浜哄憳鏄惁宸插噺淇� 宸插噺淇濆悗鏃犳硶鍐嶆鍑忎繚
- if(applyChangeDetailJoinMapper.selectJoinCount(new MPJLambdaWrapper<ApplyChagneDetail>()
+// if(applyChangeDetailJoinMapper.selectJoinCount(new MPJLambdaWrapper<ApplyChagneDetail>()
+// .leftJoin(ApplyChange.class,ApplyChange::getId,ApplyChagneDetail::getApplyChangeId)
+// .eq(ApplyChagneDetail::getType,Constants.ONE)
+// .eq(ApplyChange::getApplyId,applyChange.getApplyId())
+// .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId())
+// .notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.CLOSE.getKey()
+// ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey()
+// )
+// )>Constants.ZERO){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚");
+// };
+ //2025-1-16 09:11:14 鏍规嵁鏌ヨ褰撳墠浜哄憳鏈�鍚庝竴娆$殑鍔犲噺淇濊褰� 濡傛灉鏈�鍚庝竴鏉¤褰曟槸鍔犱繚杩涘叆 鍒欏彲浠ュ噺淇� 濡傛灉鏈�鍚庝竴鏉¤褰曟槸鍑忎繚璁板綍 鍒欎笉鍙互鍑忎繚 濡傛灉涓虹┖ 杩欏彲浠ヨ繘琛屾搷浣�
+ ApplyChagneDetail lastApplyChagneDetail = applyChangeDetailJoinMapper.selectJoinOne(ApplyChagneDetail.class,
+ new MPJLambdaWrapper<ApplyChagneDetail>()
.leftJoin(ApplyChange.class,ApplyChange::getId,ApplyChagneDetail::getApplyChangeId)
- .eq(ApplyChagneDetail::getType,Constants.ONE)
+ .ne(ApplyChagneDetail::getType,Constants.TWO)
.eq(ApplyChange::getApplyId,applyChange.getApplyId())
- .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId())
+ .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId())
.notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.CLOSE.getKey()
- ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey()
+ ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey()
)
- )>Constants.ZERO){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚");
- };
-
+ .orderByDesc(ApplyChagneDetail::getId)
+ .last(" limit 1 ")
+ );
+ if(Objects.nonNull(lastApplyChagneDetail)){
+ if(Constants.equalsInteger(lastApplyChagneDetail.getType(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚");
+ }
+ }
//鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
.lambda()
@@ -2280,18 +2301,18 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
}
String fileUrl = null;
-// if(Constants.equalsObject(model.getType(), Constants.ONE)){
-// fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","鎶曚繚浼佷笟");
-// }else{
-// fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","鎶曚繚浼佷笟");
-// }
+ 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);
+ notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString());
+ String applyNo = signService.applySignLocalFileByParam(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鎶曚繚浼佷笟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7));
//涓存椂浣跨敤
- fileUrl =
- "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241120/1c80f0d7-ab35-4355-b9fe-944464643115.pdf";
- String applyNo = signService.applySign(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl);
+// fileUrl =
+// "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241120/1c80f0d7-ab35-4355-b9fe-944464643115.pdf";
+// String applyNo = signService.applySign(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl);
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
@@ -2538,19 +2559,19 @@
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,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉");
-// }
+ 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());
//涓存椂浣跨敤
- fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";
- String applyNo = signService.applySignDoByParam(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7));
+// fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";
+// String applyNo = signService.applySignDoByParam(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7));
-// String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl);
+ String applyNo = signService.applySignLocalFileByParam(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7));
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
@@ -2656,16 +2677,16 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏁版嵁");
}
SaveUnionChangeDTO saveUnionChangeDTO = new SaveUnionChangeDTO();
- saveUnionChangeDTO.setApplyDate(update.getApplyStartTime());
+// saveUnionChangeDTO.setApplyDate(update.getApplyStartTime());
+ saveUnionChangeDTO.setApplyDate(model.getValidTime());
List<Integer> applyIds = new ArrayList<>();
applyIds.add(model.getId());
saveUnionChangeDTO.setApplyIds(applyIds);
saveUnionChangeDTO.setApplyChange(model);
saveUnionChangeDTO.setUnionApplyId(insuranceApply.getUnionApplyId());
saveUnionChangeDTO.setBusinessType(model.getType());
- if(Constants.equalsInteger(model.getType(),Constants.ONE)){
- saveUnionChangeDTO.setApplyDate(model.getApplyStartTime());
- }
+// if(Constants.equalsInteger(model.getType(),Constants.ONE)){
+// }
if(Constants.equalsInteger(user.getType(),Constants.TWO)){
saveUnionChangeDTO.setShopId(user.getCompanyId());
}else{
@@ -2676,8 +2697,15 @@
saveUnionChangeDTO.setShopId(companySolution.getShopId());
}
+// if(1==1){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY);
+// }
+
unionChangeService.merge(saveUnionChangeDTO);
}
+// if(1==1){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY);
+// }
return 1;
}
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 01050aa..e136e8b 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
@@ -1104,6 +1104,7 @@
+
private void startSendEmail(Multifile f, String companyName, String solutionsName, String solutionEmail) {
if(StringUtils.isBlank(solutionEmail) || f==null|| StringUtils.isBlank(f.getFileurl())){
return;
@@ -1116,6 +1117,25 @@
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 testSendEmail(){
+ SmsEmail email = new SmsEmail();
+ email.setTitle("娴嬭瘯閭欢");
+ email.setEmail("94314517@qq.com");
+ email.setContent("鏉ヨ嚜浼佷笟銆愭祴璇曚紒涓氥�戝叧浜庝繚闄╂柟妗堛�愭祴璇曟柟妗堛�戠殑娴嬭瘯閭欢");
+ File file = Constants.getFileByNetFile("https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20250116/600faf2f-5ba2-44e2-9a96-c99052dc013d.pdf","1111.pdf");
+ if(file!=null && file.isFile()){
+ Map<String,Object> files = new HashMap<>();
+ files.put("name","娴嬭瘯鏂囦欢");
files.put("file",file);
email.setFileList(new ArrayList<>());
email.getFileList().add(files);
@@ -2270,8 +2290,6 @@
}
-
-
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer updateData(InsuranceApply insuranceApply) {
@@ -3024,8 +3042,8 @@
.selectAs(Solutions::getType,InsuranceApply::getSolutionType)
.selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
.selectAs(Solutions::getHasDispatchUnit,InsuranceApply::getHasDispatchUnit)
- .selectAs(Solutions::getSignType,InsuranceApply::getSignType)
.selectAs(Company::getName,InsuranceApply::getCompanyName)
+ .selectAs(Solutions::getCorrectWarnTime,InsuranceApply::getCorrectWarnTime)
.select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad left join apply_change a on a.id = ad.APPLY_CHANGE_ID where t.id = a.APPLY_ID and a.status = 2 )",InsuranceApply::getChangeMoney)
.select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate")
.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
@@ -3036,16 +3054,20 @@
.leftJoin(Company.class,Company::getId,Solutions::getShopId)
.eq(InsuranceApply::getId,id)
.last("limit 1");
-
InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
if(Objects.isNull(insuranceApply)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
+ this.dealDataDetail(insuranceApply);
+ return insuranceApply;
+ }
+ public void dealDataDetail(InsuranceApply insuranceApply){
Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
if(Objects.isNull(solutions)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
}
+ insuranceApply.setCorrectWarnTime(solutions.getCorrectWarnTime());
if(solutions.getDataType().equals(Constants.ONE)){
Solutions newVersionSolution = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda().eq(Solutions::getBaseId,solutions.getBaseId()).eq(Solutions::getDataType,Constants.TWO).last("limit 1"));
if(Objects.isNull(newVersionSolution)){
@@ -3061,10 +3083,8 @@
initApplyStatus(insuranceApply);
//鏌ヨ闄勪欢鏁版嵁
initImgData(insuranceApply);
-
insuranceApply.setChangeMoney(Constants.getTwoPoint(insuranceApply.getChangeMoney()));
insuranceApply.setFee(Constants.getTwoPoint(insuranceApply.getFee()));
-
//鏌ヨ鎿嶄綔璁板綍
List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
new MPJLambdaWrapper<ApplyLog>()
@@ -3079,7 +3099,6 @@
.orderByAsc(ApplyLog::getCreateDate)
);
insuranceApply.setApplyLogList(applyLogList);
- return insuranceApply;
}
private void setServiceDays(InsuranceApply insuranceApply) {
@@ -3573,11 +3592,11 @@
if(solutions.getType().equals(Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炲鎵樹繚鏂规淇濆崟锛屾棤娉曡繘琛岃鎿嶄綔!");
}
- String fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";//ExcelExporter.build(InsuranceApply.class).exportApplyExcelToPdf(model,"浜哄憳鍚嶅崟");
+ String fileUrl = ExcelExporter.build(InsuranceApply.class).exportApplyExcelToPdf(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);
- String applyNo = signService.applySign(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),model.getSignKeyword(),company.getSignId(),notifyUrl);
+ String applyNo = signService.applySignLocalFileByParam(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鎶曚繚鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7));
+// String applyNo = signService.applySign(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),model.getSignKeyword(),company.getSignId(),notifyUrl);
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java
index 93f38be..791341b 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsBaseServiceImpl.java
@@ -22,6 +22,7 @@
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -442,4 +443,82 @@
QueryWrapper<SolutionsBase> wrapper = new QueryWrapper<>(solutionsBase);
return solutionsBaseMapper.selectCount(wrapper);
}
+
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public void createSolutionBase(Integer solutionId){
+ List<Solutions> solutionsList = solutionsMapper.selectList(new QueryWrapper<Solutions>().lambda()
+ .eq(Objects.nonNull(solutionId),Solutions::getId,solutionId)
+ .isNull(Solutions::getParentId).eq(Solutions::getDataType,Constants.ZERO).eq(Solutions::getIsdeleted,Constants.ZERO));
+ for (Solutions solutions: solutionsList) {
+ SolutionsBase solutionsBase = new SolutionsBase();
+ solutionsBase.setCreator(solutions.getCreator());
+ solutionsBase.setCreateDate(new Date());
+ solutionsBase.setIsdeleted(Constants.ZERO);
+ solutionsBase.setName(solutions.getName());
+ solutionsBase.setStatus(solutions.getStatus());
+ solutionsBase.setSortnum(Constants.ZERO);
+ solutionsBase.setInsuranceId(solutions.getInsuranceId());
+ solutionsBase.setValidType(solutions.getValidType());
+ solutionsBase.setMinAge(solutions.getMinAge());
+ solutionsBase.setMaxAge(solutions.getMaxAge());
+ solutionsBase.setSingleWorktype(solutions.getSingleWorktype());
+ solutionsBase.setSpecialInfo(solutions.getSpecialInfo());
+ solutionsBase.setSpecialAgreement(solutions.getSpecialAgreement());
+ solutionsBase.setOrtherInfo(solutions.getOrtherInfo());
+ solutionsBase.setDataType(Constants.ZERO);
+ solutionsBase.setValidTypeNum(solutions.getValidTypeNum());
+ solutionsBase.setShopId(solutions.getShopId());
+ solutionsBase.setAddValidDays(solutions.getAddValidDays());
+ solutionsBase.setDelValidDays(solutions.getDelValidDays());
+ solutionsBase.setCanAdd(solutions.getCanAdd());
+ solutionsBase.setCanReduce(solutions.getCanReduce());
+ solutionsBase.setCanChangeUnit(solutions.getCanChangeUnit());
+ solutionsBase.setDelOnlyReplace(solutions.getDelOnlyReplace());
+ solutionsBase.setCompanyName(solutions.getCompanyName());
+ solutionsBase.setCompanyName(solutions.getCompanyName());
+ solutionsBase.setCorrectWarnTime("18:30");
+ solutionsBaseMapper.insert(solutionsBase);
+
+
+ //濡傛灉鏈夊伐绉嶏紝鍒欎骇鐢熶竴涓柊鐨勬湁鏁堝巻鍙茬増鏈� ~
+ SolutionsBase newModel = new SolutionsBase();
+ BeanUtils.copyProperties(solutionsBase,newModel);
+ newModel.setId(null);
+ newModel.setBaseId(solutionsBase.getId());
+ newModel.setDataType(Constants.TWO);
+ solutionsBaseMapper.insert(newModel);
+
+ List<SolutionWorktype> solutionWorktypeList = solutionWorktypeJoinMapper.selectList(new QueryWrapper<SolutionWorktype>().lambda().eq(SolutionWorktype::getType,Constants.ZERO).eq(SolutionWorktype::getSolutionId,solutions.getId()));
+
+ Integer num = 1;
+ for(SolutionWorktype solutionWorktype : solutionWorktypeList) {
+ //鍩虹鐗堟湰
+ SolutionWorktype w = new SolutionWorktype();
+ w.setSolutionId(solutionsBase.getId());
+ w.setIsdeleted(Constants.ZERO);
+ w.setCreator(newModel.getCreator());
+ w.setCreateDate(solutionsBase.getCreateDate());
+ w.setStatus(Constants.ZERO);
+ w.setSortnum(num++);
+ w.setWorktypeId(solutionWorktype.getWorktypeId());
+ w.setType(Constants.ONE);
+ solutionWorktypeJoinMapper.insert(w);
+
+ //鍘嗗彶鐗堟湰鐨勫伐绉嶄俊鎭�
+ SolutionWorktype newType = new SolutionWorktype();
+ BeanUtils.copyProperties(w, newType);
+ newType.setSolutionId(newModel.getId());
+ solutionWorktypeJoinMapper.insert(newType);
+ }
+
+ solutionsMapper.update(null,new UpdateWrapper<Solutions>().lambda().set(Solutions::getParentId,solutionsBase.getId())
+ .and(i->i.eq(Solutions::getId,solutions.getId()).or().eq(Solutions::getBaseId,solutions.getId()))
+ );
+ }
+ }
+
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
index 3ecda64..2acfe51 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -221,7 +221,22 @@
@Override
public void deleteById(Integer id) {
- solutionsMapper.deleteById(id);
+ //鏌ヨ鏄惁宸插瓨鍦ㄤ娇鐢ㄤ腑鐨勪繚鍗�
+ if(insuranceApplyMapper.selectCount(new QueryWrapper<InsuranceApply>().lambda()
+ .apply(" solution_id in ( select id from solutions where BASE_ID = "+id+" or id = "+id+" )" )
+ .notIn(InsuranceApply::getStatus
+ ,Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()
+ ,Constants.InsuranceApplyStatus.CLOSE.getKey()
+ ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey()
+ )
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪宸叉姇淇濈殑淇濆崟鏁版嵁,鏃犳硶杩涜鍒犻櫎");
+ };
+ solutionsMapper.update(null,new UpdateWrapper<Solutions>()
+ .lambda()
+ .set(Solutions::getIsdeleted,Constants.ONE)
+ .and(i->i.eq(Solutions::getId,id).or().eq(Solutions::getBaseId,id))
+ );
}
@Override
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
index 161d508..154dd04 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -976,8 +976,6 @@
applyDetail.setEndTime(unionApplyBXDDTO.getEndTime());
-
-
MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId());
memberInsurance.setBdCode(unionApplyBXDDTO.getCode());
memberInsurance.setRelationType(Constants.ZERO);
@@ -1068,6 +1066,7 @@
,unionApply.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionApply));
applyLogMapper.insert(log);
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index 9c2b9a9..deac02d 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -263,6 +263,9 @@
if (pageWrap.getModel().getCreator() != null) {
queryWrapper.eq(UnionChange::getCreator, pageWrap.getModel().getCreator());
}
+ if (pageWrap.getModel().getSolutionsName() != null) {
+ queryWrapper.eq(Solutions::getName, pageWrap.getModel().getSolutionsName());
+ }
if (pageWrap.getModel().getQueryStartTime() != null) {
queryWrapper.ge(UnionChange::getCreateDate, pageWrap.getModel().getQueryStartTime() +" 00:00:00" );
@@ -351,10 +354,10 @@
if(!(Constants.equalsInteger(user.getType(),Constants.ZERO) || Constants.equalsInteger(user.getType(),Constants.TWO))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴峰钩鍙扮敤鎴凤紝鏃犳硶杩涜璇ユ搷浣�");
}
- if(saveUnionChangeDTO.getBusinessType().equals(Constants.ZERO)||Objects.isNull(saveUnionChangeDTO.getApplyDate())){
- //2024骞�5鏈�9鏃�14:59:24 淇敼 榛樿鍏ュ綋鍓嶅ぉ
- saveUnionChangeDTO.setApplyDate(DateUtil.getMontageDate(new Date(),1));
- }
+// if(saveUnionChangeDTO.getBusinessType().equals(Constants.ZERO)||Objects.isNull(saveUnionChangeDTO.getApplyDate())){
+// //2024骞�5鏈�9鏃�14:59:24 淇敼 榛樿鍏ュ綋鍓嶅ぉ
+// saveUnionChangeDTO.setApplyDate(DateUtil.getMontageDate(new Date(),1));
+// }
if(Objects.isNull(saveUnionChangeDTO)
|| Objects.isNull(saveUnionChangeDTO.getApplyIds())
|| Objects.isNull(saveUnionChangeDTO.getApplyDate())
@@ -626,6 +629,7 @@
String companyName = "";
String creditCode = "";
String email = "";
+ String signId = "";
if(Constants.equalsInteger(user.getType(),Constants.TWO)){
if(!unionChange.getShopId().equals(user.getCompanyId())){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
@@ -637,6 +641,7 @@
companyName = company.getName();
creditCode = company.getCode();
email = company.getEmail();
+ signId = company.getSignId();
}else{
companyName = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PLAT_COMPANY_NAME).getCode();
creditCode = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PLAT_CREDIT_CODE).getCode();
@@ -655,17 +660,17 @@
String fileUrl = null;
-// if(Constants.equalsObject(unionChange.getType(), Constants.ONE)){
-// fileUrl = ExcelExporter.build(UnionChange.class).exportUnionChangeOtherUnitExcelToPdf(unionChange,"鎹㈠巶鐢宠琛�");
-// }else{
-// fileUrl = ExcelExporter.build(UnionChange.class).exportUnionChangeExcelToPdf(unionChange,"鍔犲噺淇濈敵璇疯〃");
-// }
+ if(Constants.equalsObject(unionChange.getType(), Constants.ONE)){
+ fileUrl = ExcelExporter.build(UnionChange.class).exportUnionChangeOtherUnitExcelToPdf(unionChange,"鎹㈠巶鐢宠琛�");
+ }else{
+ fileUrl = ExcelExporter.build(UnionChange.class).exportUnionChangeExcelToPdf(unionChange,"鍔犲噺淇濈敵璇疯〃");
+ }
String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",unionChange.getId().toString());
-// String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鍚堝苟鍗曪紙鍔犲噺淇�/鎹㈠巶锛夌敵璇风缃�",company.getSignId(),notifyUrl);
+ String applyNo = signService.applySignLocalFileByParam(companyName,companyName,fileUrl,creditCode,email,"鍚堝苟鍗曪紙鍔犲噺淇�/鎹㈠巶锛夌敵璇风缃�",null,notifyUrl,new Float(0.7));
//涓存椂浣跨敤
- fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";
- String applyNo = signService.applySignWidthQifengSet(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl,new Float(0.7));
+// fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";
+// String applyNo = signService.applySignWidthQifengSet(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl,new Float(0.7));
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
@@ -1064,17 +1069,19 @@
BigDecimal reduceFee = BigDecimal.ZERO;
//濡傛灉鎵瑰崟鏃ユ湡 澶т簬 鍛樺伐淇濆崟鐨勫紑濮嬫棩鏈�
- if(applyChange.getDelValidTime().getTime() > oldModel.getStartTime().getTime()){
- if(reduceDate.getTime()>oldModel.getStartTime().getTime()){
- reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
- }else{
- reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
- }
- //鍑忎繚璁板綍鎿嶄綔鍚庣殑鎬昏垂鐢�
- reduceFee = Constants.reduceFee(
- solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
+ if(reduceDate.getTime() > oldModel.getStartTime().getTime()){
+ reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
+// if(reduceDate.getTime()<oldModel.getStartTime().getTime()){
+// reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
+// }else{
+// reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
+// }
+ }else{
+ reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
}
-
+ //鍑忎繚璁板綍鎿嶄綔鍚庣殑鎬昏垂鐢�
+ reduceFee = Constants.reduceFee(
+ solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
BigDecimal pullFee = BigDecimal.ZERO;
if (oldModel.getStartTime().getTime() < System.currentTimeMillis()) {
diff --git a/server/service/src/main/java/com/doumee/service/business/third/SignService.java b/server/service/src/main/java/com/doumee/service/business/third/SignService.java
index 16b5bcb..81e40c6 100644
--- a/server/service/src/main/java/com/doumee/service/business/third/SignService.java
+++ b/server/service/src/main/java/com/doumee/service/business/third/SignService.java
@@ -379,6 +379,57 @@
}
+ /**
+ * 鍙戣捣绛剧害
+ * @param name
+ * @param file
+ * @param creditCoe
+ * @param email
+ * @param postionJson
+ */
+ public String applySignLocalFileByParam(String name,String fullname,String file,String creditCoe,String email,String postionJson,String singId,String notifyUrl,Float qifengSet){
+ try { initParams();
+ String url=SERVICE_URL+"/v2/sign/applySign";
+ Map<String, Object> params=bodyParams;
+ params.put("contractName",name); //鍚堝悓鍚嶇О
+ params.put("serverCa",1); //浣跨敤浜戣瘉涔�
+ params.put("file",new File(file));
+ params.put("dealType",5); //鎸囧畾鍚堝悓鏂囦欢绛剧讲鏂瑰紡 5 涓洪儴鍒嗚嚜鍔ㄧ
+ params.put("positionType",0); //鎸囧畾閫氳繃琛ㄥ崟鍩熸柟寮忚缃瀛椾綅缃�
+ params.put("fileType",0);
+ params.put("needQifengSign",1);
+ params.put("notifyUrl",notifyUrl);
+ JSONArray signatories=new JSONArray();
+ SignatoryReq sReq=new SignatoryReq();
+ sReq.setFullName(fullname); //浼佷笟濮撳悕
+ sReq.setIdentityType(11); //璇佷欢绫诲瀷
+ sReq.setIdentityCard(creditCoe);//钀ヤ笟鎵х収鍙�
+ sReq.setEmail(email); //鍦ㄥ悰瀛愮娉ㄥ唽璁よ瘉鐨勯偖绠�
+// sReq.setChapteJson("[{\"page\":0,\"chaptes\":[{\"offsetX\":0.12,\"offsetY\":0.23}]},{\"page\":1,\"chaptes\":[{\"offsetX\":0.45,\"offsetY\":0.67}]}]");
+// sReq.setChapteJson(postionJson);
+// sReq.setSearchKey(postionJson);
+ sReq.setSignId(singId);
+ sReq.setQiFengOffset(qifengSet);
+ sReq.setSearchConvertExtend("{\"fixX\":-80,\"fixY\":-80}");
+ sReq.setNoNeedVerify(1);
+ signatories.add(sReq);
+ params.put("signatories",signatories.toJSONString());
+ System.out.println(signatories.toJSONString());
+ String str= HttpClientUtils.init().getPost(url,null,params,true);
+ System.out.println(str);
+ saveInterfaceLog(url,"銆愮數瀛愮銆戝彂璧风绾�",JSONObject.toJSONString(params),str);
+ JSONObject json = JSONObject.parseObject(str);
+ if(json!=null && json.getBoolean("success")){
+ return json.getString("data");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+
+ }
+ return null;
+
+ }
+
/**
* 鑾峰彇绛剧讲閾炬帴鍦板潃锛堢缃查〉闈㈠湴鍧�锛�
--
Gitblit v1.9.3