forked from angelo/java-retail-app
## 注册、升级订单添加区域选择处理;
This commit is contained in:
parent
d3ea099ef3
commit
526ffe6c49
|
@ -26,12 +26,12 @@ import com.hzs.common.domain.member.detail.CuMemberChangeLog;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
|
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.common.domain.system.config.BdAccount;
|
import com.hzs.common.domain.system.config.BdAccount;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
import com.hzs.common.domain.system.config.BdGrade;
|
import com.hzs.common.domain.system.config.BdGrade;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
||||||
import com.hzs.member.account.service.ICuMemberAccountService;
|
import com.hzs.member.account.service.ICuMemberAccountService;
|
||||||
|
@ -45,6 +45,7 @@ import com.hzs.member.detail.service.ICuMemberAwardsService;
|
||||||
import com.hzs.member.detail.service.ICuMemberChangeLogService;
|
import com.hzs.member.detail.service.ICuMemberChangeLogService;
|
||||||
import com.hzs.member.detail.service.ICuMemberLevelService;
|
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||||
import com.hzs.member.pub.tool.MemberToolsHandler;
|
import com.hzs.member.pub.tool.MemberToolsHandler;
|
||||||
|
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
|
||||||
import com.hzs.sale.order.ISaOrderServiceApi;
|
import com.hzs.sale.order.ISaOrderServiceApi;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
|
@ -92,8 +93,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
private RedisService redisService;
|
private RedisService redisService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberService iCuMemberService;
|
private ICuMemberService iCuMemberService;
|
||||||
|
@Autowired
|
||||||
private ICuMemberRegisterService cuMemberRegisterService;
|
private ICuMemberRegisterService iCuMemberRegisterService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberRetailRegionService iCuMemberRetailRegionService;
|
||||||
|
|
||||||
private ICuMemberAccountService cuMemberAccountService;
|
private ICuMemberAccountService cuMemberAccountService;
|
||||||
|
|
||||||
|
@ -146,10 +149,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
this.cuMemberAccountService = cuMemberAccountService;
|
this.cuMemberAccountService = cuMemberAccountService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setCuMemberRegisterService(ICuMemberRegisterService cuMemberRegisterService) {
|
|
||||||
this.cuMemberRegisterService = cuMemberRegisterService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setCuMemberChangeLogService(ICuMemberChangeLogService cuMemberChangeLogService) {
|
public void setCuMemberChangeLogService(ICuMemberChangeLogService cuMemberChangeLogService) {
|
||||||
|
@ -290,7 +289,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 用户注册信息
|
// 用户注册信息
|
||||||
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
||||||
cuMemberRegister.setPkMember(cuMember.getPkId());
|
cuMemberRegister.setPkMember(cuMember.getPkId());
|
||||||
cuMemberRegisterService.save(cuMemberRegister);
|
iCuMemberRegisterService.save(cuMemberRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -319,7 +318,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 用户注册信息
|
// 用户注册信息
|
||||||
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
||||||
cuMemberRegister.setPkMember(cuMember.getPkId());
|
cuMemberRegister.setPkMember(cuMember.getPkId());
|
||||||
cuMemberRegisterService.save(cuMemberRegister);
|
iCuMemberRegisterService.save(cuMemberRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -611,7 +610,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
cuMemberRegister.setPkMember(member.getPkId());
|
cuMemberRegister.setPkMember(member.getPkId());
|
||||||
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
||||||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||||
cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||||
|
@ -643,7 +642,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
updateWrapperRegister.set(CuMemberRegister::getModifiedTime, DateUtils.currentDateTime());
|
updateWrapperRegister.set(CuMemberRegister::getModifiedTime, DateUtils.currentDateTime());
|
||||||
updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified());
|
updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified());
|
||||||
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
||||||
cuMemberRegisterService.update(updateWrapperRegister);
|
iCuMemberRegisterService.update(updateWrapperRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||||
|
@ -874,7 +873,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
cuMemberRegister.setPkMember(pkMember);
|
cuMemberRegister.setPkMember(pkMember);
|
||||||
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
||||||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||||
cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||||
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator());
|
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator());
|
||||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||||
}
|
}
|
||||||
|
@ -1496,12 +1495,29 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 保存会员注册信息
|
// 保存会员注册信息
|
||||||
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
||||||
cuMemberRegister.setPkMember(cuMember.getPkId());
|
cuMemberRegister.setPkMember(cuMember.getPkId());
|
||||||
cuMemberRegisterService.save(cuMemberRegister);
|
iCuMemberRegisterService.save(cuMemberRegister);
|
||||||
|
|
||||||
|
// 会员等级
|
||||||
|
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||||
// 保存会员等级变动
|
// 保存会员等级变动
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0);
|
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0);
|
||||||
|
|
||||||
|
if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()
|
||||||
|
|| EGrade.BRANCH_COMPANY.getValue() == gradeDTO.getGradeValue()) {
|
||||||
|
// 店主、分公司级别,判断处理区域
|
||||||
|
if (null != saOrder.getRegionProvince()
|
||||||
|
&& null != saOrder.getRegionCity()) {
|
||||||
|
iCuMemberRetailRegionService.mergeMemberRetailRegion(CuMemberRetailRegion.builder()
|
||||||
|
.pkMember(cuMember.getPkId())
|
||||||
|
.province(saOrder.getRegionProvince())
|
||||||
|
.city(saOrder.getRegionCity())
|
||||||
|
.county(saOrder.getRegionCounty())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 判断处理推荐人等级
|
// 判断处理推荐人等级
|
||||||
handleParentUpgrade(cuMember, saOrder);
|
handleParentUpgrade(cuMember, saOrder, gradeDTO);
|
||||||
|
|
||||||
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
||||||
}
|
}
|
||||||
|
@ -1512,12 +1528,29 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 更新会员信息
|
// 更新会员信息
|
||||||
updateCuMember(cuMember);
|
updateCuMember(cuMember);
|
||||||
|
|
||||||
|
// 会员等级
|
||||||
|
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||||
if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
|
if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
|
||||||
// 保存会员等级变动(如果旧等级和新等级相同,则不记录)
|
// 保存会员等级变动(如果旧等级和新等级相同,则不记录)
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
|
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
|
||||||
|
|
||||||
|
if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()
|
||||||
|
|| EGrade.BRANCH_COMPANY.getValue() == gradeDTO.getGradeValue()) {
|
||||||
|
// 店主、分公司级别,判断处理区域
|
||||||
|
if (null != saOrder.getRegionProvince()
|
||||||
|
&& null != saOrder.getRegionCity()) {
|
||||||
|
iCuMemberRetailRegionService.mergeMemberRetailRegion(CuMemberRetailRegion.builder()
|
||||||
|
.pkMember(cuMember.getPkId())
|
||||||
|
.province(saOrder.getRegionProvince())
|
||||||
|
.city(saOrder.getRegionCity())
|
||||||
|
.county(saOrder.getRegionCounty())
|
||||||
|
.build());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 判断处理推荐人等级
|
// 判断处理推荐人等级
|
||||||
handleParentUpgrade(cuMember, saOrder);
|
handleParentUpgrade(cuMember, saOrder, gradeDTO);
|
||||||
|
|
||||||
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
|
||||||
}
|
}
|
||||||
|
@ -1580,8 +1613,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
*
|
*
|
||||||
* @param cuMember
|
* @param cuMember
|
||||||
*/
|
*/
|
||||||
private void handleParentUpgrade(CuMember cuMember, SaOrderExt saOrder) {
|
private void handleParentUpgrade(CuMember cuMember, SaOrderExt saOrder, GradeDTO gradeDTO) {
|
||||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
if (null == gradeDTO) {
|
||||||
|
gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||||
|
}
|
||||||
if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()) {
|
if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()) {
|
||||||
// 会员等级为 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主
|
// 会员等级为 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主
|
||||||
CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent());
|
CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent());
|
||||||
|
|
|
@ -58,4 +58,13 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
||||||
@Param("waresCodeList") List<String> waresCodeList);
|
@Param("waresCodeList") List<String> waresCodeList);
|
||||||
|
|
||||||
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入或更新区域选择
|
||||||
|
*
|
||||||
|
* @param retailRegion
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int mergeMemberRetailRegion(@Param("retailRegion") CuMemberRetailRegion retailRegion);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,4 +60,13 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Tree<String>> getRegionTreeList(String queryType, Long pkMember);
|
List<Tree<String>> getRegionTreeList(String queryType, Long pkMember);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入或更新区域选择
|
||||||
|
*
|
||||||
|
* @param retailRegion
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int mergeMemberRetailRegion(CuMemberRetailRegion retailRegion);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,4 +115,9 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int mergeMemberRetailRegion(CuMemberRetailRegion retailRegion) {
|
||||||
|
return baseMapper.mergeMemberRetailRegion(retailRegion);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,4 +235,35 @@
|
||||||
nvl( region.num, 0 ) DESC
|
nvl( region.num, 0 ) DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 插入或更新区域选择 -->
|
||||||
|
<update id="mergeMemberRetailRegion">
|
||||||
|
merge into CU_MEMBER_RETAIL_REGION cmrr
|
||||||
|
using (
|
||||||
|
select
|
||||||
|
#{retailRegion.pkMember} pk_member,
|
||||||
|
#{retailRegion.province} province,
|
||||||
|
#{retailRegion.city} city,
|
||||||
|
#{retailRegion.county} county
|
||||||
|
from dual
|
||||||
|
) tmp
|
||||||
|
on (tmp.pk_member = cmrr.pk_member and cmrr.del_flag = 0)
|
||||||
|
WHEN MATCHED THEN
|
||||||
|
update
|
||||||
|
set cmrr.province = tmp.province,
|
||||||
|
cmrr.city = tmp.city,
|
||||||
|
cmrr.county = tmp.county,
|
||||||
|
cmrr.pk_modified = tmp.pk_member,
|
||||||
|
cmrr.modified_time = sysdate
|
||||||
|
WHEN NOT MATCHED THEN
|
||||||
|
insert
|
||||||
|
(pk_id, pk_member, province, city, county, pk_creator)
|
||||||
|
values
|
||||||
|
(cu_member_retail_region_seq.Nextval,
|
||||||
|
tmp.pk_member,
|
||||||
|
tmp.province,
|
||||||
|
tmp.city,
|
||||||
|
tmp.county,
|
||||||
|
tmp.pk_member)
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -15,6 +15,7 @@ import com.hzs.common.core.utils.StringUtils;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import com.hzs.common.domain.system.config.BdGrade;
|
import com.hzs.common.domain.system.config.BdGrade;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
|
@ -220,6 +221,12 @@ public class ApiRetailOrderController {
|
||||||
return AjaxResult.error(checkStr);
|
return AjaxResult.error(checkStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 校验会员选择区域是否已经被占用
|
||||||
|
checkStr = this.checkRegionNum(registerParam);
|
||||||
|
if (null != checkStr) {
|
||||||
|
return AjaxResult.error(checkStr);
|
||||||
|
}
|
||||||
|
|
||||||
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||||
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||||
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
||||||
|
@ -264,6 +271,12 @@ public class ApiRetailOrderController {
|
||||||
return AjaxResult.error(checkStr);
|
return AjaxResult.error(checkStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 校验会员选择区域是否已经被占用
|
||||||
|
checkStr = this.checkRegionNum(registerParam);
|
||||||
|
if (null != checkStr) {
|
||||||
|
return AjaxResult.error(checkStr);
|
||||||
|
}
|
||||||
|
|
||||||
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||||
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||||
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
||||||
|
@ -291,6 +304,9 @@ public class ApiRetailOrderController {
|
||||||
if (memberAccountExt.getIsPayment()) {
|
if (memberAccountExt.getIsPayment()) {
|
||||||
// 进行支付
|
// 进行支付
|
||||||
saOrderExt.setSpecialArea(registerParam.getSpecialArea());
|
saOrderExt.setSpecialArea(registerParam.getSpecialArea());
|
||||||
|
saOrderExt.setRegionProvince(registerParam.getRegionProvince());
|
||||||
|
saOrderExt.setRegionCity(registerParam.getRegionCity());
|
||||||
|
saOrderExt.setRegionCounty(registerParam.getRegionCounty());
|
||||||
String payStr = iRetailOrderService.payRegOrder(saOrderExt, newMember, memberAccountExt);
|
String payStr = iRetailOrderService.payRegOrder(saOrderExt, newMember, memberAccountExt);
|
||||||
if (null != payStr) {
|
if (null != payStr) {
|
||||||
return AjaxResult.error(payStr);
|
return AjaxResult.error(payStr);
|
||||||
|
@ -345,6 +361,12 @@ public class ApiRetailOrderController {
|
||||||
}
|
}
|
||||||
upgradeParam.setUpgradeMember(updateGradeMember);
|
upgradeParam.setUpgradeMember(updateGradeMember);
|
||||||
|
|
||||||
|
// 校验会员选择区域是否已经被占用
|
||||||
|
otherCheckStr = this.checkRegionNum(upgradeParam);
|
||||||
|
if (null != otherCheckStr) {
|
||||||
|
return AjaxResult.error(otherCheckStr);
|
||||||
|
}
|
||||||
|
|
||||||
// 购物车中获取商品信息
|
// 购物车中获取商品信息
|
||||||
upgradeParam.setOrderItemsParams(convertShoppingCarToSku(upgradeParam.getPkCreator(), upgradeParam.getShopList()));
|
upgradeParam.setOrderItemsParams(convertShoppingCarToSku(upgradeParam.getPkCreator(), upgradeParam.getShopList()));
|
||||||
|
|
||||||
|
@ -381,6 +403,12 @@ public class ApiRetailOrderController {
|
||||||
return AjaxResult.error(otherCheckStr);
|
return AjaxResult.error(otherCheckStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 校验会员选择区域是否已经被占用
|
||||||
|
otherCheckStr = this.checkRegionNum(upgradeParam);
|
||||||
|
if (null != otherCheckStr) {
|
||||||
|
return AjaxResult.error(otherCheckStr);
|
||||||
|
}
|
||||||
|
|
||||||
// 支付入参
|
// 支付入参
|
||||||
upgradeParam.setIsPay(EYesNo.YES.getIntValue());
|
upgradeParam.setIsPay(EYesNo.YES.getIntValue());
|
||||||
|
|
||||||
|
@ -399,6 +427,9 @@ public class ApiRetailOrderController {
|
||||||
if (memberAccountExt.getIsPayment()) {
|
if (memberAccountExt.getIsPayment()) {
|
||||||
// 进行支付
|
// 进行支付
|
||||||
saOrderExt.setSpecialArea(upgradeParam.getSpecialArea());
|
saOrderExt.setSpecialArea(upgradeParam.getSpecialArea());
|
||||||
|
saOrderExt.setRegionProvince(upgradeParam.getRegionProvince());
|
||||||
|
saOrderExt.setRegionCity(upgradeParam.getRegionCity());
|
||||||
|
saOrderExt.setRegionCounty(upgradeParam.getRegionCounty());
|
||||||
String payStr = iRetailOrderService.payUpgOrder(saOrderExt, updateGradeMember, memberAccountExt);
|
String payStr = iRetailOrderService.payUpgOrder(saOrderExt, updateGradeMember, memberAccountExt);
|
||||||
if (null != payStr) {
|
if (null != payStr) {
|
||||||
return AjaxResult.error(payStr);
|
return AjaxResult.error(payStr);
|
||||||
|
@ -729,4 +760,24 @@ public class ApiRetailOrderController {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验会员选择区域是否已经被占用
|
||||||
|
*
|
||||||
|
* @param orderParam
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String checkRegionNum(RetailOrderParam orderParam) {
|
||||||
|
if (null != orderParam.getRegionProvince()
|
||||||
|
&& null != orderParam.getRegionCity()) {
|
||||||
|
// 区域省、市不为空,则进行判断
|
||||||
|
CuMemberRetailRegionExt cuMemberRetailRegion = iSaOrderService.getRegionBindNum(orderParam.getRegionProvince(), orderParam.getRegionCity(), orderParam.getRegionCounty());
|
||||||
|
if (null != cuMemberRetailRegion) {
|
||||||
|
if (cuMemberRetailRegion.getRegionNum() >= cuMemberRetailRegion.getBindNum()) {
|
||||||
|
return "当前区域已经达到绑定上限,请重新选择";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -589,6 +589,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
newMember.setPkAwards(registerParam.getPkAwards());
|
newMember.setPkAwards(registerParam.getPkAwards());
|
||||||
|
|
||||||
saOrderExt.setPkMember(newMember.getPkId());
|
saOrderExt.setPkMember(newMember.getPkId());
|
||||||
|
saOrderExt.setRegionProvince(registerParam.getRegionProvince());
|
||||||
|
saOrderExt.setRegionCity(registerParam.getRegionCity());
|
||||||
|
saOrderExt.setRegionCounty(registerParam.getRegionCounty());
|
||||||
|
|
||||||
resultStr = this.payRegOrder(saOrderExt, newMember, null);
|
resultStr = this.payRegOrder(saOrderExt, newMember, null);
|
||||||
} else {
|
} else {
|
||||||
|
@ -599,8 +602,19 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
return "会员信息不存在";
|
return "会员信息不存在";
|
||||||
}
|
}
|
||||||
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||||
|
// 获取缓存参数
|
||||||
|
RetailOrderUpgradeParam upgradeParam = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_UPG_PARAM + pkMember + orderCode);
|
||||||
|
if (null == upgradeParam) {
|
||||||
|
return "在线支付升级会员不存在";
|
||||||
|
}
|
||||||
|
|
||||||
// 升级订单
|
// 升级订单
|
||||||
cuMember.setPkSettleGrade(saOrderExt.getPkGrade());
|
cuMember.setPkSettleGrade(saOrderExt.getPkGrade());
|
||||||
|
|
||||||
|
saOrderExt.setRegionProvince(upgradeParam.getRegionProvince());
|
||||||
|
saOrderExt.setRegionCity(upgradeParam.getRegionCity());
|
||||||
|
saOrderExt.setRegionCounty(upgradeParam.getRegionCounty());
|
||||||
|
|
||||||
resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
|
resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
|
||||||
} else {
|
} else {
|
||||||
// 其它订单
|
// 其它订单
|
||||||
|
@ -640,7 +654,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
Map<Integer, Integer> waresLimitMap = new HashMap<>();
|
Map<Integer, Integer> waresLimitMap = new HashMap<>();
|
||||||
|
|
||||||
// 盒数商品
|
// 盒数商品
|
||||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType());
|
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType());
|
||||||
|
|
||||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||||
saOrderItems.setPkOrder(saOrderExt.getPkId());
|
saOrderItems.setPkOrder(saOrderExt.getPkId());
|
||||||
|
@ -649,7 +663,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
saOrderItems.setCreationTime(saOrderExt.getCreationTime());
|
saOrderItems.setCreationTime(saOrderExt.getCreationTime());
|
||||||
|
|
||||||
// 指定商品拆分 并且 非赠品
|
// 指定商品拆分 并且 非赠品
|
||||||
if (boxProductList.contains(saOrderItems.getWareCode())
|
if (boxWaresList.contains(saOrderItems.getWareCode())
|
||||||
&& EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
&& EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||||
// key: 商品ID-商品价格(产品价格*产品数量)
|
// key: 商品ID-商品价格(产品价格*产品数量)
|
||||||
String key = saOrderItems.getPkWares() + "-" + (saOrderItems.getPrice().multiply(new BigDecimal(saOrderItems.getQuantity())));
|
String key = saOrderItems.getPkWares() + "-" + (saOrderItems.getPrice().multiply(new BigDecimal(saOrderItems.getQuantity())));
|
||||||
|
|
|
@ -166,4 +166,17 @@ public class RetailOrderParam implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer isPay;
|
private Integer isPay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择区域省
|
||||||
|
*/
|
||||||
|
private Integer regionProvince;
|
||||||
|
/**
|
||||||
|
* 选择区域市
|
||||||
|
*/
|
||||||
|
private Integer regionCity;
|
||||||
|
/**
|
||||||
|
* 选择区域县
|
||||||
|
*/
|
||||||
|
private Integer regionCounty;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -671,12 +671,6 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
return AjaxResult.error(checkStr);
|
return AjaxResult.error(checkStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验盒数商品与非盒数商品不能互换
|
|
||||||
checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
|
||||||
if (null != checkStr) {
|
|
||||||
return AjaxResult.error(checkStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 确认调换货物并发起审批
|
// 确认调换货物并发起审批
|
||||||
String str = iOrderBusinessService.changeProductApprovalSubmit(param, userTokenService.getLoginUser());
|
String str = iOrderBusinessService.changeProductApprovalSubmit(param, userTokenService.getLoginUser());
|
||||||
if (null == str) {
|
if (null == str) {
|
||||||
|
@ -722,12 +716,6 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
return AjaxResult.error(checkStr);
|
return AjaxResult.error(checkStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验盒数商品与非盒数商品不能互换
|
|
||||||
checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
|
||||||
if (null != checkStr) {
|
|
||||||
return AjaxResult.error(checkStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 调换货物不走签呈
|
// 调换货物不走签呈
|
||||||
String str = iOrderBusinessService.changeProductApprovalFreeSign(param, userTokenService.getLoginUser());
|
String str = iOrderBusinessService.changeProductApprovalFreeSign(param, userTokenService.getLoginUser());
|
||||||
if (null == str) {
|
if (null == str) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.hzs.sale.order.mapper;
|
package com.hzs.sale.order.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
|
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||||
|
@ -277,4 +278,14 @@ public interface SaOrderMapper extends BaseMapper<SaOrder> {
|
||||||
*/
|
*/
|
||||||
Date getFirstPayTime(@Param("pkMember") Long pkMember);
|
Date getFirstPayTime(@Param("pkMember") Long pkMember);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询省、市、区绑定次数
|
||||||
|
*
|
||||||
|
* @param province
|
||||||
|
* @param city
|
||||||
|
* @param county
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMemberRetailRegionExt getRegionBindNum(@Param("province") Integer province, @Param("city") Integer city, @Param("county") Integer county);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,14 +42,6 @@ public interface IOrderBusinessService {
|
||||||
*/
|
*/
|
||||||
String checkOrderDeliver(List<String> orderCodeList, Integer pkCountry);
|
String checkOrderDeliver(List<String> orderCodeList, Integer pkCountry);
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验新零售盒数产品是否可以换货
|
|
||||||
*
|
|
||||||
* @param param 请求入参
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
String checkOrderRetailProduct(OrderProductParam param);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本次业务修改费用
|
* 本次业务修改费用
|
||||||
*
|
*
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.sale.ext.*;
|
import com.hzs.common.domain.sale.ext.*;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||||
|
@ -628,4 +629,15 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
*/
|
*/
|
||||||
int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList, Integer systemType);
|
int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList, Integer systemType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询省、市、区绑定次数
|
||||||
|
*
|
||||||
|
* @param province
|
||||||
|
* @param city
|
||||||
|
* @param county
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMemberRetailRegionExt getRegionBindNum(Integer province, Integer city, Integer county);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,34 +151,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String checkOrderRetailProduct(OrderProductParam param) {
|
|
||||||
// 盒数商品对应的产品列表
|
|
||||||
List<Integer> pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxProductListBySystemType(null));
|
|
||||||
// 换货产品列表
|
|
||||||
List<Integer> paramProductList = param.getItemList().stream().map(OrderProductDetailParam::getPkProduct).collect(Collectors.toList());
|
|
||||||
|
|
||||||
SaOrder saOrder = iSaOrderService.getOne(Wrappers.<SaOrder>lambdaQuery()
|
|
||||||
.eq(SaOrder::getOrderCode, param.getOrderCode())
|
|
||||||
);
|
|
||||||
if (saOrder.getBoxNum() > 0) {
|
|
||||||
// 盒数商品订单,换货的产品是否都是盒数商品下的,如果是则可以进行更换,如果不是则不能更换
|
|
||||||
for (Integer pkProduct : paramProductList) {
|
|
||||||
if (!pkProductList.contains(pkProduct)) {
|
|
||||||
return "盒数商品与普通商品不能互相换货";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 非盒数商品订单
|
|
||||||
for (Integer pkProduct : paramProductList) {
|
|
||||||
if (pkProductList.contains(pkProduct)) {
|
|
||||||
return "普通商品与盒数商品不能互相换货";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Long, OrderQueryChargeDTO> queryChargeLog(List<SaOrderExt> saOrderList, EApprovalBusiness eApprovalBusiness, Integer pkCountry) {
|
public Map<Long, OrderQueryChargeDTO> queryChargeLog(List<SaOrderExt> saOrderList, EApprovalBusiness eApprovalBusiness, Integer pkCountry) {
|
||||||
// key 订单编号, value 扣款实体
|
// key 订单编号, value 扣款实体
|
||||||
|
|
|
@ -26,6 +26,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.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.sale.ext.*;
|
import com.hzs.common.domain.sale.ext.*;
|
||||||
import com.hzs.common.domain.sale.order.*;
|
import com.hzs.common.domain.sale.order.*;
|
||||||
import com.hzs.common.domain.sale.wares.BdWares;
|
import com.hzs.common.domain.sale.wares.BdWares;
|
||||||
|
@ -2155,13 +2156,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
// 盒数产品
|
// 盒数产品
|
||||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(systemType);
|
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(systemType);
|
||||||
|
|
||||||
// 当前产品盒数
|
// 当前产品盒数
|
||||||
int boxNum = 0;
|
int boxNum = 0;
|
||||||
// 判断订单明细中指定产品数量,校验等级
|
// 判断订单明细中指定产品数量,校验等级
|
||||||
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
||||||
if (boxProductList.contains(orderItemsParam.getWaresCode())) {
|
if (boxWaresList.contains(orderItemsParam.getWaresCode())) {
|
||||||
// 存在指定商品,需要累计盒数
|
// 存在指定商品,需要累计盒数
|
||||||
boxNum += orderItemsParam.getQuantity();
|
boxNum += orderItemsParam.getQuantity();
|
||||||
}
|
}
|
||||||
|
@ -2187,7 +2188,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取升级盒数基数
|
// 获取升级盒数基数
|
||||||
int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxProductList, systemType);
|
int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType);
|
||||||
// 计算等级
|
// 计算等级
|
||||||
bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true);
|
bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true);
|
||||||
|
|
||||||
|
@ -2246,13 +2247,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
* @param cuMember 会员信息
|
* @param cuMember 会员信息
|
||||||
* @param memberGrade 会员等级信息
|
* @param memberGrade 会员等级信息
|
||||||
* @param gradeList 等级列表
|
* @param gradeList 等级列表
|
||||||
* @param boxProductList 盒数商品列表
|
* @param boxWaresList 盒数商品列表
|
||||||
* @param systemType 所属系统
|
* @param systemType 所属系统
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade,
|
public int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade,
|
||||||
List<BdGrade> gradeList, List<String> boxProductList,
|
List<BdGrade> gradeList, List<String> boxWaresList,
|
||||||
Integer systemType) {
|
Integer systemType) {
|
||||||
// 升级盒数基数
|
// 升级盒数基数
|
||||||
int baseBoxNum = 0;
|
int baseBoxNum = 0;
|
||||||
|
@ -2266,25 +2267,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get();
|
BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get();
|
||||||
// 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
|
// 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
|
||||||
baseBoxNum = lastUpdateGrade.getBoxNumber()
|
baseBoxNum = lastUpdateGrade.getBoxNumber()
|
||||||
+ saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
+ saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
||||||
} else {
|
} else {
|
||||||
// 没有手动升级记录
|
// 没有手动升级记录
|
||||||
baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return baseBoxNum;
|
return baseBoxNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* 获取等级(没有则返回V0)
|
public CuMemberRetailRegionExt getRegionBindNum(Integer province, Integer city, Integer county) {
|
||||||
*
|
return baseMapper.getRegionBindNum(province, city, county);
|
||||||
* @param eGrade 等级枚举
|
|
||||||
* @param gradeList 等级列表
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private BdGrade getGrade(EGrade eGrade, List<BdGrade> gradeList) {
|
|
||||||
Optional<BdGrade> gradeOptional = gradeList.stream().filter(tmp -> tmp.getGradeValue().equals(eGrade.getValue())).findFirst();
|
|
||||||
return gradeOptional.orElseGet(() -> this.getGrade(EGrade.START_UP, gradeList));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,8 @@
|
||||||
package com.hzs.sale.wares.mapper;
|
package com.hzs.sale.wares.mapper;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Mapper 接口
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
|
||||||
public interface BdWaresAuthorityMapper extends BaseMapper<BdWaresAuthority> {
|
public interface BdWaresAuthorityMapper extends BaseMapper<BdWaresAuthority> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,8 @@
|
||||||
package com.hzs.sale.wares.service;
|
package com.hzs.sale.wares.service;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
|
||||||
public interface IBdWaresAuthorityService extends IService<BdWaresAuthority> {
|
public interface IBdWaresAuthorityService extends IService<BdWaresAuthority> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -190,14 +190,6 @@ public interface IBdWaresService extends IService<BdWares> {
|
||||||
*/
|
*/
|
||||||
List<BdWaresExt> listRetailWaresByCondition(RetailWaresParam param);
|
List<BdWaresExt> listRetailWaresByCondition(RetailWaresParam param);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询盒数商品对应产品列表
|
|
||||||
*
|
|
||||||
* @param boxWaresList 盒数商品列表
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<Integer> listBoxProduct(List<String> boxWaresList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询盒数商品列表
|
* 查询盒数商品列表
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,20 +1,11 @@
|
||||||
package com.hzs.sale.wares.service.impl;
|
package com.hzs.sale.wares.service.impl;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
||||||
import com.hzs.sale.wares.mapper.BdWaresAuthorityMapper;
|
import com.hzs.sale.wares.mapper.BdWaresAuthorityMapper;
|
||||||
import com.hzs.sale.wares.service.IBdWaresAuthorityService;
|
import com.hzs.sale.wares.service.IBdWaresAuthorityService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
|
||||||
@Service
|
@Service
|
||||||
public class BdWaresAuthorityServiceImpl extends ServiceImpl<BdWaresAuthorityMapper, BdWaresAuthority> implements IBdWaresAuthorityService {
|
public class BdWaresAuthorityServiceImpl extends ServiceImpl<BdWaresAuthorityMapper, BdWaresAuthority> implements IBdWaresAuthorityService {
|
||||||
|
|
||||||
|
|
|
@ -1173,11 +1173,6 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
||||||
return baseMapper.listRetailWaresByCondition(param);
|
return baseMapper.listRetailWaresByCondition(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Integer> listBoxProduct(List<String> boxWaresList) {
|
|
||||||
return baseMapper.listBoxProduct(boxWaresList, null, null).stream().map(BdWaresDetail::getPkProduct).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BdWaresDetail> listBoxProductAndWares(List<String> boxWaresList, Integer pkProduct, Integer specialArea) {
|
public List<BdWaresDetail> listBoxProductAndWares(List<String> boxWaresList, Integer pkProduct, Integer specialArea) {
|
||||||
return baseMapper.listBoxProduct(boxWaresList, pkProduct, specialArea);
|
return baseMapper.listBoxProduct(boxWaresList, pkProduct, specialArea);
|
||||||
|
|
|
@ -1392,4 +1392,26 @@
|
||||||
and so.box_num != 0
|
and so.box_num != 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询省、市、区绑定次数 -->
|
||||||
|
<select id="getRegionBindNum" resultType="com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt">
|
||||||
|
select cmrr.*,
|
||||||
|
case
|
||||||
|
when cmrr.county = -1 then
|
||||||
|
(select nvl(ba.bind_num, 1)
|
||||||
|
from bd_area ba
|
||||||
|
where ba.pk_id = cmrr.city)
|
||||||
|
else
|
||||||
|
(select nvl(ba.bind_num, 1)
|
||||||
|
from bd_area ba
|
||||||
|
where ba.pk_id = cmrr.county)
|
||||||
|
end bind_num
|
||||||
|
from (select cmrr.province, cmrr.city, cmrr.county, count(1) region_num
|
||||||
|
from CU_MEMBER_RETAIL_REGION cmrr
|
||||||
|
where cmrr.del_flag = 0
|
||||||
|
and cmrr.province = #{province}
|
||||||
|
and cmrr.city = #{city}
|
||||||
|
and cmrr.county = #{county}
|
||||||
|
group by cmrr.province, cmrr.city, cmrr.county) cmrr
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -2,30 +2,5 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.sale.wares.mapper.BdWaresAuthorityMapper">
|
<mapper namespace="com.hzs.sale.wares.mapper.BdWaresAuthorityMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.sale.wares.BdWaresAuthority">
|
|
||||||
<id column="PK_ID" property="pkId" />
|
|
||||||
<result column="PK_CREATOR" property="pkCreator" />
|
|
||||||
<result column="CREATION_TIME" property="creationTime" />
|
|
||||||
<result column="PK_MODIFIED" property="pkModified" />
|
|
||||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
|
||||||
<result column="DEL_FLAG" property="delFlag" />
|
|
||||||
<result column="PK_COUNTRY" property="pkCountry" />
|
|
||||||
<result column="PK_WARES" property="pkWares" />
|
|
||||||
<result column="AUTHORITY_TYPE" property="authorityType" />
|
|
||||||
<result column="PK_MEMBER" property="pkMember" />
|
|
||||||
<result column="MEMBER_CODE" property="memberCode" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<!-- 通用查询结果列 -->
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
PK_CREATOR,
|
|
||||||
CREATION_TIME,
|
|
||||||
PK_MODIFIED,
|
|
||||||
MODIFIED_TIME,
|
|
||||||
DEL_FLAG,
|
|
||||||
PK_COUNTRY,
|
|
||||||
PK_ID, PK_WARES, AUTHORITY_TYPE, PK_MEMBER,MEMBER_CODE
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -8,11 +8,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 新零售会员区域配置扩展类
|
* 新零售会员区域配置扩展类
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/12/10 14:58
|
|
||||||
* @Classname: CuMemberRetailRegionExt
|
|
||||||
* @PackageName: com.hzs.common.domain.retail.member.ext
|
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
@ -102,4 +98,14 @@ public class CuMemberRetailRegionExt extends CuMemberRetailRegion {
|
||||||
* 2025年6月11日 是否激活 (0-是, 1-否)
|
* 2025年6月11日 是否激活 (0-是, 1-否)
|
||||||
*/
|
*/
|
||||||
private Integer isActivate;
|
private Integer isActivate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已绑定地区数量
|
||||||
|
*/
|
||||||
|
private Integer regionNum;
|
||||||
|
/**
|
||||||
|
* 地区可绑定数量
|
||||||
|
*/
|
||||||
|
private Integer bindNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,4 +176,17 @@ public class SaOrderExt extends SaOrder {
|
||||||
private List<CuMemberLevel> deleteLevelList;
|
private List<CuMemberLevel> deleteLevelList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择区域省
|
||||||
|
*/
|
||||||
|
private Integer regionProvince;
|
||||||
|
/**
|
||||||
|
* 选择区域市
|
||||||
|
*/
|
||||||
|
private Integer regionCity;
|
||||||
|
/**
|
||||||
|
* 选择区域县
|
||||||
|
*/
|
||||||
|
private Integer regionCounty;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,14 +9,6 @@ import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
*
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
|
|
Loading…
Reference in New Issue