mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	Merge remote-tracking branch 'origin/feature/mall_product' into feature/mall_product
# Conflicts: # sql/mysql/statistics.sql
This commit is contained in:
		@@ -92,21 +92,12 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
 | 
			
		||||
    default TradeOrderDO selectOneByPickUpVerifyCode(String pickUpVerifyCode) {
 | 
			
		||||
        return selectOne(TradeOrderDO::getPickUpVerifyCode, pickUpVerifyCode);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // TODO @puhui999:selectByUserIdAndCombinationActivityIdAndStatus,这样更容易理解哈。
 | 
			
		||||
    /**
 | 
			
		||||
     * 只针对 combinationActivityId 的查询
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId     用户编号
 | 
			
		||||
     * @param activityId 拼团活动编号
 | 
			
		||||
     * @param status     订单状态
 | 
			
		||||
     * @return 交易订单
 | 
			
		||||
     */
 | 
			
		||||
    default TradeOrderDO selectByUserIdAndActivityIdAndStatus(Long userId, Long activityId, Integer status) {
 | 
			
		||||
    
 | 
			
		||||
    default TradeOrderDO selectByUserIdAndCombinationActivityIdAndStatus(Long userId, Long combinationActivityId, Integer status) {
 | 
			
		||||
        return selectOne(new LambdaQueryWrapperX<TradeOrderDO>()
 | 
			
		||||
                .eq(TradeOrderDO::getUserId, userId)
 | 
			
		||||
                .eq(TradeOrderDO::getStatus, status)
 | 
			
		||||
                .eq(TradeOrderDO::getCombinationActivityId, activityId)
 | 
			
		||||
                .eq(TradeOrderDO::getCombinationActivityId, combinationActivityId)
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,11 +42,11 @@ public interface TradeOrderQueryService {
 | 
			
		||||
     * 获得指定用户,指定活动,指定状态的交易订单
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId     用户编号
 | 
			
		||||
     * @param activityId 活动编号
 | 
			
		||||
     * @param combinationActivityId 活动编号
 | 
			
		||||
     * @param status     订单状态
 | 
			
		||||
     * @return 交易订单
 | 
			
		||||
     */
 | 
			
		||||
    TradeOrderDO getActivityOrderByUserIdAndActivityIdAndStatus(Long userId, Long activityId, Integer status);
 | 
			
		||||
    TradeOrderDO getOrderByUserIdAndStatusAndCombination(Long userId, Long combinationActivityId, Integer status);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获得订单列表
 | 
			
		||||
 
 | 
			
		||||
@@ -71,8 +71,8 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public TradeOrderDO getActivityOrderByUserIdAndActivityIdAndStatus(Long userId, Long activityId, Integer status) {
 | 
			
		||||
        return tradeOrderMapper.selectByUserIdAndActivityIdAndStatus(userId, activityId, status);
 | 
			
		||||
    public TradeOrderDO getOrderByUserIdAndStatusAndCombination(Long userId, Long combinationActivityId, Integer status) {
 | 
			
		||||
        return tradeOrderMapper.selectByUserIdAndCombinationActivityIdAndStatus(userId, combinationActivityId, status);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ public class TradeCombinationOrderHandler implements TradeOrderHandler {
 | 
			
		||||
                order.getCombinationHeadId(), item.getSkuId(), item.getCount());
 | 
			
		||||
 | 
			
		||||
        // 2. 校验该用户是否存在未支付的拼团活动订单,避免一个拼团可以下多个单子了
 | 
			
		||||
        TradeOrderDO activityOrder = orderQueryService.getActivityOrderByUserIdAndActivityIdAndStatus(
 | 
			
		||||
        TradeOrderDO activityOrder = orderQueryService.getOrderByUserIdAndStatusAndCombination(
 | 
			
		||||
                order.getUserId(), order.getCombinationActivityId(), TradeOrderStatusEnum.UNPAID.getStatus());
 | 
			
		||||
        if (activityOrder != null) {
 | 
			
		||||
            throw exception(ORDER_CREATE_FAIL_EXIST_UNPAID);
 | 
			
		||||
@@ -69,9 +69,8 @@ public class TradeCombinationOrderHandler implements TradeOrderHandler {
 | 
			
		||||
        CombinationRecordCreateRespDTO combinationRecord = combinationRecordApi.createCombinationRecord(
 | 
			
		||||
                TradeOrderConvert.INSTANCE.convert(order, item));
 | 
			
		||||
 | 
			
		||||
        // 3. 更新拼团相关信息到订单
 | 
			
		||||
        // 为什么几个字段都要更新?原因是:
 | 
			
		||||
        // 如果创建订单时自己是团长的情况下 combinationHeadId 是为 null 的,设置团长编号这个操作时在订单是否后创建拼团记录时才设置的。
 | 
			
		||||
        // 3. 更新拼团相关信息到订单。为什么几个字段都要更新?
 | 
			
		||||
        // 原因是:如果创建订单时自己是团长的情况下 combinationHeadId 是为 null 的,设置团长编号这个操作时在订单是否后创建拼团记录时才设置的。
 | 
			
		||||
        orderUpdateService.updateOrderCombinationInfo(order.getId(), order.getCombinationActivityId(),
 | 
			
		||||
                combinationRecord.getCombinationRecordId(), combinationRecord.getCombinationHeadId());
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user