Browse Source

添加商户查询售后接口

Yangzw 1 year ago
parent
commit
7dbb2c83f7

+ 1 - 1
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/service/spu/ProductSpuServiceImpl.java

@@ -69,7 +69,7 @@ public class ProductSpuServiceImpl implements ProductSpuService {
 
         // 校验 SKU
         List<ProductSkuSaveReqVO> skuSaveReqList = createReqVO.getSkus();
-        productSkuService.validateSkuList(skuSaveReqList, createReqVO.getSpecType());
+            productSkuService.validateSkuList(skuSaveReqList, createReqVO.getSpecType());
 
         ProductSpuDO spu = BeanUtils.toBean(createReqVO, ProductSpuDO.class);
         // 初始化 SPU 中 SKU 相关属性

+ 24 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderDetailController.java

@@ -7,6 +7,7 @@ import cn.newfeifan.mall.module.member.api.user.dto.MemberUserRespDTO;
 import cn.newfeifan.mall.module.pay.dal.dataobject.order.PayOrderDO;
 import cn.newfeifan.mall.module.pay.service.order.PayOrderService;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleBaseVO;
+import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleDetailRespVO;
 import cn.newfeifan.mall.module.trade.controller.admin.order.vo.*;
 import cn.newfeifan.mall.module.trade.controller.admin.order.vo.detailvo.TradeOrderDeliveryVO;
 import cn.newfeifan.mall.module.trade.controller.admin.order.vo.detailvo.TradeOrderPayVo;
@@ -34,7 +35,9 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
 import static cn.newfeifan.mall.framework.common.util.collection.CollectionUtils.convertList;
@@ -104,6 +107,25 @@ public class TradeOrderDetailController {
         return success(AfterSaleConvert.INSTANCE.convert02(afterSaleByOrderNo));
     }
 
+    @GetMapping("/after_saleByMer")
+        @Operation(summary = "新增接口20240402-售后信息-商户查询售后")
+    @Parameter(name = "merId", description = "商户ID", required = true, example = "1")
+    @PreAuthorize("@ss.hasPermission('trade:order:query')")
+    public CommonResult<List<AfterSaleDetailRespVO>> afterSaleByMer(@RequestParam("merId") Long merId) {
+        // 查询订单
+        List<TradeOrderDO> orders = tradeOrderQueryService.getOrderByMerId(merId);
+        if (orders.isEmpty()) {
+            return success(null);
+        }
+
+        List<Long> orderIds = orders.stream()
+                .map(TradeOrderDO::getId) // 提取每个TradeOrderDO对象的id属性
+                .collect(Collectors.toList());
+        // 查询售后订单
+        List<AfterSaleDO> afterSaleDOS = afterSaleService.getAfterSaleByMer(orderIds);
+        return success(AfterSaleConvert.INSTANCE.convertList02(afterSaleDOS));
+    }
+
     @GetMapping("/delivery")
     @Operation(summary = "新增接口20240229-物流信息")
     @Parameter(name = "id", description = "订单编号", required = true, example = "1")
@@ -141,9 +163,9 @@ public class TradeOrderDetailController {
                 .path("")
                 .payPrice(order.getPayPrice())
                 .build();
-        if (payOrderDO == null){
+        if (payOrderDO == null) {
             build.setPayStatus("未支付");
-        }else {
+        } else {
             build.setPayStatus(payOrderDO.getStatus() == 0 ? "未支付" : "已支付");
         }
         return success(null);

+ 1 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/convert/aftersale/AfterSaleConvert.java

@@ -82,6 +82,7 @@ public interface AfterSaleConvert {
 
     List<AfterSaleLogRespVO> convertList1(List<AfterSaleLogDO> list);
     AfterSaleDetailRespVO convert02(AfterSaleDO bean);
+    List<AfterSaleDetailRespVO> convertList02(List<AfterSaleDO> list);
     AfterSaleDetailRespVO.OrderItem convert02(TradeOrderItemDO bean);
     TradeOrderBaseVO convert(TradeOrderDO bean);
 

+ 6 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -331,7 +331,12 @@ public class TradeOrderDO extends BaseDO {
     private Long combinationRecordId;
 
 
+    /**
+     * 店铺id
+     */
     private Long shopId;
-
+    /**
+     * 商户id
+     */
     private Long merchantId;
 }

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

@@ -146,5 +146,10 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
                 .eqIfPresent(TradeOrderDO::getMerchantId, key))));
     }
 
+    default List<TradeOrderDO> selectOrderListByMerId(Long merId){
+        return selectList(new LambdaQueryWrapperX<TradeOrderDO>()
+                .eq(TradeOrderDO::getMerchantId, merId));
+    }
+
     ;
 }

+ 8 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleService.java

@@ -9,6 +9,8 @@ import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleCr
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.aftersale.AfterSaleDO;
 
+import java.util.List;
+
 /**
  * 售后订单 Service 接口
  *
@@ -131,4 +133,10 @@ public interface AfterSaleService {
      */
     Long getApplyingAfterSaleCount(Long userId);
 
+    /**
+     * 【用户】获取售后订单
+     * @param orderIds  订单ID集
+     * @return          售后订单
+     */
+    List<AfterSaleDO> getAfterSaleByMer(List<Long> orderIds);
 }

+ 7 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleServiceImpl.java

@@ -43,6 +43,7 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.*;
@@ -419,4 +420,10 @@ public class AfterSaleServiceImpl implements AfterSaleService {
         return tradeAfterSaleMapper.selectCountByUserIdAndStatus(userId, AfterSaleStatusEnum.APPLYING_STATUSES);
     }
 
+    @Override
+    public List<AfterSaleDO> getAfterSaleByMer(List<Long> orderIds) {
+        return tradeAfterSaleMapper.selectList(new LambdaQueryWrapper<AfterSaleDO>()
+                .in(AfterSaleDO::getOrderId, orderIds));
+    }
+
 }

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

@@ -189,4 +189,11 @@ public interface TradeOrderQueryService {
      */
     Integer getShopSalesVolume(Long key);
 
+
+    /**
+     * 获取商户下的订单
+     * @param merId 商户ID
+     * @return 该商户下的订单
+     */
+    List<TradeOrderDO> getOrderByMerId(Long merId);
 }

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

@@ -189,6 +189,11 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
 
     }
 
+    @Override
+    public List<TradeOrderDO> getOrderByMerId(Long merId) {
+        return tradeOrderMapper.selectOrderListByMerId(merId);
+    }
+
     @Override
     public List<ExpressTrackRespDTO> getExpressTrackList(Long id, Long userId) {
         // 查询订单