## 升级、复购恢复撤单逻辑;商品列表返回字段调整;
This commit is contained in:
parent
8ddb794ada
commit
f9c50f26c3
|
@ -8,11 +8,7 @@ import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员升级记录dubbo服务
|
* 会员升级记录dubbo服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/1/30 17:24
|
|
||||||
* @Classname: ICuMemberLevelServiceApi
|
|
||||||
* @PackageName: com.hzs.member.detail
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberDetailServiceApi {
|
public interface ICuMemberDetailServiceApi {
|
||||||
|
|
||||||
|
|
|
@ -863,7 +863,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
for (int i = memberList.size() - 1; i >= 0; i--) {
|
for (int i = memberList.size() - 1; i >= 0; i--) {
|
||||||
Long pkMember = memberList.get(i);
|
Long pkMember = memberList.get(i);
|
||||||
SaOrderExt saOrder = saOrderMap.get(pkMember);
|
SaOrderExt saOrder = saOrderMap.get(pkMember);
|
||||||
CuMember cuMember = cuMemberService.getMemberById(pkMember);
|
|
||||||
// 删除等级
|
// 删除等级
|
||||||
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||||
// 回退奖衔,根据订单从 cu_member_awards查询
|
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||||
|
|
|
@ -10,9 +10,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-等级升级记录 Mapper 接口
|
* 会员信息-等级升级记录 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-11
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberLevelMapper extends BaseMapper<CuMemberLevel> {
|
public interface CuMemberLevelMapper extends BaseMapper<CuMemberLevel> {
|
||||||
|
|
||||||
|
|
|
@ -14,11 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员升级记录dubbo服务
|
* 会员升级记录dubbo服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/1/30 17:25
|
|
||||||
* @Classname: CuMemberLevelProvider
|
|
||||||
* @PackageName: com.hzs.member.detail.provider
|
|
||||||
*/
|
*/
|
||||||
@DubboService
|
@DubboService
|
||||||
public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
||||||
|
|
|
@ -9,9 +9,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-等级升级记录 服务类
|
* 会员信息-等级升级记录 服务类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-11
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberLevelService extends IService<CuMemberLevel> {
|
public interface ICuMemberLevelService extends IService<CuMemberLevel> {
|
||||||
|
|
||||||
|
@ -21,9 +18,6 @@ public interface ICuMemberLevelService extends IService<CuMemberLevel> {
|
||||||
* @param pkOrder 订单
|
* @param pkOrder 订单
|
||||||
* @param pkApprove 审核人
|
* @param pkApprove 审核人
|
||||||
* @param currentDateTime 当前时间
|
* @param currentDateTime 当前时间
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/30 9:15
|
|
||||||
*/
|
*/
|
||||||
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);
|
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-等级升级记录 服务实现类
|
* 会员信息-等级升级记录 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-11
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, CuMemberLevel> implements ICuMemberLevelService {
|
public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, CuMemberLevel> implements ICuMemberLevelService {
|
||||||
|
|
|
@ -22,7 +22,6 @@ import com.hzs.common.domain.sale.wares.BdWaresLabel;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresSpecsSku;
|
import com.hzs.common.domain.sale.wares.BdWaresSpecsSku;
|
||||||
import com.hzs.common.domain.system.config.BdLabel;
|
import com.hzs.common.domain.system.config.BdLabel;
|
||||||
import com.hzs.common.domain.system.config.BdRetailRange;
|
|
||||||
import com.hzs.common.domain.system.ext.BdLabelExt;
|
import com.hzs.common.domain.system.ext.BdLabelExt;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.member.base.IMemberServiceApi;
|
import com.hzs.member.base.IMemberServiceApi;
|
||||||
|
@ -37,7 +36,6 @@ import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
|
||||||
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;
|
||||||
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
||||||
import com.hzs.system.config.IRetailRangeServiceApi;
|
|
||||||
import com.hzs.system.config.dto.AreaCurrencyDTO;
|
import com.hzs.system.config.dto.AreaCurrencyDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
@ -201,17 +199,11 @@ public class ApiRetailWaresController extends BaseController {
|
||||||
List<BdWaresRange> waresRangeList = new ArrayList<>();
|
List<BdWaresRange> waresRangeList = new ArrayList<>();
|
||||||
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|
||||||
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
||||||
// 新零售复购专区,需要处理级差
|
// 复购、复消需要处理级差
|
||||||
// 2024.12.30 添加需求,复消也需要处理级差
|
|
||||||
if (waresIdList.size() > 0) {
|
if (waresIdList.size() > 0) {
|
||||||
waresRangeList = iBdWaresRangeService.listRetailWaresRange(pkGrade, waresIdList);
|
waresRangeList = iBdWaresRangeService.listRetailWaresRange(pkGrade, waresIdList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 专区级差
|
|
||||||
BdRetailRange retailRange = new BdRetailRange();
|
|
||||||
if (ESpecialArea.RETAIL_SHOP_ORDER.getValue() == specialArea) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
for (BdWaresExt bdWaresExt : bdWaresExtList) {
|
for (BdWaresExt bdWaresExt : bdWaresExtList) {
|
||||||
if (null != list) {
|
if (null != list) {
|
||||||
|
@ -255,8 +247,7 @@ public class ApiRetailWaresController extends BaseController {
|
||||||
|
|
||||||
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|
||||||
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
||||||
// 新零售复购需要处理极差
|
// 复购、复消需要处理级差
|
||||||
// 2024.12.30 添加需求,复消也需要处理级差
|
|
||||||
for (BdWaresRange waresRange : waresRangeList) {
|
for (BdWaresRange waresRange : waresRangeList) {
|
||||||
if (bdWaresExt.getPkId().equals(waresRange.getPkWares())) {
|
if (bdWaresExt.getPkId().equals(waresRange.getPkWares())) {
|
||||||
waresPrice = waresPrice.add(waresRange.getPrice());
|
waresPrice = waresPrice.add(waresRange.getPrice());
|
||||||
|
|
|
@ -66,11 +66,7 @@ import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 订单业务办理
|
* 订单业务办理
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/31 10:31
|
|
||||||
* @Classname: OrderBusinessController
|
|
||||||
* @PackageName: com.hzs.sale.order.controller.manager
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
|
|
|
@ -76,13 +76,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
return baseMapper.queryListByOrderId(orderIdList);
|
return baseMapper.queryListByOrderId(orderIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 根据订单ID查询订单商品明细列表
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2023/5/29 15:39
|
|
||||||
* @param: [orderIdList, tOrderIdList]
|
|
||||||
* @return: java.util.List<com.hzs.common.domain.sale.ext.SaOrderItemsExt>
|
|
||||||
**/
|
|
||||||
@Override
|
@Override
|
||||||
public List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList) {
|
public List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList) {
|
||||||
return baseMapper.waresListByOrderId(orderIdList);
|
return baseMapper.waresListByOrderId(orderIdList);
|
||||||
|
@ -98,12 +91,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
return baseMapper.queryListByItemId(itemIdList, statusList, pkCountry);
|
return baseMapper.queryListByItemId(itemIdList, statusList, pkCountry);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询商品订单
|
|
||||||
*
|
|
||||||
* @param waresOrderParam
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public List<WaresOrderVo> selectByInvestmentList(WaresOrderParam waresOrderParam) {
|
public List<WaresOrderVo> selectByInvestmentList(WaresOrderParam waresOrderParam) {
|
||||||
return baseMapper.selectByInvestmentList(waresOrderParam);
|
return baseMapper.selectByInvestmentList(waresOrderParam);
|
||||||
|
|
|
@ -2537,11 +2537,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
// 存在手动升级
|
// 存在手动升级
|
||||||
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// 累计升级制,传的订单是当前撤的订单
|
|
||||||
GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt);
|
|
||||||
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// // 累计升级制,传的订单是当前撤的订单
|
||||||
|
// GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt);
|
||||||
|
// cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||||
|
// }
|
||||||
|
|
||||||
Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId());
|
Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId());
|
||||||
if (null == firstDate) {
|
if (null == firstDate) {
|
||||||
|
@ -2563,33 +2564,34 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
|
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果复购订单后面还有升级订单,不需要处理等级问题; 复购订单后面没有升级订单,走新逻辑校验
|
// TODO new 恢复升级专区,复购专区不需要处理等级问题
|
||||||
if (this.count(Wrappers.<SaOrder>lambdaQuery()
|
// // 如果复购订单后面还有升级订单,不需要处理等级问题; 复购订单后面没有升级订单,走新逻辑校验
|
||||||
.eq(SaOrder::getPkMember, saOrderExt.getPkMember())
|
// if (this.count(Wrappers.<SaOrder>lambdaQuery()
|
||||||
.eq(SaOrder::getOrderType, EOrderType.RETAIL_UPGRADE.getValue())
|
// .eq(SaOrder::getPkMember, saOrderExt.getPkMember())
|
||||||
.ge(SaOrder::getPayTime, saOrderExt.getPayTime())
|
// .eq(SaOrder::getOrderType, EOrderType.RETAIL_UPGRADE.getValue())
|
||||||
.eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue())
|
// .ge(SaOrder::getPayTime, saOrderExt.getPayTime())
|
||||||
) == 0) {
|
// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue())
|
||||||
// 带有盒数商品的订单,需要校验等级
|
// ) == 0) {
|
||||||
List<BdGrade> gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
// // 带有盒数商品的订单,需要校验等级
|
||||||
// 当前会员等级
|
// List<BdGrade> gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||||
BdGrade memberGrade = this.getGrade(cuMember.getPkSettleGrade(), gradeList);
|
// // 当前会员等级
|
||||||
|
// BdGrade memberGrade = this.getGrade(cuMember.getPkSettleGrade(), gradeList);
|
||||||
// 需要添加的升级记录列表
|
//
|
||||||
List<CuMemberLevel> createLevelList = new ArrayList<>();
|
// // 需要添加的升级记录列表
|
||||||
// 需要删除的升级记录列表
|
// List<CuMemberLevel> createLevelList = new ArrayList<>();
|
||||||
List<CuMemberLevel> deleteLevelList = new ArrayList<>();
|
// // 需要删除的升级记录列表
|
||||||
// 新等级计算
|
// List<CuMemberLevel> deleteLevelList = new ArrayList<>();
|
||||||
BdGrade newGrade = this.handleNewGrade(cuMember, memberGrade, gradeList, saOrderExt, createLevelList, deleteLevelList);
|
// // 新等级计算
|
||||||
|
// BdGrade newGrade = this.handleNewGrade(cuMember, memberGrade, gradeList, saOrderExt, createLevelList, deleteLevelList);
|
||||||
if (memberGrade.getGradeValue() < EGrade.VIP.getValue() && newGrade.getGradeValue() < memberGrade.getGradeValue()) {
|
//
|
||||||
// 当前会员等级不是V4或者V5 并且 新等级小于当前等级需要进行处理
|
// if (memberGrade.getGradeValue() < EGrade.VIP.getValue() && newGrade.getGradeValue() < memberGrade.getGradeValue()) {
|
||||||
saOrderExt.setNewGrade(newGrade);
|
// // 当前会员等级不是V4或者V5 并且 新等级小于当前等级需要进行处理
|
||||||
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
|
// saOrderExt.setNewGrade(newGrade);
|
||||||
}
|
// saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
|
||||||
saOrderExt.setCreateLevelList(createLevelList);
|
// }
|
||||||
saOrderExt.setDeleteLevelList(deleteLevelList);
|
// saOrderExt.setCreateLevelList(createLevelList);
|
||||||
}
|
// saOrderExt.setDeleteLevelList(deleteLevelList);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
} else if (EOrderType.RETAIL_PICK.getValue() == saOrderExt.getOrderType()) {
|
} else if (EOrderType.RETAIL_PICK.getValue() == saOrderExt.getOrderType()) {
|
||||||
// 新提货订单
|
// 新提货订单
|
||||||
|
|
|
@ -14,9 +14,6 @@ import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 规格sku表 Mapper 接口
|
* 规格sku表 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
*/
|
||||||
public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
||||||
|
|
||||||
|
@ -26,9 +23,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
||||||
* @param specialArea 专区
|
* @param specialArea 专区
|
||||||
* @param systemType 系统类型
|
* @param systemType 系统类型
|
||||||
* @param waresCode 商品编号
|
* @param waresCode 商品编号
|
||||||
* @return: List<BdWaresSpecsSkuExt>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/19 11:21
|
|
||||||
*/
|
*/
|
||||||
List<BdWaresSpecsSkuExt> queryWaresSpecsSku(@Param("specialArea") Integer specialArea,
|
List<BdWaresSpecsSkuExt> queryWaresSpecsSku(@Param("specialArea") Integer specialArea,
|
||||||
@Param("systemType") Integer systemType,
|
@Param("systemType") Integer systemType,
|
||||||
|
@ -38,9 +32,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
||||||
* 根据sku主键查询规格名称
|
* 根据sku主键查询规格名称
|
||||||
*
|
*
|
||||||
* @param pkSkuId sku主键
|
* @param pkSkuId sku主键
|
||||||
* @return: List<BdWaresSpecsSku>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/1/13 15:25
|
|
||||||
*/
|
*/
|
||||||
List<BdWaresSpecsSkuExt> queryWaresSpecsNameSku(@Param("pkSkuIdList") Set<Integer> pkSkuId);
|
List<BdWaresSpecsSkuExt> queryWaresSpecsNameSku(@Param("pkSkuIdList") Set<Integer> pkSkuId);
|
||||||
|
|
||||||
|
@ -48,9 +39,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
||||||
* 通过规格列表查询商品最小库存单位,
|
* 通过规格列表查询商品最小库存单位,
|
||||||
*
|
*
|
||||||
* @param cuWaresItemsParams 专区
|
* @param cuWaresItemsParams 专区
|
||||||
* @return: SpecsSkuParam
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/19 16:26
|
|
||||||
*/
|
*/
|
||||||
BdWaresSpecsSkuExt queryWaresDetailSkuBySpecs(@Param("cuWaresItemsParams") CuWaresItemsParams cuWaresItemsParams);
|
BdWaresSpecsSkuExt queryWaresDetailSkuBySpecs(@Param("cuWaresItemsParams") CuWaresItemsParams cuWaresItemsParams);
|
||||||
|
|
||||||
|
@ -85,12 +73,9 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
||||||
*/
|
*/
|
||||||
List<WaresItemWaresInfo> selectByPkIds(@Param("pkWaresSpecsSku") List<Integer> pkWaresSpecsSku);
|
List<WaresItemWaresInfo> selectByPkIds(@Param("pkWaresSpecsSku") List<Integer> pkWaresSpecsSku);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 查询商品封装为返回到会员端商品信息
|
* 查询商品封装为返回到会员端商品信息
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2023/5/10 19:57
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
WaresItemVo selectWaresItemsVO(@Param("specialArea") Integer specialArea, @Param("waresCode") String waresCode,
|
WaresItemVo selectWaresItemsVO(@Param("specialArea") Integer specialArea, @Param("waresCode") String waresCode,
|
||||||
@Param("productGroup") List<ProductGroup> productGroup);
|
@Param("productGroup") List<ProductGroup> productGroup);
|
||||||
|
|
||||||
|
|
|
@ -48,9 +48,6 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品 服务实现类
|
* 商品 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-08
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> implements IBdWaresService {
|
public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> implements IBdWaresService {
|
||||||
|
@ -1220,21 +1217,14 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
||||||
rangePriceVoList.add(rangePriceVo);
|
rangePriceVoList.add(rangePriceVo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对结果值进行排序
|
// 对结果值进行排序
|
||||||
rangePriceVoList.sort(Comparator.comparing(RangePriceVo::getPkRange));
|
rangePriceVoList.sort(Comparator.comparing(RangePriceVo::getPkRange));
|
||||||
computeWaresPrice.setRangePriceVoList(rangePriceVoList);
|
computeWaresPrice.setRangePriceVoList(rangePriceVoList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return computeWaresPriceList;
|
return computeWaresPriceList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询商品团队信息
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, List<BdWaresAuthority>> getWaresAuthority(List<Integer> pkWaresList) {
|
public Map<Integer, List<BdWaresAuthority>> getWaresAuthority(List<Integer> pkWaresList) {
|
||||||
Map<Integer, List<BdWaresAuthority>> map = new HashMap<>();
|
Map<Integer, List<BdWaresAuthority>> map = new HashMap<>();
|
||||||
|
@ -1247,34 +1237,16 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 扣减预售数量库存
|
|
||||||
*
|
|
||||||
* @param waresCode
|
|
||||||
* @param quantity
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePreSaleQuantityByWaresCode(String waresCode, Integer quantity) {
|
public void updatePreSaleQuantityByWaresCode(String waresCode, Integer quantity) {
|
||||||
baseMapper.updatePreSaleQuantityByWaresCode(waresCode, quantity);
|
baseMapper.updatePreSaleQuantityByWaresCode(waresCode, quantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询商品可见类型
|
|
||||||
*
|
|
||||||
* @param pkWares
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public WaresAuthorityVo getWaresAuthorityFirst(Integer pkWares) {
|
public WaresAuthorityVo getWaresAuthorityFirst(Integer pkWares) {
|
||||||
return baseMapper.getWaresAuthorityFirst(pkWares);
|
return baseMapper.getWaresAuthorityFirst(pkWares);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 置底
|
|
||||||
*
|
|
||||||
* @param waresId
|
|
||||||
* @param loginUser
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public void bottomUp(Integer waresId, LoginUser loginUser) {
|
public void bottomUp(Integer waresId, LoginUser loginUser) {
|
||||||
BdWares bdWares = new BdWares();
|
BdWares bdWares = new BdWares();
|
||||||
|
|
|
@ -49,42 +49,42 @@ import java.util.stream.Collectors;
|
||||||
public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMapper, BdWaresSpecsSku> implements IBdWaresSpecsSkuService {
|
public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMapper, BdWaresSpecsSku> implements IBdWaresSpecsSkuService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdWaresSpecsRelationService waresSpecsRelationService;
|
private IBdWaresSpecsRelationService iBdWaresSpecsRelationService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdWaresLabelService waresLabelService;
|
private IBdWaresLabelService iBdWaresLabelService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdWaresDetailService waresDetailService;
|
private IBdWaresDetailService iBdWaresDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdWaresRangeService bdWaresRangeService;
|
private IBdWaresRangeService iBdWaresRangeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISaOrderService saOrderService;
|
private ISaOrderService iSaOrderService;
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICurrencyServiceApi currencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IRangeServiceApi rangeServiceApi;
|
IRangeServiceApi iRangeServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IMemberServiceApi memberServiceApi;
|
IMemberServiceApi iMemberServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IAwardsServiceApi awardsServiceApi;
|
IAwardsServiceApi iAwardsServiceApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuWaresParams queryWaresSpecsSku(Integer specialArea, String waresCode, Long loginMemberId, Integer pkCountry) {
|
public CuWaresParams queryWaresSpecsSku(Integer specialArea, String waresCode, Long loginMemberId, Integer pkCountry) {
|
||||||
List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList;
|
List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList;
|
||||||
|
|
||||||
R<CuMember> memberDate = memberServiceApi.getMember(loginMemberId);
|
R<CuMember> memberDate = iMemberServiceApi.getMember(loginMemberId);
|
||||||
CuMember cuMember = memberDate.getData();
|
CuMember cuMember = memberDate.getData();
|
||||||
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|
||||||
|| EOrderType.MALL_ORDER.getValue() == specialArea
|
|| EOrderType.MALL_ORDER.getValue() == specialArea
|
||||||
|| EOrderType.COOPERATE_ORDER.getValue() == specialArea) {
|
|| EOrderType.COOPERATE_ORDER.getValue() == specialArea) {
|
||||||
int level = cuMember.getPkSettleGrade();
|
int level = cuMember.getPkSettleGrade();
|
||||||
int rangeType = ERangeType.GRADE.getValue();
|
int rangeType = ERangeType.GRADE.getValue();
|
||||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||||
if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
||||||
level = cuMember.getPkAwards();
|
level = cuMember.getPkAwards();
|
||||||
rangeType = ERangeType.AWARDS.getValue();
|
rangeType = ERangeType.AWARDS.getValue();
|
||||||
}
|
}
|
||||||
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
||||||
if (rangeDTO == null) {
|
if (rangeDTO == null) {
|
||||||
return new CuWaresParams();
|
return new CuWaresParams();
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
bdWaresSpecsSkuExtList = baseMapper.queryWaresSpecsSku(specialArea, null, waresCode);
|
bdWaresSpecsSkuExtList = baseMapper.queryWaresSpecsSku(specialArea, null, waresCode);
|
||||||
}
|
}
|
||||||
if (bdWaresSpecsSkuExtList.size() > 0) {
|
if (bdWaresSpecsSkuExtList.size() > 0) {
|
||||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||||
|
|
||||||
Set<Integer> pkSkuIdList = new HashSet<>();
|
Set<Integer> pkSkuIdList = new HashSet<>();
|
||||||
bdWaresSpecsSkuExtList.forEach(bdWaresSpecsSkuExt ->
|
bdWaresSpecsSkuExtList.forEach(bdWaresSpecsSkuExt ->
|
||||||
|
@ -115,7 +115,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
//查询标签合集
|
//查询标签合集
|
||||||
BdWaresLabel waresLabel = new BdWaresLabel();
|
BdWaresLabel waresLabel = new BdWaresLabel();
|
||||||
waresLabel.setPkWares(bdWaresSpecsSkuExtList.get(0).getPkWares());
|
waresLabel.setPkWares(bdWaresSpecsSkuExtList.get(0).getPkWares());
|
||||||
List<BdLabelExt> labelList = waresLabelService.selectByList(waresLabel);
|
List<BdLabelExt> labelList = iBdWaresLabelService.selectByList(waresLabel);
|
||||||
// 保证标签
|
// 保证标签
|
||||||
List<BdLabel> ensureLabelList = new ArrayList<>();
|
List<BdLabel> ensureLabelList = new ArrayList<>();
|
||||||
// 卖点标签
|
// 卖点标签
|
||||||
|
@ -147,9 +147,9 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
|
|
||||||
R<CurrencyDTO> kgCurrency = null;
|
R<CurrencyDTO> kgCurrency = null;
|
||||||
if (pkCountry != null) {
|
if (pkCountry != null) {
|
||||||
kgCurrency = currencyServiceApi.getCurrency(pkCountry);
|
kgCurrency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
}
|
}
|
||||||
List<CuProductParams> productParams = waresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
List<CuProductParams> productParams = iBdWaresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
||||||
List<CuProductParams> productParamsResultList = new ArrayList<>();
|
List<CuProductParams> productParamsResultList = new ArrayList<>();
|
||||||
for (CuProductParams cuProductParams : productParams) {
|
for (CuProductParams cuProductParams : productParams) {
|
||||||
List<CuWaresItemsParams> list = new ArrayList<>();
|
List<CuWaresItemsParams> list = new ArrayList<>();
|
||||||
|
@ -168,7 +168,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
list.add(cuWaresItemsParams);
|
list.add(cuWaresItemsParams);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
cuProductParams.setWaresItemsParamsList(list);
|
cuProductParams.setWaresItemsParamsList(list);
|
||||||
if (list.size() > 0) {
|
if (list.size() > 0) {
|
||||||
|
@ -194,12 +193,12 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|
||||||
|| EOrderType.MALL_ORDER.getValue() == specialArea
|
|| EOrderType.MALL_ORDER.getValue() == specialArea
|
||||||
|| EOrderType.COOPERATE_ORDER.getValue() == specialArea) {
|
|| EOrderType.COOPERATE_ORDER.getValue() == specialArea) {
|
||||||
R<CuMember> memberDate = memberServiceApi.getMember(loginMemberId);
|
R<CuMember> memberDate = iMemberServiceApi.getMember(loginMemberId);
|
||||||
CuMember cuMember = memberDate.getData();
|
CuMember cuMember = memberDate.getData();
|
||||||
|
|
||||||
int level = cuMember.getPkSettleGrade();
|
int level = cuMember.getPkSettleGrade();
|
||||||
int rangeType = ERangeType.GRADE.getValue();
|
int rangeType = ERangeType.GRADE.getValue();
|
||||||
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
||||||
if (rangeDTO == null) {
|
if (rangeDTO == null) {
|
||||||
return new CuWaresParams();
|
return new CuWaresParams();
|
||||||
}
|
}
|
||||||
|
@ -212,10 +211,10 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
Map<Integer, String> specsNameMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdWaresSpecsSkuExtList.size()));
|
Map<Integer, String> specsNameMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdWaresSpecsSkuExtList.size()));
|
||||||
CuWaresParams cuWaresParams = BeanUtil.copyProperties(bdWaresSpecsSkuExtList.get(0), CuWaresParams.class);
|
CuWaresParams cuWaresParams = BeanUtil.copyProperties(bdWaresSpecsSkuExtList.get(0), CuWaresParams.class);
|
||||||
|
|
||||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||||
List<CuWaresItemsParams> cuWaresItemsParamsList = setUpWaresItemsParams(bdWaresSpecsSkuExtList, specsNameMap, currency.getData().getInExchangeRate());
|
List<CuWaresItemsParams> cuWaresItemsParamsList = setUpWaresItemsParams(bdWaresSpecsSkuExtList, specsNameMap, currency.getData().getInExchangeRate());
|
||||||
// 前台传递结算国 跨国报单计算价格使用
|
// 前台传递结算国 跨国报单计算价格使用
|
||||||
List<CuProductParams> productParams = waresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
List<CuProductParams> productParams = iBdWaresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
||||||
List<CuProductParams> productParamsResultList = new ArrayList<>();
|
List<CuProductParams> productParamsResultList = new ArrayList<>();
|
||||||
for (CuProductParams cuProductParams : productParams) {
|
for (CuProductParams cuProductParams : productParams) {
|
||||||
List<CuWaresItemsParams> list = new ArrayList<>();
|
List<CuWaresItemsParams> list = new ArrayList<>();
|
||||||
|
@ -243,28 +242,20 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 查询商品sku信息购物车专用
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2024/3/28 14:34
|
|
||||||
* @param: [specialArea, waresCode, loginMemberId, pkCountry]
|
|
||||||
* @return: com.hzs.sale.wares.param.CuWaresParams
|
|
||||||
**/
|
|
||||||
@Override
|
@Override
|
||||||
public CuWaresParams queryWaresSpecsSkuShopping(Integer specialArea, String waresCode, Long loginMemberId, Integer pkCountry, Integer systemType) {
|
public CuWaresParams queryWaresSpecsSkuShopping(Integer specialArea, String waresCode, Long loginMemberId, Integer pkCountry, Integer systemType) {
|
||||||
CuMember cuMember = memberServiceApi.getMember(loginMemberId).getData();
|
CuMember cuMember = iMemberServiceApi.getMember(loginMemberId).getData();
|
||||||
|
|
||||||
// 获取货币信息
|
// 获取货币信息
|
||||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||||
|
|
||||||
List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList;
|
List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList;
|
||||||
|
|
||||||
if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
|
if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
|
||||||
|| EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
|
|| EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
|
||||||
// 2024.12.30 添加需求,复消也需要处理级差
|
// 复消也需要处理级差
|
||||||
int level = cuMember.getPkSettleGrade();
|
int level = cuMember.getPkSettleGrade();
|
||||||
int rangeType = ERangeType.GRADE.getValue();
|
int rangeType = ERangeType.GRADE.getValue();
|
||||||
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
||||||
if (rangeDTO == null) {
|
if (rangeDTO == null) {
|
||||||
return new CuWaresParams();
|
return new CuWaresParams();
|
||||||
}
|
}
|
||||||
|
@ -295,7 +286,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
// 处理跨国报单价格
|
// 处理跨国报单价格
|
||||||
R<CurrencyDTO> kgCurrency;
|
R<CurrencyDTO> kgCurrency;
|
||||||
if (pkCountry != null && !pkCountry.equals(SecurityUtils.getPkCountry())) {
|
if (pkCountry != null && !pkCountry.equals(SecurityUtils.getPkCountry())) {
|
||||||
kgCurrency = currencyServiceApi.getCurrency(pkCountry);
|
kgCurrency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
BigDecimal inExchangeRate = cuWaresParams.getInExchangeRate();
|
BigDecimal inExchangeRate = cuWaresParams.getInExchangeRate();
|
||||||
BigDecimal kgInExchangeRate = kgCurrency.getData().getInExchangeRate();
|
BigDecimal kgInExchangeRate = kgCurrency.getData().getInExchangeRate();
|
||||||
cuWaresItemsParamsList.forEach(item -> {
|
cuWaresItemsParamsList.forEach(item -> {
|
||||||
|
@ -305,7 +296,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取商品详情
|
// 获取商品详情
|
||||||
List<CuProductParams> productParams = waresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
List<CuProductParams> productParams = iBdWaresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
||||||
List<CuProductParams> productParamsResultList = productParams.stream()
|
List<CuProductParams> productParamsResultList = productParams.stream()
|
||||||
.peek(param -> {
|
.peek(param -> {
|
||||||
List<CuWaresItemsParams> list = cuWaresItemsParamsList.stream()
|
List<CuWaresItemsParams> list = cuWaresItemsParamsList.stream()
|
||||||
|
@ -321,14 +312,10 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
return cuWaresParams;
|
return cuWaresParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置返回到前台的商品明细表
|
* 设置返回到前台的商品明细表
|
||||||
*
|
*
|
||||||
* @param bdWaresSpecsSkuExtList 商品待sku
|
* @param bdWaresSpecsSkuExtList 商品待sku
|
||||||
* @return: List<CuWaresItemsParams>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/27 10:51
|
|
||||||
*/
|
*/
|
||||||
private List<CuWaresItemsParams> setUpWaresItemsParams(List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList, Map<Integer, String> specsNameMap, BigDecimal inExchangeRate) {
|
private List<CuWaresItemsParams> setUpWaresItemsParams(List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList, Map<Integer, String> specsNameMap, BigDecimal inExchangeRate) {
|
||||||
List<CuWaresItemsParams> cuWaresItemsParamsList = new ArrayList<>();
|
List<CuWaresItemsParams> cuWaresItemsParamsList = new ArrayList<>();
|
||||||
|
@ -377,46 +364,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置规格分类
|
|
||||||
*
|
|
||||||
* @param bdWaresSpecsSkuExt sku
|
|
||||||
* @param specsTypeParamsMap 规格分类
|
|
||||||
*/
|
|
||||||
private void setSpecsMap(BdWaresSpecsSkuExt bdWaresSpecsSkuExt, Map<Integer, SpecsTypeParams> specsTypeParamsMap) {
|
|
||||||
SpecsTypeParams bdWaresSpecs = SpecsTypeParams.builder()
|
|
||||||
.pkSpecsType(bdWaresSpecsSkuExt.getPkSpecsType())
|
|
||||||
.typeName(bdWaresSpecsSkuExt.getSpecsTypeName())
|
|
||||||
.build();
|
|
||||||
// 规格
|
|
||||||
Set<SpecsParams> specsParamsSet = new HashSet<>();
|
|
||||||
setSpecsParams(bdWaresSpecsSkuExt, specsParamsSet);
|
|
||||||
bdWaresSpecs.setSpecsParamsSet(specsParamsSet);
|
|
||||||
specsTypeParamsMap.put(bdWaresSpecs.getPkSpecsType(), bdWaresSpecs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置规格明细
|
|
||||||
*
|
|
||||||
* @param bdWaresSpecsSkuExt sku
|
|
||||||
* @param specsParamsList 规格明细
|
|
||||||
*/
|
|
||||||
private void setSpecsParams(BdWaresSpecsSkuExt bdWaresSpecsSkuExt, Set<SpecsParams> specsParamsList) {
|
|
||||||
SpecsParams specsParams = SpecsParams.builder()
|
|
||||||
.pkSpecs(bdWaresSpecsSkuExt.getPkSpecs())
|
|
||||||
.specsName(bdWaresSpecsSkuExt.getSpecsName())
|
|
||||||
.build();
|
|
||||||
specsParamsList.add(specsParams);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过规格列表查询商品最小库存单位,
|
|
||||||
*
|
|
||||||
* @param cuWaresItemsParams 明细参数
|
|
||||||
* @return: SpecsSkuParam
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/19 16:26
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public SpecsSkuParam queryWaresDetailSkuBySpecs(CuWaresItemsParams cuWaresItemsParams) {
|
public SpecsSkuParam queryWaresDetailSkuBySpecs(CuWaresItemsParams cuWaresItemsParams) {
|
||||||
BdWaresSpecsSkuExt bdWaresSpecsSkuExt = baseMapper.queryWaresDetailSkuBySpecs(cuWaresItemsParams);
|
BdWaresSpecsSkuExt bdWaresSpecsSkuExt = baseMapper.queryWaresDetailSkuBySpecs(cuWaresItemsParams);
|
||||||
|
@ -427,44 +374,21 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id修改值
|
|
||||||
*
|
|
||||||
* @param sku
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBySkuId(BdWaresSpecsSku sku) {
|
public void updateBySkuId(BdWaresSpecsSku sku) {
|
||||||
baseMapper.updateBySkuId(sku);
|
baseMapper.updateBySkuId(sku);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id查询sku (可查询删除数据)
|
|
||||||
*
|
|
||||||
* @param pkWaresSpecsSku
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public BdWaresSpecsSku selectByWaresSpecsSkuIdAndDel(Integer pkWaresSpecsSku) {
|
public BdWaresSpecsSku selectByWaresSpecsSkuIdAndDel(Integer pkWaresSpecsSku) {
|
||||||
return baseMapper.selectByWaresSpecsSkuIdAndDel(pkWaresSpecsSku);
|
return baseMapper.selectByWaresSpecsSkuIdAndDel(pkWaresSpecsSku);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据商品id 查询
|
|
||||||
*
|
|
||||||
* @param waresIds
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public List<BdWaresSpecsSkuExt> selectByWaresSpecsSku(List<Integer> waresIds) {
|
public List<BdWaresSpecsSkuExt> selectByWaresSpecsSku(List<Integer> waresIds) {
|
||||||
return baseMapper.selectByWaresSpecsSku(waresIds);
|
return baseMapper.selectByWaresSpecsSku(waresIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id 批量查询sku 信息
|
|
||||||
*
|
|
||||||
* @param pkWaresSpecsSku
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public List<WaresItemWaresInfo> selectByPkIds(List<Integer> pkWaresSpecsSku) {
|
public List<WaresItemWaresInfo> selectByPkIds(List<Integer> pkWaresSpecsSku) {
|
||||||
return baseMapper.selectByPkIds(pkWaresSpecsSku);
|
return baseMapper.selectByPkIds(pkWaresSpecsSku);
|
||||||
|
@ -489,7 +413,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
waresItemVo.getWaresItemsParamList().forEach(waresItemWaresInfo -> {
|
waresItemVo.getWaresItemsParamList().forEach(waresItemWaresInfo -> {
|
||||||
waresDetailExtMap.put(waresItemWaresInfo.getPkWaresDetail().toString() + waresItemWaresInfo.getPkWaresSpecsSku(), waresItemWaresInfo);
|
waresDetailExtMap.put(waresItemWaresInfo.getPkWaresDetail().toString() + waresItemWaresInfo.getPkWaresSpecsSku(), waresItemWaresInfo);
|
||||||
// 设置规格值 名称拼接
|
// 设置规格值 名称拼接
|
||||||
List<BdWaresSpecsRelationExt> waresSpecsRelationExts = waresSpecsRelationService.selectByWaresSpecsSku(waresItemWaresInfo.getPkWaresSpecsSku());
|
List<BdWaresSpecsRelationExt> waresSpecsRelationExts = iBdWaresSpecsRelationService.selectByWaresSpecsSku(waresItemWaresInfo.getPkWaresSpecsSku());
|
||||||
Set<String> specsNames = waresSpecsRelationExts.stream().map(BdWaresSpecsRelationExt::getSpecsName).collect(Collectors.toSet());
|
Set<String> specsNames = waresSpecsRelationExts.stream().map(BdWaresSpecsRelationExt::getSpecsName).collect(Collectors.toSet());
|
||||||
waresItemWaresInfo.setSkuInfo(StringUtils.join(specsNames, ","));
|
waresItemWaresInfo.setSkuInfo(StringUtils.join(specsNames, ","));
|
||||||
});
|
});
|
||||||
|
@ -497,11 +421,11 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
|
if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
|
||||||
|| EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
|
|| EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
|
||||||
// 2024.12.30 添加需求,复消也需要处理级差
|
// 2024.12.30 添加需求,复消也需要处理级差
|
||||||
CuMember cuMember = saOrderService.getCuMemberByKey(pkMember);
|
CuMember cuMember = iSaOrderService.getCuMemberByKey(pkMember);
|
||||||
int level = cuMember.getPkSettleGrade();
|
int level = cuMember.getPkSettleGrade();
|
||||||
int rangeType = ERangeType.GRADE.getValue();
|
int rangeType = ERangeType.GRADE.getValue();
|
||||||
List<Integer> pkWaresSpecsSku = productGroup.stream().map(ProductGroup::getPkSkuId).collect(Collectors.toList());
|
List<Integer> pkWaresSpecsSku = productGroup.stream().map(ProductGroup::getPkSkuId).collect(Collectors.toList());
|
||||||
List<BdWaresRange> bdWaresRangeList = bdWaresRangeService.querySkuWaresRangeByCondition(cuMember.getPkSettleCountry(), rangeType, level, pkWaresSpecsSku);
|
List<BdWaresRange> bdWaresRangeList = iBdWaresRangeService.querySkuWaresRangeByCondition(cuMember.getPkSettleCountry(), rangeType, level, pkWaresSpecsSku);
|
||||||
bdWaresRangeList.forEach(bdWaresRange -> {
|
bdWaresRangeList.forEach(bdWaresRange -> {
|
||||||
String key = bdWaresRange.getPkWaresDetail().toString() + bdWaresRange.getPkWaresSpecsSku();
|
String key = bdWaresRange.getPkWaresDetail().toString() + bdWaresRange.getPkWaresSpecsSku();
|
||||||
if (waresDetailExtMap.containsKey(key)) {
|
if (waresDetailExtMap.containsKey(key)) {
|
||||||
|
@ -519,11 +443,11 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
}
|
}
|
||||||
|
|
||||||
// 前台传递结算国 跨国报单计算价格使用
|
// 前台传递结算国 跨国报单计算价格使用
|
||||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||||
if (pkCountry != null) {
|
if (pkCountry != null) {
|
||||||
// 当登陆人的结算国和前端结算国不一致 即为跨国报单
|
// 当登陆人的结算国和前端结算国不一致 即为跨国报单
|
||||||
if (!pkCountry.equals(SecurityUtils.getPkCountry())) {
|
if (!pkCountry.equals(SecurityUtils.getPkCountry())) {
|
||||||
R<CurrencyDTO> kgCurrency = currencyServiceApi.getCurrency(pkCountry);
|
R<CurrencyDTO> kgCurrency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
|
|
||||||
BigDecimal price = waresItemVo.getPrice();
|
BigDecimal price = waresItemVo.getPrice();
|
||||||
waresItemVo.setPrice(price.multiply(currency.getData().getInExchangeRate()).divide(kgCurrency.getData().getInExchangeRate(), 2, BigDecimal.ROUND_HALF_UP));
|
waresItemVo.setPrice(price.multiply(currency.getData().getInExchangeRate()).divide(kgCurrency.getData().getInExchangeRate(), 2, BigDecimal.ROUND_HALF_UP));
|
||||||
|
@ -539,23 +463,11 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
return waresItemVo;
|
return waresItemVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据商品id查询规格价格最小值
|
|
||||||
*
|
|
||||||
* @param pkWaresIds
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public List<BdWaresSpecsSkuExt> selectByMinWaresSpecsSkuByPkWaresList(List<Integer> pkWaresIds) {
|
public List<BdWaresSpecsSkuExt> selectByMinWaresSpecsSkuByPkWaresList(List<Integer> pkWaresIds) {
|
||||||
return baseMapper.selectByMinWaresSpecsSkuByPkWaresList(pkWaresIds);
|
return baseMapper.selectByMinWaresSpecsSkuByPkWaresList(pkWaresIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id 查询
|
|
||||||
*
|
|
||||||
* @param pkWaresSpecsSku
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public BdWaresSpecsSkuExt selectByPkWaresSpecsSku(Integer pkWaresSpecsSku) {
|
public BdWaresSpecsSkuExt selectByPkWaresSpecsSku(Integer pkWaresSpecsSku) {
|
||||||
return baseMapper.selectByPkWaresSpecsSku(pkWaresSpecsSku);
|
return baseMapper.selectByPkWaresSpecsSku(pkWaresSpecsSku);
|
||||||
|
@ -573,7 +485,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
|
||||||
// 查询级差等级
|
// 查询级差等级
|
||||||
// 2024.12.30 添加需求,复消也需要处理级差
|
// 2024.12.30 添加需求,复消也需要处理级差
|
||||||
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(param.getPkCountry(), ERangeType.GRADE.getValue(), pkGrade).getData();
|
RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(param.getPkCountry(), ERangeType.GRADE.getValue(), pkGrade).getData();
|
||||||
if (rangeDTO == null) {
|
if (rangeDTO == null) {
|
||||||
return new RetailWaresDetailVO();
|
return new RetailWaresDetailVO();
|
||||||
}
|
}
|
||||||
|
@ -584,7 +496,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(waresSpecsSkuExtList)) {
|
if (CollectionUtil.isNotEmpty(waresSpecsSkuExtList)) {
|
||||||
// 获取汇率
|
// 获取汇率
|
||||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||||
|
|
||||||
// 商品关联产品规格ID
|
// 商品关联产品规格ID
|
||||||
Set<Integer> pkSkuIdList = waresSpecsSkuExtList.stream().map(BdWaresSpecsSkuExt::getPkId).collect(Collectors.toSet());
|
Set<Integer> pkSkuIdList = waresSpecsSkuExtList.stream().map(BdWaresSpecsSkuExt::getPkId).collect(Collectors.toSet());
|
||||||
|
@ -609,7 +521,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
//查询标签合集
|
//查询标签合集
|
||||||
BdWaresLabel waresLabel = new BdWaresLabel();
|
BdWaresLabel waresLabel = new BdWaresLabel();
|
||||||
waresLabel.setPkWares(waresSpecsSkuExtList.get(0).getPkWares());
|
waresLabel.setPkWares(waresSpecsSkuExtList.get(0).getPkWares());
|
||||||
List<BdLabelExt> labelList = waresLabelService.selectByList(waresLabel);
|
List<BdLabelExt> labelList = iBdWaresLabelService.selectByList(waresLabel);
|
||||||
|
|
||||||
// 保证标签
|
// 保证标签
|
||||||
List<BdLabel> ensureLabelList = new ArrayList<>();
|
List<BdLabel> ensureLabelList = new ArrayList<>();
|
||||||
|
@ -640,7 +552,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
// 封装商品明细
|
// 封装商品明细
|
||||||
List<CuWaresItemsParams> cuWaresItemsParamsList = setUpWaresItemsParams(waresSpecsSkuExtList, specsNameMap, currency.getData().getInExchangeRate());
|
List<CuWaresItemsParams> cuWaresItemsParamsList = setUpWaresItemsParams(waresSpecsSkuExtList, specsNameMap, currency.getData().getInExchangeRate());
|
||||||
// 商品编号查询产品详情
|
// 商品编号查询产品详情
|
||||||
List<CuProductParams> productList = waresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
List<CuProductParams> productList = iBdWaresDetailService.selectByWaresCode(waresCode, specialArea, null);
|
||||||
List<CuProductParams> productResultList = new ArrayList<>();
|
List<CuProductParams> productResultList = new ArrayList<>();
|
||||||
for (CuProductParams productVO : productList) {
|
for (CuProductParams productVO : productList) {
|
||||||
List<CuWaresItemsParams> list = new ArrayList<>();
|
List<CuWaresItemsParams> list = new ArrayList<>();
|
||||||
|
|
|
@ -373,6 +373,7 @@
|
||||||
bw.WARES_CODE,
|
bw.WARES_CODE,
|
||||||
bw.WARES_NAME,
|
bw.WARES_NAME,
|
||||||
PK_AREA_CLASSIFY,
|
PK_AREA_CLASSIFY,
|
||||||
|
COVER,
|
||||||
COVER1,
|
COVER1,
|
||||||
bw.WARES_PRICE,
|
bw.WARES_PRICE,
|
||||||
bw.WARES_ACHIEVE,
|
bw.WARES_ACHIEVE,
|
||||||
|
|
|
@ -15,4 +15,11 @@ public class RetailProductConstants {
|
||||||
"CP20250001", "CP20250002", "CP20250003", "CP20250004", "CP20250005", "CP20250006"
|
"CP20250001", "CP20250002", "CP20250003", "CP20250004", "CP20250005", "CP20250006"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盒数产品列表
|
||||||
|
*/
|
||||||
|
public static final List<String> ALL_BOX_WARES_LIST = Arrays.asList(
|
||||||
|
"CP20250001", "CP20250002", "CP20250003", "CP20250004", "CP20250005", "CP20250006"
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ public enum ESpecialArea {
|
||||||
/**
|
/**
|
||||||
* 新零售会员专区(注册)
|
* 新零售会员专区(注册)
|
||||||
*/
|
*/
|
||||||
RETAIL_REGISTER(41, "新零售会员专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 41, 41, -1),
|
RETAIL_REGISTER(41, "新零售注册专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 41, 41, -1),
|
||||||
/**
|
/**
|
||||||
* 新零售会员专区(升级)
|
* 新零售会员专区(升级)
|
||||||
*/
|
*/
|
||||||
|
@ -75,8 +75,6 @@ public enum ESpecialArea {
|
||||||
|
|
||||||
RETAIL_TICKET(45, "自助购票", 0, EnumsPrefixConstants.SPECIAL_AREA + 45, 45, -1),
|
RETAIL_TICKET(45, "自助购票", 0, EnumsPrefixConstants.SPECIAL_AREA + 45, 45, -1),
|
||||||
|
|
||||||
RETAIL_SHOP_ORDER(47, "店铺专供", 0, EnumsPrefixConstants.SPECIAL_AREA + 47, 47, -1),
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2,23 +2,20 @@ package com.hzs.common.domain.member.detail;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import com.hzs.common.core.web.domain.BaseEntity;
|
import com.hzs.common.core.web.domain.BaseEntity;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员信息-等级升级记录
|
* 会员信息-等级升级记录
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-10-11
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
|
|
@ -11,11 +11,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 商品扩展表
|
* 商品扩展表
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/9/16 11:11
|
|
||||||
* @Classname: BdWaresExt
|
|
||||||
* @PackageName: com.hzs.common.domain.sale.ext
|
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
@ -174,11 +170,6 @@ public class BdWaresExt extends BdWares {
|
||||||
*/
|
*/
|
||||||
private BigDecimal retailPrice;
|
private BigDecimal retailPrice;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发起人收益(目前复购使用)保存为美金
|
|
||||||
*/
|
|
||||||
private BigDecimal makerIncome;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 消费配置主键
|
* 消费配置主键
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -14,9 +14,6 @@ import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品发布
|
* 商品发布
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-08
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 规格sku表
|
* 规格sku表
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-09-09
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 新零售极差等级配置表
|
* 新零售极差等级配置表
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2025-02-13
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
Loading…
Reference in New Issue