소스 검색

联合丽格1.0.2

huangzhiguo 1 년 전
부모
커밋
ba9ad3ecd7

+ 15 - 0
src/main/java/com/caimei365/order/controller/OrderClubApi.java

@@ -3,6 +3,7 @@ package com.caimei365.order.controller;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.dto.OrderDto;
 import com.caimei365.order.model.dto.VoucherDto;
+import com.caimei365.order.model.po.ShopPo;
 import com.caimei365.order.model.vo.*;
 import com.caimei365.order.service.OrderClubService;
 import com.github.pagehelper.PageInfo;
@@ -350,4 +351,18 @@ public class OrderClubApi {
         }
         return orderClubService.getClauseById(clauseId);
     }
+
+    /**
+     * 查询供应商银行账户信息
+     * @param shopId
+     * @return
+     */
+    @ApiOperation("查询供应商银行账户信息")
+    @GetMapping("/getShopBank")
+    public ResponseJson<ShopPo> getShopBankAccount(Integer shopId) {
+        if (null == shopId) {
+            return ResponseJson.error(-1, "供应商Id不能为空",null);
+        }
+        return orderClubService.getShopBankAccount(shopId);
+    }
 }

+ 10 - 3
src/main/java/com/caimei365/order/controller/ShipApi.java

@@ -6,6 +6,7 @@ import com.caimei365.order.model.dto.JsonParamsDto;
 import com.caimei365.order.model.dto.LogisticsBatchDto;
 import com.caimei365.order.model.dto.LogisticsDto;
 import com.caimei365.order.model.dto.OrderRemarkDto;
+import com.caimei365.order.model.po.ShopPo;
 import com.caimei365.order.model.vo.*;
 import com.caimei365.order.service.ShipService;
 import com.github.pagehelper.PageInfo;
@@ -359,12 +360,18 @@ public class ShipApi {
         return shipService.saveProductQualification(jsonParamsDto);
     }
 
+    /**
+     * 更改收款状态
+     * @param amount
+     * @param shopOrderId
+     * @return
+     */
     @GetMapping("/check/receipt")
