## 去掉原进存相关逻辑;

This commit is contained in:
cabbage 2025-08-12 14:58:14 +08:00
parent 8772c69d75
commit f50518bc75
21 changed files with 7 additions and 324 deletions

View File

@ -108,10 +108,6 @@ public interface ISaOrderServiceApi {
*/
R<?> saveOrderBatch(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
/* 保存销售订单
**/
R<?> saveOrder(SaOrderExt saOrderExt);
/**
* 查询注册订单数量
*

View File

@ -49,10 +49,6 @@ public class ApiOthSaOrderController extends ParentOrderController {
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY));
}
if (!orderService.checkPreSalesQuantity(orderParam)) {
// 商品预售数量不足
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.WARES_PRE_SALE_QUANTITY_LACK));
}
if (orderParam.getSpecialArea() != EOrderType.REGISTER_ORDER.getValue()) {
convertShoppingCarToSku(orderParam);
if (EOrderType.UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()

View File

@ -68,11 +68,6 @@ public class ApiRegSaOrderController extends ParentOrderController {
}
orderParam.setSource(source);
if (!orderService.checkPreSalesQuantity(orderParam)) {
// 商品预售数量不足
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.WARES_PRE_SALE_QUANTITY_LACK));
}
AjaxResult result = validateSaveMember(orderParam);
if ((Integer) result.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) {
return result;

View File

@ -119,17 +119,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi {
return R.fail();
}
@Override
public R<?> saveOrder(SaOrderExt saOrderExt) {
try {
iSaOrderService.saveSaOrderByOrderExt(saOrderExt);
} catch (Exception e) {
e.printStackTrace();
return R.fail(e.getMessage());
}
return R.ok();
}
@Override
public List<MemberFirstOrderDTO> checkMemberIsFirstOrder(List<String> memberCodeList) {
List<MemberFirstOrderVo> memberFirstOrderVos = iSaOrderService.checkMemberIsFirstOrder(memberCodeList);

View File

@ -20,9 +20,6 @@ import java.util.List;
/**
* 销售订单-明细表 服务类
*
* @author hzs
* @since 2022-08-31
*/
public interface ISaOrderItemsService extends IService<SaOrderItems> {
@ -76,17 +73,11 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
* 更新订单明细表将订单明细更改为删除
*
* @param saOrder
* @return: Boolean
* @Author: sui q
* @Date: 2022/10/24 20:48
*/
Boolean updateOrderItems(SaOrder saOrder);
/*
* @description:
* @author: sui q
* @date: 2023/7/27 16:16
* @param: null null
*
**/
void updateOrderItemsByMemberList(List<Long> memberList, Long pkApprove, Date currentDateTime);
@ -96,9 +87,6 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
* @param pkOrderItemsId 订单明细
* @param pkApprove 审核人
* @param currentDate 更新时间
* @return: Boolean
* @Author: sui q
* @Date: 2023/3/28 11:25
*/
Boolean updateOrderItemsById(List<Long> pkOrderItemsId, Long pkApprove, Date currentDate);
@ -111,11 +99,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList);
/**
* @description: 根据订单id查询订单商品列表
* @author: zhang jing
* @date: 2023/5/29 15:37
* @param: [orderIdList, tOrderIdList]
* @return: java.util.List<com.hzs.common.domain.sale.ext.SaOrderItemsExt>
* 根据订单id查询订单商品列表
**/
List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList);
@ -157,11 +141,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
List<SaOrderItemsExt> selectByList(Long pkOrder);
/**
* @description: 根据订单ID查询商品
* @author: zhang jing
* @date: 2023/4/21 18:02
* @param: [canApplyOrderVO]
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
* 根据订单ID查询商品
**/
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);

View File

