forked from angelo/java-retail-app
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
0ab028638d
|
@ -1058,6 +1058,8 @@ public class CuMemberController extends BaseController {
|
|||
if (cuMember == null) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
|
||||
}
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
cuMember.setPkSettleGradeValue(gradeDTO.getGradeValue());
|
||||
return AjaxResult.success(BeanUtil.copyProperties(cuMember, CuMemberExt.class));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ 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.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.system.base.BdCountry;
|
||||
import com.hzs.common.domain.system.config.BdAwards;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
|
@ -40,6 +41,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
|
|||
import com.hzs.member.handlebusiness.vo.BusinessTypeValueVO;
|
||||
import com.hzs.member.handlebusiness.vo.HandleBusinessShowVO;
|
||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
import com.hzs.system.base.ICountryServiceApi;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
|
@ -93,6 +95,8 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
|||
private ICuMemberBusinessLicenseService cuMemberBusinessLicenseService;
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
private ICuMemberRetailRegionService cuMemberRetailRegionService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
|
@ -752,19 +756,19 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
|||
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 ServiceException("已存在结算等级为公司的用户,不允许重复添加!");
|
||||
}
|
||||
} else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
||||
// 2025年6月20日 新等级 分公司验省唯一
|
||||
int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember());
|
||||
if (count > 0) {
|
||||
throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!");
|
||||
}
|
||||
}
|
||||
// if (EGrade.COMPANY.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
||||
// // 2025年6月20日 新等级 公司验全唯一
|
||||
// int count = cuMemberService.validateCompanyCount();
|
||||
// if (count > 0) {
|
||||
// throw new ServiceException("已存在结算等级为公司的用户,不允许重复添加!");
|
||||
// }
|
||||
// } else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
||||
// // 2025年6月20日 新等级 分公司验省唯一
|
||||
// int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember());
|
||||
// if (count > 0) {
|
||||
// throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!");
|
||||
// }
|
||||
// }
|
||||
// 记录升级历史
|
||||
cuMemberLevel = CuMemberLevel.builder()
|
||||
.pkMember(businessMemberVO.getPkMember())
|
||||
|
@ -773,6 +777,17 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
|||
.newLevel(Integer.parseInt(businessMemberVO.getNewValue()))
|
||||
.upgradeTime(new Date())
|
||||
.build();
|
||||
boolean delFlag = true;
|
||||
if((EGrade.VIP.getValue() != Integer.parseInt(businessMemberVO.getOldValue()) && (EGrade.S_VIP.getValue() != Integer.parseInt(businessMemberVO.getOldValue())))
|
||||
|| (EGrade.S_VIP.getValue() != Integer.parseInt(businessMemberVO.getOldValue()) && (EGrade.VIP.getValue() != Integer.parseInt(businessMemberVO.getOldValue())))
|
||||
){
|
||||
delFlag = false;
|
||||
}
|
||||
if(delFlag){
|
||||
LambdaQueryWrapper<CuMemberRetailRegion> delWrapper = new LambdaQueryWrapper<>();
|
||||
delWrapper.eq(CuMemberRetailRegion::getPkMember, businessMemberVO.getPkMember());
|
||||
cuMemberRetailRegionService.remove(delWrapper);
|
||||
}
|
||||
cuMemberLevel.setPkCountry(handleBusinessVO.getPkCountry());
|
||||
cuMemberLevel.setPkCreator(loginUser.getUserId());
|
||||
cuMemberLevelList.add(cuMemberLevel);
|
||||
|
|
|
@ -9,6 +9,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.RetailRegionTreeQueryConstants;
|
||||
import com.hzs.common.core.constant.SysConstants;
|
||||
import com.hzs.common.core.constant.msg.AreaConstants;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
|
@ -75,6 +76,15 @@ public class RetailMemberController extends BaseController {
|
|||
}
|
||||
return AjaxResult.success(retailMemberInfoVO);
|
||||
}
|
||||
// @GetMapping("/test")
|
||||
// public AjaxResult test() {
|
||||
// List<Tree<String>> test1 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.CITY);
|
||||
// List<Tree<String>> test2 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.COUNTY);
|
||||
// log.info("test1: {}", test1);
|
||||
// log.info("test2: {}", test2);
|
||||
// return AjaxResult.success();
|
||||
// }
|
||||
|
||||
|
||||
// /**
|
||||
// * 获取会员收益区域
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.retail.member.controller.manage;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
|
@ -152,6 +153,9 @@ public class CuMemberRetailRegionController extends BaseController {
|
|||
return AjaxResult.error(ConfigMsgConstants.MEMBER_RETAIL_REGION_REPEAT);
|
||||
}
|
||||
// 校验区域是否被占用
|
||||
if(ObjectUtil.isEmpty(mrrExt.getCounty())){
|
||||
mrrExt.setCounty(-1);
|
||||
}
|
||||
int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.<CuMemberRetailRegion>lambdaQuery()
|
||||
.eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince())
|
||||
.eq(CuMemberRetailRegion::getCity, mrrExt.getCity())
|
||||
|
|
|
@ -99,4 +99,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
@Param("county") Integer county,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
|
||||
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public class RetailMemberRegionParam implements Serializable {
|
|||
/**
|
||||
* 县
|
||||
*/
|
||||
@NotNull(message = "请选择收益区域")
|
||||
// @NotNull(message = "请选择收益区域")
|
||||
private Integer county;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.retail.member.service;
|
||||
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
|
@ -84,4 +85,10 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
*/
|
||||
void handleRepeatRegion();
|
||||
|
||||
/**
|
||||
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||
* @param queryType
|
||||
* @return
|
||||
*/
|
||||
List<Tree<String>> getRegionTreeList(String queryType);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
package com.hzs.retail.member.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||
import cn.hutool.core.lang.tree.TreeUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.*;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
import com.hzs.common.domain.system.base.BdArea;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||
|
@ -20,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -204,4 +210,23 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tree<String>> getRegionTreeList(String queryType) {
|
||||
List<BdArea> areaList = baseMapper.getRegionTreeList(queryType, SecurityUtils.getUserId());
|
||||
if (CollectionUtil.isEmpty(areaList)) {
|
||||
return null;
|
||||
}
|
||||
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
|
||||
treeNodeConfig.setDeep(3);
|
||||
if(RetailRegionTreeQueryConstants.CITY.equals(queryType)){
|
||||
treeNodeConfig.setDeep(2);
|
||||
}
|
||||
return TreeUtil.build(areaList, "0", treeNodeConfig,
|
||||
(treeNode, tree) -> {
|
||||
tree.setId(treeNode.getPkId().toString());
|
||||
tree.setParentId(treeNode.getParent().toString());
|
||||
tree.setName(treeNode.getName());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -856,7 +856,7 @@
|
|||
</if>
|
||||
<if test='item.businessType == "113"'>
|
||||
<foreach collection="item.businessValueList" index="index" item="value">
|
||||
pk_settle_grade = #{value}, pk_area_id = #{businessMemberList[${index}].areaId}
|
||||
pk_settle_grade = #{value}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test='item.businessType == "107"'>
|
||||
|
|
|
@ -239,6 +239,50 @@
|
|||
group by cmrr.province, cmrr.city, cmrr.county
|
||||
having count(1) > 1
|
||||
</select>
|
||||
<select id="getRegionTreeList" resultType="com.hzs.common.domain.system.base.BdArea">
|
||||
SELECT
|
||||
pr.*,
|
||||
nvl( region.num, 0 )
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ba.PK_ID,
|
||||
ba.PARENT,
|
||||
ba.NAME,
|
||||
ba.BIND_NUM
|
||||
FROM
|
||||
bd_area ba
|
||||
WHERE
|
||||
ba.del_flag = 0
|
||||
AND ba.pk_country = 1
|
||||
AND ba.ENABLE_STATE = 0
|
||||
) pr
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
<if test="queryType != null and queryType == 'city'">
|
||||
city id,
|
||||
</if>
|
||||
<if test="queryType != null and queryType == 'county'">
|
||||
county id,
|
||||
</if>
|
||||
count( 1 ) num
|
||||
FROM cu_member_retail_region
|
||||
WHERE
|
||||
del_flag = 0
|
||||
AND PK_MEMBER != #{userId}
|
||||
GROUP BY
|
||||
<if test="queryType != null and queryType == 'city'">
|
||||
city
|
||||
</if>
|
||||
<if test="queryType != null and queryType == 'county'">
|
||||
county
|
||||
</if>
|
||||
) region ON pr.PK_ID = region.id
|
||||
WHERE
|
||||
nvl( region.num, 0 ) <![CDATA[ < ]]> pr.BIND_NUM
|
||||
ORDER BY
|
||||
nvl( region.num, 0 ) DESC
|
||||
</select>
|
||||
|
||||
<!-- 更新非最新区域其它数据 -->
|
||||
<update id="updateRepeatDate">
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package com.hzs.common.core.constant;
|
||||
|
||||
/**
|
||||
* 用户绑定收益区域查询类型常量
|
||||
*/
|
||||
public class RetailRegionTreeQueryConstants {
|
||||
|
||||
/**
|
||||
* 市级
|
||||
*/
|
||||
public static final String CITY = "city";
|
||||
/**
|
||||
* 区级
|
||||
*/
|
||||
public static final String COUNTY = "county";
|
||||
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
ALTER TABLE "CU_MEMBER_RETAIL_REGION"
|
||||
MODIFY ("COUNTY" NULL)
|
Loading…
Reference in New Issue