-    public ResponseJson checkReceipt(Double amount, Integer orderId) {
-        if (null == amount || null == orderId) {
+    public ResponseJson checkReceipt(Double amount, Integer shopOrderId) {
+        if (null == amount || null == shopOrderId) {
             return ResponseJson.error("参数不能为空!");
         }
-        return shipService.checkReceipt(amount, orderId);
+        return shipService.checkReceipt(amount, shopOrderId);
     }
 
     /**

+ 7 - 0
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -459,4 +459,11 @@ public interface OrderClubMapper {
     void updateVoucherImage(VoucherImageDto voucherImageDto);
 
     void insertVoucherImage(VoucherImageDto voucherImageDto);
+
+    /**
+     * 查询供应商银行卡信息
+     * @param shopId
+     * @return
+     */
+    ShopPo getShopBankAccount(@Param("shopId") Integer shopId);
 }

+ 5 - 4
src/main/java/com/caimei365/order/mapper/ShipMapper.java

@@ -56,9 +56,10 @@ public interface ShipMapper {
 
     /**
      * (收款买家)收款状态:1待收款、2部分收款、3已收款
-     * @param orderId 订单Id
+     * @param shopOrderId 子订单Id
+     * @return
      */
-    Integer getOrderReceiptStatus(Integer orderId);
+    Integer getShopOrderReceiptStatus(Integer shopOrderId);
     /**
      * 物流公司
      * @param value 快递公司代码
@@ -227,7 +228,7 @@ public interface ShipMapper {
 
     Integer getUserIdByShopId(Integer shopId);
 
-    Double findWaitPay(Integer orderId);
+    Double findWaitPay(Integer shopOrderId);
 
     void insertOrderReceipt(ReceiptVo receiptVo);
 
@@ -235,7 +236,7 @@ public interface ShipMapper {
 
     String findOrderStatus(Integer orderId);
 
-    void updateReceiptStatus(Integer status, String orderStatus,Integer orderId);
+    void updateReceiptStatus(Integer status, Integer shopOrderId);
     /**
      * 订单备注
      * @param shopOrderId

+ 33 - 0
src/main/java/com/caimei365/order/model/po/ShopPo.java

@@ -0,0 +1,33 @@
+package com.caimei365.order.model.po;
+
+import lombok.Data;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2023/6/18
+ */
+@Data
+public class ShopPo {
+    /**
+     * 供应商Id
+     */
+    private Integer shopId;
+    /**
+     * 供应商名称
+     */
+    private String name;
+    /**
+     * 银行账号
+     */
+    private String bankAccount;
+    /**
+     * 付款账号的户名
+     */
+    private String bankAccountName;
+    /**
+     * 付款账号的开户行
+     */
+    private String bankName;
+}

+ 8 - 0
src/main/java/com/caimei365/order/service/OrderClubService.java

@@ -2,6 +2,7 @@ package com.caimei365.order.service;
 
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.dto.VoucherDto;
+import com.caimei365.order.model.po.ShopPo;
 import com.caimei365.order.model.vo.*;
 import com.github.pagehelper.PageInfo;
 import org.springframework.http.HttpHeaders;
@@ -140,4 +141,11 @@ public interface OrderClubService {
      */
     ResponseJson<ClauseVo> getClauseById(Integer clauseId);
 
+    /**
+     * 查询供应商银行卡信息
+     * @param shopId
+     * @return
+     */
+    ResponseJson<ShopPo> getShopBankAccount(Integer shopId);
+
 }

+ 2 - 2
src/main/java/com/caimei365/order/service/ShipService.java

@@ -164,10 +164,10 @@ public interface ShipService {
     /**
      * 更改收款状态
      * @param amount
-     * @param orderId
+     * @param shopOrderId
      * @return
      */
-    ResponseJson checkReceipt(Double amount, Integer orderId);
+    ResponseJson checkReceipt(Double amount, Integer shopOrderId);
     /**
      * 订单备注列表
      * @param shopOrderId

+ 1 - 2
src/main/java/com/caimei365/order/service/impl/HeliPayServiceImpl.java

@@ -1241,10 +1241,9 @@ public class HeliPayServiceImpl implements HeliPayService {
                     orderProduct.setTotalAmount(orderProduct.getTotalFee());
                 }
             });
-            if (null != shopOrder.getRealPay()) {
+            if (null == shopOrder.getRealPay()) {
                 shopOrder.setRealPay(shopOrder.getNeedPayAmount());
             }
-            log.info("shopOrder.getRealPay(), shopOrder.getReceiptAmount()"+shopOrder.getRealPay()+"======"+shopOrder.getReceiptAmount());
             shopOrder.setObligation(MathUtil.sub(shopOrder.getRealPay(), shopOrder.getReceiptAmount()).doubleValue());
             if (998 == shopOrder.getShopId()) {
                 shopOrder.setObligation(shopOrder.getTotalAmount());

+ 17 - 6
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -149,10 +149,10 @@ public class OrderClubServiceImpl implements OrderClubService {
             // 设置子订单付款金额
             orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
             // 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
-            if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 1 == shopOrder.getOnlinePay()))) {
-                shopOrder.setCheckFlag(1);
+            if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
+                shopOrder.setCheckFlag(2);
             } else {
-                shopOrder.setCheckFlag(0);
+                shopOrder.setCheckFlag(1);
             }
         });
         /*List<OrderVo> orderList = orderClubMapper.getOrderList(userId, orderState, orderNo, beginTime, endTime);
@@ -317,10 +317,10 @@ public class OrderClubServiceImpl implements OrderClubService {
             //退款总金额
             shopOrder.setReturnedPurchaseFee(returnedPurchaseFee.get());
         }
-        if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 1 == shopOrder.getOnlinePay()))) {
-            shopOrder.setCheckFlag(1);
+        if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
+            shopOrder.setCheckFlag(2);
         } else {
-            shopOrder.setCheckFlag(0);
+            shopOrder.setCheckFlag(1);
         }
         //售后条款
         ClauseVo clause = null;
@@ -1140,4 +1140,15 @@ public class OrderClubServiceImpl implements OrderClubService {
         return ResponseJson.success(clause);
     }
 
+    /**
+     * 查询供应商银行卡信息
+     *
+     * @param shopId
+     * @return
+     */
+    @Override
+    public ResponseJson<ShopPo> getShopBankAccount(Integer shopId) {
+        return ResponseJson.success(orderClubMapper.getShopBankAccount(shopId));
+    }
+
 }

+ 5 - 0
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -313,6 +313,11 @@ public class PayOrderServiceImpl implements PayOrderService {
 //            }
             totalCostPrice.set(MathUtil.add(costPrice, totalCostPrice.get()).doubleValue());
         });
+        // 待付金额
+        if (null == shopOrder.getRealPay()) {
+            shopOrder.setRealPay(shopOrder.getNeedPayAmount());
+        }
+        shopOrder.setObligation(MathUtil.sub(shopOrder.getRealPay(), shopOrder.getReceiptAmount()).doubleValue());
         Integer onlinePay = shopOrder.getOnlinePay();
         // 返回数据
         Map<String, Object> map = new HashMap<>();

+ 16 - 15
src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java

@@ -95,10 +95,10 @@ public class ShipServiceImpl implements ShipService {
                 setShopOrderInfo(shopOrder);
             }
             // 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
-            if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 1 == shopOrder.getOnlinePay()))) {
-                shopOrder.setCheckFlag(1);
+            if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
+                shopOrder.setCheckFlag(2);
             } else {
-                shopOrder.setCheckFlag(0);
+                shopOrder.setCheckFlag(1);
             }
         });
         PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
