Przeglądaj źródła

订单详情新增优惠描述字段

skyline 2 lat temu
rodzic
commit
ebe8dfb2d6

+ 7 - 0
entity/src/main/java/com/kym/entity/miniapp/vo/ChargeOrderVo.java

@@ -2,6 +2,7 @@ package com.kym.entity.miniapp.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.time.LocalDateTime;
 
@@ -11,6 +12,7 @@ import java.time.LocalDateTime;
  * @date 2023-10-20 14:50
  */
 @Data
+@Accessors(chain = true)
 public class ChargeOrderVo {
 
     private Long userId;
@@ -79,6 +81,11 @@ public class ChargeOrderVo {
      */
     private Integer serviceMoneyDiscount;
 
+    /**
+     * 优惠描述
+     */
+    private String rightsDesc;
+
     /**
      * 充电状态:1:启动中 2:充电中 3:停止中 4:已结束 5:未知
      */

+ 1 - 1
service/src/main/java/com/kym/service/miniapp/ChargeOrderService.java

@@ -30,7 +30,7 @@ public interface ChargeOrderService extends IService<ChargeOrder> {
 
     PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params);
 
-    ChargeOrder orderDetailForApp(String startChargeSeq);
+    ChargeOrderVo orderDetailForApp(String startChargeSeq);
 
     PageBean<StationStatVo> stationStat(StatQueryParam params);
 

+ 22 - 3
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.kym.common.utils.CommUtil;
+import com.kym.entity.admin.RechargeRights;
 import com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam;
 import com.kym.entity.admin.queryParams.PageParams;
 import com.kym.entity.admin.queryParams.StatQueryParam;
@@ -14,10 +15,13 @@ import com.kym.entity.admin.vo.CustomOrderVo;
 import com.kym.entity.admin.vo.StationStatVo;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.ChargeOrder;
+import com.kym.entity.miniapp.OrderRechargeRights;
 import com.kym.entity.miniapp.vo.ChargeOrderVo;
 import com.kym.mapper.miniapp.ChargeOrderMapper;
 import com.kym.service.admin.ExportService;
+import com.kym.service.admin.RechargeRightsService;
 import com.kym.service.miniapp.ChargeOrderService;
+import com.kym.service.miniapp.OrderRechargeRightsService;
 import com.kym.service.utils.KymCache;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.SneakyThrows;
@@ -49,10 +53,14 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
 
     private final KymCache kymCache;
     private final ExportService exportService;
+    private final OrderRechargeRightsService orderRechargeRightsService;
+    private final RechargeRightsService rechargeRightsService;
 
-    public ChargeOrderServiceImpl(KymCache kymCache, ExportService exportService) {
+    public ChargeOrderServiceImpl(KymCache kymCache, ExportService exportService, OrderRechargeRightsService orderRechargeRightsService, RechargeRightsService rechargeRightsService) {
         this.kymCache = kymCache;
         this.exportService = exportService;
+        this.orderRechargeRightsService = orderRechargeRightsService;
+        this.rechargeRightsService = rechargeRightsService;
     }
 
 
@@ -155,9 +163,20 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
 
 
     @Override
-    public ChargeOrder orderDetailForApp(String startChargeSeq) {
+    public ChargeOrderVo orderDetailForApp(String startChargeSeq) {
         // TODO: 2023-08-24 后面跟上面接口合并
-        return lambdaQuery().eq(ChargeOrder::getStartChargeSeq, startChargeSeq).one();
+        var chargeOrder = lambdaQuery().eq(ChargeOrder::getStartChargeSeq, startChargeSeq).one();
+        // 订单对应的优惠信息
+        var orderVo = new ChargeOrderVo();
+        BeanUtils.copyProperties(chargeOrder, orderVo);
+        if (chargeOrder.getDiscountAmount() > 0) {
+            // 充值权益
+            var orderRechargeRight = orderRechargeRightsService.lambdaQuery().eq(OrderRechargeRights::getStartChargeSeq, startChargeSeq).one();
+            var rechargeRights = rechargeRightsService.lambdaQuery().eq(RechargeRights::getId, orderRechargeRight.getRightsId()).one();
+            var desc = rechargeRights.getRightsDesc();
+            orderVo.setRightsDesc(desc);
+        }
+        return orderVo;
     }
 
     /**