ソースを参照

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!679
jiang hao 2 年 前
コミット
df2d081915

+ 3 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

@@ -241,15 +241,15 @@ public class ChannelOrderController extends BaseApiController {
         orderAmt = ticketBox.getPkgPrePrice() * param.getOrderNum();
         // 设置类型
         if (TicketTypeEnum.OFFLINE.equals(ticketBox.getType())) {
-          orderSettleVO.setType(ChannelOrderTypeEnum.OFFLINE_PRE);
+          orderSettleVO.setType(ChannelOrderTypeEnum.OFFLINE_PRE.getValue());
         } else {
-          orderSettleVO.setType(ChannelOrderTypeEnum.ONLINE_PRE);
+          orderSettleVO.setType(ChannelOrderTypeEnum.ONLINE_PRE.getValue());
         }
       } else {
         // 非预购票金额计算处理
         orderAmt += ticketBox.getPkgSalePrice() * param.getOrderNum();
         // 设置类型
-        orderSettleVO.setType(ChannelOrderTypeEnum.RETAIL);
+        orderSettleVO.setType(ChannelOrderTypeEnum.RETAIL.getValue());
       }
       ChannelCartVO cartVO = mapperFacade.map(ticketBox, ChannelCartVO.class);
       cartVO.setOrderNum(param.getOrderNum());

+ 9 - 0
mp-common/src/main/java/com/qs/mp/common/enums/ChannelOrderTypeEnum.java

@@ -34,6 +34,15 @@ public enum ChannelOrderTypeEnum implements IEnum<Integer> {
         return desc;
     }
 
+    public static ChannelOrderTypeEnum getByValue(Integer value) {
+        for (ChannelOrderTypeEnum statusEnum : ChannelOrderTypeEnum.values()) {
+            if (statusEnum.getValue().equals(value)) {
+                return statusEnum;
+            }
+        }
+        return null;
+    }
+
     /**
      * 重写toString,单个转化成json
      * @return

+ 1 - 1
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelOrderSettleVO.java

@@ -63,5 +63,5 @@ public class ChannelOrderSettleVO {
   private Integer pkgNum = 0;
 
   @ApiModelProperty("订单类型1普通票,2线下预购票,3线上预付票")
-  private ChannelOrderTypeEnum type;
+  private Integer type;
 }

+ 5 - 1
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelOrderServiceImpl.java

@@ -157,7 +157,7 @@ public class ChannelOrderServiceImpl extends
     channelOrder.setCity(addr.getCity());
     channelOrder.setArea(addr.getArea());
     channelOrder.setAddress(addr.getAddr());
-    channelOrder.setType(orderSettleVO.getType());
+    channelOrder.setType(ChannelOrderTypeEnum.getByValue(orderSettleVO.getType()));
 
     channelOrderService.save(channelOrder);
     channelOrderItemService.saveBatch(orderItemList);
@@ -334,6 +334,10 @@ public class ChannelOrderServiceImpl extends
     }
     // 修改票包已销售状态
     LambdaUpdateWrapper<TicketPackage> updateWrapper = new LambdaUpdateWrapper<TicketPackage>();
+    // 如果为预购票,则修改票包的状态
+    if (!ChannelOrderTypeEnum.RETAIL.equals(channelOrder.getType())) {
+        updateWrapper.set(TicketPackage::getIsPre, 1);
+    }
     updateWrapper.set(TicketPackage::getStatus, TicketPkgStatusEnum.SOLD);
     updateWrapper.in(TicketPackage::getPkgId, pkgIdList);
     updateWrapper.eq(TicketPackage::getStatus, TicketPkgStatusEnum.FOR_SALE);