3
0
Fork 0

## Fix - 增加获取省级接口&办理业务时增加验证

This commit is contained in:
sangelxiu1 2025-06-21 09:59:43 +08:00 committed by cabbage
parent f6356586c2
commit 471174c751
17 changed files with 126 additions and 100 deletions

View File

@ -51,4 +51,7 @@ public interface IAreaServiceApi {
**/
R<List<BdProductStorehouseExt>> queryBdProductStorehouseByCondition(List<Integer> productId, Integer province);
R<List<BdArea>>getAreaByParentId(Integer pkCountry);
}

View File

@ -650,4 +650,8 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
*/
BdTradeWhiteConfig selectMemberByUnderBlood(@Param("pkMember") Long pkMember, @Param("memberType") Integer memberType);
int validateCompanyCount(@Param("gradeValue") Integer gradeValue);
int validateBranchOfficeCount(@Param("areaId") Integer areaId);
}

View File

@ -924,4 +924,7 @@ public interface ICuMemberService extends IService<CuMember> {
*/
BdTradeWhiteConfig selectMemberByUnderBlood(Long pkMember, Integer memberType);
int validateCompanyCount();
int validateBranchOfficeCount(Integer areaId);
}

View File

@ -3249,4 +3249,14 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
return baseMapper.selectMemberByUnderBlood(pkMember, memberType);
}
@Override
public int validateCompanyCount() {
return baseMapper.validateCompanyCount(EGrade.COMPANY.getValue());
}
@Override
public int validateBranchOfficeCount(Integer areaId) {
return baseMapper.validateBranchOfficeCount(areaId);
}
}

View File

