Bladeren bron

feat:订单升级补差价

wrj 1 jaar geleden
bovenliggende
commit
4c295fef02

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TOrder.java

@@ -71,6 +71,10 @@ public class TOrder implements Serializable {
     @ApiModelProperty("优惠金额")
     private BigDecimal preferential;
 
+    @TableField("price_difference")
+    @ApiModelProperty("差价")
+    private BigDecimal priceDifference;
+
     @TableField("order_type")
     @ApiModelProperty("订单类型:0普通订单,1加钟订单,2升级订单")
     private Integer orderType;

+ 7 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -122,6 +122,11 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         order.setdTotalMoney(sum);
         //总价
         order.setTotalPrice(sum.add(Optional.ofNullable(order.getFare()).orElse(BigDecimal.ZERO)));
+        if (order.getOrderType() == 2) {
+            //升级订单 补差价
+            TOrder partOrder = this.getByNo(order.getParentNo());
+            order.setPriceDifference(order.getTotalPrice().subtract(partOrder.getTotalPrice()));
+        }
         //获取用户默认地址
         TAddress address = addressService.getByOpenId(order.getcOpenId());
         if (address == null) {
@@ -155,7 +160,6 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
      * @param order
      */
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public R payOrder(TOrder order) throws Exception {
         // 根据orderid查询订单信息
         TOrder orderNew = getById(order.getcId());
@@ -189,7 +193,8 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         }
     }
 
-    private void orderPayManage(TWxUser user, TOrder orderNew) {
+    @Transactional(rollbackFor = Exception.class)
+    public void orderPayManage(TWxUser user, TOrder orderNew) {
         // 更新用户金额 及下单此时
         TWxUser paramUser = new TWxUser();
         paramUser.setcOpenid(user.getcOpenid());

+ 1 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TOrderMapper.xml

@@ -8,6 +8,7 @@
         <result column="pay_type" property="payType"/>
         <result column="preferential" property="preferential"/>
         <result column="order_type" property="orderType"/>
+        <result column="price_difference" property="priceDifference"/>
         <result column="c_js_id" property="cJsId"/>
         <result column="tape" property="tape"/>
         <result column="fare" property="fare"/>