Bladeren bron

fix:支付调整

wrj 8 maanden geleden
bovenliggende
commit
c40873c774

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

@@ -9,6 +9,7 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.common.utils.poi.ExcelUtil;
 import com.ylx.massage.domain.TOrder;
+import com.ylx.massage.domain.vo.OrderVerificationVo;
 import com.ylx.massage.enums.Enumproject;
 import com.ylx.massage.enums.OrderStatusEnum;
 import com.ylx.massage.enums.OrderStatusEnumVo;
@@ -70,7 +71,7 @@ public class TOrderController {
     @Log(title = "优惠卷核销", businessType = BusinessType.UPDATE)
     @ApiOperation("优惠卷核销")
     @RequestMapping(value = "wx/verification", method = RequestMethod.POST)
-    public R<TOrder> verification(@RequestBody TOrder order) {
+    public R<OrderVerificationVo> verification(@RequestBody TOrder order) {
         try {
             return R.ok(orderService.verification(order));
         } catch (ServiceException s) {

+ 27 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/OrderVerificationVo.java

@@ -0,0 +1,27 @@
+package com.ylx.massage.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author jianlong
+ * @date 2024-09-12 16:37
+ */
+@Data
+@ApiModel("订单核销")
+public class OrderVerificationVo {
+
+    @ApiModelProperty("优惠金额")
+    private BigDecimal preferential;
+
+
+    @ApiModelProperty("优惠后金额")
+    private BigDecimal totalPrice;
+
+    @ApiModelProperty("领取优惠卷id")
+    private String couponReceiveId;
+
+}

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.common.core.domain.R;
 import com.ylx.massage.domain.TOrder;
 import com.ylx.massage.domain.vo.HomeBlock;
+import com.ylx.massage.domain.vo.OrderVerificationVo;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -75,5 +76,5 @@ public interface TOrderService extends IService<TOrder> {
 
     List<HomeBlock> getBlock(Date start, Date end, String deptId);
 
-    TOrder verification(TOrder order);
+    OrderVerificationVo verification(TOrder order);
 }

+ 23 - 19
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -17,6 +17,7 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.massage.domain.*;
 import com.ylx.massage.domain.vo.CouponReceiveVo;
 import com.ylx.massage.domain.vo.HomeBlock;
+import com.ylx.massage.domain.vo.OrderVerificationVo;
 import com.ylx.massage.enums.BillTypeEnum;
 import com.ylx.massage.enums.DiscountTypeEnum;
 import com.ylx.massage.enums.JsStatusEnum;
@@ -316,18 +317,20 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     }
 
     @Override
-    public TOrder verification(TOrder order) {
+    public OrderVerificationVo verification(TOrder order) {
         if (StringUtils.isBlank(order.getCouponReceiveId())) {
             throw new ServiceException("认领优惠券id为空");
         }
         if (StringUtils.isBlank(order.getcId())) {
             throw new ServiceException("订单id为空");
         }
+        OrderVerificationVo orderVerificationVo = new OrderVerificationVo();
         TOrder tOrder = this.getById(order.getcId());
-        tOrder.setCouponReceiveId(order.getCouponReceiveId());
+        orderVerificationVo.setCouponReceiveId(order.getCouponReceiveId());
         CouponReceive couponReceive = couponReceiveService.getById(order.getCouponReceiveId());
         Coupon coupon = couponService.getById(couponReceive.getCouponId());
-
+        log.info("订单信息,{}", tOrder);
+        log.info("优惠卷信息,{}", coupon);
         //折扣券
         if (coupon.getDiscountType() == 2) {
             //判断门槛金额
@@ -337,18 +340,18 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
                 //优惠后的金额 = 订单总金额*折扣值
                 BigDecimal bigDecimal = tOrder.getTotalPrice().multiply(divide).setScale(MassageConstants.INTEGER_TWO, RoundingMode.HALF_UP);
                 //优惠值
-                tOrder.setPreferential(tOrder.getTotalPrice().subtract(bigDecimal));
-                tOrder.setTotalPrice(bigDecimal);
-                return getOrder(tOrder);
+                orderVerificationVo.setPreferential(tOrder.getTotalPrice().subtract(bigDecimal));
+                orderVerificationVo.setTotalPrice(bigDecimal);
+                return orderVerificationVo;
             } else {
                 throw new ServiceException("不满足优惠券门槛金额");
             }
         } else {
             if (tOrder.getTotalPrice().compareTo(coupon.getThresholdAmount()) >= 0) {
                 //优惠值
-                tOrder.setPreferential(coupon.getDiscountValue());
-                tOrder.setTotalPrice(tOrder.getTotalPrice().subtract(coupon.getDiscountValue()));
-                return getOrder(tOrder);
+                orderVerificationVo.setPreferential(coupon.getDiscountValue());
+                orderVerificationVo.setTotalPrice(tOrder.getTotalPrice().subtract(coupon.getDiscountValue()));
+                return orderVerificationVo;
             } else {
                 throw new ServiceException("不满足优惠券门槛金额");
             }
@@ -383,17 +386,15 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
             }
         }
 
-
         orderNew.setPayType(order.getPayType());
-//        if (StringUtils.isNotBlank(order.getCouponReceiveId())) {
-//            orderNew.setCouponReceiveId(order.getCouponReceiveId());
-//            CouponReceive couponReceive = couponReceiveService.getById(order.getCouponReceiveId());
-//            Coupon coupon = couponService.getById(couponReceive.getCouponId());
-//            //无门槛优惠券
-//            orderNew.setPreferential(coupon.getDiscountValue());
-//            //todo 其他优惠卷....
-//            orderNew.setTotalPrice(orderNew.getTotalPrice().subtract(coupon.getDiscountValue()));
-//        }
+        if (StringUtils.isNotBlank(order.getCouponReceiveId())) {
+            orderNew.setCouponReceiveId(order.getCouponReceiveId());
+            orderNew.setPreferential(order.getPreferential());
+            orderNew.setTotalPrice(order.getTotalPrice());
+            if (!updateById(orderNew)) {
+                throw new ServiceException("支付失败");
+            }
+        }
         //判断支付方式
         if (order.getPayType().equals(MassageConstants.INTEGER_ONE)) {
             //微信支付
@@ -435,6 +436,9 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     public void orderPayManage(TWxUser user, TOrder orderNew) {
 
         //删除优惠卷
+//        if(orderNew.){
+//
+//        }
 
         // 更新用户金额 及下单此时
         TWxUser paramUser = new TWxUser();