@@ -193,10 +193,10 @@ public class ShipServiceImpl implements ShipService {
         }
         setShopOrderInfo(shopOrder);
         // 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
-        if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 1 == shopOrder.getOnlinePay()))) {
-            shopOrder.setCheckFlag(1);
+        if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
+            shopOrder.setCheckFlag(2);
         } else {
-            shopOrder.setCheckFlag(0);
+            shopOrder.setCheckFlag(1);
         }
         Map<String, Object> map = new HashMap<>(2);
         map.put("shopOrder", shopOrder);
@@ -255,7 +255,7 @@ public class ShipServiceImpl implements ShipService {
         OrderUserinfoVo userInfo = addressMapper.getOrderUserinfo(shopOrder.getOrderId());
         shopOrder.setUserInfo(userInfo);
         // (收款买家)收款状态:1待收款、2部分收款、3已收款
-        Integer receiptStatus = shipMapper.getOrderReceiptStatus(shopOrder.getOrderId());
+        Integer receiptStatus = shipMapper.getShopOrderReceiptStatus(shopOrder.getShopOrderId());
         //(收款买家)收款状态:1待收款、2部分收款、3已收款
         shopOrder.setReceiptStatus(receiptStatus);
         // 供应商名称
@@ -296,6 +296,10 @@ public class ShipServiceImpl implements ShipService {
                 v.setImgs(imageList);
             });
         }
+        // 子订单信息
+        orderCommonService.setShopOrderInfo(shopOrder);
+        // 设置子订单付款金额
+        orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
         shopOrder.setVoucher(voucher);
         shopOrder.setOrderProductList(orderProductList);
         shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
