From ea23bcded1792d78f37d77e3d1008156928ae9a2 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 19 Jun 2025 13:38:58 +0800 Subject: [PATCH] =?UTF-8?q?##=20Feat=20-=20=E6=89=8B=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E7=AD=89=E7=BA=A7=E4=B8=BA=E5=90=88=E4=BC=99=E4=BA=BA?= =?UTF-8?q?=E6=97=B6,=E5=A6=82=E5=A5=96=E8=A1=94=E4=B8=BA=E7=A9=BA,?= =?UTF-8?q?=E5=88=99=E6=94=B9=E4=B8=BA=E9=BB=84=E5=AE=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CuHandleBusinessServiceImpl.java | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java index 9b41f915..313a790d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java @@ -2,6 +2,7 @@ package com.hzs.member.handlebusiness.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,6 +19,7 @@ import com.hzs.common.domain.member.detail.CuMemberAwards; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberLevel; import com.hzs.common.domain.member.detail.CuMemberServiceLog; +import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.handleBusiness.CuHandleBusiness; import com.hzs.common.domain.system.base.BdCountry; import com.hzs.common.domain.system.config.BdAwards; @@ -824,10 +826,69 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl businessTypeList = handleBusinessList.stream() + .map(BusinessTypeValueVO::getBusinessType) + .collect(Collectors.toList()); + if(!businessTypeList.contains(EApprovalBusiness.CHANGE_AWARDS.getValue())){ + List businessMemberList = handleBusinessVO.getBusinessMemberList(); + List businessMemberListUpdate = getBusinessMemberByBusinessType(businessMemberList, EApprovalBusiness.CHANGE_SETTLEMENT_GRADE.getValue()); + String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId(); + Integer pkCountry = loginUser.getDataCountry(); + R> awardsList = iAwardsServiceApi.queryAwards(pkCountry); + Map awardsMap = awardsList.getData().stream().collect(Collectors.toMap(BdAwards::getAwardsValue, o -> o)); + int newLevel = awardsMap.get(EAwards.HEADER.getValue()).getPkId(); + List cuMemberAwardsList = new ArrayList<>(); + HandleBusinessVO businessVO = new HandleBusinessVO(); + businessVO.setHandleBusinessList(Arrays.asList( + BusinessTypeValueVO.builder() + .businessValueList(Arrays.asList(newLevel)) + .businessType(EApprovalBusiness.CHANGE_AWARDS.getValue()).build()) + ); + businessVO.setUpdatePkMember(loginUser.getUserId()); + List businessMemberVOList = new ArrayList<>(); + businessVO.setBusinessMemberList(businessMemberVOList); + for (BusinessMemberVO memberVO : businessMemberListUpdate) { + CuMemberExt memberExt = cuMemberService.getMemberById(memberVO.getPkMember()); + // 没有奖衔 + Integer memberAwardsValue = awardsList.getData().stream().filter(o -> o.getPkId().equals(memberExt.getPkAwards())).findFirst().get().getAwardsValue(); + if(ObjectUtil.isNotEmpty(memberExt) && EAwards.HEADER.getValue() > memberAwardsValue){ + businessMemberVOList.add(BusinessMemberVO.builder().pkMember(memberExt.getPkId()).build()); + int oldLevel = awardsMap.get(memberAwardsValue).getPkId(); + Long pkMember = memberExt.getPkId(); + // 记录升级历史 + CuMemberAwards cuMemberAwards = CuMemberAwards.builder() + .pkMember(pkMember) + .period(period) + .upType(EUpgradeType.MANUAL_UPGRADE.getValue()) + .oldLevel(oldLevel) + .newLevel(newLevel) + .purchaseStatus(getPurchaseStatus(pkMember, oldLevel)) + .endValidityDate(memberVO.getEndValidityDate()) + .build(); + cuMemberAwards.setPkCountry(handleBusinessVO.getPkCountry()); + cuMemberAwards.setPkCreator(loginUser.getUserId()); + cuMemberAwardsList.add(cuMemberAwards); + } + } + // 改奖衔 + if(CollUtil.isNotEmpty(businessVO.getHandleBusinessList()) && CollUtil.isNotEmpty(businessVO.getBusinessMemberList())){ + cuMemberService.batchUpdateMemberByBusinessType(businessVO); + } + // 插入升级记录 + if(CollUtil.isNotEmpty(cuMemberAwardsList)){ + cuMemberAwardsService.saveBatch(cuMemberAwardsList); + } + } + } + // 2025年6月19日 手改注册等级为合伙人时,如奖衔为空,则改为黄宝 end } - return Boolean.FALSE; + return Boolean.TRUE; } /**