Browse Source

定金商品撤销收款,用户余额扣除,修改用户余额收支记录

chao 3 years ago
parent
commit
2d47a416ac

+ 11 - 0
src/main/java/com/caimei/modules/order/dao/NewOrderDao.java

@@ -2,6 +2,7 @@ package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.CmFile;
 import com.caimei.modules.order.entity.NewOrder;
+import com.caimei.modules.order.entity.NewOrderProduct;
 import com.caimei.modules.product.entity.CmPromotion;
 import com.caimei.modules.user.entity.NewCmSp;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
@@ -137,4 +138,14 @@ public interface NewOrderDao extends CrudDao<NewOrder> {
      * @param num
      */
     void updateSendNum(@Param("markId") int markId, @Param("num") int num);
+    /**
+     * 获取订单定金商品Id
+     * @param orderID
+     * @return
+     */
+    Integer getDepositOrderProductId(Integer orderID);
+    /**
+     * 定金商品撤销收款,用户余额扣除
+     */
+    void updateUserMoneyByUserId(Double payTotalFee, Integer userID);
 }

+ 20 - 0
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -3,7 +3,9 @@ package com.caimei.modules.order.service;
 import com.caimei.modules.hehe.dao.HeHeNewOrderDao;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
+import com.caimei.modules.user.dao.CmUserBalanceRecordDao;
 import com.caimei.modules.user.dao.NewCmShopDao;
+import com.caimei.modules.user.entity.CmUserBalanceRecord;
 import com.caimei.modules.user.entity.NewCmShop;
 import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.persistence.Page;
@@ -49,6 +51,8 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
     private HeHeNewOrderDao heHeNewOrderDao;
     @Resource
     private CmRefundShopRecordDao cmRefundShopRecordDao;
+    @Resource
+    private CmUserBalanceRecordDao cmUserBalanceRecordDao;
 
     public CmDiscernReceipt get(String id) {
         return super.get(id);
@@ -199,6 +203,22 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
                         }
                     }
                     newOrderDao.update(order);
+                    // 充值定金商品
+                    Integer depositProductId = newOrderDao.getDepositOrderProductId(order.getOrderID());
+                    if (6060 == depositProductId) {
+                        // 定金商品撤销收款,用户余额扣除
+                        newOrderDao.updateUserMoneyByUserId(order.getPayTotalFee(), order.getUserID());
+                        // 添加余额收支记录
+                        CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
+                        cmUserBalanceRecord.setType("2");
+                        cmUserBalanceRecord.setBalanceType("8");
+                        cmUserBalanceRecord.setAddDate(new Date());
+                        cmUserBalanceRecord.setDelFlag("0");
+                        cmUserBalanceRecord.setAmount(order.getPayTotalFee().toString());
+                        cmUserBalanceRecord.setOrderId( order.getUserID());
+                        cmUserBalanceRecord.setRemark("定金商品撤销收款");
+                        cmUserBalanceRecordDao.insertUserBalanceRecord(cmUserBalanceRecord);
+                    }
                 }
             }
         }

+ 7 - 1
src/main/resources/mappings/modules/order/OrderMapper.xml

@@ -844,7 +844,9 @@
 	<select id="findBYShortLink" resultType="integer">
         SELECT id FROM cm_short_link WHERE shortLink = #{shortLink}
     </select>
-
+	<select id="getDepositOrderProductId" resultType="java.lang.Integer">
+		SELECT productID FROM cm_order_product WHERE orderID = #{orderID} LIMIT 1
+	</select>
 	<insert id="insertShortLink">
     INSERT INTO `caimei`.`cm_short_link` (
       `markId`, `shortLink`, `jumpLink`,
@@ -860,4 +862,8 @@
 	<update id="updateSendNum">
         UPDATE cm_sms_statistics SET sendNum = (sendNum + #{num}) WHERE markId = #{markId}
     </update>
+	<update id="updateUserMoneyByUserId">
+		UPDATE USER SET userMoney=(userMoney-#{payTotalFee}), ableUserMoney = (ableUserMoney-#{payTotalFee})
+		WHERE userID = #{userID}
+	</update>
 </mapper>