Browse Source

Merge branch 'dev/2024/0704/update-admin-Y' of Harper/feifan-backend-zx-admin into master

修改结算单的计算时间
Yangzw 8 months ago
parent
commit
33fcde894d

+ 1 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/shopsettlement/ShopSettlementMapper.java

@@ -38,4 +38,5 @@ public interface ShopSettlementMapper extends BaseMapperX<ShopSettlementDO> {
 
     String getShopName(@Param("shopId") Long shopId);
 
+    void updateOrderById(@Param("ids") List<Long> orderIds);
 }

+ 10 - 12
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/shopsettlement/ShopSettlementServiceImpl.java

@@ -223,21 +223,19 @@ public class ShopSettlementServiceImpl implements ShopSettlementService {
 
             // 插入订单结算信息(订单二级)
             List<Long> orderIds = shopOrderIds.get(shopSett.getShopId());
-            orderIds.forEach(orderId -> {
-                orderSettlementMapper.insert(OrderSettlementDO.builder()
-                        .tradeShopSettlementId(shopSett.getId())
-                        .tradeOrderId(orderId)
-                        .build());
-            });
+            orderIds.forEach(orderId -> orderSettlementMapper.insert(OrderSettlementDO.builder()
+                    .tradeShopSettlementId(shopSett.getId())
+                    .tradeOrderId(orderId)
+                    .build()));
+            // 更新订单的状态,将所有的订单状态更新为已完成
+            shopSettlementMapper.updateOrderById(orderIds);
 
             // 插入订单项结算信息(订单项二级)
             List<Long> orderItemIds = shopOrderItemIds.get(shopSett.getShopId());
-            orderItemIds.forEach(orderItemId -> {
-                orderItemSettlementMapper.insert(OrderItemSettlementDO.builder()
-                        .tradeShopSettlementId(shopSett.getId())
-                        .tradeOrderItemId(orderItemId)
-                        .build());
-            });
+            orderItemIds.forEach(orderItemId -> orderItemSettlementMapper.insert(OrderItemSettlementDO.builder()
+                    .tradeShopSettlementId(shopSett.getId())
+                    .tradeOrderItemId(orderItemId)
+                    .build()));
             // 更新订单项的结算时间
             shopSettlementMapper.setOrderItemById(orderItemIds);
         });

+ 10 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/shopsettlement/ShopSettlementMapper.xml

@@ -22,6 +22,14 @@
                 #{ids}
             </foreach>
     </update>
+    <update id="updateOrderById">
+        update trade_order
+        set status = 30
+        where id in
+        <foreach item="ids" collection="ids" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </update>
 
     <select id="getOrderByMerchantIdWithsShopId"
             resultMap="BaseResultMap">
@@ -29,11 +37,11 @@
         join trade_order_item item on o.id = item.order_id
         where pay_status = 1
         and o.deleted = 0
-        and o.status = 30
         and o.shop_id = #{shopId}
         and o.merchant_id = #{merchantId}
-        and date(o.receiving_time) <![CDATA[ <= ]]> DATE_SUB(now(),INTERVAL 7 DAY)
+        and date(o.create_time) <![CDATA[ <= ]]> DATE_SUB(now(),INTERVAL 7 DAY)
         and item.settlement_time is null
+        and item.after_sale_status = 0
     </select>
 
     <select id="getOrderItem" resultType="cn.newfeifan.mall.module.distri.service.dailybill.dto.OrderItemDTO">

+ 3 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java

@@ -30,7 +30,6 @@ import cn.newfeifan.mall.module.trade.enums.order.TradeOrderRefundStatusEnum;
 import cn.newfeifan.mall.module.trade.enums.order.TradeOrderStateEnum;
 import cn.newfeifan.mall.module.trade.enums.order.TradeOrderStatusEnum;
 import cn.newfeifan.mall.module.trade.mq.producer.order.DistriOrderProducer;
