server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -13,6 +13,7 @@ import com.doumee.dao.business.model.InsuranceApply; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import com.doumee.service.business.InsuranceApplyOnService; import com.doumee.service.business.InsuranceApplyService; import com.doumee.service.business.impl.UnionApplyServiceImpl; import io.swagger.annotations.Api; @@ -36,6 +37,8 @@ @Autowired private InsuranceApplyService insuranceApplyService; @Autowired private InsuranceApplyOnService insuranceApplyOnService; @Autowired private UnionApplyServiceImpl unionApplyServiceImpl; @@ -66,13 +69,13 @@ @PostMapping("/back") @RequiresPermissions("business:insuranceapply:back") public ApiResponse back(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.back(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.back(insuranceApply)); } @ApiOperation("å¹³å°ä¸ä¼ æä¿å") @PostMapping("/uploadToubaodan") @RequiresPermissions("business:insuranceapply:uploadToubaodan") public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.uploadToubaodan(insuranceApply)); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @@ -87,13 +90,13 @@ @PostMapping("/uploadBaoxiandan") @RequiresPermissions("business:insuranceapply:uploadBaoxiandan") public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.uploadBaoxiandan(insuranceApply)); } @ApiOperation("å¹³å°å¤çéåç³è¯·") @PostMapping("/dealBackApply") @RequiresPermissions("business:insuranceapply:dealBackApply") public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.dealBackApply(insuranceApply)); } @ApiOperation("å¹³å°ä¿®æ¹ä¿é©å") @PostMapping("/editBaoxiandan") server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -4,8 +4,10 @@ import cn.hutool.core.util.IdcardUtil; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.dao.business.dto.ApplyPowerDTO; import com.doumee.dao.business.dto.CountCyclePriceDTO; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.ChangeDealTypeVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import io.swagger.models.auth.In; @@ -2872,5 +2874,85 @@ } public static void initApplyStatus(InsuranceApply apply){ apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus())); if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){ //妿已宿 if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){ apply.setStatusCollect(Constants.THREE);//å·²è¿æ } } Constants.setServiceDays(apply); apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect())); if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){ if(apply.getStartTime().getTime()>System.currentTimeMillis()){ apply.setStatusInfo("å¾ çæ"); }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){ apply.setStatusInfo("å·²è¿æ"); }else{ apply.setStatusInfo("ä¿éä¸"); } } } public static void setServiceDays(InsuranceApply insuranceApply) { //设置å¨ä¿æ¶é¿ï¼å¤©æ°ï¼ insuranceApply.setServiceDays(Constants.ZERO); if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){ //妿å½åæ¶é´å¤§äºç»ææ¥æ å使ç¨ç»ææ¥æå¯¹æ¯å¼å§æ¥æ if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){ insuranceApply.setServiceDays( DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1 ); }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){ //æªå¼å§ insuranceApply.setServiceDays(Constants.ZERO); }else{ insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1); } } } public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO, InsuranceApply insuranceApply, Solutions solutions){ if(Objects.isNull(applyPowerDTO) || Objects.isNull(applyPowerDTO.getApplyId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"åæ°é误"); } if(Objects.isNull(applyPowerDTO.getBeginDate())){ applyPowerDTO.setBeginDate(new Date()); } ApplyPowerVO applyPowerVO = new ApplyPowerVO(); //è·åæ¹æ¡ ç»ææ¶é´ Date endTime = insuranceApply.getEndTime(); //æ¥è¯¢å½åå»å ä¿çå¼å§æ¥æ yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00 Date addStartDate = DateUtil.getMontageDate( DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()), 1 ); applyPowerVO.setAddStartDate(addStartDate); //å ä¿çææ¥æå¤§äº ä¿åç»ææ¥æ åä¸å¯ä»¥è¿è¡å ä¿ if(addStartDate.getTime()>=endTime.getTime()){ applyPowerVO.setAddTrue(Constants.ONE); }else{ applyPowerVO.setAddTrue(Constants.ZERO); } //æ¥è¯¢å½åå»åä¿çå¼å§æ¥æ yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00 Date delStartDate = DateUtil.getMontageDate( DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()), 1 ); applyPowerVO.setDelStartDate(delStartDate); //å ä¿çææ¥æå¤§äº ä¿åç»ææ¥æ åä¸å¯ä»¥è¿è¡åä¿ if(delStartDate.getTime()>=endTime.getTime()){ applyPowerVO.setDelTrue(Constants.ONE); }else{ applyPowerVO.setDelTrue(Constants.ZERO); } return applyPowerVO; } } server/service/src/main/java/com/doumee/service/business/InsuranceApplyOnService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.dto.*; import com.doumee.dao.business.model.InsuranceApply; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import com.doumee.service.business.impl.UnionApplyServiceImpl; import com.jzq.common.bean.sign.NotifyDataReq; import java.util.List; /** * æä¿ç³è¯·ä¿¡æ¯è¡¨Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/01/16 10:03 */ public interface InsuranceApplyOnService { Integer back(InsuranceApply insuranceApply); Integer closeWtbForShop(InsuranceApply insuranceApply); Integer uploadToubaodan(InsuranceApply insuranceApply); Integer uploadBaoxiandan(InsuranceApply insuranceApply); Integer dealBackApply(InsuranceApply insuranceApply); } server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -29,7 +29,7 @@ */ Integer create(InsuranceApply insuranceApply); Integer updateData(InsuranceApply insuranceApply); void checkMemberSolutionOld(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId); //void checkMemberSolutionOld(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId); /** * 主é®å é¤ @@ -110,13 +110,7 @@ void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO); Integer back(InsuranceApply insuranceApply); Integer closeWtbForShop(InsuranceApply insuranceApply); Integer uploadToubaodan(InsuranceApply insuranceApply); Integer uploadBaoxiandan(InsuranceApply insuranceApply); Integer dealBackApply(InsuranceApply insuranceApply); Integer check(InsuranceApply insuranceApply, UnionApplyServiceImpl unionApplyServiceImpl); server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1435,6 +1435,15 @@ .eq(Member::getIsdeleted,Constants.ZERO) .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList())) ); ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda() .eq(ApplyDetail::getApplyId,applyChange.getApplyId()) .isNotNull(ApplyDetail::getPrice) .last("limit 1 ") ); if(Objects.isNull(applyDetail)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "ä¿å䏿 æç»æ°æ®"); } List<Member> updMemberList = new ArrayList<>(); //æ¥è¯¢æ¬æ¬¡å ä¿ææäººåçåå²ä¿åè®°å½ List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() @@ -1458,6 +1467,7 @@ .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)); List<ApplyChagneDetail> applyChagneDetailList = new ArrayList<>(); for (int i = 0; i < addDetailList.size(); i++) { ApplyChagneDetail applyChagneDetail = addDetailList.get(i); if ( @@ -1503,9 +1513,9 @@ member.setWorktypeId(applyChagneDetail.getWorktypeId()); member.setStartTime(applyChagneDetail.getStartTime()); member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); // memberMapper.updateById(member); updMemberList.add(member); applyChagneDetail.setMemberId(member.getId()); if(applyChangeDetailAllList.stream().filter( j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId()) ).collect(Collectors.toList()).size()>Constants.ZERO){ @@ -1516,36 +1526,24 @@ List<ApplyDetail> memberApplyDetailList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(applyDetailAllList)){ memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList()); } if(CollectionUtils.isEmpty(memberApplyDetailList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "ä¿å䏿ªå卿ç»è®°å½"); } if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å½åä¿åä¸ï¼å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãå卿¥æå²çªçæ°æ®"); }; if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å½åä¿åä¸ï¼å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãå卿¥æå²çªçæ°æ®"); }; if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= System.currentTimeMillis() && j.getEndTime().getTime() >= System.currentTimeMillis() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãåå¨ä¿éä¸çä¿åä¿¡æ¯ï¼æ æ³è¿è¡å ä¿"); }; if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= System.currentTimeMillis() && j.getEndTime().getTime() >= System.currentTimeMillis() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãåå¨ä¿éä¸çä¿åä¿¡æ¯ï¼æ æ³è¿è¡å ä¿"); }; } List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream() .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(optApplyDetailList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "ä¿å䏿ªå卿ç»è®°å½"); } ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO); applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); @@ -1578,18 +1576,6 @@ } }; //æ¥è¯¢åå·¥æ¯å¨ä¸»åä¸ æ¯å¦åå¨çæä¸çæ°æ® if(!Objects.isNull(applyChagneDetail.getMemberId())){ if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) .le(ApplyDetail::getStartTime, "now()") .ge(ApplyDetail::getEndTime, "now()") ) > Constants.ZERO) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãåå¨ä¿éä¸çä¿åä¿¡æ¯ï¼æ æ³è¿è¡å ä¿"); } } //éªè¯æ´¾é£åä½ä¿¡æ¯ ä¸å·¥ç§ä¿¡æ¯ æ¯å¦åå¨ if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){ if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { @@ -1608,7 +1594,24 @@ }else{ applyChagneDetail.setFee(detailFee); } applyChagneDetailJoinMapper.insert(applyChagneDetail); applyChagneDetail.setId(null); applyChagneDetailList.add(applyChagneDetail); } if(CollectionUtils.isNotEmpty(applyChagneDetailList)){ applyChagneDetailJoinMapper.insert(applyChagneDetailList); } if(CollectionUtils.isNotEmpty(updMemberList)){ Thread t1=new Thread(new Runnable() { @Override public void run() { try { memberMapper.insertOrUpdate(updMemberList); }catch (Exception e){ e.printStackTrace(); } } }); t1.start(); } } server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyOnServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,618 @@ package com.doumee.service.business.impl; import cn.hutool.core.util.IdcardUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.core.utils.aliyun.ALiYunUtil; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.*; import com.doumee.dao.business.join.*; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.InsuranceApplyOnService; import com.doumee.service.business.InsuranceApplyService; 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; import com.jzq.common.bean.sign.NotifyDataReq; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; /** * æä¿ç³è¯·ä¿¡æ¯è¡¨Serviceå®ç° * @author æ±è¹è¹ * @date 2024/01/16 10:03 */ @Service public class InsuranceApplyOnServiceImpl implements InsuranceApplyOnService { @Value("${debug_model}") private boolean debugModel; @Autowired private InsuranceApplyMapper insuranceApplyMapper; @Autowired private SmsEmailService smsEmailService; @Autowired private ApplyChangeJoinMapper applyChangeMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private InsuranceApplyJoinMapper insuranceApplyJoinMapper; @Autowired private CompanyMapper companyMapper; @Autowired private MemberInsuranceJoinMapper memberInsuranceJoinMapper; @Autowired private ApplyDetailMapper applyDetailMapper; @Autowired private ApplyDetailJoinMapper applyDetailJoinMapper; @Autowired private ApplyLogMapper applyLogMapper; @Autowired private SignService signService; @Autowired private MultifileMapper multifileMapper; @Autowired private ApplyLogJoinMapper applyLogJoinMapper; @Autowired private SolutionsMapper solutionsMapper; @Autowired private MemberMapper memberMapper; @Autowired private MemberJoinMapper memberJoinMapper; @Autowired private DuSolutionJoinMapper duSolutionJoinMapper; @Autowired private DuWorkTypeJoinMapper duWorkTypeJoinMapper; @Autowired private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper; @Autowired private NoticesMapper noticesMapper; @Autowired private UnionApplyJoinMapper unionApplyJoinMapper; @Autowired private UnionChangeJoinMapper unionChangeJoinMapper; @Autowired private CompanySolutionMapper companySolutionMapper; @Autowired private ContractJoinMapper contractJoinMapper; @Autowired private SystemUserMapper systemUserMapper; @Autowired private CompanyDepartmentMapper companyDepartmentMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer back(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); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()); }else{ if( !(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey()); } update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //å é¤å ¶ä»å¾ å noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN; 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 @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 @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer uploadToubaodan(InsuranceApply insuranceApply) { if(insuranceApply.getId() == null || insuranceApply.getToubaodanFile() == null ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getFileurl()) ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getName())){ 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.UPLOAD.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey()) .eq(Multifile::getObjId,update.getId()) .set(Multifile::getIsdeleted,Constants.ONE) .set(Multifile::getEditDate,update.getEditDate()) .set(Multifile::getEditor,update.getEditor()) ); insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO); insuranceApply.getToubaodanFile().setCreator(user.getId()); insuranceApply.getToubaodanFile().setObjId(update.getId()); insuranceApply.getToubaodanFile().setCreateDate(update.getEditDate()); insuranceApply.getToubaodanFile().setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey()); insuranceApply.getToubaodanFile().setType(Constants.TWO); multifileMapper.insert(insuranceApply.getToubaodanFile()); update.setToubaodanFile(insuranceApply.getToubaodanFile()); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE; String info =applyLogType.getInfo(); // info = info.replace("${param}", update.getCheckInfo()); ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); //å é¤å ¶ä»å¾ å Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.ONE); noticesMapper.insert(notices); return 1; } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer dealBackApply(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); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Constants.ApplyLogType applyLogType = null; String info = ""; Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //å¤çéåç³è¯·éç¥ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); InsuranceApply update = new InsuranceApply(); if(insuranceApply.getDealBackApply() ==1){ //妿æ¯é©³å,åªè½å¯é©³åå·²ç¾ç« ç¶æä¸çéåç³è¯·ç¶æè¿è¡æä½ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK; info = applyLogType.getInfo(); info = info.replace("${param}", insuranceApply.getCheckInfo()); if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); } }else{ //妿æ¯åæ,两ç§ç³è¯·éåç¶æé½å¯æä½ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK; update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()); //éç¥ä¼ä¸ å·²éå Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.nonNull(solutions)){ Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), insuranceApply.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); } } update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); return 1; } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer uploadBaoxiandan(InsuranceApply insuranceApply) { if(insuranceApply.getId() == null || insuranceApply.getCode() == null || insuranceApply.getStartTime() == null || insuranceApply.getBaoxiandanFile() == null ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getFileurl()) ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){ 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.SIGNATURE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·çæå¨ææ¶é´ä¸ç¬¦åè¦æ±ï¼è¯·ç¡®è®¤åä¿®æ¹éè¯~"); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } //计ç®å®é æªæ¢æ¶é´ Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime())); LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); update.setCode(insuranceApply.getCode()); update.setEndTime(actEndTime); update.setStartTime(insuranceApply.getStartTime()); CountCyclePriceDTO countCyclePriceDTO = new CountCyclePriceDTO(); countCyclePriceDTO.setSolutionsId(model.getSolutionId()); countCyclePriceDTO.setStartDate(insuranceApply.getStartTime()); update.setFinalEndTime(this.getCountCyclePriceVO(countCyclePriceDTO).getEndDate()); insuranceApplyMapper.updateById(update); //ä¿®æ¹æç»è¡çå¼å§ç»ææ¥æ applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda() .set(ApplyDetail::getStartTime,insuranceApply.getStartTime()) .set(ApplyDetail::getEndTime,actEndTime) .eq(ApplyDetail::getApplyId,model.getId())); multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey()) .eq(Multifile::getObjId,update.getId()) .set(Multifile::getIsdeleted,Constants.ONE) .set(Multifile::getEditDate,update.getEditDate()) .set(Multifile::getEditor,update.getEditor()) ); insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO); insuranceApply.getBaoxiandanFile().setCreator(user.getId()); insuranceApply.getBaoxiandanFile().setObjId(update.getId()); insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate()); insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey()); insuranceApply.getBaoxiandanFile().setType(Constants.TWO); multifileMapper.insert(insuranceApply.getBaoxiandanFile()); update.setBaoxiandanFile(insuranceApply.getBaoxiandanFile()); noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_INSURANCE; String info = ""; if(model.getApplyStartTime()!=null && model.getApplyStartTime().getTime()/1000!= insuranceApply.getStartTime().getTime()/1000){ info =applyLogType.getInfo(); info = info.replace("${param1}",DateUtil.getPlusTime2(model.getStartTime())); info = info.replace("${param2}",DateUtil.getPlusTime2(insuranceApply.getStartTime())); } ApplyLog log = new ApplyLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); //åå¨åå·¥ä¿¡æ¯æä¿è®°å½ //æ¥è¯¢åæ®æç»è®°å½ MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(ApplyDetail.class); queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode); queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId); queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); queryWrapper.eq(ApplyDetail::getApplyId,insuranceApply.getId()); List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); if(CollectionUtils.isNotEmpty(applyDetailList)){ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); List<String> idCodeList = new ArrayList<>(); for (ApplyDetail applyDetail:applyDetailList) { idCodeList.add(applyDetail.getIdcardNo()); } List<ApplyDetail> allDetailList = this.getMemberSolutionList(solutions.getParentId(),idCodeList, update.getStartTime() ,update.getEndTime(),insuranceApply.getId()); for (ApplyDetail applyDetail:applyDetailList) { //æ¥è¯¢äººåä¿¡æ¯æ¯å¦åå¨ç¸åçæ¹æ¡ä¸æ¯å¦åå¨ å²çªæ°æ® this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName()); MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); memberInsurance.setRelationType(Constants.ZERO); memberInsuranceList.add(memberInsurance); memberMapper.update(null,new UpdateWrapper<Member>() .lambda() .set(Member::getStartTime,memberInsurance.getStartTime()) .set(Member::getEndTime,memberInsurance.getEndTime()) .set(Member::getDuId,memberInsurance.getDuId()) .set(Member::getWorktypeId,memberInsurance.getWorktypeId()) .eq(Member::getId, memberInsurance.getMemberId()) ); } memberInsuranceJoinMapper.insert(memberInsuranceList); } this.updateApplyCurrentFee(insuranceApply.getId(),null); return 1; } public CountCyclePriceVO getCountCyclePriceVO(CountCyclePriceDTO countCyclePriceDTO){ if(Objects.isNull(countCyclePriceDTO) || Objects.isNull(countCyclePriceDTO.getSolutionsId()) || Objects.isNull(countCyclePriceDTO.getStartDate()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Solutions solutions = solutionsMapper.selectById(countCyclePriceDTO.getSolutionsId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } return Constants.countPriceVO(countCyclePriceDTO.getStartDate(),solutions); } /** * æ´æ°ä¿åå®é éé¢ */ @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void updateApplyCurrentFee(Integer id,Integer unionId){ List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>() .selectAll(InsuranceApply.class) .eq(InsuranceApply::getIsdeleted,Constants.ZERO) .in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) .eq(!Objects.isNull(id),InsuranceApply::getId,id) .eq(!Objects.isNull(unionId),InsuranceApply::getUnionApplyId,unionId) .le(InsuranceApply::getStartTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 00:00:00") .ge(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 23:59:59") ); if(CollectionUtils.isNotEmpty(insuranceApplyList)){ for (InsuranceApply insuranceApply:insuranceApplyList) { Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); if(Objects.isNull(solutions)){ continue; } BigDecimal sumAmount = BigDecimal.ZERO; List<ApplyDetail> applyDetailList = applyDetailMapper .selectList(new QueryWrapper<ApplyDetail>().lambda() .ne(ApplyDetail::getChangeStatus,Constants.TWO) .eq(ApplyDetail::getApplyId,insuranceApply.getId())); if(CollectionUtils.isNotEmpty(applyDetailList)){ for (ApplyDetail applyDetail: applyDetailList) { BigDecimal fee = Objects.isNull(insuranceApply.getServerCost())? solutions.getPrice(): solutions.getPrice().add(insuranceApply.getServerCost()); //å¨å¼å§ç»ææ¥æä¹é´ if(applyDetail.getStartTime().compareTo(new Date()) <= 0 && applyDetail.getEndTime().compareTo(new Date()) >= 0 ){ applyDetail.setCurrentFee(Constants.produceFee(solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),applyDetail.getStartTime())); applyDetailMapper.updateById(applyDetail); }else if(applyDetail.getStartTime().compareTo(new Date()) <= 0&&applyDetail.getEndTime().compareTo(new Date()) <= 0){ //å¨ç»ææ¥æä¹å applyDetail.setCurrentFee(applyDetail.getFee()); applyDetailMapper.updateById(applyDetail); } if(Constants.equalsInteger(applyDetail.getChangeStatus(),Constants.ZERO) || applyDetail.getEndTime().getTime()>System.currentTimeMillis()){ sumAmount = sumAmount.add(applyDetail.getCurrentFee()); } } } insuranceApply.setCurrentFee(sumAmount); insuranceApplyMapper.updateById(insuranceApply); } } } public List<ApplyDetail> getMemberSolutionList(Integer solutionParentId,List<String> idCodeList, Date startTime,Date endTime,Integer applyId){ List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>(); try { applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() .selectAll(ApplyDetail.class) .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) .selectAs(Company::getName,ApplyDetail::getCompanyName) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .in(ApplyDetail::getIdcardNo,idCodeList) .eq(ApplyDetail::getIsdeleted,Constants.ZERO) .eq(Solutions::getParentId,solutionParentId) .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId) .notIn(InsuranceApply::getStatus ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey() ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey() ,Constants.InsuranceApplyStatus.CLOSE.getKey() ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey() ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) .apply(" ( " + " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + " ) " )); }catch (Exception e){ } return applyDetailList; } /** * æ¥è¯¢ ä¼åä¿¡æ¯å¨æ¹æ¡ä¸æ¯å¦åå¨å²çªæ°æ® */ public void checkMemberSolution(String idCode,List<ApplyDetail> allDetailList,String memberName){ List<ApplyDetail> applyDetailList = getMemberSolutionListByIdcode(idCode,allDetailList); if(applyDetailList.size() >Constants.ZERO){ String companyName = applyDetailList.get(Constants.ZERO).getCompanyName(); if(StringUtils.isNotBlank(companyName)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå·²å¨ã"+companyName+"ãåå¨ä¿é©,请è系客æç¡®è®¤"); }else{ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå¨è¯¥ä¿é©æ¹æ¡ä¸å·²å卿ä¿è®°å½ï¼æ æ³è¿è¡è¯¥æä½"); } }; } private List<ApplyDetail> getMemberSolutionListByIdcode(String idCode, List<ApplyDetail> allDetailList) { if(allDetailList == null || allDetailList.size()==0){ return new ArrayList<>(); } List<ApplyDetail> list = new ArrayList<>(); for(ApplyDetail d : allDetailList){ if(StringUtils.equals(d.getIdcardNo(),idCode)){ list.add(d); } } return list; } } server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -58,7 +58,6 @@ public class InsuranceApplyServiceImpl implements InsuranceApplyService { @Value("${debug_model}") private boolean debugModel; @Autowired private InsuranceApplyMapper insuranceApplyMapper; @Autowired @@ -92,11 +91,7 @@ @Autowired private MemberJoinMapper memberJoinMapper; @Autowired private DuSolutionMapper duSolutionMapper; @Autowired private DuSolutionJoinMapper duSolutionJoinMapper; @Autowired private DuWorktypeMapper duWorktypeMapper; @Autowired private DuWorkTypeJoinMapper duWorkTypeJoinMapper; @Autowired @@ -115,230 +110,10 @@ private SystemUserMapper systemUserMapper; @Autowired private CompanyDepartmentMapper companyDepartmentMapper; @Autowired private InsuranceMapper insuranceMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer back(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); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()); }else{ if( !(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey()); } update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //å é¤å ¶ä»å¾ å noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN; 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 @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 @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer uploadBaoxiandan(InsuranceApply insuranceApply) { if(insuranceApply.getId() == null || insuranceApply.getCode() == null || insuranceApply.getStartTime() == null || insuranceApply.getBaoxiandanFile() == null ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getFileurl()) ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){ 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.SIGNATURE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·çæå¨ææ¶é´ä¸ç¬¦åè¦æ±ï¼è¯·ç¡®è®¤åä¿®æ¹éè¯~"); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } //计ç®å®é æªæ¢æ¶é´ Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime())); LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); update.setCode(insuranceApply.getCode()); update.setEndTime(actEndTime); update.setStartTime(insuranceApply.getStartTime()); CountCyclePriceDTO countCyclePriceDTO = new CountCyclePriceDTO(); countCyclePriceDTO.setSolutionsId(model.getSolutionId()); countCyclePriceDTO.setStartDate(insuranceApply.getStartTime()); update.setFinalEndTime(this.getCountCyclePriceVO(countCyclePriceDTO).getEndDate()); insuranceApplyMapper.updateById(update); //ä¿®æ¹æç»è¡çå¼å§ç»ææ¥æ applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda() .set(ApplyDetail::getStartTime,insuranceApply.getStartTime()) .set(ApplyDetail::getEndTime,actEndTime) .eq(ApplyDetail::getApplyId,model.getId())); multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey()) .eq(Multifile::getObjId,update.getId()) .set(Multifile::getIsdeleted,Constants.ONE) .set(Multifile::getEditDate,update.getEditDate()) .set(Multifile::getEditor,update.getEditor()) ); insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO); insuranceApply.getBaoxiandanFile().setCreator(user.getId()); insuranceApply.getBaoxiandanFile().setObjId(update.getId()); insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate()); insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey()); insuranceApply.getBaoxiandanFile().setType(Constants.TWO); multifileMapper.insert(insuranceApply.getBaoxiandanFile()); update.setBaoxiandanFile(insuranceApply.getBaoxiandanFile()); noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_INSURANCE; String info = ""; if(model.getApplyStartTime()!=null && model.getApplyStartTime().getTime()/1000!= insuranceApply.getStartTime().getTime()/1000){ info =applyLogType.getInfo(); info = info.replace("${param1}",DateUtil.getPlusTime2(model.getStartTime())); info = info.replace("${param2}",DateUtil.getPlusTime2(insuranceApply.getStartTime())); } ApplyLog log = new ApplyLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); //åå¨åå·¥ä¿¡æ¯æä¿è®°å½ //æ¥è¯¢åæ®æç»è®°å½ MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(ApplyDetail.class); queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode); queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId); queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); queryWrapper.eq(ApplyDetail::getApplyId,insuranceApply.getId()); List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); if(CollectionUtils.isNotEmpty(applyDetailList)){ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); List<String> idCodeList = new ArrayList<>(); for (ApplyDetail applyDetail:applyDetailList) { idCodeList.add(applyDetail.getIdcardNo()); } List<ApplyDetail> allDetailList = this.getMemberSolutionList(solutions.getParentId(),idCodeList, update.getStartTime() ,update.getEndTime(),insuranceApply.getId()); for (ApplyDetail applyDetail:applyDetailList) { //æ¥è¯¢äººåä¿¡æ¯æ¯å¦åå¨ç¸åçæ¹æ¡ä¸æ¯å¦åå¨ å²çªæ°æ® this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName()); MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); memberInsurance.setRelationType(Constants.ZERO); memberInsuranceList.add(memberInsurance); memberMapper.update(null,new UpdateWrapper<Member>() .lambda() .set(Member::getStartTime,memberInsurance.getStartTime()) .set(Member::getEndTime,memberInsurance.getEndTime()) .set(Member::getDuId,memberInsurance.getDuId()) .set(Member::getWorktypeId,memberInsurance.getWorktypeId()) .eq(Member::getId, memberInsurance.getMemberId()) ); } memberInsuranceJoinMapper.insert(memberInsuranceList); } this.updateApplyCurrentFee(insuranceApply.getId(),null); return 1; } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -404,82 +179,7 @@ return 1; } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer dealBackApply(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); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Constants.ApplyLogType applyLogType = null; String info = ""; Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //å¤çéåç³è¯·éç¥ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,insuranceApply.getId())); InsuranceApply update = new InsuranceApply(); if(insuranceApply.getDealBackApply() ==1){ //妿æ¯é©³å,åªè½å¯é©³åå·²ç¾ç« ç¶æä¸çéåç³è¯·ç¶æè¿è¡æä½ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())|| Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK; info = applyLogType.getInfo(); info = info.replace("${param}", insuranceApply.getCheckInfo()); if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey()); }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){ update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); } }else{ //妿æ¯åæ,两ç§ç³è¯·éåç¶æé½å¯æä½ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK; update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()); //éç¥ä¼ä¸ å·²éå Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.nonNull(solutions)){ Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), insuranceApply.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); } } update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); return 1; } @Override public String getSignLink(Integer id) { @@ -545,7 +245,6 @@ return link; } public String uploadSignFile(String link){ try { String bucketName = systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(); @@ -563,9 +262,7 @@ }catch (Exception e){ } return null; } public Multifile uploadSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) { InsuranceApply update = new InsuranceApply(); @@ -597,20 +294,16 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //å é¤å ¶ä»å¾ å noticesMapper.delete(new QueryWrapper<Notices>().lambda() .eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,model.getId())); //å¹³å°å¾ å Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO); noticesMapper.insert(notices); CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda() .eq(CompanySolution::getIsdeleted,Constants.ZERO) .eq(CompanySolution::getSolutionId,model.getSolutionId()) @@ -623,7 +316,6 @@ model.getId(),model.getSolutionsName(),companySolution.getShopId(),Constants.NoticeType.ZERO); noticesMapper.insert(shopNotices); } Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -659,7 +351,6 @@ update.setCheckInfo("ä¼ä¸å®æç¾ç½²æ¹æ¡ç¡®è®¤ä¹¦"); update.setId(model.getId()); insuranceApplyMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -672,7 +363,6 @@ f.setInfo("ä¼ä¸å®æç¾ç½²æ¹æ¡ç¡®è®¤ä¹¦"); f.setName("æ¹æ¡ç¡®è®¤ä¹¦.pdf"); multifileMapper.insert(f); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WTB_FINISH_FAQRS; ApplyLog log = new ApplyLog(model,applyLogType.getName(), null ,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); @@ -697,7 +387,6 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -710,7 +399,6 @@ 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)); @@ -734,7 +422,6 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -747,15 +434,11 @@ f.setInfo("ä¼ä¸å®æç¾ç½²äººååå"); f.setName("人ååå.pdf"); multifileMapper.insert(f); //æ°æ®æ¥å¿ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WTB_FINISH_MEMBER_LIST; ApplyLog log = new ApplyLog(model,applyLogType.getName(), null ,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); //å¾ åéç¥ if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){ @@ -765,12 +448,9 @@ notices.setParam1(model.getId().toString()); noticesMapper.insert(notices); } return f; } public Multifile uploadChangeSignedFileDo(ApplyChange model,String fileurl,String fullurl) { Integer companyId = model.getCompanyId(); ApplyChange update = new ApplyChange(); @@ -782,7 +462,6 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); applyChangeMapper.updateById(update); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; if(model.getType().equals(Constants.ONE)){ @@ -796,7 +475,6 @@ companyId, Constants.NoticeType.TWO); notices.setParam1(model.getApplyId().toString()); noticesMapper.insert(notices); Solutions solutions = solutionsMapper.selectById(model.getSolutionsId()); //åæ·å¾ å if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){ @@ -805,7 +483,6 @@ notices.setParam1(model.getApplyId().toString()); noticesMapper.insert(shopNotices); } Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -818,15 +495,12 @@ 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); startSendEmail(f,model.getCompanyName(),model.getSolutionsName(),model.getSolutionEmail()); return f; } public Multifile uploadChangeMemberListSignedFileDo(ApplyChange model,String fileurl,String fullurl) { ApplyChange update = new ApplyChange(); @@ -838,7 +512,6 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); applyChangeMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -855,12 +528,9 @@ f.setInfo("ä¼ä¸å®æç¾ç½²äººååå"); f.setName("ç¾ç« 人ååå.pdf"); multifileMapper.insert(f); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_WTB_FINISH_MEMBER_LIST; ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); Solutions solutions = solutionsMapper.selectById(model.getSolutionsId()); //å¾ åéç¥ if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){ @@ -906,8 +576,6 @@ f.setInfo("åæ·ç¾ç½²æä¿å"); f.setName("åæ·ç¾ç½²æä¿å.pdf"); multifileMapper.insert(f); List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>(). lambda().eq(InsuranceApply::getUnionApplyId,model.getId())); if(CollectionUtils.isNotEmpty(insuranceApplyList)){ @@ -922,7 +590,6 @@ f.setInfo("æä¿å"); f.setName("æä¿å.pdf"); multifileMapper.insert(f); insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() .set(InsuranceApply::getUnionApplyTbdStatus,Constants.TWO) .set(InsuranceApply::getEditDate,new Date()) @@ -930,13 +597,10 @@ ); } } 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; } @@ -955,7 +619,6 @@ update.setStatus(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey()); update.setId(model.getId()); unionChangeJoinMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -968,15 +631,12 @@ f.setInfo("æä¿ç³è¯·å -ç³è¯·å"); f.setName("æä¿ç³è¯·å.pdf"); multifileMapper.insert(f); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_SIGNATURE_TBD; ApplyLog log = new ApplyLog(model,applyLogType.getName(), null ,model.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(model)); applyLogMapper.insert(log); return f; } public Multifile uploadContractFirstSignedFileDo(Contract model,String fileurl,String fullUrl) { Contract update = new Contract(); @@ -986,7 +646,6 @@ update.setStatus(Constants.equalsInteger(model.getType(),Constants.ZERO)?Constants.ONE:Constants.THREE); update.setId(model.getId()); contractJoinMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -999,7 +658,6 @@ f.setInfo("ååç¾ç½²æä»¶"); f.setName("ååç¾ç½²æä»¶.pdf"); multifileMapper.insert(f); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT; //å é¤å ¶ä»å¾ å @@ -1028,8 +686,6 @@ return noticeInfo; } public Multifile uploadContractDoneSignedFileDo(Contract model,String fileurl,String fullUrl) { Contract update = new Contract(); update.setEditDate(new Date()); @@ -1038,7 +694,6 @@ update.setStatus(Constants.THREE); update.setId(model.getId()); contractJoinMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -1051,14 +706,12 @@ f.setInfo("ååç¾ç½²æä»¶"); f.setName("ååç¾ç½²æä»¶.pdf"); multifileMapper.insert(f); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT; //å é¤å ¶ä»å¾ å noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) .eq(Notices::getObjId,model.getId())); return f; } @@ -1073,7 +726,6 @@ update.setSignDate(new Date()); update.setId(model.getId()); companySolutionMapper.updateById(update); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -1086,7 +738,6 @@ f.setInfo("æ¹æ¡ç¡®è®¤ä¹¦"); f.setName("æ¹æ¡ç¡®è®¤ä¹¦.pdf"); multifileMapper.insert(f); //åå¨å¾ åä¿¡æ¯ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SOLUTIONS; //å é¤å ¶ä»å¾ å @@ -1096,9 +747,6 @@ return f; } private void startSendEmail(Multifile f, String companyName, String solutionsName, String solutionEmail) { if(StringUtils.isBlank(solutionEmail) || f==null|| StringUtils.isBlank(f.getFileurl())){ @@ -1119,7 +767,6 @@ file.delete();//åéåå é¤ä¸´æ¶æä»¶ } } @Override public void testSendEmail(){ @@ -1199,7 +846,6 @@ // return; } } //å§æä¿ ä¼ä¸ç¾ç½²äººååå applyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class, new MPJLambdaWrapper<InsuranceApply>() @@ -1258,9 +904,6 @@ // return; } } List<ApplyChange> chagneList = applyChangeMapper.selectJoinList(ApplyChange.class, new MPJLambdaWrapper<ApplyChange>() .selectAll(ApplyChange.class) @@ -1291,7 +934,6 @@ // return; } } //å§æä¿ å åä¿/æ¢å ç¾ç½²äººååå chagneList = applyChangeMapper.selectJoinList(ApplyChange.class, new MPJLambdaWrapper<ApplyChange>() @@ -1323,12 +965,6 @@ // return; } } /** *åå¹¶æä¿å ç¾ç½²ä¸å¡ */ List<UnionApply> unionApplyList = unionApplyJoinMapper.selectJoinList(UnionApply.class, new MPJLambdaWrapper<UnionApply>() .selectAll(UnionApply.class) @@ -1349,10 +985,6 @@ uploadUnionApplySignedFileDo(model,fileUrl,path+fileUrl); } } /** *åå¹¶å åä¿æ¢å ç¾ç½²ä¸å¡ */ List<UnionChange> unionChangeList = unionChangeJoinMapper.selectJoinList(UnionChange.class, new MPJLambdaWrapper<UnionChange>() .selectAll(UnionChange.class) @@ -1373,11 +1005,6 @@ uploadUnionChangeSignedFileDo(model,fileUrl,path+fileUrl); } } /** * ææ¹ç¾ç½² ååä¿¡æ¯ */ List<Contract> contractFirstList = contractJoinMapper.selectJoinList(Contract.class, new MPJLambdaWrapper<Contract>() .selectAll(Contract.class) @@ -1398,11 +1025,6 @@ uploadContractFirstSignedFileDo(contract,fileUrl,path+fileUrl); } } /** * ä¼ä¸/åæ·ç¾ç½² ååä¿¡æ¯ */ List<Contract> contractDoneList = contractJoinMapper.selectJoinList(Contract.class, new MPJLambdaWrapper<Contract>() .selectAll(Contract.class) @@ -1423,10 +1045,6 @@ uploadContractDoneSignedFileDo(contract,fileUrl,path+fileUrl); } } /** * ä¼ä¸ æ¹æ¡ç¡®è®¤ä¹¦ç¾ç½² */ List<CompanySolution> companySolutionList = companySolutionMapper.selectList( new QueryWrapper<CompanySolution>().lambda() .eq(CompanySolution::getSignStatus,Constants.ZERO) @@ -1903,75 +1521,6 @@ } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer uploadToubaodan(InsuranceApply insuranceApply) { if(insuranceApply.getId() == null || insuranceApply.getToubaodanFile() == null ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getFileurl()) ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getName())){ 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.UPLOAD.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey()) .eq(Multifile::getObjId,update.getId()) .set(Multifile::getIsdeleted,Constants.ONE) .set(Multifile::getEditDate,update.getEditDate()) .set(Multifile::getEditor,update.getEditor()) ); insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO); insuranceApply.getToubaodanFile().setCreator(user.getId()); insuranceApply.getToubaodanFile().setObjId(update.getId()); insuranceApply.getToubaodanFile().setCreateDate(update.getEditDate()); insuranceApply.getToubaodanFile().setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey()); insuranceApply.getToubaodanFile().setType(Constants.TWO); multifileMapper.insert(insuranceApply.getToubaodanFile()); update.setToubaodanFile(insuranceApply.getToubaodanFile()); Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE; String info =applyLogType.getInfo(); // info = info.replace("${param}", update.getCheckInfo()); ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); //å é¤å ¶ä»å¾ å Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.ONE); noticesMapper.insert(notices); return 1; } /** * å®¡æ ¸éè¿æè ä¸éè¿ @@ -2568,47 +2117,48 @@ }; } @Override public void checkMemberSolutionOld(Integer solutionParentId,String idCode, String memberName, Date startTime,Date endTime,Integer applyId){ List<ApplyDetail> applyDetailList = new ArrayList<>(); try { applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() .selectAll(ApplyDetail.class) .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) .selectAs(Company::getName,ApplyDetail::getCompanyName) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(ApplyDetail::getIdcardNo,idCode) .eq(ApplyDetail::getIsdeleted,Constants.ZERO) .eq(Solutions::getParentId,solutionParentId) .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId) .notIn(InsuranceApply::getStatus ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey() ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey() ,Constants.InsuranceApplyStatus.CLOSE.getKey() ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey() ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) .apply(" ( " + " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + " ) " )); }catch (Exception e){ } if(applyDetailList.size() >Constants.ZERO){ String companyName = applyDetailList.get(Constants.ZERO).getCompanyName(); if(StringUtils.isNotBlank(companyName)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå·²å¨ã"+companyName+"ãåå¨ä¿é©,请è系客æç¡®è®¤"); }else{ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå¨è¯¥ä¿é©æ¹æ¡ä¸å·²å卿ä¿è®°å½ï¼æ æ³è¿è¡è¯¥æä½"); } }; } // @Override // public void checkMemberSolutionOld(Integer solutionParentId,String idCode, String memberName, Date startTime,Date endTime,Integer applyId){ // List<ApplyDetail> applyDetailList = new ArrayList<>(); // try { // applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, // new MPJLambdaWrapper<ApplyDetail>() // .selectAll(ApplyDetail.class) // .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) // .selectAs(Company::getName,ApplyDetail::getCompanyName) // .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) // .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) // .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) // .eq(ApplyDetail::getIdcardNo,idCode) // .eq(ApplyDetail::getIsdeleted,Constants.ZERO) // .eq(Solutions::getParentId,solutionParentId) // .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId) // .notIn(InsuranceApply::getStatus // ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey() // ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey() // ,Constants.InsuranceApplyStatus.CLOSE.getKey() // ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey() // ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) // .apply(" ( " + // " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + // " or " + // " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + // " or " + // " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + // " ) " )); // }catch (Exception e){ // } // if(applyDetailList.size() >Constants.ZERO){ // String companyName = applyDetailList.get(Constants.ZERO).getCompanyName(); // if(StringUtils.isNotBlank(companyName)){ // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå·²å¨ã"+companyName+"ãåå¨ä¿é©,请è系客æç¡®è®¤"); // }else{ // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该åå·¥ã"+memberName+" "+idCode+"ãå¨è¯¥ä¿é©æ¹æ¡ä¸å·²å卿ä¿è®°å½ï¼æ æ³è¿è¡è¯¥æä½"); // } // // }; // } private List<ApplyDetail> getMemberSolutionListByIdcode(String idCode, List<ApplyDetail> allDetailList) { if(allDetailList == null || allDetailList.size()==0){ return new ArrayList<>(); @@ -2961,7 +2511,7 @@ PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper)); if(pageData.getRecords()!=null){ for (InsuranceApply apply : pageData.getRecords()){ initApplyStatus(apply) ; Constants.initApplyStatus(apply) ; apply.setChangeMoney(Constants.getTwoPoint(apply.getChangeMoney())); apply.setFee(Constants.getTwoPoint(apply.getFee())); } @@ -2969,29 +2519,7 @@ return pageData; } public void initApplyStatus(InsuranceApply apply){ apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus())); if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){ //妿已宿 if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){ apply.setStatusCollect(Constants.THREE);//å·²è¿æ } } setServiceDays(apply); apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect())); if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){ if(apply.getStartTime().getTime()>System.currentTimeMillis()){ apply.setStatusInfo("å¾ çæ"); }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){ apply.setStatusInfo("å·²è¿æ"); }else{ apply.setStatusInfo("ä¿éä¸"); } } } @Override public List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model) { @@ -3185,7 +2713,7 @@ if(insuranceApply.getStartTime().compareTo(new Date())<0 && insuranceApply.getEndTime().compareTo(new Date()) > 0 ){ insuranceApply.setLoseEfficacyDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),new Date())); } initApplyStatus(insuranceApply); Constants.initApplyStatus(insuranceApply); //æ¥è¯¢éä»¶æ°æ® initImgData(insuranceApply); insuranceApply.setChangeMoney(Constants.getTwoPoint(insuranceApply.getChangeMoney())); @@ -3206,29 +2734,11 @@ insuranceApply.setApplyLogList(applyLogList); } private void setServiceDays(InsuranceApply insuranceApply) { //设置å¨ä¿æ¶é¿ï¼å¤©æ°ï¼ insuranceApply.setServiceDays(Constants.ZERO); if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) || insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){ //妿å½åæ¶é´å¤§äºç»ææ¥æ å使ç¨ç»ææ¥æå¯¹æ¯å¼å§æ¥æ if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){ insuranceApply.setServiceDays( DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1 ); }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){ //æªå¼å§ insuranceApply.setServiceDays(Constants.ZERO); }else{ insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1); } } } private void initImgData(InsuranceApply model) { String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); //æ¥è¯¢æ¹æ¡ç¡®è®¤ä¹¦ CompanySolution companySolution =companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,model.getSolutionId()).eq(CompanySolution::getCompanyId,model.getCompanyId()).last("limit 1")); if(Objects.nonNull(companySolution)){ @@ -3251,11 +2761,6 @@ .eq(Multifile::getIsdeleted,Constants.ZERO) .orderByAsc(Multifile::getId)); if(multifiles!=null){ for(Multifile f : multifiles){ if(StringUtils.isBlank(f.getFileurl())){ continue; @@ -3274,22 +2779,6 @@ //ç³è¯·å model.setShenqingdanFile(f); } // else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CONFIRMATION_LATTER.getKey())){ // //ç¾ç½²å确认书 // model.setFanganFile(f); // } // if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ // //妿å½åæ¶é´å¤§äºç»ææ¥æ å使ç¨ç»ææ¥æå¯¹æ¯å¼å§æ¥æ // if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){ // model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime())); // }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){ // //æªå¼å§ // model.setServiceDays(Constants.ZERO); // }else{ // model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime())); // } // } } } } @@ -3827,49 +3316,10 @@ if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"æªæ¥è¯¢å°æ¹æ¡ä¿¡æ¯"); } ApplyPowerVO applyPowerVO = InsuranceApplyServiceImpl.getApplyPowerStatic(applyPowerDTO,insuranceApply,solutions); ApplyPowerVO applyPowerVO = Constants.getApplyPowerStatic(applyPowerDTO,insuranceApply,solutions); return applyPowerVO; } public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO,InsuranceApply insuranceApply,Solutions solutions){ if(Objects.isNull(applyPowerDTO) || Objects.isNull(applyPowerDTO.getApplyId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"åæ°é误"); } if(Objects.isNull(applyPowerDTO.getBeginDate())){ applyPowerDTO.setBeginDate(new Date()); } ApplyPowerVO applyPowerVO = new ApplyPowerVO(); //è·åæ¹æ¡ ç»ææ¶é´ Date endTime = insuranceApply.getEndTime(); //æ¥è¯¢å½åå»å ä¿çå¼å§æ¥æ yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00 Date addStartDate = DateUtil.getMontageDate( DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()), 1 ); applyPowerVO.setAddStartDate(addStartDate); //å ä¿çææ¥æå¤§äº ä¿åç»ææ¥æ åä¸å¯ä»¥è¿è¡å ä¿ if(addStartDate.getTime()>=endTime.getTime()){ applyPowerVO.setAddTrue(Constants.ONE); }else{ applyPowerVO.setAddTrue(Constants.ZERO); } //æ¥è¯¢å½åå»åä¿çå¼å§æ¥æ yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00 Date delStartDate = DateUtil.getMontageDate( DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()), 1 ); applyPowerVO.setDelStartDate(delStartDate); //å ä¿çææ¥æå¤§äº ä¿åç»ææ¥æ åä¸å¯ä»¥è¿è¡åä¿ if(delStartDate.getTime()>=endTime.getTime()){ applyPowerVO.setDelTrue(Constants.ONE); }else{ applyPowerVO.setDelTrue(Constants.ZERO); } return applyPowerVO; } server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -13,6 +13,7 @@ import com.doumee.dao.business.model.InsuranceApply; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import com.doumee.service.business.InsuranceApplyOnService; import com.doumee.service.business.InsuranceApplyService; import com.doumee.service.business.impl.UnionApplyServiceImpl; import io.swagger.annotations.Api; @@ -37,6 +38,9 @@ @Autowired private InsuranceApplyService insuranceApplyService; @Autowired private InsuranceApplyOnService insuranceApplyOnService; @Autowired private UnionApplyServiceImpl unionApplyServiceImpl; @@ -66,7 +70,7 @@ @PostMapping("/back") @RequiresPermissions("business:insuranceapply:back") public ApiResponse back(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.back(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.back(insuranceApply)); } @ApiOperation("å表") @PostMapping("/findListByDTO") @@ -79,13 +83,13 @@ @PostMapping("/closeWtbForShop") @RequiresPermissions("business:insuranceapply:back") public ApiResponse closeWtbForShop(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.closeWtbForShop(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.closeWtbForShop(insuranceApply)); } @ApiOperation("åæ·ä¸ä¼ æä¿å") @PostMapping("/uploadToubaodan") @RequiresPermissions("business:insuranceapply:uploadToubaodan") public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.uploadToubaodan(insuranceApply)); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @@ -100,13 +104,13 @@ @PostMapping("/uploadBaoxiandan") @RequiresPermissions("business:insuranceapply:uploadBaoxiandan") public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.uploadBaoxiandan(insuranceApply)); } @ApiOperation("åæ·å¤çéåç³è¯·") @PostMapping("/dealBackApply") @RequiresPermissions("business:insuranceapply:dealBackApply") public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) { return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply)); return ApiResponse.success(insuranceApplyOnService.dealBackApply(insuranceApply)); } @ApiOperation("åæ·ä¿®æ¹ä¿é©å") @PostMapping("/editBaoxiandan")