@ -27,14 +27,14 @@ public interface ICuHandleBusinessService extends IService<CuHandleBusiness> {
* @param loginUser 用户信息
* @return
*/
Boolean businessHandling(HandleBusinessVO handleBusinessVO, LoginUser loginUser);
Boolean businessHandling(HandleBusinessVO handleBusinessVO, LoginUser loginUser) throws Exception;
/**
* 在线签呈审核 审批状态 同意/驳回
*
* @param approvalBusinessResultDTO
*/
R signForApprovalExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO);
R signForApprovalExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO) throws Exception;
/**
* 在线签呈

View File

@ -109,7 +109,7 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean businessHandling(HandleBusinessVO handleBusinessVO, LoginUser loginUser) {
public Boolean businessHandling(HandleBusinessVO handleBusinessVO, LoginUser loginUser) throws Exception {
boolean result = false;
Integer processType = handleBusinessVO.getProcessType();
//业务办理变更信息
@ -149,7 +149,7 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R signForApprovalExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
public R signForApprovalExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO) throws Exception {
LoginUser loginUser = approvalBusinessResultDTO.getLoginUser();
if (approvalBusinessResultDTO.getApproveOperation() == EApproveOperation.AGREE.getValue()) {
// 通过
@ -613,7 +613,7 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
* @param loginUser 登录信息
* @return Boolean
*/
public Boolean updateBusinessMember(HandleBusinessVO handleBusinessVO, LoginUser loginUser) {
public Boolean updateBusinessMember(HandleBusinessVO handleBusinessVO, LoginUser loginUser) throws Exception {
int number = 0;
Boolean result = false;
BusinessTypeValueVO businessTypeValueUpdate;
@ -737,7 +737,10 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
* @param loginUser 登录用户信息
* @return Boolean
*/
private Boolean saveMemberLevel(HandleBusinessVO handleBusinessVO, LoginUser loginUser) {
private Boolean saveMemberLevel(HandleBusinessVO handleBusinessVO, LoginUser loginUser) throws Exception {
Integer pkCountry = loginUser.getDataCountry();
R<List<GradeDTO>> gradeList = iGradeServiceApi.queryGradeList(pkCountry);
Map<Integer, GradeDTO> gradesMap = gradeList.getData().stream().collect(Collectors.toMap(GradeDTO::getGradeValue, o -> o));
List<BusinessTypeValueVO> handleBusinessList = handleBusinessVO.getHandleBusinessList();
//获取期数
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
@ -751,6 +754,20 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
List<CuMemberLevel> cuMemberLevelList = new ArrayList<>();
if (CollUtil.isNotEmpty(businessMemberListUpdate)) {
for (BusinessMemberVO businessMemberVO : businessMemberListUpdate) {
Integer updateGradeId = Integer.parseInt(businessMemberVO.getNewValue());
if(EGrade.COMPANY.getValue() == gradesMap.get(updateGradeId).getGradeValue()){
// 2025年6月20日 新等级 公司验全唯一
int count = cuMemberService.validateCompanyCount();
if(count > 0){
throw new Exception("已存在结算等级为公司的用户,不允许重复添加!");
}
}else if(EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()){
// 2025年6月20日 新等级 分公司验省唯一
int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId());
if(count > 0){
throw new Exception("已存在结算绑定省的分公司用户,不允许重复添加!");
}
}
// 记录升级历史
cuMemberLevel = CuMemberLevel.builder()
.pkMember(businessMemberVO.getPkMember())
@ -828,65 +845,6 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
}
cuMemberAwardsService.saveBatch(cuMemberAwardsList);
}
// 2025年6月19日 手改注册等级为合伙人时,如奖衔为空,则改为黄宝 start
if(businessType.equals(EApprovalBusiness.CHANGE_SETTLEMENT_GRADE.getValue())){
// 拿本次办理业务的类型
List<Integer> businessTypeList = handleBusinessList.stream()
.map(BusinessTypeValueVO::getBusinessType)
.collect(Collectors.toList());
if(!businessTypeList.contains(EApprovalBusiness.CHANGE_AWARDS.getValue())){
List<BusinessMemberVO> businessMemberList = handleBusinessVO.getBusinessMemberList();
List<BusinessMemberVO> 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<List<BdAwards>> awardsList = iAwardsServiceApi.queryAwards(pkCountry);
Map<Integer, BdAwards> awardsMap = awardsList.getData().stream().collect(Collectors.toMap(BdAwards::getAwardsValue, o -> o));
int newLevel = awardsMap.get(EAwards.HEADER.getValue()).getPkId();
List<CuMemberAwards> 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<BusinessMemberVO> 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.TRUE;
}

View File

@ -529,5 +529,8 @@ public class BusinessMemberVO implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endValidityDate;
/**
* 分公司-绑定省id
*/
private Integer areaId;
}

View File

@ -88,6 +88,7 @@ public class MemberRetailServiceImpl implements IMemberRetailService {
.pkCountry(cuMember.getPkCountry())
.pkSettleCountry(cuMember.getPkSettleCountry())
.isActivate(cuMember.getIsActivate())
.areaName(cuMember.getAreaName())
.build();
}
return null;

View File

@ -141,4 +141,9 @@ public class RetailMemberInfoVO implements Serializable {
*/
private Integer isActivate;
/**
* 分公司绑定省名称
*/
private String areaName;
}

View File

@ -2057,6 +2057,7 @@
<!-- 查询菜单用户 -->
<select id="getMenuMember" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.*,
area.name as areaName,
case
when tmp1.pk_member is null then
1
@ -2082,6 +2083,7 @@
1
end maker_space_show
from cu_member cm
left join BD_AREA area on cm.PK_AREA_ID = area.PK_ID
left join (select distinct cmsc.pk_member
from cu_authority_control cmsc
where cmsc.pk_member = #{pkMember}
@ -2609,5 +2611,11 @@
and t0.category = 0)
where rownum = 1
</select>
<select id="validateCompanyCount" resultType="java.lang.Integer">
select count(1) from cu_member where PK_SETTLE_GRADE in (select pk_id from BD_GRADE where GRADE_VALUE = #{gradeValue})
</select>
<select id="validateBranchOfficeCount" resultType="java.lang.Integer">
select count(1) from cu_member where PK_AREA_ID = #{areaId}
</select>
</mapper>

View File

@ -157,4 +157,9 @@ public class ApiAreaController {
}
return AjaxResult.success(resultList);
}
@GetMapping("/get-area-by-parentId")
public AjaxResult getArea(Integer parentId) {
return AjaxResult.success(areaService.getAreaByParentId(parentId));
}
}

View File

@ -78,4 +78,9 @@ public class AreaServiceProvider implements IAreaServiceApi {
public R<List<BdProductStorehouseExt>> queryBdProductStorehouseByCondition(List<Integer> productId, Integer province) {
return R.ok(bdProductStorehouseService.queryBdProductStorehouseByCondition(productId, province));
}
@Override
public R<List<BdArea>> getAreaByParentId(Integer parentId) {
return R.ok(iBdAreaService.getAreaByParentId(parentId));
}
}

View File

@ -28,4 +28,5 @@ public interface IBdAreaService extends IService<BdArea> {
*/
String updateArea(List<AreaDTO> areaDTOList);
List<BdArea> getAreaByParentId(Integer parentId);
}

View File

@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -120,4 +121,14 @@ public class BdAreaServiceImpl extends ServiceImpl<BdAreaMapper, BdArea> impleme
return null;
}
@Override
public List<BdArea> getAreaByParentId(Integer parentId) {
LambdaQueryWrapper<BdArea> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdArea::getPkCountry, CountryConstants.CHINA_COUNTRY);
queryWrapper.eq(BdArea::getParent, parentId);
queryWrapper.apply("pk_id not in (select PK_AREA_ID from cu_member)");
queryWrapper.orderByAsc(BdArea::getCode);
return baseMapper.selectList(queryWrapper);
}
}

