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) {
|
if (cuMember == null) {
|
||||||
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
|
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));
|
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.detail.CuMemberServiceLog;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.member.handleBusiness.CuHandleBusiness;
|
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.base.BdCountry;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
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.BusinessTypeValueVO;
|
||||||
import com.hzs.member.handlebusiness.vo.HandleBusinessShowVO;
|
import com.hzs.member.handlebusiness.vo.HandleBusinessShowVO;
|
||||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
||||||
|
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||||
import com.hzs.system.base.ICountryServiceApi;
|
import com.hzs.system.base.ICountryServiceApi;
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
import com.hzs.system.config.IAwardsServiceApi;
|
||||||
import com.hzs.system.config.IGradeServiceApi;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
|
@ -93,6 +95,8 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
||||||
private ICuMemberBusinessLicenseService cuMemberBusinessLicenseService;
|
private ICuMemberBusinessLicenseService cuMemberBusinessLicenseService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberRetailRegionService cuMemberRetailRegionService;
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IGradeServiceApi iGradeServiceApi;
|
IGradeServiceApi iGradeServiceApi;
|
||||||
|
@ -752,19 +756,19 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
||||||
if (CollUtil.isNotEmpty(businessMemberListUpdate)) {
|
if (CollUtil.isNotEmpty(businessMemberListUpdate)) {
|
||||||
for (BusinessMemberVO businessMemberVO : businessMemberListUpdate) {
|
for (BusinessMemberVO businessMemberVO : businessMemberListUpdate) {
|
||||||
Integer updateGradeId = Integer.parseInt(businessMemberVO.getNewValue());
|
Integer updateGradeId = Integer.parseInt(businessMemberVO.getNewValue());
|
||||||
if (EGrade.COMPANY.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
// if (EGrade.COMPANY.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
||||||
// 2025年6月20日 新等级 公司验全唯一
|
// // 2025年6月20日 新等级 公司验全唯一
|
||||||
int count = cuMemberService.validateCompanyCount();
|
// int count = cuMemberService.validateCompanyCount();
|
||||||
if (count > 0) {
|
// if (count > 0) {
|
||||||
throw new ServiceException("已存在结算等级为公司的用户,不允许重复添加!");
|
// throw new ServiceException("已存在结算等级为公司的用户,不允许重复添加!");
|
||||||
}
|
// }
|
||||||
} else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
// } else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) {
|
||||||
// 2025年6月20日 新等级 分公司验省唯一
|
// // 2025年6月20日 新等级 分公司验省唯一
|
||||||
int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember());
|
// int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember());
|
||||||
if (count > 0) {
|
// if (count > 0) {
|
||||||
throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!");
|
// throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
// 记录升级历史
|
// 记录升级历史
|
||||||
cuMemberLevel = CuMemberLevel.builder()
|
cuMemberLevel = CuMemberLevel.builder()
|
||||||
.pkMember(businessMemberVO.getPkMember())
|
.pkMember(businessMemberVO.getPkMember())
|
||||||
|
@ -773,6 +777,17 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl<CuHandleBusinessMap
|
||||||
.newLevel(Integer.parseInt(businessMemberVO.getNewValue()))
|
.newLevel(Integer.parseInt(businessMemberVO.getNewValue()))
|
||||||
.upgradeTime(new Date())
|
.upgradeTime(new Date())
|
||||||
.build();
|
.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.setPkCountry(handleBusinessVO.getPkCountry());
|
||||||
cuMemberLevel.setPkCreator(loginUser.getUserId());
|
cuMemberLevel.setPkCreator(loginUser.getUserId());
|
||||||
cuMemberLevelList.add(cuMemberLevel);
|
cuMemberLevelList.add(cuMemberLevel);
|
||||||
|
|
|
@ -9,6 +9,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
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.SysConstants;
|
||||||
import com.hzs.common.core.constant.msg.AreaConstants;
|
import com.hzs.common.core.constant.msg.AreaConstants;
|
||||||
import com.hzs.common.core.enums.EGrade;
|
import com.hzs.common.core.enums.EGrade;
|
||||||
|
@ -75,6 +76,15 @@ public class RetailMemberController extends BaseController {
|
||||||
}
|
}
|
||||||
return AjaxResult.success(retailMemberInfoVO);
|
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;
|
package com.hzs.retail.member.controller.manage;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
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.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.hzs.common.core.annotation.Log;
|
import com.hzs.common.core.annotation.Log;
|
||||||
|
@ -152,6 +153,9 @@ public class CuMemberRetailRegionController extends BaseController {
|
||||||
return AjaxResult.error(ConfigMsgConstants.MEMBER_RETAIL_REGION_REPEAT);
|
return AjaxResult.error(ConfigMsgConstants.MEMBER_RETAIL_REGION_REPEAT);
|
||||||
}
|
}
|
||||||
// 校验区域是否被占用
|
// 校验区域是否被占用
|
||||||
|
if(ObjectUtil.isEmpty(mrrExt.getCounty())){
|
||||||
|
mrrExt.setCounty(-1);
|
||||||
|
}
|
||||||
int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.<CuMemberRetailRegion>lambdaQuery()
|
int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.<CuMemberRetailRegion>lambdaQuery()
|
||||||
.eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince())
|
.eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince())
|
||||||
.eq(CuMemberRetailRegion::getCity, mrrExt.getCity())
|
.eq(CuMemberRetailRegion::getCity, mrrExt.getCity())
|
||||||
|
|
|
@ -99,4 +99,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
||||||
@Param("county") Integer county,
|
@Param("county") Integer county,
|
||||||
@Param("systemType") Integer systemType);
|
@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;
|
private Integer county;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.hzs.retail.member.service;
|
package com.hzs.retail.member.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
|
@ -84,4 +85,10 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
||||||
*/
|
*/
|
||||||
void handleRepeatRegion();
|
void handleRepeatRegion();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||||
|
* @param queryType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Tree<String>> getRegionTreeList(String queryType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,20 @@
|
||||||
package com.hzs.retail.member.service.impl;
|
package com.hzs.retail.member.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
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.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.*;
|
import com.hzs.common.core.constant.*;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.exception.ServiceException;
|
import com.hzs.common.core.exception.ServiceException;
|
||||||
import com.hzs.common.core.service.RedisService;
|
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.CuMemberRetailRegion;
|
||||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.system.base.BdArea;
|
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.mapper.CuMemberRetailRegionMapper;
|
||||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
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.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
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>
|
||||||
<if test='item.businessType == "113"'>
|
<if test='item.businessType == "113"'>
|
||||||
<foreach collection="item.businessValueList" index="index" item="value">
|
<foreach collection="item.businessValueList" index="index" item="value">
|
||||||
pk_settle_grade = #{value}, pk_area_id = #{businessMemberList[${index}].areaId}
|
pk_settle_grade = #{value}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test='item.businessType == "107"'>
|
<if test='item.businessType == "107"'>
|
||||||
|
|
|
@ -239,6 +239,50 @@
|
||||||
group by cmrr.province, cmrr.city, cmrr.county
|
group by cmrr.province, cmrr.city, cmrr.county
|
||||||
having count(1) > 1
|
having count(1) > 1
|
||||||
</select>
|
</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">
|
<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