@@ -1073,12 +1077,12 @@ public class ShipServiceImpl implements ShipService {
      * 更改收款状态
      *
      * @param amount
-     * @param orderId
+     * @param shopOrderId
      * @return
      */
     @Override
-    public ResponseJson checkReceipt(Double amount, Integer orderId) {
-        Double wait = shipMapper.findWaitPay(orderId);
+    public ResponseJson checkReceipt(Double amount, Integer shopOrderId) {
+        Double wait = shipMapper.findWaitPay(shopOrderId);
         if (amount > wait) {
             return ResponseJson.error("支付金额大于待付!");
         }
@@ -1095,17 +1099,14 @@ public class ShipServiceImpl implements ShipService {
         record.setReceiptAmount(amount);
         record.setRelationType(2);
         record.setReceiptId(receiptVo.getId());
-        record.setOrderId(orderId);
+        record.setShopOrderId(shopOrderId);
         shipMapper.insertOrderRelation(record);
         // 根据金额修改cm_order状态
         Integer status = 2;
         if (0 == wait - amount) {
             status = 3;
         }
-        String orderStatus = shipMapper.findOrderStatus(orderId);
-        String substring = orderStatus.substring(orderStatus.length() - 1);
-        orderStatus = status + substring;
-        shipMapper.updateReceiptStatus(status, orderStatus, orderId);
+        shipMapper.updateReceiptStatus(status, shopOrderId);
         return ResponseJson.success();
     }
 

+ 5 - 1
src/main/resources/mapper/OrderClubMapper.xml

@@ -259,7 +259,7 @@
             cso.brokerage,
             cso.canRefundAmount,
             cso.itemCount,
-            cso.accountAmount,
+            ifnull(cso.accountAmount, 0) as accountAmount,
             cso.totalAmount,
             cso.productAmount,
             cso.needPayAmount,
@@ -1098,4 +1098,8 @@
         insert into cm_voucher_image (voucherId, image)
         values (#{voucherId},#{img})
     </insert>
+
+    <select id="getShopBankAccount" resultType="com.caimei365.order.model.po.ShopPo">
+        SELECT shopId, name, bankAccount, bankAccountName, bankName FROM shop WHERE shopId = #{shopId}
+    </select>
 </mapper>

+ 2 - 2
src/main/resources/mapper/OrderCommonMapper.xml

@@ -169,7 +169,7 @@
         FROM cm_receipt_order_relation cror
                  LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
         WHERE ((cror.orderID = #{orderId} AND cror.relationType = '2') OR
-               (cror.orderID = #{shopOrderId} AND cror.relationType = '1'))
+               (cror.shopOrderId = #{shopOrderId} AND cror.relationType = '2'))
           AND cror.delFlag = '0'
           AND cdr.delFlag = '0'
           AND cdr.receiptStatus = '3'
@@ -482,7 +482,7 @@
         cso.totalAmount,
         cso.productAmount,
         cso.needPayAmount,
-        cso.accountAmount,
+        ifnull(cso.accountAmount,0) as accountAmount,
         cso.shopProductAmount,
         cso.shopPostFee,
         IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,

+ 17 - 15
src/main/resources/mapper/ShipMapper.xml

@@ -102,6 +102,7 @@
             a.orderNo,
             a.shopID AS shopId,
             a.organizeID as organizeId,
+            IFNULL(a.isColdChina, 0) AS isColdChina,
             a.note,
             a.userID AS userId,
             a.clubID AS clubId,
@@ -117,9 +118,10 @@
             a.shopProductAmount,
             a.shopPostFee,
             a.shopTaxFee,
+            IFNULL(a.shopPostFlag, 0) AS shopPostFlag,
             a.shouldPayShopAmount,
             a.payedShopAmount,
-            a.accountAmount,
+            ifnull(a.accountAmount,0) as accountAmount,
             a.orderTime,
             a.orderSubmitType,
             a.payStatus,
@@ -208,7 +210,7 @@
         </where>
     </select>
     <select id="getShopOrderRelation" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
-        SELECT cdr.payWay, cror.orderId, cror.shopOrderId, cror.associateAmount
+        SELECT cdr.payWay, cdr.payType, cror.orderId, cror.shopOrderId, cror.associateAmount
             FROM cm_discern_receipt cdr
         LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
         where cror.shopOrderId = #{shopOrderId}
@@ -227,6 +229,7 @@
             orderNo,
             shopID AS shopId,
             organizeID as organizeId,
+            IFNULL(isColdChina, 0) AS isColdChina,
             note,
             userID AS userId,
             clubID AS clubId,
@@ -241,10 +244,11 @@
             needPayAmount,
             shopProductAmount,
             shopPostFee,
+            IFNULL(shopPostFlag, 0) AS shopPostFlag,
             shopTaxFee,
             shouldPayShopAmount,
             payedShopAmount,
-            accountAmount,
+            ifnull(accountAmount,0) as accountAmount,
             outStoreNum,
             IFNULL(presentNum,0) AS presentNum,
             orderTime,
@@ -271,10 +275,9 @@
         WHERE cmo.shopOrderID=#{shopOrderId}
     </select>
 
-
-    <select id="getOrderReceiptStatus" resultType="java.lang.Integer">
-        SELECT receiptStatus FROM cm_order
-        WHERE orderID = #{orderId} AND delFlag = '0'
+    <select id="getShopOrderReceiptStatus" resultType="java.lang.Integer">
+        SELECT receiptStatus FROM cm_shop_order
+        WHERE shopOrderId = #{shopOrderId} AND delFlag = '0'
     </select>
     <select id="getLogisticsCompany" resultType="com.caimei365.order.model.vo.CompanyVo">
         SELECT id, value, label
@@ -441,10 +444,10 @@
     </select>
 
     <select id="findWaitPay" resultType="java.lang.Double">
-        SELECT ifnull((SELECT payTotalFee FROM cm_order WHERE orderId = #{orderId}) - ifnull(SUM(receiptAmount),0),0)
+        SELECT ifnull((SELECT IFNULL(realPay, needPayAmount) - receiptAmount  FROM cm_shop_order WHERE shopOrderId = #{shopOrderId}) - ifnull(SUM(receiptAmount),0),0)
         FROM cm_discern_receipt cdr
                  LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptID
-        WHERE cror.orderId = #{orderId}
+        WHERE cror.shopOrderId = #{shopOrderId}
     </select>
     <insert id="insertOrderReceipt" keyColumn="id" keyProperty="id"
             parameterType="com.caimei365.order.model.vo.ReceiptVo" useGeneratedKeys="true">
@@ -456,22 +459,21 @@
         INSERT INTO cm_receipt_order_relation(relationType,
                                               receiptID,
                                               associateAmount,
-                                              orderID,
+                                              shopOrderId,
                                               delFlag)
         VALUES (#{relationType},
                 #{receiptId},
                 #{receiptAmount},
-                #{orderId},
+                #{shopOrderId},
                 0)
     </insert>
     <select id="findOrderStatus" resultType="java.lang.String">
         select status from cm_order where orderId = #{orderId}
     </select>
     <update id="updateReceiptStatus">
-        update cm_order
-        set receiptStatus = #{status},
-            status = #{orderStatus}
-        where orderId = #{orderId}
+        update cm_shop_order
+        set receiptStatus = #{status}
+        where shopOrderId = #{shopOrderId}
     </update>
     <select id="findList" resultType="com.caimei365.order.model.dto.OrderRemarkDto">
         SELECT a.id           AS "id",