From 59105ca592172cb2d91b0f12b8b3c9fa8c079334 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 十月 2024 09:34:28 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 89 +++++++++++++++++++++++++++++---------------
1 files changed, 59 insertions(+), 30 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 8963283..98e1346 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -32,6 +32,7 @@
import lombok.extern.java.Log;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -311,6 +312,9 @@
" and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " +
" and ad.member_id = t.id ") ;
if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())){
+ if(Objects.isNull(memberQueryDTO.getValidTime())){
+ memberQueryDTO.setValidTime(new Date());
+ }
lambdaWrapper = new MPJLambdaWrapper<Member>()
.select(Member::getId,Member::getName,Member::getIdcardNo)
.selectAs(Worktype::getId,Member::getWorktypeId)
@@ -333,29 +337,36 @@
.eq(InsuranceApply::getId,memberQueryDTO.getInsuranceApplyId())
.and(StringUtils.isNotBlank(memberQueryDTO.getName()),i->i.like(Member::getName,memberQueryDTO.getName())
.or().like(Member::getIdcardNo,memberQueryDTO.getName()))
- .le(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getStartTime,memberQueryDTO.getValidTime())
+// .le(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getStartTime,memberQueryDTO.getValidTime())
.ge(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getEndTime,memberQueryDTO.getValidTime())
.in(CollectionUtils.isNotEmpty(memberQueryDTO.getSubtractMemberIds()),Member::getId,memberQueryDTO.getSubtractMemberIds())
.exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&!Objects.isNull(memberQueryDTO.getValidTime()),
" select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+"" +
- " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " +
+ " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"'" +
+// " and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"'" +
+ " and ad.isdeleted = 0 " +
" and ad.member_id = t.id ");
}
List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,lambdaWrapper);
- if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&Objects.isNull(memberQueryDTO.getValidTime())){
+ if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&Objects.nonNull(memberQueryDTO.getValidTime())){
if(CollectionUtils.isNotEmpty(memberList)){
Solutions solutions = solutionsMapper.selectById(memberList.get(Constants.ZERO).getSolutionId());
- Date reduceEndTime = DateUtil.getMontageDate(
- DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3);
- memberList = memberList.stream().filter(member->member.getDetailStartTime().getTime()<=reduceEndTime.getTime()
- &&member.getDetailEndTime().getTime()>=reduceEndTime.getTime()).collect(Collectors.toList());
+// Date reduceEndTime = DateUtil.getMontageDate(
+// DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3);
+// Date reduceEndTime = DateUtil.getMontageDate(new Date(),3);
for (Member member:memberList) {
- //鍑忎繚涓氬姟 浣跨敤 閫夋嫨浜哄憳 鏍规嵁鏃ユ湡瀹炴椂鏌ヨ
- member.setFee(
- Constants.reduceFee(solutions,
- Objects.isNull(member.getDetailServerCost())?
- solutions.getPrice():solutions.getPrice().add(member.getDetailServerCost()),member.getStartTime(),member.getEndTime(),member.getDetailStartTime(),
- reduceEndTime).subtract(member.getFee()));
+ //濡傛灉褰撳墠鏃ユ湡 灏忎簬 浜哄憳淇濆崟鏄庣粏璁板綍鐨勫紑濮嬫椂闂� 鍒欎娇鐢ㄥ紑濮嬫棩鏈� 寮�濮嬫棩鏈� = 缁撴潫鏃ユ湡 涓� 璐圭敤鍏ㄩ儴閫�鍥�
+ if(System.currentTimeMillis()<=member.getStartTime().getTime()){
+ member.setFee(solutions.getPrice().multiply(new BigDecimal(-1)));
+ }else{
+ Date reduceEndTime = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3);
+ member.setFee(
+ Constants.reduceFee(solutions,
+ Objects.isNull(member.getDetailServerCost())?
+ solutions.getPrice():solutions.getPrice().add(member.getDetailServerCost()),member.getStartTime(),member.getEndTime(),member.getDetailStartTime(),
+ reduceEndTime).subtract(member.getFee()));
+ }
}
}
@@ -398,19 +409,19 @@
if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO ) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "淇濆崟宸茶繃淇濓紝涓嶆敮鎸佽鎿嶄綔");
}
- if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO ) {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "淇濆崟宸茶繃淇濓紝涓嶆敮鎸佽鎿嶄綔");
- }
-
Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
if(Objects.isNull(solutions)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濋櫓鏂规");
}
+// Date reduceEndTime = DateUtil.getMontageDate(
+// DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3);
+
+// Date reduceEndTime = DateUtil.getMontageDate(new Date(),3);
int index = Constants.TWO;
Map<String,String> idCardMap = new HashMap<>();
for(MemberReduceImport model : dataList){
//鏍¢獙鍙傛暟鏄惁鍚堟硶
- validReduceImportParam(model,idCardMap,dataList,index);
+ validReduceImportParam(model,idCardMap,index);
index += 1;
}
index = Constants.TWO;
@@ -419,8 +430,8 @@
.selectAll(ApplyDetail.class)
.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName)
.selectAs(DispatchUnit::getName,ApplyDetail::getDuName)
- .selectAs(InsuranceApply::getStartTime,ApplyDetail::getStartTime)
- .selectAs(InsuranceApply::getFinalEndTime,ApplyDetail::getEndTime)
+// .selectAs(InsuranceApply::getStartTime,ApplyDetail::getStartTime)
+// .selectAs(InsuranceApply::getEndTime,ApplyDetail::getEndTime)
.selectAs(InsuranceApply::getServerCost,ApplyDetail::getDetailServerCost)
.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId)
.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId)
@@ -428,26 +439,42 @@
.eq(ApplyDetail::getApplyId,insuranceApply.getId())
.eq(ApplyDetail::getApplyId,insuranceApply.getId())
.eq(ApplyDetail::getIdcardNo,model.getIdCard())
- .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(new Date(),1))
+ /* .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(new Date(),1))*/
.ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(new Date(),3)));
if(detail == null){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍛樺伐銆�" + model.getName()+model.getIdCard() + "銆戦潪鍦ㄤ繚浜哄憳锛屽娉曡繘琛岃鎿嶄綔");
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍛樺伐銆�" + model.getName()+model.getIdCard() + "銆戦潪鍦ㄤ繚浜哄憳锛屾棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(!StringUtils.equals(model.getName(), detail.getMemberName())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍛樺伐銆�" +model.getName()+ model.getIdCard() + "銆戜笌鍏剁櫥璁板湪淇濊褰曞鍚嶄笉涓�鑷达紝璇锋牳瀹炲~鍐欐纭啀鎿嶄綔");
+ }
+ if(!Constants.equalsInteger(Constants.ZERO, detail.getChangeStatus())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍛樺伐銆�" +model.getName()+ model.getIdCard() + "銆戝凡杩涜杩囧噺淇濈敵璇凤紝涓嶈兘鍐嶆杩涜璇ユ搷浣�");
}
model.setDuId(detail.getDuId());
model.setDuName(detail.getDuName());
model.setWorktypeId(detail.getWorktypeId());
+ model.setMemberId(detail.getMemberId());
model.setWorkTypeName(detail.getWorkTypeName());
- model.setFee(
- Constants.reduceFee(solutions,
- Objects.isNull(detail.getDetailServerCost())?
- solutions.getPrice():solutions.getPrice().add(detail.getDetailServerCost()),detail.getParentStartTime(),detail.getParentEndTime(),detail.getStartTime(),
- detail.getEndTime()).subtract(detail.getFee()));
+ //濡傛灉褰撳墠鏃ユ湡 灏忎簬 浜哄憳淇濆崟鏄庣粏璁板綍鐨勫紑濮嬫椂闂� 鍒欎娇鐢ㄥ紑濮嬫棩鏈� 寮�濮嬫棩鏈� = 缁撴潫鏃ユ湡 涓� 璐圭敤鍏ㄩ儴閫�鍥�
+ if(System.currentTimeMillis()<=detail.getStartTime().getTime()){
+ model.setFee(solutions.getPrice().multiply(new BigDecimal(-1)));
+ }else{
+ Date reduceEndTime = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3);
+ model.setFee(
+ Constants.reduceFee(solutions,
+ Objects.isNull(detail.getDetailServerCost())?solutions.getPrice():solutions.getPrice().add(detail.getDetailServerCost()),
+ insuranceApply.getStartTime(),
+ insuranceApply.getEndTime(),
+ detail.getStartTime(),
+ reduceEndTime).subtract(detail.getFee()));
+ }
index += 1;
}
return dataList;
}
- private void validReduceImportParam(MemberReduceImport model, Map<String, String> idCardMap, List<MemberReduceImport> dataList, int index) {
+ private void validReduceImportParam(MemberReduceImport model, Map<String, String> idCardMap, int index) {
if(StringUtils.isBlank(model.getName())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹鍚嶄笉鑳戒负绌猴紒");
}
@@ -495,7 +522,8 @@
List<DispatchUnit> dispatchUnitList = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class,
new MPJLambdaWrapper<DispatchUnit>()
.selectAll(DispatchUnit.class)
- .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+solutionId+" limit 1) as du_solution_id" )
+// .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+solutionId+" limit 1) as du_solution_id" )
+ .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+solutionId+" order by b.CHECK_DATE desc limit 1) as du_solution_id" )
.eq(DispatchUnit::getIsdeleted,Constants.ZERO)
.eq(DispatchUnit::getStatus,Constants.ZERO)
.eq(DispatchUnit::getDataType,Constants.TWO)
@@ -521,6 +549,7 @@
//妫�鏌ユ淳閬e崟浣嶅拰宸ョ鏈夋晥鎬�
dealDuAndWorktype(model,index,dispatchUnitList);
index += 1;
+ model.setSex(Constants.getSexByIdCard(model.getIdCard()));
}
return dataList;
}
@@ -541,7 +570,7 @@
DispatchUnit dispatchUnit = dispatchUnitOptional.get();
model.setDuId(dispatchUnit.getId());
if(StringUtils.isNotBlank(model.getWorkTypeName())&&CollectionUtils.isNotEmpty(dispatchUnit.getWorktypeList())){
- Optional<Worktype> worktypeOptional= dispatchUnit.getWorktypeList().stream().filter(m->m.getName().equals(model.getWorkTypeName())).findFirst();
+ Optional<Worktype> worktypeOptional= dispatchUnit.getWorktypeList().stream().filter(m->m.getName().replaceAll(" ","").equals(model.getWorkTypeName().replaceAll(" ",""))).findFirst();
if(worktypeOptional.isPresent()){
Worktype worktype = worktypeOptional.get();
model.setWorktypeId(worktype.getId());
--
Gitblit v1.9.3