From 393d296e43f0e5f11e524cab5446bcd3eee94e89 Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Sat, 12 Jun 2021 17:47:38 +0800
Subject: [PATCH] 新增赠送项目是否计算消耗控制

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
index 5246abe..c241c7e 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
@@ -159,12 +159,12 @@
                             //设置支付状态为支付成功
                             modifyMap.put("payStatus", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
                             //设置订单状态
-                            if (ShopOrder.ORDER_TYPE_GOODS == order.getOrderType()) {
+                            if (ShopOrder.SHIPPING_METHOD_WL == order.getShippingMethod()) {
                                 //如果是商品订单则进入待发货
                                 modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_SEND);
-                            } else {
-                                //如果是服务订单则进入待评价
-                                modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_REMARK);
+                            } else if (ShopOrder.SHIPPING_METHOD_MDZT == order.getShippingMethod()) {
+                                //如果是门店自提则进入待收款
+                                modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_RECEIVE);
                             }
                             shopOrderDao.updateByMap(modifyMap);
 
@@ -187,7 +187,7 @@
                                 }
                                 shopActivitiesGroupJoinDao.updateByModel(groupJoin);
 
-                                SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel());
+                                SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel(), order.getCompanyId());
                                 if(sysVipInfo!=null){
                                     sysVipInfo.setIsDeal(SysVipInfo.DEAL_VIP);
                                     sysVipInfoDao.update(sysVipInfo);
@@ -204,7 +204,7 @@
                             resXml = AppConstance.RESULT_XML_SUCCESS;
 
                             //支付记录
-                            recordPayLog(Integer.valueOf(orderId), 1, order.getOrderNo(), payMoney,  payLog, "支付成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
+                            recordPayLog(Integer.valueOf(orderId), 1, order.getOrderNo(), payMoney,  "支付成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
 
 
                         } else {
@@ -306,17 +306,22 @@
                                 BigDecimal.ROUND_HALF_DOWN).doubleValue();
 
                         if (moneyCardUseFlow.getCarUseId()==null) {
-                            ShopPayLog payLog = new ShopPayLog();
-                            if(payMoney==moneyCardUseFlow.getTotal()){
+
+                            if(payMoney.equals(moneyCardUseFlow.getTotal())){
                                 threadResult.putInMap("status", "success");
                                 resXml = AppConstance.RESULT_XML_SUCCESS;
                                 MoneyCardUse moneyCardUse = moneyCardUseDao.selectVipCard(user.getId());
                                 moneyCardUseFlow.setCarUseId(moneyCardUse.getId());
                                 moneyCardUseFlow.setCardName(moneyCardUse.getCardName());
-                                moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney());
+                                Double balance=moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney();
+                                moneyCardUseFlow.setBalance(balance==null?0:balance);
                                 moneyCardUseFlowDao.update(moneyCardUseFlow);
+
+                                moneyCardUse.setRealMoney(moneyCardUse.getRealMoney()+payMoney.doubleValue());
+                                moneyCardUseDao.update(moneyCardUse);
+
                                 //充值记录
-                                recordPayLog(Integer.valueOf(moneyCardUseFlowId),2,moneyCardUseFlow.getPayNo(),new BigDecimal(payMoney),  payLog, "充值成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
+                                recordPayLog(Integer.valueOf(moneyCardUseFlowId),2,moneyCardUseFlow.getPayNo(),new BigDecimal(payMoney), "充值成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
                             }else{
                                 LogUtil.debug("支付金额不一致,检查支付金额payMoney={},order.getPayMoney()={}", payMoney, moneyCardUseFlow.getTotal());
                                 threadResult.putInMap("status", "err");
@@ -362,8 +367,9 @@
 
 
 
-    private void recordPayLog(Integer orderId, Integer type,String orderNo, BigDecimal payMoney, ShopPayLog payLog, String payRemark, int payStatus) {
+    private void recordPayLog(Integer orderId, Integer type,String orderNo, BigDecimal payMoney, String payRemark, int payStatus) {
         //设置支付类型为收款
+        ShopPayLog payLog=new ShopPayLog();
         payLog.setPayType(type);
         payLog.setJoinId(orderId);
         payLog.setPayMoney(payMoney);

--
Gitblit v1.9.1