forked from angelo/java-retail-app
## Feat - 收益区域&配送中心
This commit is contained in:
parent
3566191943
commit
83d48fa99d
|
@ -3,10 +3,12 @@ package com.hzs.retail.member.controller.api;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
|
@ -58,18 +60,18 @@ public class RetailMemberController extends BaseController {
|
|||
// }
|
||||
|
||||
|
||||
// /**
|
||||
// * 获取会员收益区域
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/get-region")
|
||||
// public AjaxResult getRegion() {
|
||||
// Long userId = SecurityUtils.getUserId();
|
||||
// Integer systemType = SecurityUtils.getSystemType();
|
||||
// Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
//
|
||||
// CuMemberRetailRegionExt cuMemberRetailRegionExt = iCuMemberRetailRegionService.getRegionByMember(userId, EGrade.S_VIP.getValue(), systemType);
|
||||
/**
|
||||
* 获取会员收益区域
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/get-region")
|
||||
public AjaxResult getRegion() {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Integer systemType = SecurityUtils.getSystemType();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
List<CuMemberRetailRegionExt> cuMemberRetailRegionExtList = iCuMemberRetailRegionService.getRegionByMemberList(userId, EGrade.S_VIP.getValue(), systemType);
|
||||
return AjaxResult.success(cuMemberRetailRegionExtList);
|
||||
// log.info("cuMemberRetailRegionExt -> {}", JSONUtil.toJsonStr(cuMemberRetailRegionExt));
|
||||
// if (null != cuMemberRetailRegionExt) {
|
||||
// // 已自选区域或者已后台指定
|
||||
|
@ -103,34 +105,34 @@ public class RetailMemberController extends BaseController {
|
|||
// .build());
|
||||
// }
|
||||
// }
|
||||
// // 达到条件,但是没有选择区域,需要弹窗选择区域
|
||||
// // 验证伞下业绩+自己是否累计30W
|
||||
//
|
||||
// /*
|
||||
// 2025年6月11日 取消其他验证
|
||||
// // 2025.01.11 调整需求,当前会员必须有效(至少下过一单)
|
||||
// if (iCuMemberRetailRegionService.getOrderCount(userId, systemType, BoxProductUtil.getBoxProductListBySystemType(systemType)) == 0) {
|
||||
// return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||
// .regionStatus(EYesNo.NO.getIntValue())
|
||||
// .build());
|
||||
// }
|
||||
//
|
||||
// // 2025.02.21 需求,2025.03.21 按正式规则执行(V5实单非注水盒数达标 或 月大区30万+小区10万,可选择区域)
|
||||
// R<CuMemberRetail> checkResult = iMemberSettleBonusApi.queryValidateBoxOrAchieve(userId);
|
||||
// if (checkResult.isSuccess()) {
|
||||
// if (checkResult.getData().getValidateFlag()) {
|
||||
// return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||
// .regionStatus(EYesNo.YES.getIntValue())
|
||||
// .build());
|
||||
// }
|
||||
// }
|
||||
// */
|
||||
// 达到条件,但是没有选择区域,需要弹窗选择区域
|
||||
// 验证伞下业绩+自己是否累计30W
|
||||
|
||||
/*
|
||||
2025年6月11日 取消其他验证
|
||||
// 2025.01.11 调整需求,当前会员必须有效(至少下过一单)
|
||||
if (iCuMemberRetailRegionService.getOrderCount(userId, systemType, BoxProductUtil.getBoxProductListBySystemType(systemType)) == 0) {
|
||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||
.regionStatus(EYesNo.NO.getIntValue())
|
||||
.build());
|
||||
}
|
||||
|
||||
// 2025.02.21 需求,2025.03.21 按正式规则执行(V5实单非注水盒数达标 或 月大区30万+小区10万,可选择区域)
|
||||
R<CuMemberRetail> checkResult = iMemberSettleBonusApi.queryValidateBoxOrAchieve(userId);
|
||||
if (checkResult.isSuccess()) {
|
||||
if (checkResult.getData().getValidateFlag()) {
|
||||
return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||
.regionStatus(EYesNo.YES.getIntValue())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
*/
|
||||
// }
|
||||
// // 没达到条件,不需要显示区域
|
||||
// 没达到条件,不需要显示区域
|
||||
// return AjaxResult.success(RetailMemberRegionVO.builder()
|
||||
// .regionStatus(EYesNo.NO.getIntValue())
|
||||
// .build());
|
||||
// }
|
||||
}
|
||||
//
|
||||
// /**
|
||||
// * 设置会员收益区域
|
||||
|
|
|
@ -25,7 +25,9 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
CuMemberRetailRegionExt getRegionByMember(@Param("pkMember") Long pkMember,
|
||||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
List<CuMemberRetailRegionExt> getRegionByMemberList(@Param("pkMember") Long pkMember,
|
||||
@Param("gradeValue") Integer gradeValue,
|
||||
@Param("systemType") Integer systemType);
|
||||
/**
|
||||
* 插入收益区域
|
||||
*
|
||||
|
|
|
@ -24,6 +24,7 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
* @return
|
||||
*/
|
||||
CuMemberRetailRegionExt getRegionByMember(Long pkMember, Integer gradeValue, Integer systemType);
|
||||
List<CuMemberRetailRegionExt> getRegionByMemberList(Long pkMember, Integer gradeValue, Integer systemType);
|
||||
|
||||
/**
|
||||
* 设置会员收益区域
|
||||
|
|
|
@ -4,7 +4,6 @@ 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.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.*;
|
||||
|
@ -14,7 +13,6 @@ import com.hzs.common.core.service.RedisService;
|
|||
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.domain.system.base.ext.AreaCache;
|
||||
import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||
|
@ -24,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新零售会员区域配置 服务实现类
|
||||
|
@ -41,6 +41,11 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
return baseMapper.getRegionByMember(pkMember, gradeValue, systemType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberRetailRegionExt> getRegionByMemberList(Long pkMember, Integer gradeValue, Integer systemType) {
|
||||
return baseMapper.getRegionByMemberList(pkMember, gradeValue, systemType);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public String setRegion(RetailMemberRegionParam param) {
|
||||
|
|
|
@ -241,6 +241,38 @@
|
|||
ORDER BY
|
||||
nvl( region.num, 0 ) DESC
|
||||
</select>
|
||||
<select id="getRegionByMemberList"
|
||||
resultType="com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt">
|
||||
select cm.member_code,
|
||||
cm.is_region,
|
||||
cmrr.*,
|
||||
bap.name province_val,
|
||||
bac.name city_val,
|
||||
bax.name county_val,
|
||||
cm.IS_ACTIVATE
|
||||
from cu_member cm
|
||||
left join cu_member_retail_region cmrr
|
||||
on cmrr.pk_member = cm.pk_id
|
||||
and cmrr.del_flag = 0
|
||||
and cmrr.effective = 0
|
||||
and cmrr.system_type = #{systemType}
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = cm.pk_settle_grade
|
||||
and bg.del_flag = 0
|
||||
left join bd_area bap
|
||||
on bap.pk_id = cmrr.province
|
||||
and bap.del_flag = 0
|
||||
left join bd_area bac
|
||||
on bac.pk_id = cmrr.city
|
||||
and bac.del_flag = 0
|
||||
left join bd_area bax
|
||||
on bax.pk_id = cmrr.county
|
||||
and bax.del_flag = 0
|
||||
where cm.del_flag = 0
|
||||
and cm.pk_id = #{pkMember}
|
||||
and cmrr.effective = 0
|
||||
and bg.grade_value >= #{gradeValue}
|
||||
</select>
|
||||
|
||||
<!-- 插入或更新区域选择 -->
|
||||
<update id="mergeMemberRetailRegion">
|
||||
|
|
|
@ -272,10 +272,10 @@ public class ApiRetailOrderController {
|
|||
}
|
||||
|
||||
// 校验会员选择区域是否已经被占用
|
||||
checkStr = this.checkRegionNum(registerParam);
|
||||
if (null != checkStr) {
|
||||
return AjaxResult.error(checkStr);
|
||||
}
|
||||
// checkStr = this.checkRegionNum(registerParam);
|
||||
// if (null != checkStr) {
|
||||
// return AjaxResult.error(checkStr);
|
||||
// }
|
||||
|
||||
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||
|
|
Loading…
Reference in New Issue