@ -571,28 +571,6 @@ public interface ISaOrderService extends IService<SaOrder> {
*/
int insertBach(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
/**
* 生成三方销售订单
*/
void saveSaOrderByOrderExt(SaOrderExt saOrderExt);
/**
* 校验预售库存数量是否充足
*
* @param orderParam
* @return
*/
Boolean checkPreSalesQuantity(OrderParam orderParam);
/**
* 扣减预售状态下预售库存使用量
*
* @param orderCode
* @param specialArea
* @return
*/
Boolean reducePreSalesQuantity(String orderCode, Integer specialArea);
/**
* 根据编号查询会员首单
*

View File

@ -25,9 +25,6 @@ import java.util.*;
/**
* 销售订单-明细表 服务实现类
*
* @author hzs
* @since 2022-08-31
*/
@Service
public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaOrderItems> implements ISaOrderItemsService {

View File

@ -768,9 +768,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 休止期普通会员6个月奖衔会员12个月先按6个月来后续MQ会统一处理同姓名同手机号会员
newCuMember.setStopDate(DateUtils.addMonths(newCuMember.getExpireDate(), 6));
String orderCode = saOrderExt.getOrderCode();
Integer specialArea = saOrderExt.getSpecialArea();
this.reducePreSalesQuantity(orderCode, specialArea);
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt);
if (saveResult.isSuccess()) {
@ -870,10 +867,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 更新订单信息
updateSaOrder(saOrderExt);
// 扣减预售状态下预售库存使用量
String orderCode = saOrderExt.getOrderCode();
Integer specialArea = saOrderExt.getSpecialArea();
reducePreSalesQuantity(orderCode, specialArea);
// 处理会员信息更新会员等级,扣款
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
@ -987,11 +980,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
CuMember member = getCuMemberByKey(saOrderExt.getPkMember());
CuMember cuMember = calculateHaFunMemberGrade(saOrderExt, member);
// 扣减预售状态下预售库存使用量
String orderCode = saOrderExt.getOrderCode();
Integer specialArea = saOrderExt.getSpecialArea();
reducePreSalesQuantity(orderCode, specialArea);
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
@ -1961,104 +1949,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return i;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveSaOrderByOrderExt(SaOrderExt saOrderExt) {
save(saOrderExt);
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
saOrderItems.setPkOrder(saOrderExt.getPkId());
}
saOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
}
/**
* 校验预售库存数量是否充足
*
* @param orderParam
* @return
*/
@Override
public Boolean checkPreSalesQuantity(OrderParam orderParam) {
// 开关控制是否处理
if (EYesNo.NO.getIntValue() == BdConfig.getEnable()) {
return true;
}
Set<String> waresCodeList = new HashSet<>();
for (OrderItemsParam orderItemsParam : orderParam.getOrderItemsParams()) {
if (StringUtils.isNotBlank(orderItemsParam.getWaresCode())) {
waresCodeList.add(orderItemsParam.getWaresCode());
}
}
if (waresCodeList.size() > 0) {
List<WaresPreSaleVo> waresPreSaleVoList = iBdWaresExtendService.selectByWaresCodeList(waresCodeList, orderParam.getSpecialArea());
if (CollectionUtil.isNotEmpty(waresPreSaleVoList)) {
Map<String, WaresPreSaleVo> waresPreSaleMap = waresPreSaleVoList.stream().collect(Collectors.toMap(WaresPreSaleVo::getWaresCode, Function.identity()));
for (OrderItemsParam orderItemsParam : orderParam.getOrderItemsParams()) {
String waresCode = orderItemsParam.getWaresCode();
if (StringUtils.isNotEmpty(waresCode)) {
WaresPreSaleVo waresPreSaleVo = waresPreSaleMap.get(waresCode);
if (null != waresPreSaleVo && waresPreSaleVo.getPreSaleStatus() != null && waresPreSaleVo.getPreSaleStatus().equals(EPresaleStatus.PRESALE.getValue())) {
// 如果是预售状态 校验预售数量是否足够
if (waresPreSaleVo.getPreSaleQuantity() != null) {
// 预售数量不足
return waresPreSaleVo.getPreSaleQuantity() >= orderItemsParam.getQuantity();
}
}
}
}
}
}
return true;
}
/**
* 扣减预售状态下预售库存使用量
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean reducePreSalesQuantity(String orderCode, Integer specialArea) {
// 开关控制是否处理
if (EYesNo.NO.getIntValue() == BdConfig.getEnable()) {
return true;
}
List<OrderItemsParam> orderItemsList = saOrderItemsService.selectByWaresCodeList(orderCode);
if (orderItemsList.size() > 0) {
Set<String> waresCodeList = new HashSet<>();
for (OrderItemsParam orderItemsParam : orderItemsList) {
if (StringUtils.isNotBlank(orderItemsParam.getWaresCode())) {
waresCodeList.add(orderItemsParam.getWaresCode());
}
}
if (waresCodeList.size() > 0) {
List<WaresPreSaleVo> waresPreSaleVoList = iBdWaresExtendService.selectByWaresCodeList(waresCodeList, specialArea);
if (CollectionUtil.isNotEmpty(waresPreSaleVoList)) {
Map<String, WaresPreSaleVo> waresPreSaleMap = waresPreSaleVoList.stream().collect(Collectors.toMap(WaresPreSaleVo::getWaresCode, Function.identity()));
for (OrderItemsParam orderItemsParam : orderItemsList) {
String waresCode = orderItemsParam.getWaresCode();
if (StringUtils.isNotEmpty(waresCode)) {
WaresPreSaleVo waresPreSaleVo = waresPreSaleMap.get(waresCode);
if (null != waresPreSaleVo && waresPreSaleVo.getPreSaleStatus() != null && waresPreSaleVo.getPreSaleStatus().equals(EPresaleStatus.PRESALE.getValue())) {
// 如果是预售状态 校验预售数量是否足够
if (waresPreSaleVo.getPreSaleQuantity() != null) {
if (waresPreSaleVo.getPreSaleQuantity() < orderItemsParam.getQuantity()) {
// 预售数量不足
return false;
} else {
iBdWaresService.updatePreSaleQuantityByWaresCode(waresCode, orderItemsParam.getQuantity());
return true;
}
}
}
}
}
}
}
}
return true;
}
/**
* 根据编号查询会员首单
*
@ -2070,13 +1960,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return baseMapper.checkMemberIsFirstOrder(memberCodeList);
}
/**
* @description: 自助撤单
* @author: zhang jing
* @date: 2023/11/21 15:27
* @param: [pkApprove, orderCancelParam, validateCancelOrderVO]
* @return: void
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void selfRevokeOrder(Long pkApprove, MyOrderVO myOrderVO) {

View File

@ -1,21 +1,7 @@
package com.hzs.sale.order.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2024/4/25 14:06
* @Classname: WaresPreSaleVo
* @PackageName: com.hzs.sale.order.vo
*/
package com.hzs.sale.order.vo;
import lombok.Data;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.vo
*@Author: yh
*@CreateTime: 2024-04-25 14:06
*@Description: TODO
*@Version: 1.0
*/
@Data
public class WaresPreSaleVo {
@ -31,7 +17,7 @@ public class WaresPreSaleVo {
/**
* 商品名称
*/
private String waresName ;
private String waresName;
/**
* 预售状态

View File

@ -554,7 +554,7 @@ public class BdProductController extends BaseController {
}
// 发货类型翻译
productVo.setShippingChannelVal(transactionMap.get(EShippingChannel.getEnumByValue(productVo.getShippingChannel()).getKey()));
productVo.setShippingChannelVal(EShippingChannel.getLabelByValue(productVo.getShippingChannel()));
// 产品属性翻译
if (productVo.getProductAttr() != null) {
productVo.setProductAttrVal(EProductAttrType.getEnumByValue(productVo.getProductAttr()).getLabel());

View File

@ -3,18 +3,13 @@ package com.hzs.sale.wares.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 商品发布扩展表 Mapper 接口
*
* @author hzs
* @since 2022-09-09
*/
public interface BdWaresExtendMapper extends BaseMapper<BdWaresExtend> {
@ -34,13 +29,4 @@ public interface BdWaresExtendMapper extends BaseMapper<BdWaresExtend> {
*/
void updatePutOnTimeAndPutOffTimeByWaresId(@Param("waresId") Integer waresId, @Param("putOnTime") Date putOnTime, @Param("putOffTime") Date putOffTime);
/**
* 根据商品编号查询 每个商品所剩余的预售数量
*
* @param waresCodeList
* @param specialArea 专区
* @return
*/
List<WaresPreSaleVo> selectByWaresCodeList(@Param("waresCodeList") Collection<String> waresCodeList, @Param("specialArea") Integer specialArea);
}

View File

@ -114,14 +114,6 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
List<BdWaresExt> queryRecommendWaresByCondition(@Param("specialArea") Integer specialArea, @Param("pkAreaClassify") Integer pkAreaClassify,
@Param("waresCode") String waresCode, @Param("waresName") String waresName, @Param("pkCountry") Integer pkCountry);
/**
* 扣减预售数量库存
*
* @param waresCode
* @param quantity
*/
void updatePreSaleQuantityByWaresCode(@Param("waresCode") String waresCode, @Param("quantity") Integer quantity);
/**
* 查询商品可见类型
*

View File

@ -3,17 +3,12 @@ package com.hzs.sale.wares.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 商品发布扩展表 服务类
*
* @author hzs
* @since 2022-09-09
*/
public interface IBdWaresExtendService extends IService<BdWaresExtend> {
@ -33,13 +28,4 @@ public interface IBdWaresExtendService extends IService<BdWaresExtend> {
*/
void updatePutOnTimeAndPutOffTimeByWaresId(Integer waresId, Date putOnTime, Date putOffTime);
/**
* 根据商品编号查询 每个商品所剩余的预售数量
*
* @param waresCodeList
* @param specialArea 专区
* @return
*/
List<WaresPreSaleVo> selectByWaresCodeList(Collection<String> waresCodeList, Integer specialArea);
}

View File

@ -172,14 +172,6 @@ public interface IBdWaresService extends IService<BdWares> {
*/
Map<Integer, List<BdWaresAuthority>> getWaresAuthority(List<Integer> pkWaresList);
/**
* 扣减预售数量库存
*
* @param waresCode
* @param quantity
*/
void updatePreSaleQuantityByWaresCode(String waresCode, Integer quantity);
/**
* 查询商品可见类型
*

View File

@ -4,29 +4,19 @@ import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;
import com.hzs.sale.wares.mapper.BdWaresExtendMapper;
import com.hzs.sale.wares.service.IBdWaresExtendService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 商品发布扩展表 服务实现类
*
* @author hzs
* @since 2022-09-09
*/
@Service
public class BdWaresExtendServiceImpl extends ServiceImpl<BdWaresExtendMapper, BdWaresExtend> implements IBdWaresExtendService {
/**
* 修改销量
*
* @param waresNumberParamList
*/
@Override
public void updateWaresSalesAccrual(List<WaresNumberParam> waresNumberParamList) {
if (CollectionUtil.isNotEmpty(waresNumberParamList)) {
@ -34,27 +24,9 @@ public class BdWaresExtendServiceImpl extends ServiceImpl<BdWaresExtendMapper, B
}
}
/**
* 设置上下架时间
*
* @param waresId
* @param putOnTime
* @param putOffTime
*/
@Override
public void updatePutOnTimeAndPutOffTimeByWaresId(Integer waresId, Date putOnTime, Date putOffTime) {
baseMapper.updatePutOnTimeAndPutOffTimeByWaresId(waresId, putOnTime, putOffTime);
}
/**
* 根据商品编号查询 每个商品所剩余的预售数量
*
* @param waresCodeList
* @param specialArea
* @return
*/
@Override
public List<WaresPreSaleVo> selectByWaresCodeList(Collection<String> waresCodeList, Integer specialArea) {
return baseMapper.selectByWaresCodeList(waresCodeList, specialArea);
}
}

View File

@ -1138,11 +1138,6 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
return map;
}
@Override
public void updatePreSaleQuantityByWaresCode(String waresCode, Integer quantity) {
baseMapper.updatePreSaleQuantityByWaresCode(waresCode, quantity);
}
@Override
public WaresAuthorityVo getWaresAuthorityFirst(Integer pkWares) {
return baseMapper.getWaresAuthorityFirst(pkWares);

View File

@ -72,23 +72,4 @@
where PK_WARES = #{waresId}
</update>
<select id="selectByWaresCodeList" resultType="com.hzs.sale.order.vo.WaresPreSaleVo">
select
bw.WARES_CODE waresCode, bw.WARES_NAME waresName,bw.PRE_SALE_QUANTITY preSaleQuantity,
we.PK_WARES pkWares ,we.PRE_SALE_STATUS preSaleStatus
from BD_WARES bw
left join BD_WARES_EXTEND we on we.PK_WARES = bw.PK_ID
where bw.del_flag = 0
and we.del_flag = 0
<if test="specialArea != null">
and bw.special_area = #{specialArea}
</if>
<if test="waresCodeList != null and waresCodeList.size > 0">
and bw.WARES_CODE in
<foreach collection="waresCodeList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>

View File

@ -352,13 +352,6 @@
order by bw.sort,bw.creation_time desc
</select>
<update id="updatePreSaleQuantityByWaresCode">
update BD_WARES
set PRE_SALE_QUANTITY = PRE_SALE_QUANTITY - #{quantity}
where WARES_CODE = #{waresCode}
and PRE_SALE_QUANTITY > 0
</update>
<select id="getWaresAuthorityFirst" resultType="com.hzs.sale.wares.vo.WaresAuthorityVo">
select wa.AUTHORITY_TYPE authorityType, cm.MEMBER_CODE memberCode, cm.MEMBER_NAME memberName
from bd_wares_authority wa

View File

@ -37,8 +37,6 @@ public class BdConfig {
// */
// private static String android;
private static Integer enable;
/**
* 商品同步是否开启0=开启1=不开启
*/
@ -96,15 +94,6 @@ public class BdConfig {
// HzsConfig.android = android;
// }
public static Integer getEnable() {
return enable;
}
public void setEnable(Integer enable) {
BdConfig.enable = enable;
}
public static Integer getProductSync() {
return productSync;
}

View File

@ -44,7 +44,7 @@ public enum EShippingChannel {
return "";
}
for (EShippingChannel enums : EShippingChannel.values()) {
if (enums.value == value) {
if (enums.value.equals(value)) {
return enums.getLabel();
}
}

View File

@ -13,9 +13,6 @@ import org.apache.ibatis.type.JdbcType;
/**
* 商品发布扩展表
*
* @author hzs
* @since 2022-09-09
*/
@Data
@EqualsAndHashCode(callSuper = true)