Bläddra i källkod

完成积分订单详情接口

wangzhijun 1 vecka sedan
förälder
incheckning
54522bfe69

+ 1 - 1
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/ProductOrderController.java

@@ -156,7 +156,7 @@ public class ProductOrderController extends BaseController {
     @PreAuthorize("@ss.hasPermi('product:order:query')")
     @GetMapping("/admin/detail/{orderId}")
     @ApiOperation("积分订单管理详情接口")
-    public R<ProductOrderDetailAdminVo> getOrderDetailForAdmin(@PathVariable String orderId) {
+    public R<ProductOrderDetailAdminVo> getOrderDetailForAdmin(@PathVariable Long orderId) {
         ProductOrderDetailAdminVo detailVO = productOrderInfoService.getOrderDetailForAdmin(orderId);
         return R.ok(detailVO);
     }

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/AfterSaleOrder.java

@@ -99,6 +99,9 @@ public class AfterSaleOrder implements Serializable {
     /** 售后完成时间 */
     private LocalDateTime finishTime;
 
+    /** 快递单号 */
+    private String logisticsNo;
+
     /** 备注 */
     private String remark;
 

+ 6 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/OrderBaseInfoVo.java

@@ -35,6 +35,12 @@ public class OrderBaseInfoVo {
     @ApiModelProperty("实付金额")
     private BigDecimal payAmount;
 
+    @ApiModelProperty("使用积分数量")
+    private Integer pointsUsed;
+
+    @ApiModelProperty("付款类型(1:积分 2:金额 3:积分+金额)")
+    private Integer paymentType;
+
     @ApiModelProperty("电话号码")
     private String phone;
 

+ 6 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/OrderItemVo.java

@@ -31,4 +31,10 @@ public class OrderItemVo {
     @ApiModelProperty("实付")
     private BigDecimal payAmount;
 
+    @ApiModelProperty("使用积分数量")
+    private Integer pointsUsed;
+
+    @ApiModelProperty("付款类型(1:积分 2:金额 3:积分+金额)")
+    private Integer paymentType;
+
 }

+ 5 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/AfterSaleOrderMapper.java

@@ -2,8 +2,13 @@ package com.ylx.massage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ylx.massage.domain.AfterSaleOrder;
+import com.ylx.massage.domain.vo.OrderAfterSaleVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface AfterSaleOrderMapper extends BaseMapper<AfterSaleOrder> {
+
+    OrderAfterSaleVo selectAfterSaleVoByOrderId(@Param("orderId") Long orderId);
+
 }

+ 5 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/IAfterSaleOrderService.java

@@ -3,7 +3,12 @@ package com.ylx.massage.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.massage.domain.AfterSaleOrder;
 import com.ylx.massage.domain.dto.AfterSaleOrderDTO;
+import com.ylx.massage.domain.vo.OrderAfterSaleVo;
 
 public interface IAfterSaleOrderService extends IService<AfterSaleOrder> {
+
     void add(AfterSaleOrderDTO dto);
+
+    OrderAfterSaleVo getOrderAfterSaleVo(Long orderId);
+
 }

+ 1 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/service/IProductOrderInfoService.java

@@ -61,7 +61,7 @@ public interface IProductOrderInfoService extends IService<ProductOrderInfo> {
 
     Page<ProductOrderPageItemVo> adminPage(Page<ProductOrderInfo> page, ProductOrderPageDTO dto);
 
-    ProductOrderDetailAdminVo getOrderDetailForAdmin(String orderId);
+    ProductOrderDetailAdminVo getOrderDetailForAdmin(Long orderId);
 
     ProductOrderCountVo adminPageStats();
 }

+ 6 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/AfterSaleOrderServiceImpl.java

@@ -8,6 +8,7 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.SecurityUtils;
 import com.ylx.massage.domain.AfterSaleOrder;
 import com.ylx.massage.domain.dto.AfterSaleOrderDTO;
+import com.ylx.massage.domain.vo.OrderAfterSaleVo;
 import com.ylx.massage.enums.AfterSaleStatusEnum;
 import com.ylx.massage.mapper.AfterSaleOrderMapper;
 import com.ylx.massage.service.IAfterSaleOrderService;
@@ -41,6 +42,11 @@ public class AfterSaleOrderServiceImpl extends ServiceImpl<AfterSaleOrderMapper,
         this.afterSaleOrderMapper.insert(entity);
     }
 
+    @Override
+    public OrderAfterSaleVo getOrderAfterSaleVo(Long orderId) {
+        return this.afterSaleOrderMapper.selectAfterSaleVoByOrderId(orderId);
+    }
+
     private WxLoginUser getCurrentWxLoginUser() {
         WxLoginUser loginUser = SecurityUtils.getWxLoginUser();
         if (ObjectUtil.isNull(loginUser)) {

+ 6 - 7
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/ProductOrderInfoServiceImpl.java

@@ -21,10 +21,7 @@ import com.ylx.massage.mapper.ProductMapper;
 import com.ylx.massage.mapper.ProductOrderInfoMapper;
 import com.ylx.massage.mapper.ProductOrderItemMapper;
 import com.ylx.massage.mapper.ProductSkuMapper;
-import com.ylx.massage.service.IProductOrderInfoService;
-import com.ylx.massage.service.TConsumptionLogService;
-import com.ylx.massage.service.TRechargeService;
-import com.ylx.massage.service.TWxUserService;
+import com.ylx.massage.service.*;
 import com.ylx.massage.utils.OrderNumberGenerator;
 import com.ylx.product.domain.ProductOrderAddress;
 import com.ylx.product.service.IProductOrderAddressService;
@@ -73,6 +70,8 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
 
     @Autowired
     private ProductSkuMapper productSkuMapper;
+    @Resource
+    private IAfterSaleOrderService afterSaleOrderService;
 
 
     /**
@@ -492,7 +491,7 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
     }
 
     @Override
-    public ProductOrderDetailAdminVo getOrderDetailForAdmin(String orderId) {
+    public ProductOrderDetailAdminVo getOrderDetailForAdmin(Long orderId) {
 
         ProductOrderInfo productOrderInfo = this.productOrderInfoMapper.selectById(orderId);
         if (ObjectUtil.isNull(productOrderInfo)) {
@@ -554,8 +553,8 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
         }
         vo.setOrderItemInfo(itemVo);
 
-        // 4. 售后列表
-        OrderAfterSaleVo orderAfterSaleVo = new OrderAfterSaleVo();
+        // 4. 售后信息
+        OrderAfterSaleVo orderAfterSaleVo = this.afterSaleOrderService.getOrderAfterSaleVo(orderId);
         vo.setAfterSaleInfo(orderAfterSaleVo);
 
         return vo;

+ 48 - 0
nightFragrance-massage/src/main/resources/mapper/massage/AfterSaleOrderMapper.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ylx.massage.mapper.AfterSaleOrderMapper">
+
+    <!-- 费用VO映射 -->
+    <resultMap id="AfterSaleFeeResultMap" type="com.ylx.massage.domain.vo.AfterSaleOrderFeeVo">
+        <result column="type" property="type"/>
+        <result column="fee" property="fee"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+
+    <!-- 主VO映射 + 集合自动封装 feeList -->
+    <resultMap id="AfterSaleVoResultMap" type="com.ylx.massage.domain.vo.OrderAfterSaleVo">
+        <id column="id" property="id"/>
+        <result column="after_sale_type" property="afterSaleType"/>
+        <result column="create_time" property="createTime"/>
+        <result column="apply_reason" property="applyReason"/>
+        <result column="after_sale_status" property="afterSaleStatus"/>
+        <result column="logistics_no" property="logisticsNo"/>
+
+        <!-- 关键:自动封装 List<feeList> -->
+        <collection
+                property="feeList"
+                javaType="ArrayList"
+                ofType="com.ylx.massage.domain.vo.AfterSaleOrderFeeVo"
+                resultMap="AfterSaleFeeResultMap"/>
+    </resultMap>
+
+    <select id="selectAfterSaleVoByOrderId" resultMap="AfterSaleVoResultMap">
+        SELECT
+            a.id,
+            a.after_sale_type,
+            a.create_time,
+            a.apply_reason,
+            a.after_sale_status,
+            a.logistics_no,
+            f.type,
+            f.fee,
+            f.remark
+        FROM
+            after_sale_order a
+        LEFT JOIN after_sale_order_fee f ON a.id = f.after_sale_order_id
+        WHERE
+            a.order_id = #{orderId}
+        AND a.is_deleted = 0
+    </select>
+
+</mapper>