diff --git a/src/main/java/com/ycwl/basic/biz/OrderBiz.java b/src/main/java/com/ycwl/basic/biz/OrderBiz.java
index fd9c706..dc2181d 100644
--- a/src/main/java/com/ycwl/basic/biz/OrderBiz.java
+++ b/src/main/java/com/ycwl/basic/biz/OrderBiz.java
@@ -30,14 +30,14 @@ public class OrderBiz {
 
     public PriceObj queryPrice(int goodsType, Long goodsId) {
         PriceObj priceObj = new PriceObj();
+        priceObj.setGoodsType(goodsType);
+        priceObj.setGoodsId(goodsId);
         switch (goodsType) {
             case 0: // video
                 VideoRespVO video = videoMapper.getById(goodsId);
                 if (video == null) {
                     return null;
                 }
-                priceObj.setGoodsId(goodsId);
-                priceObj.setGoodsType(goodsType);
                 TemplateRespVO template = templateRepository.getTemplate(video.getTemplateId());
                 if (template == null) {
                     return priceObj;
@@ -85,6 +85,8 @@ public class OrderBiz {
             if (priceObj == null) {
                 return respVO;
             }
+            respVO.setGoodsType(goodsType);
+            respVO.setGoodsId(goodsId);
             respVO.setPrice(priceObj.getPrice());
             respVO.setSlashPrice(priceObj.getSlashPrice());
         }
diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java
index ad4a305..3c6ee5d 100644
--- a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java
+++ b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java
@@ -3,10 +3,12 @@ package com.ycwl.basic.controller.mobile;
 import com.github.pagehelper.PageInfo;
 import com.ycwl.basic.biz.OrderBiz;
 import com.ycwl.basic.constant.BaseContextHandler;
+import com.ycwl.basic.model.jwt.JwtInfo;
 import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
 import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
 import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
 import com.ycwl.basic.model.mobile.order.RefundOrderReq;
+import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
 import com.ycwl.basic.model.pc.order.req.OrderAddReq;
 import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
 import com.ycwl.basic.model.wx.WxPayRespVO;
@@ -14,6 +16,7 @@ import com.ycwl.basic.repository.OrderRepository;
 import com.ycwl.basic.service.mobile.GoodsService;
 import com.ycwl.basic.service.pc.OrderService;
 import com.ycwl.basic.utils.ApiResponse;
+import com.ycwl.basic.utils.JwtTokenUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -51,8 +54,9 @@ public class AppOrderController {
 
     @ApiOperation("用户端订单新增")
     @PostMapping("/addOrder")
-    public ApiResponse<WxPayRespVO> addOrder(@RequestBody OrderAddReq orderAddReq) throws Exception {
-        return orderService.add(orderAddReq);
+    public ApiResponse<WxPayRespVO> addOrder(@RequestBody CreateOrderReqVO orderAddReq) throws Exception {
+        JwtInfo worker = JwtTokenUtil.getWorker();
+        return orderService.createOrder(worker.getUserId(), orderAddReq);
     }
 
 
diff --git a/src/main/java/com/ycwl/basic/mapper/OrderMapper.java b/src/main/java/com/ycwl/basic/mapper/OrderMapper.java
index 8ee9c32..5330e4c 100644
--- a/src/main/java/com/ycwl/basic/mapper/OrderMapper.java
+++ b/src/main/java/com/ycwl/basic/mapper/OrderMapper.java
@@ -21,7 +21,7 @@ import java.util.List;
 public interface OrderMapper {
     List<OrderRespVO> list(OrderReqQuery orderReqQuery);
     OrderRespVO getById(Long id);
-    int add(OrderAddReq order);
+    int add(OrderEntity order);
 //    int deleteById(Long id);
     int update(OrderUpdateReq order);
 
diff --git a/src/main/java/com/ycwl/basic/model/pc/order/entity/OrderEntity.java b/src/main/java/com/ycwl/basic/model/pc/order/entity/OrderEntity.java
index d76b2ba..6aaa50b 100644
--- a/src/main/java/com/ycwl/basic/model/pc/order/entity/OrderEntity.java
+++ b/src/main/java/com/ycwl/basic/model/pc/order/entity/OrderEntity.java
@@ -16,6 +16,7 @@ import java.util.Date;
 public class OrderEntity {
     @TableId
     private Long id;
+    private Long scenicId;
     /**
      * 用户id
      */
diff --git a/src/main/java/com/ycwl/basic/model/pc/order/req/CreateOrderReqVO.java b/src/main/java/com/ycwl/basic/model/pc/order/req/CreateOrderReqVO.java
new file mode 100644
index 0000000..bc41fd3
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/model/pc/order/req/CreateOrderReqVO.java
@@ -0,0 +1,12 @@
+package com.ycwl.basic.model.pc.order.req;
+
+import lombok.Data;
+
+@Data
+public class CreateOrderReqVO {
+    private Long scenicId;
+    private Integer goodsType;
+    private Long goodsId;
+    private String brokerCode;
+    private Long couponId;
+}
diff --git a/src/main/java/com/ycwl/basic/model/wx/WxPayRespVO.java b/src/main/java/com/ycwl/basic/model/wx/WxPayRespVO.java
index da2cc0b..94b6ea3 100644
--- a/src/main/java/com/ycwl/basic/model/wx/WxPayRespVO.java
+++ b/src/main/java/com/ycwl/basic/model/wx/WxPayRespVO.java
@@ -18,6 +18,7 @@ import java.io.Serializable;
 public class WxPayRespVO implements Serializable {
 
     private static final long serialVersionUID = 1L;
+    private boolean needPay = true;
     /**
      * 预支付交易会话标识小程序下单接口返回的prepay_id参数值
      */
diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
index c8b1be0..c119ac6 100644
--- a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
+++ b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java
@@ -6,7 +6,6 @@ import com.aliyuncs.utils.StringUtils;
 import com.wechat.pay.java.core.Config;
 import com.wechat.pay.java.core.RSAAutoCertificateConfig;
 import com.wechat.pay.java.core.exception.ServiceException;
-import com.wechat.pay.java.core.http.HttpMethod;
 import com.wechat.pay.java.core.notification.NotificationConfig;
 import com.wechat.pay.java.core.notification.NotificationParser;
 import com.wechat.pay.java.core.notification.RequestParam;
@@ -46,7 +45,6 @@ import com.ycwl.basic.service.HttpService;
 import com.ycwl.basic.service.mobile.WxPayService;
 import com.ycwl.basic.service.pc.OrderService;
 import com.ycwl.basic.utils.ApiResponse;
-import com.ycwl.basic.utils.DateUtils;
 import com.ycwl.basic.utils.SnowFlakeUtil;
 import com.ycwl.basic.utils.WXPayUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -204,42 +202,7 @@ public class WxPayServiceImpl implements WxPayService {
                 }
                 if (Objects.nonNull(OrderStateEnum)) {
                     long orderId = Long.parseLong(parse.getOutTradeNo());
-                    try {
-                        orderService.updateOrderState(orderId, OrderStateEnum, null);
-                        // 添加统计数据
-                        statisticsHandler(orderId);
-                    }catch (Exception e) {
-                        log.error("[微信支付回调]更新订单状态失败", e);
-                    }
-                    OrderRespVO byId = orderMapper.getById(orderId);
-                    List<OrderItemEntity> orderItemList = orderMapper.listOrderItemByOrderId(orderId);
-                    orderItemList.forEach(orderItemVO -> {
-                        orderRepository.clearUserBuyItemCache(byId.getMemberId(), orderItemVO.getGoodsType(), orderItemVO.getGoodsId());
-                        switch (orderItemVO.getGoodsType()) {
-                            case 0: // 成片
-                                MemberVideoEntity memberVideoEntity = new MemberVideoEntity();
-                                memberVideoEntity.setMemberId(byId.getMemberId());
-                                memberVideoEntity.setVideoId(orderItemVO.getGoodsId());
-                                memberVideoEntity.setIsBuy(1);
-                                memberVideoEntity.setOrderId(orderId);
-                                videoMapper.updateRelation(memberVideoEntity);
-                                break;
-                            case 1: // 源视频
-                            case 2: // 源素材
-                                MemberSourceEntity memberSourceEntity = new MemberSourceEntity();
-                                memberSourceEntity.setMemberId(byId.getMemberId());
-                                // 源素材的goodsId是人脸ID
-                                memberSourceEntity.setFaceId(orderItemVO.getGoodsId());
-                                memberSourceEntity.setType(orderItemVO.getGoodsType());
-                                memberSourceEntity.setIsBuy(1);
-                                memberSourceEntity.setOrderId(orderId);
-                                sourceMapper.updateRelation(memberSourceEntity);
-                                break;
-                            default:
-                                break;
-                        }
-                    });
-
+                    notifyOrderSuccess(orderId);
                 }
             }).start();
         } catch (Exception e) {
@@ -247,6 +210,45 @@ public class WxPayServiceImpl implements WxPayService {
         }
     }
 
+    @Override
+    public void notifyOrderSuccess(Long orderId) {
+        try {
+            orderService.updateOrderState(orderId, OrderStateEnum.PAID, null);
+            // 添加统计数据
+            statisticsHandler(orderId);
+        }catch (Exception e) {
+            log.error("[微信支付回调]更新订单状态失败", e);
+        }
+        OrderRespVO byId = orderMapper.getById(orderId);
+        List<OrderItemEntity> orderItemList = orderMapper.listOrderItemByOrderId(orderId);
+        orderItemList.forEach(orderItemVO -> {
+            orderRepository.clearUserBuyItemCache(byId.getMemberId(), orderItemVO.getGoodsType(), orderItemVO.getGoodsId());
+            switch (orderItemVO.getGoodsType()) {
+                case 0: // 成片
+                    MemberVideoEntity memberVideoEntity = new MemberVideoEntity();
+                    memberVideoEntity.setMemberId(byId.getMemberId());
+                    memberVideoEntity.setVideoId(orderItemVO.getGoodsId());
+                    memberVideoEntity.setIsBuy(1);
+                    memberVideoEntity.setOrderId(orderId);
+                    videoMapper.updateRelation(memberVideoEntity);
+                    break;
+                case 1: // 源视频
+                case 2: // 源素材
+                    MemberSourceEntity memberSourceEntity = new MemberSourceEntity();
+                    memberSourceEntity.setMemberId(byId.getMemberId());
+                    // 源素材的goodsId是人脸ID
+                    memberSourceEntity.setFaceId(orderItemVO.getGoodsId());
+                    memberSourceEntity.setType(orderItemVO.getGoodsType());
+                    memberSourceEntity.setIsBuy(1);
+                    memberSourceEntity.setOrderId(orderId);
+                    sourceMapper.updateRelation(memberSourceEntity);
+                    break;
+                default:
+                    break;
+            }
+        });
+    }
+
     //
     private void statisticsHandler(Long orderId) {
         ApiResponse<OrderRespVO> orderDetail = orderService.detail(orderId);
diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
index 25195aa..4e8cd60 100644
--- a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
+++ b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java
@@ -2,6 +2,7 @@ package com.ycwl.basic.service.impl.pc;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ycwl.basic.biz.OrderBiz;
 import com.ycwl.basic.constant.BaseContextHandler;
 import com.ycwl.basic.constant.NumberConstant;
 import com.ycwl.basic.enums.*;
@@ -11,11 +12,13 @@ import com.ycwl.basic.model.jwt.JwtInfo;
 import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
 import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
 import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
+import com.ycwl.basic.model.mobile.order.PriceObj;
 import com.ycwl.basic.model.mobile.order.RefundOrderReq;
 import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
 import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
 import com.ycwl.basic.model.pc.order.entity.OrderEntity;
 import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
+import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
 import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
 import com.ycwl.basic.model.pc.order.req.OrderAddReq;
 import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
@@ -70,6 +73,8 @@ public class OrderServiceImpl implements OrderService {
     private OrderOperationMapper orderOperationMapper;
     @Autowired
     private StatisticsMapper statisticsMapper;
+    @Autowired
+    private OrderBiz orderBiz;
 
     @Override
     public ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query) {
@@ -89,92 +94,39 @@ public class OrderServiceImpl implements OrderService {
         return ApiResponse.success(orderMapper.getById(orderId));
     }
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public ApiResponse<WxPayRespVO> add(OrderAddReq order) throws Exception {
-        Long orderId = SnowFlakeUtil.getLongId();
-        order.setId(orderId);
-        JwtInfo worker = JwtTokenUtil.getWorker();
-        Long userId = worker.getUserId();
-        MemberRespVO memberRespVO = memberMapper.getById(userId);
-        order.setMemberId(userId);
-        order.setOpenid(memberRespVO.getOpenId());
-
-        /* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/
-        List<GoodsDetailVO> goodsItemList = order.getGoodsItemList();
-        GoodsDetailVO goodsDetailVO = goodsItemList.get(NumberConstant.ZERO);
-        if (order.getGoodsType() == null) {
-            order.setGoodsType(goodsDetailVO.getGoodsType());
-        }
-        GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq();
-        goodsPriceQueryReq.setGoodsId(goodsDetailVO.getGoodsId());
-        goodsPriceQueryReq.setGoodsType(order.getGoodsType());
-        goodsPriceQueryReq.setScenicId(order.getScenicId());
-        BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData();
-        order.setPrice(price);
-        order.setPayPrice(price);
-
-        int add = orderMapper.add(order);
-        if (add == NumberConstant.ZERO) {
-            return ApiResponse.fail("订单添加失败");
-        } else {
-            Integer goodsType = order.getGoodsType();
-            List<OrderItemEntity> orderItems = new ArrayList<>();
-            goodsItemList.forEach(goodsDto -> {
-                Long goodsId = goodsDto.getGoodsId();
-                OrderItemEntity orderItemEntity = new OrderItemEntity();
-                orderItemEntity.setId(SnowFlakeUtil.getLongId());
-                orderItemEntity.setOrderId(orderId);
-                orderItemEntity.setGoodsType(goodsType);
-                orderItemEntity.setGoodsId(goodsId);
-                orderItems.add(orderItemEntity);
-            });
-            int addOrderItems = orderMapper.addOrderItems(orderItems);
-            if (addOrderItems == NumberConstant.ZERO) {
-                log.error("订单明细添加失败");
-                return ApiResponse.fail("订单添加失败");
-            }
-            //点击支付按钮统计
-            OrderRespVO orderRespVO = orderMapper.getById(orderId);
-            StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
-            statisticsRecordAddReq.setMemberId(orderRespVO.getMemberId());
-            statisticsRecordAddReq.setType(StatisticEnum.CLICK_ON_PAYMENT.code);
-            statisticsRecordAddReq.setScenicId(orderRespVO.getScenicId());
-            statisticsRecordAddReq.setMorphId(orderId);
-            statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
-
-
-            WxPayRespVO wxPayRespVO = initiatePayment(order, goodsDetailVO);
-            return ApiResponse.success(wxPayRespVO);
-
-
-        }
-    }
-
     /**
      * 发起支付
      * @param order 订单
-     * @param goodsDetailVO 商品详情
+     * @param orderItems 商品详情
      * @return 支付请求结果
      */
-    private  WxPayRespVO initiatePayment(OrderAddReq order,GoodsDetailVO goodsDetailVO) throws Exception {
+    private  WxPayRespVO initiatePayment(OrderEntity order, List<OrderItemEntity> orderItems) throws Exception {
         WXPayOrderReqVO wxPayOrderReqVO = new WXPayOrderReqVO();
-        Integer goodsType = order.getGoodsType();
-
         String goodsName = null;
-        if (goodsType == NumberConstant.ONE) {
-            goodsName = goodsDetailVO.getGoodsName();
-        } else if (goodsType == NumberConstant.TWO) {
-            Integer sourceType = goodsDetailVO.getSourceType();
-            goodsName = SourceTypeNameEnum.getRemark(sourceType);
+        if (orderItems.size() > 1) {
+            goodsName = "多项景区VLOG商品";
+        } else {
+            int type = orderItems.get(NumberConstant.ZERO).getGoodsType();
+            if (type == NumberConstant.ZERO) {
+                goodsName = "景区VLog视频";
+            } else if (type == NumberConstant.ONE) {
+                goodsName = "景区原片包";
+            } else if (type == NumberConstant.TWO) {
+                goodsName = "景区照片包";
+            }
         }
-
-        wxPayOrderReqVO.setOpenId(order.getOpenid())
+        if (order.getPayPrice().equals(BigDecimal.ZERO)) {
+            // 0元支付
+            WxPayRespVO wxPayRespVO = new WxPayRespVO();
+            wxPayRespVO.setNeedPay(false);
+            return wxPayRespVO;
+        }
+        wxPayOrderReqVO.setOpenId(order.getOpenId())
                 .setMemberId(order.getMemberId())
                 .setOrderSn(order.getId())
                 .setTotalPrice(BigDecimalUtil.convertToCents(order.getPrice()))
                 .setGoodsName(goodsName)
-                .setDescription("VLOG视频支付");
+                .setDescription(goodsName);
 
         return wxPayService.createOrder(wxPayOrderReqVO);
     }
@@ -319,4 +271,46 @@ public class OrderServiceImpl implements OrderService {
         return ApiResponse.success(pageInfo);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ApiResponse<WxPayRespVO> createOrder(Long userId, CreateOrderReqVO createOrderReqVO) throws Exception {
+        OrderEntity order = new OrderEntity();
+        Long orderId = SnowFlakeUtil.getLongId();
+        order.setId(orderId);
+        order.setMemberId(userId);
+        MemberRespVO member = memberMapper.getById(userId);
+        order.setOpenId(member.getOpenId());
+        order.setScenicId(createOrderReqVO.getScenicId());
+        List<OrderItemEntity> orderItems = new ArrayList<>();
+        OrderItemEntity orderItem = new OrderItemEntity();
+        orderItem.setGoodsId(createOrderReqVO.getGoodsId());
+        orderItem.setGoodsType(createOrderReqVO.getGoodsType());
+        orderItem.setOrderId(orderId);
+        orderItems.add(orderItem);
+        PriceObj priceObj = orderBiz.queryPrice(createOrderReqVO.getGoodsType(), createOrderReqVO.getGoodsId());
+        order.setPrice(priceObj.getPrice());
+        // promo code
+        // coupon
+        order.setPayPrice(priceObj.getPrice());
+        order.setStatus(OrderStateEnum.UNPAID.getState());
+        orderMapper.add(order);
+        int addOrderItems = orderMapper.addOrderItems(orderItems);
+        if (addOrderItems == NumberConstant.ZERO) {
+            log.error("订单明细添加失败");
+            return ApiResponse.fail("订单添加失败");
+        }
+        //点击支付按钮统计
+        OrderRespVO orderRespVO = orderMapper.getById(orderId);
+        StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
+        statisticsRecordAddReq.setMemberId(orderRespVO.getMemberId());
+        statisticsRecordAddReq.setType(StatisticEnum.CLICK_ON_PAYMENT.code);
+        statisticsRecordAddReq.setScenicId(orderRespVO.getScenicId());
+        statisticsRecordAddReq.setMorphId(orderId);
+        statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
+
+
+        WxPayRespVO wxPayRespVO = initiatePayment(order, orderItems);
+        return ApiResponse.success(wxPayRespVO);
+    }
+
 }
diff --git a/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java b/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java
index a6cf16e..56ca11a 100644
--- a/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java
+++ b/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java
@@ -20,6 +20,8 @@ public interface WxPayService {
      */
     void payNotify(HttpServletRequest xml);
 
+    void notifyOrderSuccess(Long orderId);
+
     /**
      * 微信支付结果查询
      */
diff --git a/src/main/java/com/ycwl/basic/service/pc/OrderService.java b/src/main/java/com/ycwl/basic/service/pc/OrderService.java
index dbc4a79..e567d6a 100644
--- a/src/main/java/com/ycwl/basic/service/pc/OrderService.java
+++ b/src/main/java/com/ycwl/basic/service/pc/OrderService.java
@@ -5,6 +5,7 @@ import com.ycwl.basic.enums.OrderStateEnum;
 import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
 import com.ycwl.basic.model.mobile.order.RefundOrderReq;
 import com.ycwl.basic.model.pc.order.entity.OrderEntity;
+import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO;
 import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
 import com.ycwl.basic.model.pc.order.req.OrderAddReq;
 import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
@@ -26,7 +27,7 @@ public interface OrderService {
 
     ApiResponse<OrderRespVO> detail(Long orderId);
 
-    ApiResponse<WxPayRespVO> add(OrderAddReq query) throws Exception;
+//    ApiResponse<WxPayRespVO> add(OrderAddReq query) throws Exception;
 
     ApiResponse<Integer> update(OrderUpdateReq query);
 
@@ -59,4 +60,6 @@ public interface OrderService {
     void remarkOrder(Long orderId, OrderEntity query);
 
     ApiResponse<PageInfo<OrderRespVO>> refundPageQuery(OrderReqQuery query);
+
+    ApiResponse<WxPayRespVO> createOrder(Long userId, CreateOrderReqVO orderAddReq) throws Exception;
 }
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 7ec4a60..d3d9ed2 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -14,7 +14,6 @@
         <result column="remark" property="remark"/>
         <result column="broker_id" property="brokerId"/>
         <result column="promo_code" property="promoCode"/>
-        <result column="goods_type" property="goodsType"/>
         <result column="refund_reason" property="refundReason"/>
         <result column="refund_status" property="refundStatus"/>
         <result column="status" property="status"/>
@@ -40,7 +39,6 @@
         <result column="price" property="price"/>
         <result column="pay_price" property="payPrice"/>
         <result column="remark" property="remark"/>
-        <result column="goods_type" property="goodsType"/>
         <result column="refund_reason" property="refundReason"/>
         <result column="refund_status" property="refundStatus"/>
         <result column="status" property="status"/>
@@ -113,13 +111,13 @@
     </select>
 
     <insert id="add">
-        insert into `order`(id, member_id, openid,price, pay_price, remark, broker_id, promo_code,goods_type,scenic_id)
-        VALUES (#{id}, #{memberId}, #{openid},#{price}, #{payPrice}, #{remark}, #{brokerId}, #{promoCode},#{goodsType},#{scenicId})
+        insert into `order`(id, member_id, openid, price, pay_price, remark, broker_id, promo_code, scenic_id)
+        VALUES (#{id}, #{memberId}, #{openId}, #{price}, #{payPrice}, #{remark}, #{brokerId}, #{promoCode}, #{scenicId})
     </insert>
     <insert id="addOrderItems">
-        insert into order_item(id, order_id,goods_type, goods_id) VALUES
+        insert into order_item(order_id,goods_type, goods_id) VALUES
         <foreach collection="orderItems" item="item" index="index" separator=",">
-            (#{item.id}, #{item.orderId}, #{item.goodsType},#{item.goodsId})
+            (#{item.orderId}, #{item.goodsType},#{item.goodsId})
         </foreach>
     </insert>
     <update id="update">
@@ -160,13 +158,11 @@
     </delete>
     <select id="list" resultMap="PCBaseResultMap">
         select distinct o.id, o.scenic_id, s.name as scenic_name, o.member_id,m.nickname ,m.real_name , o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
-               refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, o.goods_type, oi.goods_id, o.create_at
+               refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, oi.goods_id, o.create_at
         from `order`  AS o
         left join member m on o.member_id = m.id
         left join scenic s on o.scenic_id = s.id
         left join order_item oi on o.id = oi.order_id
-        left join source sr on o.goods_type='2' and oi.goods_id = sr.id
-        left join video vd on o.goods_type='1' and oi.goods_id = vd.id
         <where>
             <if test="id!= null ">
                 and o.id = #{id}
@@ -247,7 +243,7 @@
     </select>
     <select id="appList" resultMap="AppBaseResultMap">
         select DISTINCT  o.id, o.member_id,o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
-        refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at, o.goods_type,
+        refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at,
         sc.name scenicName
         from `order` AS o
         left join scenic sc on o.scenic_id = sc.id
@@ -255,15 +251,12 @@
             <if test="memberId!=null">
                 and o.member_id=#{memberId}
             </if>
-            <if test="type!= null ">
-                and o.goods_type = #{type}
-            </if>
         </where>
         order by o.create_at desc
     </select>
     <select id="appDetail" resultMap="AppBaseResultMap">
         select distinct o.id, o.member_id,o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
-                        refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at, o.goods_type,
+                        refund_reason, refund_status, o.`status`, o.create_at, refund_at, pay_at, cancel_at,
                         o.scenic_id, sc.name scenicName
         from `order`  AS o
                  left join member m on o.member_id = m.id
@@ -272,13 +265,11 @@
     </select>
     <select id="refundList" resultType="com.ycwl.basic.model.pc.order.resp.OrderRespVO">
         select distinct o.id, o.scenic_id, s.name as scenic_name, o.member_id,m.nickname ,m.real_name , o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code,
-        refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, o.goods_type, oi.goods_id, o.create_at
+        refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, oi.goods_id, o.create_at
         from `order`  AS o
         left join member m on o.member_id = m.id
         left join scenic s on o.scenic_id = s.id
         left join order_item oi on o.id = oi.order_id
-        left join source sr on o.goods_type='2' and oi.goods_id = sr.id
-        left join video vd on o.goods_type='1' and oi.goods_id = vd.id
         <where>
             o.refund_status != 0
             <if test="id!= null ">