zhijiezhao 2 年之前
父节点
当前提交
dfd94cc972

+ 2 - 0
src/main/java/com/caimei/modules/order/dao/NewShopOrderDao.java

@@ -30,4 +30,6 @@ public interface NewShopOrderDao {
     Double findColdChain(Integer orderId);
 
     List<Integer> findSettleStatus(Integer orderId);
+
+    NewShopOrder findColdChainShopOrder(Integer orderId);
 }

+ 3 - 1
src/main/java/com/caimei/modules/order/dao/PayShopDao.java

@@ -89,7 +89,9 @@ public interface PayShopDao {
 
     void updateShopPost(Integer shopOrderId, Double shopPostFee);
 
-    List<NewShopOrder> findPayshOpOrderWaitPay(Integer payShopId);
+    List<NewShopOrder> findPayShopOrderWaitPay(Integer payShopId);
 
     Double findShopPostFee(Integer shopOrderId);
+
+    NewShopOrder findShopOrderByPayShop(Integer payShopId);
 }

+ 3 - 3
src/main/java/com/caimei/modules/order/entity/CmReturnedPurchase.java

@@ -26,7 +26,7 @@ public class CmReturnedPurchase implements Serializable {
     @ApiModelProperty("主订单号")
     private String orderNo;
     @ApiModelProperty("买家名")
-    private String userName;
+    private String clubName;
     @ApiModelProperty("子订单Id")
     private Integer shopOrderId;
 
@@ -82,10 +82,10 @@ public class CmReturnedPurchase implements Serializable {
 
     @ApiModelProperty("申请退款起始时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date beginReturnTime;
+    private String beginReturnTime;
     @ApiModelProperty("申请退款终止时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endReturnTime;
+    private String endReturnTime;
 
     @ApiModelProperty("确认退款起始时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

+ 1 - 1
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -195,7 +195,7 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("退款总额")
     private Double refundFee;
 
-    @ApiModelProperty("1审核中,0不是审核中")
+    @ApiModelProperty("退款1审核中,0不是审核中")
     private String returnedPurchaseStatus;
 
     @ApiModelProperty("0不可以申请,1可以申请(此标记只用于是否存在审核中或者审核不通过记录,存在记录则不可以申请)")

+ 1 - 1
src/main/java/com/caimei/modules/order/entity/OrderPayShopRecord.java

@@ -33,7 +33,7 @@ public class OrderPayShopRecord implements Serializable {
     private Double payCmAmount;
     @ApiModelProperty("付款时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date payTime;
+    private String payTime;
     @ApiModelProperty("付款单表id")
     private Integer payShopId;
     @ApiModelProperty("0待审核, 1已审核")

+ 1 - 1
src/main/java/com/caimei/modules/order/entity/ReceiptOrderInfo.java

@@ -36,7 +36,7 @@ public class ReceiptOrderInfo implements Serializable {
     private Double receiptAmount;
 
     @ApiModelProperty("机构名称")
-    private String userName;
+    private String clubName;
 
     @ApiModelProperty("订单收款状态:1待收款、2部分收款、3已收款")
     private Integer receiptStatus;

+ 1 - 1
src/main/java/com/caimei/modules/order/entity/ReceiptVo.java

@@ -58,7 +58,7 @@ public class ReceiptVo implements Serializable {
     private Integer organizeId;
 
     @ApiModelProperty("查询条件:机构名称")
-    private String userName;
+    private String clubName;
 
     @ApiModelProperty("收款进度  1待收  2部分收  3全收")
     private Integer receiptProgress;

+ 31 - 20
src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java

@@ -5,7 +5,6 @@ import com.caimei.modules.order.dao.NewOrderDao;
 import com.caimei.modules.order.dao.NewShopOrderDao;
 import com.caimei.modules.order.dao.PayShopDao;
 import com.caimei.modules.order.entity.*;
-import com.caimei.modules.order.service.CmReturnedPurchaseService;
 import com.caimei.modules.order.service.PayShopService;
 import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.modules.shiro.entity.CmMallAdminUser;
@@ -67,14 +66,13 @@ public class PayShopServiceImpl implements PayShopService {
             shopOrders.forEach(s -> {
                 orderUtils.getShouldPay(s);
             });
-             totalPayShop = shopOrders.stream().mapToDouble(NewShopOrder::getPayedShopAmount).sum();
-             totalPayCm = shopOrders.stream().mapToDouble(NewShopOrder::getPayCmAmount).sum();
+            totalPayShop = shopOrders.stream().mapToDouble(NewShopOrder::getPayedShopAmount).sum();
+            totalPayCm = shopOrders.stream().mapToDouble(NewShopOrder::getPayCmAmount).sum();
         } else {
             // 未付款待付显示为本次申请金额
-            shopOrders = payShopDao.findPayshOpOrderWaitPay(detail.getPayShopId());
+            shopOrders = payShopDao.findPayShopOrderWaitPay(detail.getPayShopId());
             shopOrders.forEach(s -> {
                 if (s.getShopPostFee() > 0) {
-                    s.setWaitPayShop(s.getWaitPayShop() + s.getShopPostFee());
                     s.setShouldPayShopAmount(s.getShouldPayShopAmount() + s.getShopPostFee());
                 }
                 List<NewOrderProduct> products = payShopDao.findPayOrderProducts(s.getShopOrderId());
@@ -103,19 +101,20 @@ public class PayShopServiceImpl implements PayShopService {
         orderPayShop.setReviewTime(DateUtils.getDateTime());
         orderPayShop.setPayShopId(id);
         orderPayShop.setReason(reason);
+        orderPayShop.setPayType(payType);
         if (1 == passCode) {
             // 通过审核
             List<OrderPayShopRecord> records = payShopDao.findPayShopRecords(id);
-
+            Integer orderId = 0;
             //修改每一条子订单的已付款金额
             for (OrderPayShopRecord record : records) {
-                NewShopOrder shopOrder = newShopOrderDao.get(record.getShopOrderId());
+                NewShopOrder shopOrder = payShopDao.findShopOrderByPayShop(id);
                 orderUtils.getShouldPay(shopOrder);
+                orderId = shopOrder.getOrderId();
                 // 本次付款金额 + 付采美 + 原来已经付过的金额
-                BigDecimal payedFee = MathUtil.add(MathUtil.add(record.getPayAmount(), record.getPayCmAmount()), shopOrder.getPayedShopAmount());
+                Double payedFee = record.getPayAmount() + record.getPayCmAmount() + shopOrder.getPayedShopAmount() + shopOrder.getPayCmAmount();
                 // 总共要付的金额
                 BigDecimal shouldPayFee = MathUtil.add(shopOrder.getShouldPayShopAmount(), shopOrder.getShouldPayCmAmount());
-
                 if (MathUtil.compare(payedFee, shouldPayFee) == -1) {
                     // (本次付款金额 + 付采美 + 原来已经付过的金额)  < 总共要付的金额
                     shopOrder.setPayStatus(2);
@@ -135,13 +134,15 @@ public class PayShopServiceImpl implements PayShopService {
                 record.setStatus(1);
                 record.setPayType(payType);
                 payShopDao.updatePayRecord(record);
-                //查询未付
-                Integer count = newShopOrderDao.findUnPaidShopOrder(shopOrder.getOrderId());
-                Integer status = count > 0 ? 2 : 3;
-                newOrderDao.updatePayStatus(status, shopOrder.getOrderId());
             }
+            //查询未付
+            Integer count = newShopOrderDao.findUnPaidShopOrder(orderId);
+            Integer status = count > 0 ? 2 : 3;
+            newOrderDao.updatePayStatus(status, orderId);
+
             orderPayShop.setPayTime(DateUtils.getDateTime());
             orderPayShop.setStatus(1);
+            log.info("orderPayShop--------------------"+orderPayShop);
             payShopDao.updatePayShop(orderPayShop);
             return ResponseJson.success();
         } else {
@@ -184,6 +185,7 @@ public class PayShopServiceImpl implements PayShopService {
                 // 同时修改付供应商运费
                 payShopDao.updatePaying(s.getShopOrderId(), payShop.getShopPostFee());
             });
+
             // 运费付款单作用不明,暂时取消生成
 
         } else {
@@ -203,13 +205,13 @@ public class PayShopServiceImpl implements PayShopService {
                     payShop.setStatus(0);
                 }
                 shopOrders.forEach(s -> {
-                    if (s.getShopPostFee() > 0) {
-                        // 修改时,以数据库中的应付为准,应付 - 上一次的
-                        Double shopPostFee = payShopDao.findShopPostFee(s.getShopOrderId());
-                        // 应付为+了供应商运费的金额,应付 - 数据库应付 = 上一次的供应商运费
-                        // 待付 = 待付 - 上一次的供应商运费
-                        s.setWaitPayShop(s.getWaitPayShop() - shopPostFee);
-                    }
+//                    if (s.getShopPostFee() > 0) {
+//                        // 修改时,以数据库中的应付为准,应付 - 上一次的
+//                        Double shopPostFee = payShopDao.findShopPostFee(s.getShopOrderId());
+//                        // 应付为+了供应商运费的金额,应付 - 数据库应付 = 上一次的供应商运费
+//                        // 待付 = 待付 - 上一次的供应商运费
+//                        s.setWaitPayShop(s.getWaitPayShop() - shopPostFee);
+//                    }
                     payShopDao.updateRecordById(s.getShopOrderId(), s.getWaitPayShop(), s.getWaitPayCmAmount(), payShop.getPayShopId());
                 });
             }
@@ -399,6 +401,15 @@ public class PayShopServiceImpl implements PayShopService {
                 e.printStackTrace();
             }
         });
+        NewShopOrder shopOrder = newShopOrderDao.findColdChainShopOrder(shopOrders.get(0).getOrderId());
+        // 联合丽格冷链费
+        if (null != shopOrder && 1 == shopOrder.getIsColdChina() && shopOrder.getShopPostFee() >= 700) {
+            try {
+                orderUtils.settleOrder("JSLLF" + shopOrder.getShopOrderId() + substring, 700d, Constant.LHLGCUSTOMERNUM, shopOrder.getShopOrderId(), 6);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
         return ResponseJson.success();
     }
 

+ 26 - 7
src/main/java/com/caimei/modules/order/util/OrderUtils.java

@@ -107,7 +107,9 @@ public class OrderUtils {
         });
         // 应付供应商
         Double v = MathUtil.sub(shopFee.get(), totalCharge.get()).doubleValue();
+        Double shopPostFee = 0d;
         if (!onlineFlag.get() && shopOrder.getShopPostFee() > 0) {
+            shopPostFee = shopOrder.getShopPostFee();
             // 线下收付款,有供应商运费 付供应商 = 付供应商 + 供应商运费
             v = v + shopOrder.getShopPostFee();
         }
@@ -168,7 +170,8 @@ public class OrderUtils {
         shopOrder.setPayCmAmount(paidCm);
         shopOrder.setBrokerage(organizeFee.get().doubleValue());
         shopOrder.setWaitPayCmAmount(MathUtil.sub(cmFee, paidCm).doubleValue());
-        shopOrder.setWaitPayShop(MathUtil.sub(v, paidShop).doubleValue());
+        // 待付不加供应商运费
+        shopOrder.setWaitPayShop(v - paidShop - shopPostFee);
         shopOrder.setShouldPayCmAmount(cmFee);
         shopOrder.setShouldPayShopAmount(v);
         shopOrder.setReceiptTotalFee(receiptTotal.get());
@@ -236,8 +239,16 @@ public class OrderUtils {
                         payShopDao.updateShopOrderSettleStatus(shopOrderId, 3);
                     }
                 } else {
-                    // 佣金结算
-                    settleRecord.setSettleType(settleFlag);
+                    // 佣金结算  3采美 5 联合丽格 6冷链非
+                    Integer newFlag = 0;
+                    if (3 == settleFlag) {
+                        newFlag = 2;
+                    } else if (5 == settleFlag) {
+                        newFlag = 3;
+                    } else if (6 == settleFlag) {
+                        newFlag = 4;
+                    }
+                    settleRecord.setSettleType(newFlag);
                     settleRecord.setSettleAmount(settleAmount);
                     settleRecord.setSplitCode(P3_customerNumber);
                     settleRecord.setShopOrderId(shopOrderId);
@@ -309,7 +320,7 @@ public class OrderUtils {
                 //accountPayOrderExt.setAmount(splitMoneyVo.getSplitMoney());
                 accountPayOrderExt.setOrderType(AccountPayOrderType.TRANSFER);
                 // todo
-                accountPayOrderExt.setServerCallbackUrl(Constant.betaSplit);
+                accountPayOrderExt.setServerCallbackUrl(Constant.prodSplit);
                 accountPayOrderExt.setGoodsName("分账");
                 if (null != splitBillRules && splitBillRules.size() > 0) {
                     accountPayOrderExt.setSplitBillRules(splitBillRules);
@@ -366,7 +377,6 @@ public class OrderUtils {
             newOrder.setNotes(notes);
         }
         OrderUserInfo byOrderId = orderUserInfoDao.findByOrderId(newOrder.getOrderId());
-        newOrder.setClubName(byOrderId.getName());
         String address = byOrderId.getProvince() + byOrderId.getCity() + byOrderId.getTown() + byOrderId.getAddress();
         newOrder.setAddress(address);
         newOrder.setReceiver(byOrderId.getShouHuoRen());
@@ -515,11 +525,16 @@ public class OrderUtils {
             // 包邮
             detail.setPostageInfo("¥" + fee + "(冷链费: ¥" + fee + ", 其他: 包邮)");
         } else {
+            Double other = 0d;
+            if (fee >= 700) {
+                other = fee - 700;
+            }
             // 有运费
-            detail.setPostageInfo("¥" + MathUtil.add(fee, order.getFreight()).doubleValue() + "(冷链费: ¥" + fee + ", 其他: ¥" + order.getFreight() + ")");
+            detail.setPostageInfo("¥" + fee + "(冷链费: ¥" + 700 + ", 其他: ¥" + other + ")");
         }
     }
 
+
     public void setShopPostInfo(NewShopOrder s) {
         NewOrder order = newOrderDao.get(s.getOrderId().toString());
         Double fee = shopOrderDao.findColdChain(s.getOrderId());
@@ -532,8 +547,12 @@ public class OrderUtils {
             // 包邮
             s.setPostageInfo("¥" + fee + "(冷链费: ¥" + fee + ", 其他: 包邮)");
         } else {
+            Double other = 0d;
+            if (fee >= 700) {
+                other = fee - 700;
+            }
             // 有运费
-            s.setPostageInfo("¥" + MathUtil.add(fee, order.getFreight()).doubleValue() + "(冷链费: ¥" + fee + ", 其他: ¥" + order.getFreight() + ")");
+            s.setPostageInfo("¥" + fee + "(冷链费: ¥" + 700 + ", 其他: ¥" + other + ")");
         }
     }
 

+ 9 - 9
src/main/resources/mapper/CmDiscernReceiptMapper.xml

@@ -59,14 +59,13 @@
         cso.shopOrderNo as shopOrderNos,
         cso.shopOrderId as shopOrderId,
         cof.bankAccount AS bankNameType,
-        u.userName,
-        cr.organizeId AS organizeId
+        cr.organizeId AS organizeId,
+        cr.orderNo,
+        c.name as clubName
         FROM cm_discern_receipt a
         left join cm_receipt_order_relation crr on crr.receiptId = a.id and crr.delFlag = '0'
-        -- 主订单
         left join cm_order cr on cr.orderId = crr.orderId
-        left join user u on u.userId = cr.userId
-        -- 子订单
+        left join club c on cr.userId = c.userId
         left join cm_shop_order cso on cso.orderId = crr.orderId
         LEFT JOIN cm_offline_collection cof ON a.payType = cof.type
         <where>
@@ -97,8 +96,8 @@
             <if test="orderId != null and orderId != ''">
                 AND cr.orderId = #{orderId}
             </if>
-            <if test="userName != null and userName != ''">
-                AND (u.userName LIKE concat('%',#{userName},'%') or u.name LIKE concat('%',#{userName},'%'))
+            <if test="clubName != null and clubName != ''">
+                AND (c.name LIKE concat('%',#{clubName},'%'))
             </if>
             <if test="receiptProgress != null">
                 AND cr.receiptStatus = #{receiptProgress}
@@ -147,12 +146,13 @@
                   and cdr.delFlag = '0'
                   and cdr.receiptStatus = '3'
                )              AS receiptAmount,
-               bou.name       AS userName,
+               c.name       AS clubName,
                co.receiptStatus,
                co.orderTime
         from cm_order co
-                 left join bp_order_userinfo bou on bou.orderId = co.orderId
+        left join club c on co.userId = c.userId
         where co.orderId = #{orderId}
+
     </select>
 
     <select id="findOrderRelation" resultType="com.caimei.modules.order.entity.OrderRelationRecord">

+ 13 - 29
src/main/resources/mapper/CmReturnedPurchaseMapper.xml

@@ -12,7 +12,7 @@
 		a.returnedWay AS "returnedWay",
 		a.payType AS "payType",
 		a.operatingOrderStatus AS "operatingOrderStatus",
-		a.returnedPurchaseFee AS "returnedPurchaseFee",
+		ifnull(a.returnedPurchaseFee,a.refundFee) AS "returnedPurchaseFee",
 		a.refundFee AS "refundFee",
 		a.image1 AS "image1",
 		a.image2 AS "image2",
@@ -36,9 +36,7 @@
 		a.bankAccountNo AS "bankAccountNo",
 		a.openBank AS "openBank",
 		a.bankAccountType AS "bankAccountType",
-		a.confirmReturnTime AS "confirmReturnTime",
-		b.orderNo as "orderNo",
-		c.userName as "userName"
+		a.confirmReturnTime AS "confirmReturnTime"
     </sql>
 
     <sql id="cmReturnedPurchaseJoins">
@@ -69,12 +67,14 @@
         <include refid="cmReturnedPurchaseColumns"/>
         ,s.name AS "applicationUserName",
         s1.name AS "reviewUserName",
-        co.organizeID AS "organizeId"
+        co.organizeID AS "organizeId",
+        c.name as clubName,
+        co.orderNo
         FROM cm_returned_purchase a
         LEFT JOIN sys_user s on s.id = a.applicationUserId
         LEFT JOIN sys_user s1 on s1.id = a.reviewUserId
         LEFT JOIN cm_order co ON a.orderID=co.orderID
-        <include refid="cmReturnedPurchaseJoins"/>
+        left join club c on c.userId = co.userId
         <where>
             <if test="organizeId != null">
                 AND co.organizeID = #{organizeId}
@@ -94,31 +94,15 @@
             <if test="status != null and status != ''">
                 AND a.status = #{status}
             </if>
-            <if test="returnTime != null and returnTime != ''">
-                AND a.returnTime = #{returnTime}
+            <if test="beginReturnTime != null and beginReturnTime != ''">
+                AND DATE_FORMAT(a.returnTime,"%Y-%m-%d") <![CDATA[   >=  ]]> #{beginReturnTime}
             </if>
-            <if test="confirmReturnTime != null and confirmReturnTime != ''">
-                AND a.confirmReturnTime = #{confirmReturnTime}
+            <if test="endReturnTime != null and endReturnTime != ''">
+                AND DATE_FORMAT(a.returnTime,"%Y-%m-%d") <![CDATA[   <=  ]]> #{endReturnTime}
             </if>
-            <if test="beginReturnTime != null">
-                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]> STR_TO_DATE(#{beginReturnTime},'%Y-%m-%d
-                %H:%i')
-            </if>
-            <if test="endReturnTime != null">
-                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]> STR_TO_DATE(#{endReturnTime},'%Y-%m-%d
-                %H:%i')
-            </if>
-            <if test="beginConfirmReturnTime != null">
-                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]>
-                STR_TO_DATE(#{beginConfirmReturnTime},'%Y-%m-%d %H:%i')
-            </if>
-            <if test="endConfirmReturnTime != null">
-                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]>
-                STR_TO_DATE(#{endConfirmReturnTime},'%Y-%m-%d %H:%i')
-            </if>
-            <if test="userName != null and userName != ''">
-                AND c.userName like
-                concat('%',#{userName},'%')
+            <if test="clubName != null and clubName != ''">
+                AND c.name like
+                concat('%',#{clubName},'%')
             </if>
             <if test="orderNo != null and orderNo != ''">
                 AND b.orderNo = #{orderNo}

+ 8 - 4
src/main/resources/mapper/NewOrderMapper.xml

@@ -291,7 +291,11 @@
         "shouldPayProduct",
         co.status AS status,
         co.postageOrderFlag AS postageOrderFlag,
-        c.name as clubName
+        c.name as clubName,
+        (SELECT IF(COUNT(orderId)>0,1,0) FROM cm_returned_purchase
+        WHERE STATUS = 1
+        AND delFlag = 0
+        AND orderId = co.orderId)AS returnedPurchaseStatus
         FROM cm_order co
         LEFT JOIN bp_order_userinfo bou ON bou.orderId = co.orderId
         left join cm_order_product cop on co.orderID = cop.orderID
@@ -361,13 +365,13 @@
             <if test="refundType != null and refundType != ''">
                 AND
                 <if test="refundType == 0">
-                    co.refundType is null
+                    co.refundType is null or co.refundType = 0
                 </if>
                 <if test="refundType == 1">
-                    co.refundType = '1'
+                    co.refundType = 1
                 </if>
                 <if test="refundType == 2">
-                    co.refundType = '2'
+                    co.refundType = 2
                 </if>
             </if>
             <if test="orderRefundType != null and orderRefundType != ''">

+ 25 - 17
src/main/resources/mapper/NewShopOrderMapper.xml

@@ -272,7 +272,7 @@
                a.note                                               AS note,
                a.payStatus                                          AS payStatus,
                a.sendOutStatus                                      AS sendOutStatus,
-               a.shopProductAmount                                  AS shopProductAmount,
+               ifnull(a.shopProductAmount,0)                        AS shopProductAmount,
                ifnull(a.shopPostFee, 0)                             AS shopPostFee,
                a.shouldPayShopAmount                                AS shouldPayShopAmount,
                ifnull((select sum(payAmount)
@@ -303,13 +303,13 @@
                   AND b.receiptStatus = 3
                   AND b.delFlag = 0)                                as receiptTotalFee
         from cm_shop_order a
-                 left join bp_order_userinfo bou on bou.orderId = a.orderID
-                 left join cm_order co on co.orderID = a.orderID
-                 left join shop s on s.shopID = a.shopID
-                 LEFT JOIN club c ON c.userID = a.userID
-                 LEFT JOIN cm_receipt_order_relation cror ON cror.orderId = co.orderId
-                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-                 LEFT JOIN cm_split_account csa on csa.shopOrderId = a.shopOrderID
+        left join bp_order_userinfo bou on bou.orderId = a.orderID
+        left join cm_order co on co.orderID = a.orderID
+        left join shop s on s.shopID = a.shopID
+        LEFT JOIN club c ON c.userID = a.userID
+        LEFT JOIN cm_receipt_order_relation cror ON cror.orderId = co.orderId
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN cm_split_account csa on csa.shopOrderId = a.shopOrderID
         where a.shopOrderId = #{shopOrderId}
         group by a.shopOrderId
     </select>
@@ -380,15 +380,15 @@
                            AND b.receiptStatus = 3
                            AND b.delFlag = 0)                                as receiptTotalFee
         from cm_shop_order a
-                 left join bp_order_userinfo bou on bou.orderId = a.orderID
-                 left join cm_order co on co.orderID = a.orderID
-                 left join shop s on s.shopID = a.shopID
-                 LEFT JOIN club c ON c.userID = a.userID
-                 LEFT JOIN cm_receipt_order_relation cror ON cror.orderId = co.orderId
-                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-                 LEFT JOIN cm_split_account csa on csa.shopOrderId = a.shopOrderID
+        left join bp_order_userinfo bou on bou.orderId = a.orderID
+        left join cm_order co on co.orderID = a.orderID
+        left join shop s on s.shopID = a.shopID
+        LEFT JOIN club c ON c.userID = a.userID
+        LEFT JOIN cm_receipt_order_relation cror ON cror.orderId = co.orderId
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN cm_split_account csa on csa.shopOrderId = a.shopOrderID
         where a.orderId = #{orderId}
-        and a.shopId != 998
+          and a.shopId != 998
     </select>
 
     <select id="findUnPaidShopOrder" resultType="java.lang.Integer">
@@ -544,7 +544,7 @@
     </select>
 
     <select id="findColdChain" resultType="java.lang.Double">
-        select totalAmount
+        select ifnull(totalAmount, 0)
         from cm_shop_order
         where shopId = 998
           and orderId = #{orderId}
@@ -556,4 +556,12 @@
         from cm_shop_order
         where orderID = #{orderId}
     </select>
+
+    <select id="findColdChainShopOrder" resultType="com.caimei.modules.order.entity.NewShopOrder">
+        select ifnull(totalAmount, 0) as shopPostFee, shopOrderId, orderId,shopId,isColdChina
+        from cm_shop_order
+        where shopId = 998
+          and orderId = #{orderId}
+          and delFlag = 0
+    </select>
 </mapper>

+ 116 - 76
src/main/resources/mapper/PayShopDao.xml

@@ -76,10 +76,10 @@
             <if test="name !=null and name!=''">
                 name = #{name},
             </if>
-            <if test="totalAmount !=null">
+            <if test="totalAmount != null">
                 totalAmount = #{totalAmount},
             </if>
-            <if test="payType !=null">
+            <if test="payType != null">
                 payType = #{payType},
             </if>
             <if test="applicant !=null">
@@ -235,7 +235,7 @@
         SELECT
         a.id AS "payShopId",
         a.name AS "name",
-        (a.totalAmount+a.payCmAmount) AS "totalAmount",
+        (ifnull(a.totalAmount,0)+ifnull(cpsr.payCmAmount,0)) AS "totalAmount",
         a.applyTime AS "applyTime",
         a.reviewTime AS "reviewTime",
         a.payTime AS "payTime",
@@ -367,12 +367,12 @@
                         a.paying,
                         co.receiptStatus         AS orderReceiptStatus,
                         bou.name                 as buyer,
-                        c.name as clubName
+                        c.name                   as clubName
         FROM cm_shop_order a
-        LEFT JOIN cm_order co ON co.orderID = a.orderID
-        LEFT JOIN shop s ON s.shopID = a.shopID
-        left join bp_order_userinfo bou on bou.orderId = a.orderID
-        left join club c on a.userId = c.userId
+                 LEFT JOIN cm_order co ON co.orderID = a.orderID
+                 LEFT JOIN shop s ON s.shopID = a.shopID
+                 left join bp_order_userinfo bou on bou.orderId = a.orderID
+                 left join club c on a.userId = c.userId
         WHERE a.shopOrderID IN
               (SELECT shoporderId
                FROM cm_pay_shop_record
@@ -382,14 +382,14 @@
     </select>
 
     <select id="findPayOrderProducts" resultType="com.caimei.modules.order.entity.NewOrderProduct">
-        select cop.name                                                                                        AS name,
-               cop.orderProductID                                                                              AS orderProductId,
-               cop.productID                                                                                   AS productId,
-               cop.productUnit                                                                                 AS unit,
-               cop.num                                                                                         AS num,
-               cop.totalFee                                                                                    AS totalFee,
-               cop.costPrice                                                                                   AS costPrice,
-               cop.productType                                                                                 AS productType,
+        select cop.name                                    AS name,
+               cop.orderProductID                          AS orderProductId,
+               cop.productID                               AS productId,
+               cop.productUnit                             AS unit,
+               cop.num                                     AS num,
+               cop.totalFee                                AS totalFee,
+               cop.costPrice                               AS costPrice,
+               cop.productType                             AS productType,
                cop.price,
                cop.shopPercent,
                cop.organizePercent,
@@ -400,19 +400,19 @@
                cop.productImage,
                (SELECT ifnull(SUM(num), 0)
                 FROM cm_logistics_record
-                WHERE orderproductId = cop.orderproductId)                                                     as sendOutNum,
+                WHERE orderproductId = cop.orderproductId) as sendOutNum,
                (SELECT IFNULL(sum(a.num), 0)
                 FROM cm_logistics_record a
                          right join cm_logistics_batch b on a.logisticsBatchID = b.id
                 WHERE a.orderProductID = #{orderProductID}
-                  and b.status = 1)                                                                            as receivedNum,
+                  and b.status = 1)                        as receivedNum,
                ifnull((SELECT SUM(crpp.actualReturnedNum) + SUM(crpp.actualCancelNum)
                        FROM cm_returned_purchase_product crpp
                                 LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
                        WHERE crpp.orderProductID = cop.orderProductId
                          AND rp.status = '2'
                          AND rp.delFlag = '0'),
-                      0)                                                                                       AS returnedNum
+                      0)                                   AS returnedNum
         from cm_order_product cop
                  left join cm_sku cs on cop.skuId = cs.skuId
                  left join product p on p.productID = cop.productID
@@ -444,6 +444,7 @@
         FROM cm_pay_shop_record a
                  LEFT JOIN cm_offline_collection f ON a.payType = f.type
         WHERE a.payShopID = #{id}
+          and a.shopId != 998
     </select>
 
     <select id="findShopOrderNosByPayShop" resultType="java.lang.String">
@@ -465,7 +466,7 @@
     </select>
 
     <select id="findShouldPayShopAmount" resultType="java.lang.Double">
-        SELECT ROUND(SUM(totalAmount*shopPercent/100),2)
+        SELECT ROUND(SUM(totalAmount * shopPercent / 100), 2)
         FROM cm_order_product
         WHERE shoporderId = #{shopOrderId}
           AND shopId != 998
@@ -558,22 +559,21 @@
     </select>
 
     <select id="findPayShopRecordsByOrder" resultType="com.caimei.modules.order.entity.OrderPayShopRecord">
-        SELECT DISTINCT
-               f.bankAccount AS "bankNameType",
-               a.id          AS "id",
-               a.shopID      AS "shopId",
-               a.shopOrderID AS "shopOrderId",
-               a.shopOrderNo AS "shopOrderNo",
-               a.payAmount   AS "payAmount",
-               a.payCmAmount,
-               a.payType     AS "payType",
-               a.payTime     AS "payTime",
-               a.wipeTime    AS "wipeTime",
-               a.payShopID   AS "payShopID",
-               a.status      AS "status"
+        SELECT DISTINCT f.bankAccount AS "bankNameType",
+                        a.id          AS "id",
+                        a.shopID      AS "shopId",
+                        a.shopOrderID AS "shopOrderId",
+                        a.shopOrderNo AS "shopOrderNo",
+                        a.payAmount+a.payCmAmount   AS "payAmount",
+                        a.payCmAmount,
+                        a.payType     AS "payType",
+                        a.payTime     AS "payTime",
+                        a.wipeTime    AS "wipeTime",
+                        a.payShopID   AS "payShopID",
+                        a.status      AS "status"
         FROM cm_pay_shop_record a
-                 LEFT JOIN cm_offline_collection f ON a.payType = f.type
-                 left join cm_pay_shop cps on a.shopID = cps.shopID
+        LEFT JOIN cm_offline_collection f ON a.payType = f.type
+        left join cm_pay_shop cps on a.shopID = cps.shopID
         WHERE a.shopOrderID in (select shopOrderId from cm_shop_order where orderId = #{orderId})
           and a.delFlag = 0
           and cps.delFlag = 0
@@ -592,65 +592,69 @@
     </select>
 
     <select id="findPayShopRecordsByShopOrder" resultType="com.caimei.modules.order.entity.OrderPayShopRecord">
-        SELECT f.bankAccount AS "bankNameType",
-               a.id          AS "id",
-               a.shopID      AS "shopId",
-               a.shopOrderID AS "shopOrderId",
-               a.shopOrderNo AS "shopOrderNo",
-               a.payAmount   AS "payAmount",
+        SELECT distinct
+               f.bankAccount            AS "bankNameType",
+               a.id                     AS "id",
+               a.shopID                 AS "shopId",
+               a.shopOrderID            AS "shopOrderId",
+               a.shopOrderNo            AS "shopOrderNo",
+               a.payAmount+a.payCmAmount   AS "payAmount",
                a.payCmAmount,
-               a.payType     AS "payType",
-               a.payTime     AS "payTime",
-               a.wipeTime    AS "wipeTime",
-               a.payShopID   AS "payShopID",
-               a.status      AS "status"
+               a.payType                AS "payType",
+               a.payTime                AS "payTime",
+               a.wipeTime               AS "wipeTime",
+               a.payShopID              AS "payShopID",
+               a.status                 AS "status"
         FROM cm_pay_shop_record a
-                 LEFT JOIN cm_offline_collection f ON a.payType = f.type
-                 left join cm_pay_shop cps on a.shopID = cps.shopID
-        WHERE a.shopOrderID in (select shopOrderId from cm_shop_order where orderId = #{shopOrderId})
+        LEFT JOIN cm_offline_collection f ON a.payType = f.type
+        left join cm_pay_shop cps on a.shopID = cps.shopID
+        WHERE a.shopOrderID = #{shopOrderId}
           and a.delFlag = 0
           and cps.delFlag = 0
           and a.status = 1
           and cps.status = 1
     </select>
 
-    <select id="findPayshOpOrderWaitPay" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT DISTINCT cso.shopOrderID            AS shopOrderId,
-                        cso.orderID                AS orderId,
-                        cso.organizeID             AS organizeId,
-                        cso.shopOrderNo            AS shopOrderNo,
-                        cso.orderNo                AS orderNo,
+    <select id="findPayShopOrderWaitPay" resultType="com.caimei.modules.order.entity.NewShopOrder">
+        SELECT DISTINCT cso.shopOrderID                       AS shopOrderId,
+                        cso.orderID                           AS orderId,
+                        cso.organizeID                        AS organizeId,
+                        cso.shopOrderNo                       AS shopOrderNo,
+                        cso.orderNo                           AS orderNo,
                         cso.totalAmount,
-                        cso.payCmAmount            AS payCmAmount,
-                        cso.receiptStatus          AS receiptStatus,
-                        cso.orderTime              AS orderTime,
-                        cso.payStatus              AS payStatus,
-                        cso.shopProductAmount      AS shopProductAmount,
-                        ifnull(cso.shopPostFee, 0) AS shopPostFee,
+                        cso.payCmAmount                       AS payCmAmount,
+                        cso.receiptStatus                     AS receiptStatus,
+                        cso.orderTime                         AS orderTime,
+                        cso.payStatus                         AS payStatus,
+                        cso.shopProductAmount                 AS shopProductAmount,
+                        ifnull(cso.shopPostFee, 0)            AS shopPostFee,
                         ifnull((select sum(payAmount)
                                 from cm_pay_shop_record
                                 where shopOrderId = cso.shopOrderId
                                   and status = 1
                                   and delFlag = 0),
-                               0)                as payedShopAmount,
+                               0)                             as payedShopAmount,
                         ifnull((select sum(payCmAmount)
                                 from cm_pay_shop_record
                                 where shopOrderId = cso.shopOrderId
                                   and status = 1
                                   and delFlag = 0),
-                               0)                as payCmAmount,
-                        cso.payedShopAmount        AS payedShopAmount,
-                        co.payTotalFee           AS payTotalFee,
-                        s.name                   AS shopName,
+                               0)                             as payCmAmount,
+                        co.payTotalFee                        AS payTotalFee,
+                        s.name                                AS shopName,
                         s.shopId,
                         cso.paying,
-                        co.receiptStatus         AS orderReceiptStatus,
-                        bou.name                 as buyer,
-                        c.name as clubName,
-                        cpsr.payAmount AS waitPayShop,
-                        cpsr.payCmAmount as waitPayCmAmount,
-                (SELECT ROUND(IFNULL(SUM(num*price*cmPercent/100),0),2) FROM cm_order_product WHERE shoporderid=cso.shopOrderId) AS shouldPayCmAmount,
-                (SELECT ROUND(IFNULL(SUM(num*price*shopPercent/100),0),2) FROM cm_order_product WHERE shoporderid=cso.shopOrderId) AS shouldPayShopAmount
+                        co.receiptStatus                      AS orderReceiptStatus,
+                        bou.name                              as buyer,
+                        c.name                                as clubName,
+                        cpsr.payAmount                        AS waitPayShop,
+                        cpsr.payCmAmount                      as waitPayCmAmount,
+                        (SELECT ROUND(IFNULL(SUM(num * price * cmPercent / 100), 0), 2)
+                         FROM cm_order_product
+                         WHERE shoporderid = cso.shopOrderId) AS shouldPayCmAmount,
+                        (SELECT ROUND(IFNULL(SUM(num * price * shopPercent / 100), 0), 2)
+                         FROM cm_order_product
+                         WHERE shoporderid = cso.shopOrderId) AS shouldPayShopAmount
         FROM cm_pay_shop cps
         left join cm_pay_shop_record cpsr on cps.id = cpsr.payShopID
         left join cm_shop_order cso on cpsr.shopOrderID = cso.shopOrderID
@@ -659,11 +663,47 @@
         left join bp_order_userinfo bou on bou.orderId = co.orderID
         left join club c on co.userId = c.userId
         WHERE cps.id = #{payShopId}
-            and cps.delFlag = 0
-            and cpsr.delFlag = 0
+          and cps.delFlag = 0
+          and cpsr.delFlag = 0
     </select>
 
     <select id="findShopPostFee" resultType="java.lang.Double">
-        select ifnull(shopPostFee,0) from cm_shop_order where shopOrderId = #{shopOrderId}
+        select ifnull(shopPostFee, 0)
+        from cm_shop_order
+        where shopOrderId = #{shopOrderId}
+    </select>
+
+    <select id="findShopOrderByPayShop" resultType="com.caimei.modules.order.entity.NewShopOrder">
+        select cso.refundStatus             AS refundStatus,
+               ifnull(cso.shopPostFee, 0)   AS shopPostFee,
+               cso.paying                   AS paying,
+               ifnull(cso.settleStatus, 1)  as settleStatus,
+               ifnull(cso.receiptStatus, 1) as receiptStatus,
+               cso.shopOrderID              AS shopOrderId,
+               cso.orderID                  AS orderId,
+               cso.organizeID               AS organizeId,
+               cso.userID                   AS userId,
+               cso.shopID                   AS shopId,
+               cso.productAmount            AS productAmount,
+               cso.totalAmount              AS totalAmount,
+               cso.shopProductAmount        AS shopProductAmount,
+               cso.shouldPayShopAmount      AS shouldPayShopAmount,
+               ifnull((select sum(payAmount)
+                       from cm_pay_shop_record
+                       where shopOrderId = cso.shopOrderId
+                         and status = 1
+                         and delFlag = 0),
+                      0)                    as payedShopAmount,
+               ifnull((select sum(payCmAmount)
+                       from cm_pay_shop_record
+                       where shopOrderId = cso.shopOrderId
+                         and status = 1
+                         and delFlag = 0),
+                      0)                    as payCmAmount
+        from cm_pay_shop cps
+                 left join cm_pay_shop_record cpsr on cps.id = cpsr.payShopID
+                 left join cm_shop_order cso on cpsr.shopOrderID = cso.shopOrderID
+        where cps.id = #{payShopId}
+          and cso.shopId != 998
     </select>
 </mapper>