Browse Source

提交订单,保存订单商品,邮费子订单

chao 3 years ago
parent
commit
1e4a990d54

+ 7 - 7
src/main/java/com/caimei365/order/components/ProductService.java

@@ -168,7 +168,7 @@ public class ProductService {
     public Map<String, Object> computePostage(Integer userId, Integer townId, List<String> productIdList) {
     public Map<String, Object> computePostage(Integer userId, Integer townId, List<String> productIdList) {
         // 返回数据初始化
         // 返回数据初始化
         Map<String, Object> postageMap = new HashMap<>(2);
         Map<String, Object> postageMap = new HashMap<>(2);
-        // 运费标志:0包邮 1到付 2遵循运费规则, 注意,旧接口返回前端是:-1到付(默认),0包邮,1有运费
+        // 运费标志:0包邮 -1到付 1遵循运费规则
         int postageFlag = 0;
         int postageFlag = 0;
         // 运费
         // 运费
         Double postage = 0.00d;
         Double postage = 0.00d;
@@ -179,15 +179,15 @@ public class ProductService {
         List<ProductPostageVo> postageFlagList = baseMapper.getPostageFlagList(productIdList);
         List<ProductPostageVo> postageFlagList = baseMapper.getPostageFlagList(productIdList);
         for (ProductPostageVo postageVo : postageFlagList){
         for (ProductPostageVo postageVo : postageFlagList){
             // 是否是仪器 或 设置了运费到付
             // 是否是仪器 或 设置了运费到付
-            boolean flag = (2 == postageVo.getCommodityType() || (null != postageVo.getPostageFlag() && 1==postageVo.getPostageFlag()));
+            boolean flag = (2 == postageVo.getCommodityType() || (null != postageVo.getPostageFlag() && -1==postageVo.getPostageFlag()));
             if (flag) {
             if (flag) {
                 // 到付
                 // 到付
-                postageMap.put("postageFlag", 1);
+                postageMap.put("postageFlag", -1);
                 postageMap.put("postage", 0.00d);
                 postageMap.put("postage", 0.00d);
                 return postageMap;
                 return postageMap;
-            } else if (null != postageVo.getPostageFlag() && 2==postageVo.getPostageFlag()) {
+            } else if (null != postageVo.getPostageFlag() && 1==postageVo.getPostageFlag()) {
                 // 若有不包邮商品,则全部不包邮
                 // 若有不包邮商品,则全部不包邮
-                postageFlag = 2;
+                postageFlag = 1;
             }
             }
         }
         }
         // 是否首单(统计订单数)
         // 是否首单(统计订单数)
@@ -203,7 +203,7 @@ public class ProductService {
             /*
             /*
              * 运费计算:广东省内运费15元,深圳市内运费10,其他地区到付
              * 运费计算:广东省内运费15元,深圳市内运费10,其他地区到付
              */
              */
-            postageFlag = 2;
+            postageFlag = 1;
             // 获取根据地区Id获取省市地址信息
             // 获取根据地区Id获取省市地址信息
             AddressVo address = baseMapper.getProvinceIdAndCityId(townId);
             AddressVo address = baseMapper.getProvinceIdAndCityId(townId);
             if (null != address && 202 == address.getCityId()) {
             if (null != address && 202 == address.getCityId()) {
@@ -214,7 +214,7 @@ public class ProductService {
                 postage = 15.00d;
                 postage = 15.00d;
             } else {
             } else {
                 // 到付
                 // 到付
-                postageFlag = 1;
+                postageFlag = -1;
             }
             }
             postageMap.put("postageFlag", postageFlag);
             postageMap.put("postageFlag", postageFlag);
             postageMap.put("postage", postage);
             postageMap.put("postage", postage);

+ 0 - 1
src/main/java/com/caimei365/order/controller/SubmitApi.java

@@ -46,7 +46,6 @@ public class SubmitApi {
      *                  ],
      *                  ],
      *                  "payInfo": {                //【订单金额】
      *                  "payInfo": {                //【订单金额】
      *                      "orderShouldPayFee": 609.11,
      *                      "orderShouldPayFee": 609.11,
-     *                       
      *                      "balancePayFlag": 0,
      *                      "balancePayFlag": 0,
      *                      "clauseId": "2",
      *                      "clauseId": "2",
      *                      "postage": "15",
      *                      "postage": "15",

+ 21 - 4
src/main/java/com/caimei365/order/mapper/SubmitMapper.java

@@ -1,13 +1,16 @@
 package com.caimei365.order.mapper;
 package com.caimei365.order.mapper;
 
 
 import com.caimei365.order.model.bo.OrderUserBo;
 import com.caimei365.order.model.bo.OrderUserBo;
-import com.caimei365.order.model.bo.ProductBo;
+import com.caimei365.order.model.po.OrderProductPo;
 import com.caimei365.order.model.po.InvoicePo;
 import com.caimei365.order.model.po.InvoicePo;
 import com.caimei365.order.model.po.OrderPo;
 import com.caimei365.order.model.po.OrderPo;
-import com.caimei365.order.model.po.ShopOrderPo;
+import com.caimei365.order.model.po.OrderShopPo;
+import com.caimei365.order.model.vo.LadderPriceVo;
 import com.caimei365.order.model.vo.PromotionsVo;
 import com.caimei365.order.model.vo.PromotionsVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
+import java.util.concurrent.atomic.AtomicReference;
+
 /**
 /**
  * Description
  * Description
  *
  *
@@ -41,7 +44,7 @@ public interface SubmitMapper {
      * 获取数据库商品信息
      * 获取数据库商品信息
      * @param productId 商品Id
      * @param productId 商品Id
      */
      */
-    ProductBo getProductDetails(Integer productId);
+    OrderProductPo getProductDetails(Integer productId);
     /**
     /**
      * 抵扣后更新用户余额
      * 抵扣后更新用户余额
      * @param userMoney 账户余额
      * @param userMoney 账户余额
@@ -61,11 +64,25 @@ public interface SubmitMapper {
     /**
     /**
      * 保存子订单数据
      * 保存子订单数据
      */
      */
-    void insertShopOrder(ShopOrderPo shopOrder);
+    void insertShopOrder(OrderShopPo shopOrder);
+    /**
+     * 保存 订单商品
+     */
+    void insertOrderProduct(OrderProductPo orderProduct);
     /**
     /**
      * 保存订单促销
      * 保存订单促销
      */
      */
     void insertOrderPromotions(PromotionsVo promotions);
     void insertOrderPromotions(PromotionsVo promotions);
+    /**
+     * 保存 订单阶梯价格
+     */
+    void insertLadderPrices(LadderPriceVo ladderPriceVo);
+    /**
+     * 更新订单的子订单Ids
+     * @param shopOrderIds 子订单Ids
+     * @param orderId 订单Id
+     */
+    void updateShopOrderIds(String shopOrderIds, Integer orderId);
     /**
     /**
      * 删除老的订单增值税信息
      * 删除老的订单增值税信息
      * @param orderId 订单Id
      * @param orderId 订单Id

+ 1 - 1
src/main/java/com/caimei365/order/model/bo/OrderUserBo.java

@@ -48,7 +48,7 @@ public class OrderUserBo implements Serializable {
      */
      */
     private Integer offsetBeans;
     private Integer offsetBeans;
     /**
     /**
-     * 当前订单邮费标志: 0包邮 1到付 2默认(遵循运费规则)
+     * 运费标志:0包邮 -1到付 1遵循运费规则
      */
      */
     private Integer postageFlag;
     private Integer postageFlag;
     /**
     /**

+ 1 - 1
src/main/java/com/caimei365/order/model/dto/SubmitDto.java

@@ -65,7 +65,7 @@ public class SubmitDto implements Serializable {
      *         "balancePayFlag": 0,   余额支付标识,0不使用,1使用
      *         "balancePayFlag": 0,   余额支付标识,0不使用,1使用
      *         "clauseId": "2",
      *         "clauseId": "2",
      *         "postage": "15",
      *         "postage": "15",
-     *         "postageFlag": 1,
+     *         "postageFlag": 1, // 运费标志:0包邮 -1到付 1遵循运费规则
      *         "userBeans": 100,//抵扣采美豆数量
      *         "userBeans": 100,//抵扣采美豆数量
      *         "rebateFlag":0
      *         "rebateFlag":0
      *        }
      *        }

+ 2 - 2
src/main/java/com/caimei365/order/model/po/OrderPo.java

@@ -133,11 +133,11 @@ public class OrderPo implements Serializable {
     /**
     /**
      * 免邮标志  运费:-1到付,0包邮,1需要运费,-2仪器到付其它包邮
      * 免邮标志  运费:-1到付,0包邮,1需要运费,-2仪器到付其它包邮
      */
      */
-    private Integer freePostFlag;
+    private Integer postageFlag;
     /**
     /**
      * -1到付,0包邮,大于0具体金额,-2仪器到付其它包邮(且运费已使用商品形式存储)
      * -1到付,0包邮,大于0具体金额,-2仪器到付其它包邮(且运费已使用商品形式存储)
      */
      */
-    private Double freight;
+    private Double postage;
     /**
     /**
      * 商品总金额 (商品单价乘以数量,再加上税费)
      * 商品总金额 (商品单价乘以数量,再加上税费)
      */
      */

+ 12 - 3
src/main/java/com/caimei365/order/model/bo/ProductBo.java → src/main/java/com/caimei365/order/model/po/OrderProductPo.java

@@ -1,8 +1,10 @@
-package com.caimei365.order.model.bo;
+package com.caimei365.order.model.po;
 
 
+import com.caimei365.order.model.vo.LadderPriceVo;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.List;
 
 
 /**
 /**
  * Description
  * Description
@@ -11,7 +13,7 @@ import java.io.Serializable;
  * @date : 2021/7/7
  * @date : 2021/7/7
  */
  */
 @Data
 @Data
-public class ProductBo implements Serializable {
+public class OrderProductPo implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
     /**
     /**
      * 商品Id
      * 商品Id
@@ -173,6 +175,10 @@ public class ProductBo implements Serializable {
      * 下单时商品购买价格类型快照 0 机构价,1活动价 ,2阶梯价
      * 下单时商品购买价格类型快照 0 机构价,1活动价 ,2阶梯价
      */
      */
     private Integer actProduct;
     private Integer actProduct;
+    /**
+     * 阶梯价列表(临时用,保存订单阶梯价格)
+     */
+    private List<LadderPriceVo> ladderPrices;
     /**
     /**
      * 订单号(保存订单用)
      * 订单号(保存订单用)
      */
      */
@@ -189,10 +195,13 @@ public class ProductBo implements Serializable {
      * 子订单编号(保存订单用)
      * 子订单编号(保存订单用)
      */
      */
     private String shopOrderNo;
     private String shopOrderNo;
+    /**
+     * 订单商品Id(保存订单用)
+     */
+    private Integer orderProductId;
     /**
     /**
      * 订单促销id
      * 订单促销id
      */
      */
     private Integer orderPromotionsId;
     private Integer orderPromotionsId;
 
 
-
 }
 }

+ 1 - 1
src/main/java/com/caimei365/order/model/po/ShopOrderPo.java → src/main/java/com/caimei365/order/model/po/OrderShopPo.java

@@ -11,7 +11,7 @@ import java.io.Serializable;
  * @date : 2021/7/12
  * @date : 2021/7/12
  */
  */
 @Data
 @Data
-public class ShopOrderPo implements Serializable {
+public class OrderShopPo implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
     /**
     /**
      * 子订单ID
      * 子订单ID

+ 1 - 1
src/main/java/com/caimei365/order/model/vo/CartItemVo.java

@@ -101,7 +101,7 @@ public class CartItemVo implements Serializable {
     /**
     /**
      * 阶梯价列表
      * 阶梯价列表
      */
      */
-    List<LadderPriceVo> ladderPrices;
+    private List<LadderPriceVo> ladderPrices;
     /**
     /**
      * 前端商品勾选状态
      * 前端商品勾选状态
      */
      */

+ 9 - 0
src/main/java/com/caimei365/order/model/vo/LadderPriceVo.java

@@ -3,6 +3,7 @@ package com.caimei365.order.model.vo;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.Date;
 
 
 /**
 /**
  * Description
  * Description
@@ -39,4 +40,12 @@ public class LadderPriceVo implements Serializable {
      * 显示数量 如:1~3
      * 显示数量 如:1~3
      */
      */
     private String numRange;
     private String numRange;
+    /**
+     * 订单商品Id(保存订单用)
+     */
+    private Integer orderProductId;
+    /**
+     * 创建时间(保存订单用)
+     */
+    private Date createDate;
 }
 }

+ 1 - 1
src/main/java/com/caimei365/order/model/vo/ProductPostageVo.java

@@ -18,7 +18,7 @@ public class ProductPostageVo implements Serializable {
      */
      */
     private Integer productId;
     private Integer productId;
     /**
     /**
-     * 邮费标志: 0包邮 1到付 2默认(遵循运费规则)
+     * 运费标志:0包邮 -1到付 1遵循运费规则
      */
      */
     private Integer postageFlag;
     private Integer postageFlag;
     /**
     /**

+ 164 - 114
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -6,12 +6,9 @@ import com.caimei365.order.components.ProductService;
 import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.SubmitMapper;
 import com.caimei365.order.mapper.SubmitMapper;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.ResponseJson;
-import com.caimei365.order.model.bo.ProductBo;
+import com.caimei365.order.model.po.*;
 import com.caimei365.order.model.dto.SubmitDto;
 import com.caimei365.order.model.dto.SubmitDto;
 import com.caimei365.order.model.bo.OrderUserBo;
 import com.caimei365.order.model.bo.OrderUserBo;
-import com.caimei365.order.model.po.InvoicePo;
-import com.caimei365.order.model.po.OrderPo;
-import com.caimei365.order.model.po.ShopOrderPo;
 import com.caimei365.order.model.vo.*;
 import com.caimei365.order.model.vo.*;
 import com.caimei365.order.service.SubmitService;
 import com.caimei365.order.service.SubmitService;
 import com.caimei365.order.utils.CodeUtil;
 import com.caimei365.order.utils.CodeUtil;
@@ -59,9 +56,9 @@ public class SubmitServiceImpl implements SubmitService {
      *                  "unionId":"",               //微信unionId
      *                  "unionId":"",               //微信unionId
      *                  "cartType":3,               //购买类型:(1自主下单, 3协销下单)
      *                  "cartType":3,               //购买类型:(1自主下单, 3协销下单)
      *                  "orderSource": 2,           //订单来源:1WWW、2CRM、4客服[适用后台下单]、5外单[适用后台下单]、6小程序[采美,星范]、7呵呵商城小程序、8维沙小程序
      *                  "orderSource": 2,           //订单来源:1WWW、2CRM、4客服[适用后台下单]、5外单[适用后台下单]、6小程序[采美,星范]、7呵呵商城小程序、8维沙小程序
-     *                  "serviceProviderId": 1378,  //协销ID(小程序忽略)
-     *                  "clubUserId": 10708,        //机构用户ID
-     *                  "addressId": 2732,          //地址ID
+     *                  "serviceProviderId": 1378,  //协销Id(小程序忽略)
+     *                  "clubUserId": 10708,        //机构用户Id
+     *                  "addressId": 2732,          //地址Id
      *                  "orderInfo": [              //【订单商品】
      *                  "orderInfo": [              //【订单商品】
      *                      { "shopId":1001,                         // 供应商Id
      *                      { "shopId":1001,                         // 供应商Id
      *                          "note":备注,
      *                          "note":备注,
@@ -77,7 +74,7 @@ public class SubmitServiceImpl implements SubmitService {
      *                      "balancePayFlag": 0,
      *                      "balancePayFlag": 0,
      *                      "clauseId": "2",
      *                      "clauseId": "2",
      *                      "postage": "15",
      *                      "postage": "15",
-     *                      "postageFlag": 1,
+     *                      "postageFlag": 1, //运费标志:0包邮 -1到付 1遵循运费规则
      *                      "userBeans": 100,//抵扣采美豆数量
      *                      "userBeans": 100,//抵扣采美豆数量
      *                      "rebateFlag":0
      *                      "rebateFlag":0
      *                  },
      *                  },
@@ -101,7 +98,7 @@ public class SubmitServiceImpl implements SubmitService {
      *                          }
      *                          }
      *              }
      *              }
      * @return {code: -1=(用户账户异常,数据异常,操作异常等),1提交成功(支付完成),2提交成功(未支付),
      * @return {code: -1=(用户账户异常,数据异常,操作异常等),1提交成功(支付完成),2提交成功(未支付),
-     *              code为1和2时:data{orderNo:订单号,orderID:订单ID,payTotalFee:订单金额,orderMark:订单标识}
+     *              code为1和2时:data{orderNo:订单号,orderId:订单Id,payTotalFee:订单金额,orderMark:订单标识}
      */
      */
     @Override
     @Override
     public ResponseJson<Map<String, Object>> generateOrder(SubmitDto submitDto) {
     public ResponseJson<Map<String, Object>> generateOrder(SubmitDto submitDto) {
@@ -150,7 +147,7 @@ public class SubmitServiceImpl implements SubmitService {
         orderUserBo.setBalancePayFlag(balancePayFlag);
         orderUserBo.setBalancePayFlag(balancePayFlag);
         Double orderShouldPayFee = (Double) payInfo.get("orderShouldPayFee");
         Double orderShouldPayFee = (Double) payInfo.get("orderShouldPayFee");
         orderUserBo.setOrderShouldPayFee(orderShouldPayFee);
         orderUserBo.setOrderShouldPayFee(orderShouldPayFee);
-        // 邮费标志: 0包邮 1到付 2默认(遵循运费规则)
+        // 运费标志:0包邮 -1到付 1遵循运费规则                               
         Integer postageFlag = (Integer) payInfo.get("postageFlag");
         Integer postageFlag = (Integer) payInfo.get("postageFlag");
         // 运费
         // 运费
         Double postage = (Double) payInfo.get("postage");
         Double postage = (Double) payInfo.get("postage");
@@ -164,7 +161,7 @@ public class SubmitServiceImpl implements SubmitService {
         if (null != userBeans && userBeans > 0) {
         if (null != userBeans && userBeans > 0) {
             // 计算需抵扣采美豆数量
             // 计算需抵扣采美豆数量
             int offsetBeans = MathUtil.mul(postage, 100).intValue();
             int offsetBeans = MathUtil.mul(postage, 100).intValue();
-            if (1 == postageFlag) {
+            if (-1 == postageFlag) {
                 // 到付默认30元,抵扣3000豆
                 // 到付默认30元,抵扣3000豆
                 offsetBeans = 3000;
                 offsetBeans = 3000;
             }
             }
@@ -315,11 +312,11 @@ public class SubmitServiceImpl implements SubmitService {
         // 促销活动信息
         // 促销活动信息
         List<PromotionsVo> promotionList= new ArrayList<>();
         List<PromotionsVo> promotionList= new ArrayList<>();
         // 订单商品列表
         // 订单商品列表
-        List<ProductBo> orderProductList = new ArrayList<>();
+        List<OrderProductPo> orderProductList = new ArrayList<>();
         List<String> productIdList = new ArrayList<>();
         List<String> productIdList = new ArrayList<>();
 
 
         // 子订单订单列表
         // 子订单订单列表
-        List<ShopOrderPo> shopOrderList = new ArrayList<>();
+        List<OrderShopPo> shopOrderList = new ArrayList<>();
         JSONArray orderInfo = orderUserBo.getOrderInfo();
         JSONArray orderInfo = orderUserBo.getOrderInfo();
         for (Object infoObject: orderInfo) {
         for (Object infoObject: orderInfo) {
             JSONObject shopInfo = (JSONObject) infoObject;
             JSONObject shopInfo = (JSONObject) infoObject;
@@ -337,7 +334,7 @@ public class SubmitServiceImpl implements SubmitService {
             /*
             /*
              * 初始化子订单
              * 初始化子订单
              */
              */
-            ShopOrderPo shopOrder = new ShopOrderPo();
+            OrderShopPo shopOrder = new OrderShopPo();
             shopOrder.setShopId(shopId);
             shopOrder.setShopId(shopId);
             shopOrder.setShopName(shopName);
             shopOrder.setShopName(shopName);
             shopOrder.setNote(shopNote);
             shopOrder.setNote(shopNote);
@@ -387,7 +384,7 @@ public class SubmitServiceImpl implements SubmitService {
                 // 赠品数
                 // 赠品数
                 presentCount.updateAndGet(v -> v + presentNum);
                 presentCount.updateAndGet(v -> v + presentNum);
                 // 获取数据库商品信息
                 // 获取数据库商品信息
-                ProductBo product = submitMapper.getProductDetails(productId);
+                OrderProductPo product = submitMapper.getProductDetails(productId);
                 if (null == product) {
                 if (null == product) {
                     return ResponseJson.error("订单商品不存在!", null);
                     return ResponseJson.error("订单商品不存在!", null);
                 }
                 }
@@ -469,6 +466,7 @@ public class SubmitServiceImpl implements SubmitService {
                                 discountPrice = ladderPrice.getBuyPrice();
                                 discountPrice = ladderPrice.getBuyPrice();
                             }
                             }
                         }
                         }
+                        product.setLadderPrices(ladderPrices);
                         product.setActProduct(2);
                         product.setActProduct(2);
                     } else {
                     } else {
                         // 复购价
                         // 复购价
@@ -507,8 +505,8 @@ public class SubmitServiceImpl implements SubmitService {
                     if (hasActProductFlag && null != promotions) {
                     if (hasActProductFlag && null != promotions) {
                         // 单品优惠
                         // 单品优惠
                         if (promotions.getType() == 1) {
                         if (promotions.getType() == 1) {
-                            // 是否满足满减满赠
-                            if (MathUtil.compare(productFee, promotions.getTouchPrice()) >= 0) {
+                            // 是否满足单品优惠条件
+                            if (promotions.getMode()==1 || MathUtil.compare(productFee, promotions.getTouchPrice()) >= 0) {
                                 // 满减
                                 // 满减
                                 if (promotions.getMode() == 2) {
                                 if (promotions.getMode() == 2) {
                                     // 统计订单总满减金额
                                     // 统计订单总满减金额
@@ -733,7 +731,7 @@ public class SubmitServiceImpl implements SubmitService {
             // 机构用户 计算商品运费
             // 机构用户 计算商品运费
             Integer townId = baseMapper.getTownIdByAddressId(orderUserBo.getAddressId());
             Integer townId = baseMapper.getTownIdByAddressId(orderUserBo.getAddressId());
             Map<String, Object> postageMap = productService.computePostage(orderUserBo.getUserId(), townId, productIdList);
             Map<String, Object> postageMap = productService.computePostage(orderUserBo.getUserId(), townId, productIdList);
-            // 当前订单邮费标志: 0包邮 1到付 2默认(遵循运费规则)
+            // 运费标志:0包邮 -1到付 1遵循运费规则
             Integer postageFlag = (Integer) postageMap.get("postageFlag");
             Integer postageFlag = (Integer) postageMap.get("postageFlag");
             Double postage = (Double) postageMap.get("postage");
             Double postage = (Double) postageMap.get("postage");
             if (!orderUserBo.getPostageFlag().equals(postageFlag) || MathUtil.compare(orderUserBo.getPostage(), postage) != 0) {
             if (!orderUserBo.getPostageFlag().equals(postageFlag) || MathUtil.compare(orderUserBo.getPostage(), postage) != 0) {
@@ -741,22 +739,16 @@ public class SubmitServiceImpl implements SubmitService {
             }
             }
         }
         }
         // 设置运费
         // 设置运费
-        mainOrder.setFreight(orderUserBo.getPostage());
+        mainOrder.setPostage(orderUserBo.getPostage());
         // 订单总额 = 商品费 + 运费
         // 订单总额 = 商品费 + 运费
         payTotalFee.set(MathUtil.add(productTotalFee.get(), orderUserBo.getPostage()).doubleValue());
         payTotalFee.set(MathUtil.add(productTotalFee.get(), orderUserBo.getPostage()).doubleValue());
-        // order免邮标志  运费:-1到付,0包邮,1需要运费,-2仪器到付其它包邮
-        if (0 == orderUserBo.getPostageFlag()) {
-            mainOrder.setFreePostFlag(0);
-        } else if (1 == orderUserBo.getPostageFlag()){
-            mainOrder.setFreePostFlag(-1);
-        } else {
-            // 遵循运费规则
-            mainOrder.setFreePostFlag(1);
-            if (orderUserBo.getOffsetBeans() > 0) {
-                // 采美豆抵扣运费,订单总额 = 商品费
-                payTotalFee.set(productTotalFee.get());
-            }
+        // 运费标志:0包邮 -1到付 1遵循运费规则
+        mainOrder.setPostageFlag(orderUserBo.getPostageFlag());
+        if (1 == orderUserBo.getPostageFlag() && orderUserBo.getOffsetBeans() > 0) {
+            // 采美豆抵扣运费,订单总额 = 商品费
+            payTotalFee.set(productTotalFee.get());
         }
         }
+
         // 商品总额
         // 商品总额
         mainOrder.setProductTotalFee(productTotalFee.get());
         mainOrder.setProductTotalFee(productTotalFee.get());
         mainOrder.setOrderTotalFee(productTotalFee.get());
         mainOrder.setOrderTotalFee(productTotalFee.get());
@@ -896,7 +888,7 @@ public class SubmitServiceImpl implements SubmitService {
              */
              */
             submitMapper.insertShopOrder(shopOrder);
             submitMapper.insertShopOrder(shopOrder);
             log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>新增子订单(insert[cm_shop_order])shopOrderId::" + shopOrder.getShopOrderId());
             log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>新增子订单(insert[cm_shop_order])shopOrderId::" + shopOrder.getShopOrderId());
-            // 收集子订单供应商ID字符串
+            // 收集子订单Id字符串
             if (StringUtils.isEmpty(shopOrderIds.get())) {
             if (StringUtils.isEmpty(shopOrderIds.get())) {
                 shopOrderIds.set(shopOrder.getShopOrderId().toString());
                 shopOrderIds.set(shopOrder.getShopOrderId().toString());
             } else {
             } else {
@@ -904,83 +896,141 @@ public class SubmitServiceImpl implements SubmitService {
             }
             }
         });
         });
 
 
-//        /*
-//         * 设置邮费子订单
-//         */
-//        if (1 == mainOrder.getFreePostFlag()) {
-//            //Integer postageOrderId = setPostageOrder(mainOrder, shopOrderIds, orderInfo.size());
-//            // 记录子订单编号
-//            //shopOrderIds = (StringUtils.isEmpty(shopOrderIds) ? ""+postageOrderId : ","+postageOrderId);
-//        }
-//
-//        /*
-//         * 更新主订单的子订单Id信息,如:1000,1002
-//         */
-//        if (StringUtils.isNotEmpty(shopOrderIds)) {
-//            mainOrder.setShopOrderIds(shopOrderIds);
-//            //submitMapper.updateShopOrderIds(shopOrderIds, mainOrder.getOrderId());
-//        } else {
-//            // 设置手动回滚事务
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//            return ResponseJson.error("生成子订单异常!", null);
-//        }
-
-
-
-
-//        /*
-//         * 保存订单商品
-//         */
-//        StringBuilder productName = new StringBuilder();
-//        List<OrderProductLadderPriceVo> orderProductLadderPriceList = new ArrayList<>();
-//        for (OrderProductVo orderProduct : orderProductList) {
-//            productName.append(orderProduct.getName());
-//            // 保存订单商品数据
-//            orderSubmitDao.insertOrderProduct(orderProduct);
-//            log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>保存订单商品(insert[cm_order_product])OrderProductID:" + orderProduct.getOrderProductID());
-//            if (orderProduct.getLadderPriceFlag() == 1) {
-//                //使用阶梯价格的订单商品保存下单时的阶梯价格列表
-//                List<LadderPriceVo> ladderPriceList = shoppingCartDao.findLadderPrice(orderProduct.getProductID());
-//                ladderPriceList.forEach(ladderPriceVo -> {
-//                    OrderProductLadderPriceVo orderProductLadderPrice = new OrderProductLadderPriceVo();
-//                    orderProductLadderPrice.setOrderProductId(orderProduct.getOrderProductID());
-//                    orderProductLadderPrice.setBuyNum(ladderPriceVo.getBuyNum().intValue());
-//                    orderProductLadderPrice.setBuyPrice(ladderPriceVo.getBuyPrice());
-//                    orderProductLadderPrice.setCreateDate(date);
-//                    orderProductLadderPrice.setLadderNum(ladderPriceVo.getLadderNum().intValue());
-//                    orderProductLadderPriceList.add(orderProductLadderPrice);
-//                });
-//            }
-//        }
-//        if (!CollectionUtils.isEmpty(orderProductLadderPriceList)) {
-//            orderProductLadderPriceList.forEach(ladderPrice -> {
-//                orderSubmitDao.insertOrderProductLadderPrice(ladderPrice);
-//            });
-//        }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+        /*
+         * 整理  订单商品
+         */
+        for (OrderProductPo orderProduct : orderProductList) {
+            // 设置商品订单Id
+            orderProduct.setOrderId(mainOrder.getOrderId());
+            orderProduct.setOrderNo(mainOrder.getOrderNo());
+            // 设置商品子订单Id
+            shopOrderList.forEach(shopOrder -> {
+                if (orderProduct.getShopId().equals(shopOrder.getShopId())) {
+                    orderProduct.setShopOrderId(shopOrder.getShopOrderId());
+                    orderProduct.setShopOrderNo(shopOrder.getShopOrderNo());
+                }
+            });
+            // 设置订单商品促销Id
+            promotionList.forEach(promotions -> {
+                if (promotions.getPromotionsId().equals(orderProduct.getOrderPromotionsId())) {
+                    orderProduct.setOrderPromotionsId(promotions.getId());
+                    orderProduct.setActProduct(1);
+                }
+            });
+            /*
+             * 保存 订单商品
+             */
+            submitMapper.insertOrderProduct(orderProduct);
+            log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>保存订单商品(insert[cm_order_product])OrderProductId:" + orderProduct.getOrderProductId());
+
+            if (orderProduct.getLadderPriceFlag() == 1) {
+                // 使用阶梯价格的订单商品保存下单时的阶梯价格列表
+                orderProduct.getLadderPrices().forEach(ladderPriceVo -> {
+                    ladderPriceVo.setOrderProductId(orderProduct.getOrderProductId());
+                    ladderPriceVo.setCreateDate(date);
+                    /*
+                     * 保存 订单阶梯价格
+                     */
+                    submitMapper.insertLadderPrices(ladderPriceVo);
+                    log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>保存订单阶梯价格(insert[order_product_ladder_price])id:" + ladderPriceVo.getId());
+                });
+            }
+        }
 
 
+        /*
+         * 设置邮费子订单( 0包邮 -1到付 1遵循运费规则)
+         */
+        if (1 == mainOrder.getPostageFlag()) {
+            // 获取 邮费商品
+            OrderProductPo postageProduct = submitMapper.getProductDetails(999);
+            // 生成子订单编号
+            StringBuilder postageOrderNo = new StringBuilder();
+            postageOrderNo.append(mainOrder.getOrderNo());
+            if (shopOrderIndex.get() < 10) {
+                postageOrderNo.append("0");
+            }
+            postageOrderNo.append(shopOrderIndex.get());
+            shopOrderIndex.incrementAndGet();
+            /*
+             * 初始化邮费订单
+             */
+            OrderShopPo postageOrder = new OrderShopPo();
+            postageOrder.setShopOrderNo(postageOrderNo.toString());
+            postageOrder.setOrderNo(mainOrder.getOrderNo());
+            postageOrder.setOrderId(mainOrder.getOrderId());
+            postageOrder.setUserId(mainOrder.getUserId());
+            postageOrder.setOrderSubmitType(mainOrder.getOrderSubmitType());
+            postageOrder.setItemCount(1);
+            //运费商品供应商Id默认998
+            postageOrder.setShopId(postageProduct.getShopId());
+            postageOrder.setProductAmount(mainOrder.getPostage());
+            postageOrder.setTotalAmount(mainOrder.getPostage());
+            postageOrder.setNeedPayAmount(mainOrder.getPostage());
+            postageOrder.setOrderTime(mainOrder.getOrderTime());
+            postageOrder.setCanRefundAmount(0d);
+            postageOrder.setClubId(mainOrder.getClubId());
+            if (3 == orderUserBo.getCartType()) {
+                // 协销订单
+                postageOrder.setSpId(orderUserBo.getBuyUserId());
+            }
+            // 订单默认可拆分
+            postageOrder.setSplitFlag(1);
+            /*
+             * 保存运费子订单
+             */
+            submitMapper.insertShopOrder(postageOrder);
+            log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>新增子订单(运费商品)(insert[cm_shop_order])shopOrderId::" + postageOrder.getShopOrderId());
+            // 收集子订单Id字符串
+            if (StringUtils.isEmpty(shopOrderIds.get())) {
+                shopOrderIds.set(postageOrder.getShopOrderId().toString());
+            } else {
+                shopOrderIds.set(shopOrderIds.get() + "," + postageOrder.getShopOrderId());
+            }
+            /*
+             * 设置运费商品
+             */
+            postageProduct.setOrderNo(mainOrder.getOrderNo());
+            postageProduct.setOrderId(mainOrder.getOrderId());
+            postageProduct.setShopOrderId(postageOrder.getShopOrderId());
+            postageProduct.setShopOrderNo(postageOrder.getShopOrderNo());
+            postageProduct.setNum(1);
+            postageProduct.setPresentNum(0);
+            postageProduct.setPrice(mainOrder.getPostage());
+            postageProduct.setNormalPrice(mainOrder.getPostage());
+            postageProduct.setTotalAmount(mainOrder.getPostage());
+            postageProduct.setTotalFee(mainOrder.getPostage());
+            postageProduct.setShouldPayFee(mainOrder.getPostage());
+            postageProduct.setDiscount(100d);
+            postageProduct.setDiscountPrice(mainOrder.getPostage());
+            postageProduct.setTaxRate(100d);
+            postageProduct.setAddedValueTax(0d);
+            postageProduct.setTotalAddedValueTax(0d);
+            postageProduct.setShopFee(0d);
+            postageProduct.setOtherFee(0d);
+            postageProduct.setCmFee(mainOrder.getPostage());
+            postageProduct.setSingleShopFee(0d);
+            postageProduct.setSingleOtherFee(0d);
+            postageProduct.setSingleCmFee(mainOrder.getPostage());
+            postageProduct.setNotOutStore(0);
+            postageProduct.setBuyAgainFlag(0);
+            /*
+             * 保存 订单运费商品
+             */
+            submitMapper.insertOrderProduct(postageProduct);
+            log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>保存订单运费商品(insert[cm_order_product])OrderProductId:" + postageProduct.getOrderProductId());
+        }
 
 
+        /*
+         * 更新主订单的子订单Id信息,如:1000,1002
+         */
+        if (StringUtils.isNotEmpty(shopOrderIds.get())) {
+            mainOrder.setShopOrderIds(shopOrderIds.get());
+            submitMapper.updateShopOrderIds(shopOrderIds.get(), mainOrder.getOrderId());
+        } else {
+            // 设置手动回滚事务
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return ResponseJson.error("生成子订单异常!", null);
+        }
 
 
         /*
         /*
          * 发票信息
          * 发票信息
@@ -1059,14 +1109,14 @@ public class SubmitServiceImpl implements SubmitService {
 //            //保存地址信息
 //            //保存地址信息
 //            UserinfoVo userInfo = new UserinfoVo();
 //            UserinfoVo userInfo = new UserinfoVo();
 //            userInfo.setOrderId(mainOrder.getOrderId());
 //            userInfo.setOrderId(mainOrder.getOrderId());
-//            userInfo.setClubId(user.getClubID().longValue());
-//            userInfo.setUserId(user.getUserID().longValue());
+//            userInfo.setClubId(user.getClubId().longValue());
+//            userInfo.setUserId(user.getUserId().longValue());
 //            userInfo.setName(user.getName() == null ? user.getUserName() : user.getName());
 //            userInfo.setName(user.getName() == null ? user.getUserName() : user.getName());
 //            userInfo.setShouHuoRen(address.getShouHuoRen());
 //            userInfo.setShouHuoRen(address.getShouHuoRen());
 //            userInfo.setMobile(address.getMobile());
 //            userInfo.setMobile(address.getMobile());
 //            userInfo.setPostalCode(address.getPhone());
 //            userInfo.setPostalCode(address.getPhone());
 //            userInfo.setPostalCode(address.getPostalCode());
 //            userInfo.setPostalCode(address.getPostalCode());
-//            userInfo.setTownId(address.getTownID());
+//            userInfo.setTownId(address.getTownId());
 //            userInfo.setProvince(address.getProvince());
 //            userInfo.setProvince(address.getProvince());
 //            userInfo.setCity(address.getCity());
 //            userInfo.setCity(address.getCity());
 //            userInfo.setTown(address.getTown());
 //            userInfo.setTown(address.getTown());
@@ -1084,7 +1134,7 @@ public class SubmitServiceImpl implements SubmitService {
 //         */
 //         */
 //        if (1 == balancePayFlag && MathUtil.compare(balancePayFee, 0) > 0) {
 //        if (1 == balancePayFlag && MathUtil.compare(balancePayFee, 0) > 0) {
 //            // 余额支付标识,0不使用,1使用
 //            // 余额支付标识,0不使用,1使用
-//            saveBalanceRecord(balancePayFee, mainOrder.getOrderId().intValue(), user.getUserID());
+//            saveBalanceRecord(balancePayFee, mainOrder.getOrderId().intValue(), user.getUserId());
 //            //保存余额到收款记录
 //            //保存余额到收款记录
 //            if (cartType != 3) {
 //            if (cartType != 3) {
 //                saveDiscernReceipt(balancePayFee, mainOrder.getOrderId().intValue());
 //                saveDiscernReceipt(balancePayFee, mainOrder.getOrderId().intValue());
@@ -1113,7 +1163,7 @@ public class SubmitServiceImpl implements SubmitService {
 //        //保存采美豆使用记录
 //        //保存采美豆使用记录
 //        if (userBeans > 0) {
 //        if (userBeans > 0) {
 //            UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
 //            UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
-//            beansHistory.setUserId(user.getUserID());
+//            beansHistory.setUserId(user.getUserId());
 //            beansHistory.setOrderId(mainOrder.getOrderId().intValue());
 //            beansHistory.setOrderId(mainOrder.getOrderId().intValue());
 //            beansHistory.setBeansType(10);
 //            beansHistory.setBeansType(10);
 //            beansHistory.setType(2);
 //            beansHistory.setType(2);
@@ -1122,7 +1172,7 @@ public class SubmitServiceImpl implements SubmitService {
 //            beansHistory.setAddTime(date);
 //            beansHistory.setAddTime(date);
 //            payDao.insertBeansHistory(beansHistory);
 //            payDao.insertBeansHistory(beansHistory);
 //            int beans = user.getUserBeans() - userBeans;
 //            int beans = user.getUserBeans() - userBeans;
-//            payDao.updateUserBeans(user.getUserID().longValue(), beans);
+//            payDao.updateUserBeans(user.getUserId().longValue(), beans);
 //        }
 //        }
 //
 //
 //        log.info("******************** 提交订单逻辑处理 end *******************");
 //        log.info("******************** 提交订单逻辑处理 end *******************");
@@ -1130,7 +1180,7 @@ public class SubmitServiceImpl implements SubmitService {
 //         * 构造返回参数
 //         * 构造返回参数
 //         */
 //         */
 //        Map<String, String> info = new HashMap<>();
 //        Map<String, String> info = new HashMap<>();
-//        info.put("orderID", String.valueOf(mainOrder.getOrderId()));
+//        info.put("orderId", String.valueOf(mainOrder.getOrderId()));
 //        info.put("orderNo", String.valueOf(mainOrder.getOrderNo()));
 //        info.put("orderNo", String.valueOf(mainOrder.getOrderNo()));
 //        info.put("orderMark", "#" + mainOrder.getOrderId() + "#");
 //        info.put("orderMark", "#" + mainOrder.getOrderId() + "#");
 //        //应付订单金额
 //        //应付订单金额

+ 31 - 9
src/main/resources/mapper/SubmitMapper.xml

@@ -13,24 +13,46 @@
                 #{userBeans},#{orderType},#{orderSubmitType},#{confirmFlag},#{onlinePayFlag},#{splitFlag},#{payFlag},
                 #{userBeans},#{orderType},#{orderSubmitType},#{confirmFlag},#{onlinePayFlag},#{splitFlag},#{payFlag},
                 #{receiptStatus},#{payStatus},#{zeroCostFlag},#{sendOutStatus},#{refundType},#{affirmPaymentFlag},
                 #{receiptStatus},#{payStatus},#{zeroCostFlag},#{sendOutStatus},#{refundType},#{affirmPaymentFlag},
                 #{productCount},#{presentCount},#{promotionalGiftsCount},#{hasActProduct},#{promotionFullReduction},
                 #{productCount},#{presentCount},#{promotionalGiftsCount},#{hasActProduct},#{promotionFullReduction},
-                #{secondHandOrderFlag},#{invoiceFlag},#{freePostFlag},#{freight},#{productTotalFee},#{orderTotalFee},
+                #{secondHandOrderFlag},#{invoiceFlag},#{postageFlag},#{postage},#{productTotalFee},#{orderTotalFee},
                 #{payTotalFee},#{payableAmount},#{balancePayFee},#{status},#{confirmTime},#{payTime},#{rebateFlag},
                 #{payTotalFee},#{payableAmount},#{balancePayFee},#{status},#{confirmTime},#{payTime},#{rebateFlag},
                 #{clauseId},#{clauseName})
                 #{clauseId},#{clauseName})
     </insert>
     </insert>
-    <insert id="insertOrderPromotions" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.PromotionsVo" useGeneratedKeys="true">
-        INSERT INTO cm_promotions_order (orderId, promotionsId, name, description, type, mode, touchPrice, reducedPrice, status, beginTime, endTime)
-        VALUES (#{orderId},#{id},#{name},#{description},#{type},#{mode},#{touchPrice},#{reducedPrice},#{status},#{beginTime},#{endTime})
-    </insert>
-    <insert id="insertShopOrder" keyColumn="shopOrderID" keyProperty="shopOrderId" parameterType="com.caimei365.order.model.po.ShopOrderPo" useGeneratedKeys="true">
-        INSERT INTO cm_shop_order (shopOrderID, shopOrderNo, orderID, orderNo, shopID, shopName, note, userID, clubID,
+    <insert id="insertShopOrder" keyColumn="shopOrderID" keyProperty="shopOrderId" parameterType="com.caimei365.order.model.po.OrderShopPo" useGeneratedKeys="true">
+        INSERT INTO cm_shop_order (shopOrderNo, orderID, orderNo, shopID, shopName, note, userID, clubID,
                                    spID, orderPromotionsId, promotionFullReduction, brokerage, canRefundAmount, itemCount,
                                    spID, orderPromotionsId, promotionFullReduction, brokerage, canRefundAmount, itemCount,
                                    totalAmount, productAmount, needPayAmount, shopProductAmount, shopPostFee, shopTaxFee,
                                    totalAmount, productAmount, needPayAmount, shopProductAmount, shopPostFee, shopTaxFee,
                                    shouldPayShopAmount, orderTime, orderSubmitType, splitFlag)
                                    shouldPayShopAmount, orderTime, orderSubmitType, splitFlag)
-        VALUES (#{shopOrderId},#{shopOrderNo},#{orderId},#{orderNo},#{shopId},#{shopName},#{note},#{userId},#{clubId},
+        VALUES (#{shopOrderNo},#{orderId},#{orderNo},#{shopId},#{shopName},#{note},#{userId},#{clubId},
                 #{spId},#{orderPromotionsId},#{promotionFullReduction},#{brokerage},#{canRefundAmount},#{itemCount},
                 #{spId},#{orderPromotionsId},#{promotionFullReduction},#{brokerage},#{canRefundAmount},#{itemCount},
                 #{totalAmount},#{productAmount},#{needPayAmount},#{shopProductAmount},#{shopPostFee},#{shopTaxFee},
                 #{totalAmount},#{productAmount},#{needPayAmount},#{shopProductAmount},#{shopPostFee},#{shopTaxFee},
                 #{shouldPayShopAmount},#{orderTime},#{orderSubmitType},#{splitFlag})
                 #{shouldPayShopAmount},#{orderTime},#{orderSubmitType},#{splitFlag})
     </insert>
     </insert>
+    <insert id="insertOrderProduct" keyColumn="orderProductID" keyProperty="orderProductId" parameterType="com.caimei365.order.model.po.OrderProductPo" useGeneratedKeys="true">
+        INSERT INTO cm_order_product (orderID, orderNo, shopOrderID, shopOrderNo, orderPromotionsId, productId, shopId, name,
+                                    image, price, shopName, costPrice, normalPrice, ladderPriceFlag, discountPrice, discount,
+                                    totalAmount, totalFee, shouldPayFee, productUnit, num, presentNum, discountFee, includedTax,
+                                    invoiceType, taxRate, addedValueTax, totalAddedValueTax, singleShouldPayTotalTax, shouldPayTotalTax,
+                                    shopProductAmount, singleShopFee, shopFee, singleOtherFee, otherFee, singleCmFee, cmFee,
+                                    payStatus, buyAgainFlag, notOutStore, isActProduct)
+        VALUES (#{orderId},#{orderNo},#{shopOrderId},#{shopOrderNo},#{orderPromotionsId},#{productId},#{shopId},#{name},
+                #{image},#{price},#{shopName},#{costPrice},#{normalPrice},#{ladderPriceFlag},#{discountPrice},#{discount},
+                #{totalAmount},#{totalFee},#{shouldPayFee},#{productUnit},#{num},#{presentNum},#{discountFee},#{includedTax},
+                #{invoiceType},#{taxRate},#{addedValueTax},#{totalAddedValueTax},#{singleShouldPayTotalTax},#{shouldPayTotalTax},
+                #{shopProductAmount},#{singleShopFee},#{shopFee},#{singleOtherFee},#{otherFee},#{singleCmFee},#{cmFee},
+                #{payStatus},#{buyAgainFlag},#{notOutStore},#{actProduct})
+    </insert>
+    <insert id="insertOrderPromotions" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.PromotionsVo" useGeneratedKeys="true">
+        INSERT INTO cm_promotions_order (orderId, promotionsId, name, description, type, mode, touchPrice, reducedPrice, status, beginTime, endTime)
+        VALUES (#{orderId},#{id},#{name},#{description},#{type},#{mode},#{touchPrice},#{reducedPrice},#{status},#{beginTime},#{endTime})
+    </insert>
+    <insert id="insertLadderPrices" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.LadderPriceVo" useGeneratedKeys="true">
+        INSERT INTO (orderProductId, ladderNum, buyNum, buyPrice, createDate)
+        VALUES (#{orderProductId},#{ladderNum},#{buyNum},#{buyPrice},#{createDate})
+    </insert>
+    <update id="updateShopOrderIds">
+        UPDATE cm_order SET shopOrderIDs = #{shopOrderIds}
+        WHERE orderID = #{orderId}
+    </update>
     <insert id="insertOrderInvoice" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.InvoicePo" useGeneratedKeys="true">
     <insert id="insertOrderInvoice" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.InvoicePo" useGeneratedKeys="true">
         INSERT INTO bp_order_invoice (orderId, invoiceTitle, corporationTaxNum, registeredAddress, registeredPhone, bankAccountNo, openBank)
         INSERT INTO bp_order_invoice (orderId, invoiceTitle, corporationTaxNum, registeredAddress, registeredPhone, bankAccountNo, openBank)
         VALUES (#{orderId}, #{invoiceTitle}, #{corporationTaxNum}, #{registeredAddress}, #{registeredPhone}, #{bankAccountNo}, #{openBank})
         VALUES (#{orderId}, #{invoiceTitle}, #{corporationTaxNum}, #{registeredAddress}, #{registeredPhone}, #{bankAccountNo}, #{openBank})
@@ -64,7 +86,7 @@
     <select id="getShopNameById" resultType="java.lang.String">
     <select id="getShopNameById" resultType="java.lang.String">
         SELECT `name` FROM shop WHERE shopID = #{shopId}
         SELECT `name` FROM shop WHERE shopID = #{shopId}
     </select>
     </select>
-    <select id="getProductDetails" resultType="com.caimei365.order.model.bo.ProductBo">
+    <select id="getProductDetails" resultType="com.caimei365.order.model.po.OrderProductPo">
         SELECT
         SELECT
             p.productID AS productId,
             p.productID AS productId,
             p.shopID AS shopId,
             p.shopID AS shopId,