View File

@ -132,40 +132,40 @@ public class CommonServiceProvider implements ICommonServiceApi {
}
}
// 当月奖衔
if (null != memberDataDTO.getPkAwards()) {
BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards());
if (null != bdAwards) {
memberDataDTO.setAwardsVal(bdAwards.getAwardsName());
if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) {
// 奖衔如果是会员级别不返回图标
memberDataDTO.setAwardsIcon(bdAwards.getImage());
}
}
}
// 荣誉奖衔
if (null != memberDataDTO.getPkMaxAwards()) {
BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards());
if (null != bdAwards) {
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
memberDataDTO.setMaxAwardsVal(memberDataDTO.getAwardsVal());
memberDataDTO.setMaxAwardsIcon(memberDataDTO.getAwardsIcon());
} else {
memberDataDTO.setMaxAwardsVal(bdAwards.getAwardsName());
memberDataDTO.setMaxAwardsIcon(bdAwards.getImage());
}
}
}
// 分红奖衔
if (null != memberDataDTO.getPkRangeAwards()) {
BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkRangeAwards());
if (null != bdAwards) {
if (bdAwards.getAwardsValue() > EAwards.HIGH_MANAGER.getValue()) {
// 前4级不显示分红奖衔
memberDataDTO.setRangeAwardsVal(bdAwards.getAwardsName());
memberDataDTO.setRangeAwardsIcon(bdAwards.getImage());
}
}
}
// if (null != memberDataDTO.getPkAwards()) {
// BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards());
// if (null != bdAwards) {
// memberDataDTO.setAwardsVal(bdAwards.getAwardsName());
// if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) {
// // 奖衔如果是会员级别不返回图标
// memberDataDTO.setAwardsIcon(bdAwards.getImage());
// }
// }
// }
// // 荣誉奖衔
// if (null != memberDataDTO.getPkMaxAwards()) {
// BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards());
// if (null != bdAwards) {
// if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
// memberDataDTO.setMaxAwardsVal(memberDataDTO.getAwardsVal());
// memberDataDTO.setMaxAwardsIcon(memberDataDTO.getAwardsIcon());
// } else {
// memberDataDTO.setMaxAwardsVal(bdAwards.getAwardsName());
// memberDataDTO.setMaxAwardsIcon(bdAwards.getImage());
// }
// }
// }
// // 分红奖衔
// if (null != memberDataDTO.getPkRangeAwards()) {
// BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkRangeAwards());
// if (null != bdAwards) {
// if (bdAwards.getAwardsValue() > EAwards.HIGH_MANAGER.getValue()) {
// // 前4级不显示分红奖衔
// memberDataDTO.setRangeAwardsVal(bdAwards.getAwardsName());
// memberDataDTO.setRangeAwardsIcon(bdAwards.getImage());
// }
// }
// }
// 币种
if (null != memberDataDTO.getPkSettleCountry()) {
BdCurrency bdCurrency = iBdCurrencyService.getCurrency(memberDataDTO.getPkSettleCountry());

View File

@ -415,4 +415,9 @@ public class CuMember extends BaseEntity {
@TableField("IS_ACTIVATE")
private Integer isActivate;
/**
* 分公司省ID
*/
@TableField("PK_AREA_ID")
private Integer pkAreaId;
}

View File

@ -211,4 +211,8 @@ public class CuMemberExt extends CuMember {
*/
private String lastMemberCode;
/**
* 分公司绑定省名称
*/
private String areaName;
}