-import cn.newfeifan.mall.module.trade.service.aftersale.AfterSaleService;
 import cn.newfeifan.mall.module.trade.service.order.TradeOrderLogService;
 import cn.newfeifan.mall.module.trade.service.order.TradeOrderQueryService;
 import cn.newfeifan.mall.module.trade.service.order.TradeOrderUpdateService;
@@ -283,7 +282,7 @@ public class TradeOrderController {
     @GetMapping("/get-count")
     @Operation(summary = "获得交易订单数量")
     public CommonResult<Map<Integer, Long>> getOrderCount(TradeOrderPageReqVO reqVO) {
-        Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(6);
+        Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(7);
 
         orderCount.put(-1, tradeOrderQueryService.getOrderCount(null, reqVO));
         orderCount.put(TradeOrderStatusEnum.AFTER_SALE.getStatus(), tradeOrderQueryService.getOrderCountByRefundStatus(TradeOrderRefundStatusEnum.ALL.getStatus(), reqVO));
@@ -298,9 +297,10 @@ public class TradeOrderController {
     @GetMapping("/get-countByUser")
     @Operation(summary = "获得用户的交易订单数量")
     public CommonResult<Map<Integer, Long>> getOrderCountByUser(@RequestParam(value = "userId", required = false) Long userId) {
-        Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(6);
+        Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(7);
 
         orderCount.put(-1, tradeOrderQueryService.getOrderCount(null, userId));
+        orderCount.put(TradeOrderStatusEnum.AFTER_SALE.getStatus(), tradeOrderQueryService.getOrderCountByRefundStatus(TradeOrderRefundStatusEnum.ALL.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.UNPAID.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNPAID.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.DELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.DELIVERED.getStatus(), userId));

+ 8 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -10,6 +10,7 @@ import cn.newfeifan.mall.module.trade.controller.app.order.vo.AppTradeOrderPageR
 import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderDO;
 import cn.newfeifan.mall.module.trade.enums.order.TradeOrderRefundStatusEnum;
 import cn.newfeifan.mall.module.trade.enums.order.TradeOrderStatusEnum;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -188,8 +189,6 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
      */
     List<DistriOrderMessage> queryDailyOrder();
 
-    List<DistriOrderMessage> queryAllOrderByOrderIds(@Param("orderIds") List<Long> orderIds);
-
     default Long selectCountByRefundStatus(Integer refundStatus, TradeOrderPageReqVO reqVO){
         return selectCount(new LambdaQueryWrapperX<TradeOrderDO>()
                 .eqIfPresent(TradeOrderDO::getRefundStatus, refundStatus)
@@ -208,4 +207,11 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
     //add by Ben 20240604
     @Select("SELECT ancestor FROM `distri_share_path` where descendant = #{userId} and depth=1")
     Long selectAncesterByMemberUserId(@Param("userId") Long userId);
+
+    default Long selectCountByRefundStatus(Integer status, Long userId){
+        return selectCount(new LambdaQueryWrapper<TradeOrderDO>()
+                .eq(TradeOrderDO::getRefundStatus,status)
+                .eq(TradeOrderDO::getUserId,userId)
+        );
+    }
 }

+ 8 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryService.java

@@ -218,8 +218,6 @@ public interface TradeOrderQueryService {
      */
     List<DistriOrderMessage> queryDailyOrder();
 
-    List<DistriOrderMessage> queryAllOrder(List<Long> orderIds);
-
     /**
      * 获取店铺信息
      * @return 店铺商户
@@ -244,4 +242,12 @@ public interface TradeOrderQueryService {
      * @return 数量
      */
     Long getOrderCountByRefundStatus(Integer refundStatus, TradeOrderPageReqVO reqVO);
+
+    /**
+     * 获取状态为退款的订单
+     * @param status 订单状态
+     * @param userId 用户ID
+     * @return 数量
+     */
+    Long getOrderCountByRefundStatus(Integer status, Long userId);
 }

+ 5 - 6
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java

@@ -288,12 +288,6 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
         return tradeOrderMapper.queryDailyOrder();
     }
 
-    @Override
-    public List<DistriOrderMessage> queryAllOrder(List<Long> orderIds) {
-        // 根据orderIds获取订单
-        return tradeOrderMapper.queryAllOrderByOrderIds(orderIds);
-    }
-
 
     @Override
     public ShopBO getShop() {
@@ -355,6 +349,11 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
         return tradeOrderMapper.selectCountByRefundStatus(refundStatus, reqVO);
     }
 
+    @Override
+    public Long getOrderCountByRefundStatus(Integer status, Long userId) {
+        return tradeOrderMapper.selectCountByRefundStatus(status, userId);
+    }
+
     public static ShopBO getShopBO(StringRedisTemplate stringRedisTemplate, AdminUserMapper userMapper, Logger log) {
         Long loginUserId = getLoginUserId();
         String s = stringRedisTemplate.opsForValue().get("shop:" + loginUserId);

+ 2 - 42
feifan-module-mall/feifan-module-trade-biz/src/main/resources/mapper/order/BrokerageUserMapper.xml

@@ -48,7 +48,7 @@
         and tor.deleted = 0 and toi.deleted = 0
         and toi.distribute_benefit = 0
         and toi.after_sale_status = 0
-        and date(tor.pay_time) <![CDATA[ <= ]]> DATE_SUB(CURDATE(), INTERVAL 7 DAY)
+        and date(tor.create_time) <![CDATA[ <= ]]> DATE_SUB(CURDATE(), INTERVAL 7 DAY)
 --         and date(tor.pay_time) <![CDATA[ <= ]]> DATE_SUB('2024-06-21', INTERVAL 7 DAY)
 --         and date(tor.pay_time) = '2024-06-20'
 --           and tor.receiving_time &lt; DATE_SUB(NOW(), INTERVAL 7 DAY)
@@ -80,49 +80,9 @@
                            on toi.sku_id = ps.id
         where tor.pay_status = 1
           and tor.deleted = 0 and toi.deleted = 0
-          and (toi.after_sale_status = 0 or toi.after_sale_status = 61)
+          and toi.after_sale_status = 0
           and toi.transition_time is null
           and DATE(tor.create_time) &lt; CURDATE()
 --           and DATE(tor.create_time) = '2024-06-20'
     </select>
-
-    <select id="queryAllOrderByOrderIds"
-            resultMap="BaseResultMap">
-        select tor.total_price as totalPrice,
-        ps.cost_price as costPrice,
-        ps.price as price,
-        tor.product_count as productCount,
-        tor.`no` as `no`,
-        tor.id as orderId,
-        tor.user_id as userId,
-        ps.merchant_id as merchantId,
-        ps.shop_id as shopId,
-        mu.`name` as name,
-        mu.nickname as nickname,
-        toi.count as `count`,
-        toi.id as orderItemId,
-        toi.increase_integral AS increaseIntegral,
-        toi.ancestor_increase_integral AS ancestorIncreaseIntegral
-        from trade_order tor
-        LEFT JOIN member_user mu
-        ON tor.user_id = mu.id
-        LEFT JOIN trade_order_item toi
-        on tor.id = toi.order_id
-        LEFT JOIN product_sku ps
-        on toi.sku_id = ps.id
-        <where>
-            tor.pay_status = 1
-            and toi.distribute_benefit = 0
-            and (toi.after_sale_status = 0 or toi.after_sale_status = 61)
-            and tor.receiving_time &lt; DATE_SUB(NOW(), INTERVAL 7 DAY)
-            <if test="orderIds!=null">
-                and tor.id in (
-                <foreach collection="orderIds" item="orderId" separator=",">
-                    #{orderId}
-                </foreach>
-                )
-            </if>
-        </where>
-
-    </select>
 </mapper>