From 8d41256df46a71c29bbe9cf8b25530b7691311c0 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 01 四月 2024 17:04:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 87 insertions(+), 7 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 0902a7f..20e2309 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
@@ -42,6 +42,7 @@
import java.io.File;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@@ -152,6 +153,39 @@
applyLogMapper.insert(log);
return 1;
+ }
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public Integer closeWtbForShop(InsuranceApply insuranceApply) {
+ if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+
+ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //鍙湁瀹℃牳閫氳繃鐨勭姸鎬佸彲鍏抽棴
+ if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ InsuranceApply update = new InsuranceApply();
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setStatus(Constants.InsuranceApplyStatus.WTB_CLOSED.getKey());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo(insuranceApply.getCheckInfo());
+ update.setCheckUserId(user.getId());
+ update.setId(model.getId());
+ insuranceApplyMapper.updateById(update);
+
+ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SHOP_CLOSE_WTB_APPLY;
+ String info =applyLogType.getInfo();
+ info = info.replace("${param}", update.getCheckInfo());
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ applyLogMapper.insert(log);
+ return 1;
}
@Override
@@ -743,6 +777,13 @@
// applyLogMapper.insert(log);
//
// startSendEmail(f, model.getCompanyName(),model.getSolutionsName(),model.getSolutionEmail());
+
+
+ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.IA_HBD_SIGNATURE_TBD;
+ ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
+ ,model.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(model));
+ applyLogMapper.insert(log);
+
return f;
}
@@ -1261,15 +1302,19 @@
if(Objects.isNull(solutions)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
}
- if(solutions.getType().equals(Constants.ZERO)){
+ if(Constants.equalsObject(solutions.getType(),Constants.ZERO)){
if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
}else{
- if(!user.getType().equals(Constants.TWO)){
+ if(!Constants.equalsObject(user.getType(),Constants.TWO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风鏃犳硶杩涜璇ユ搷浣�");
}
- if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_RETURN.getKey())){
+ //濮旀墭淇濆緟绛剧讲銆佸緟瀹℃牳鍙繘琛岄��鍥炴搷浣�
+ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey())
+ )){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
}
@@ -1286,9 +1331,14 @@
//濡傛灉鏄笉閫氳繃
applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ;
update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
+ if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
+ update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey());
+ }
}else{
applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
- update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
+ if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
+ update.setStatus(Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey());
+ }
}
insuranceApplyMapper.updateById(update);
@@ -1380,9 +1430,7 @@
applyLogMapper.insert(log);
-
//鍙戦�佸緟鍔炰笟鍔�
-
//瀛樺偍寰呭姙淇℃伅
Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
//鍒犻櫎鍏朵粬寰呭姙
@@ -1582,6 +1630,14 @@
applyDetail.setSex(member.getSex());
applyDetail.setFee(countCyclePriceVO.getCyclePrice());
applyDetail.setCurrentFee(BigDecimal.ZERO);
+ //鑾峰彇璁$畻鎬诲ぉ鏁�
+ Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0);
+ if(Constants.equalsInteger(maxDays,0)||Objects.isNull(applyDetail.getFee())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚淇℃伅寮傚父锛氭�诲ぉ鏁颁笌鎬婚噾棰濋敊璇�");
+ }
+ applyDetail.setPrice(
+ applyDetail.getFee().divide(new BigDecimal(maxDays),2,RoundingMode.HALF_UP)
+ );
//楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
@@ -1883,10 +1939,10 @@
.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit)
.selectAs(Solutions::getType,InsuranceApply::getSolutionType)
.selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
- .selectAs(Solutions::getName,InsuranceApply::getShopName)
.selectAs(Company::getName,InsuranceApply::getCompanyName)
.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")
+ .select(" t3.name as shopName")
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.leftJoin(Company.class,Company::getId,Solutions::getShopId)
@@ -2119,6 +2175,30 @@
/**
+ * 浼佷笟淇濋殰涓汉鏁�
+ * @return
+ */
+ @Override
+ public Integer guaranteeNum() {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+ }
+ MPJLambdaWrapper<ApplyDetail> lambdaWrapper = new MPJLambdaWrapper<ApplyDetail>();
+ lambdaWrapper.selectAll(Member.class)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+ .and(i->i.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()).or().eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_DONE.getKey()))
+ .eq(InsuranceApply::getCompanyId,loginUserInfo.getCompanyId())
+ .apply(" now() betwwen t.START_TIME and t.END_TIME ");
+
+ Integer count = applyDetailJoinMapper.selectJoinCount(lambdaWrapper);
+ return count;
+ }
+
+
+
+
+ /**
* 鏇存柊淇濆崟瀹為檯閲戦
*/
@Override
--
Gitblit v1.9.3