qmj 1 неделя назад
Родитель
Сommit
ee4d04ebc4

+ 22 - 11
ruoyi-admin/src/main/java/com/ruoyi/app/order/PosReviewController.java

@@ -4,6 +4,8 @@ import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
+
+import com.ruoyi.system.domain.*;
 import jakarta.servlet.http.HttpServletResponse;
 
 import cn.hutool.core.util.ObjectUtil;
@@ -15,9 +17,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.system.domain.WalletTransaction;
-import com.ruoyi.system.domain.SysPointControl;
-import com.ruoyi.system.domain.UserWallet;
 import com.ruoyi.system.mapper.PosReviewMapper;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.utils.Auth;
@@ -30,7 +29,6 @@ import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.system.domain.PosReview;
 import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -122,11 +120,7 @@ public class PosReviewController extends BaseController
             UserWallet userWallet = userWalletService.getOne(walletQuery);
 
             if(userWallet==null){
-                userWallet=new UserWallet();
-                userWallet.setUserId(userid);
-                userWallet.setPointsWallet(control.getReviewPoints());
-//                createPointTransaction(userid, BigDecimal.valueOf(control.getReviewPoints()), BigDecimal.valueOf(userWallet.getPointsWallet()),ddId.toString());
-                userWalletService.save(userWallet);
+                userWalletService.createUserWallet(userid);
             }else{
                 Long userPoint = userWallet.getPointsWallet();
                 Long point = control.getReviewPoints();
@@ -139,7 +133,7 @@ public class PosReviewController extends BaseController
                if(!update){
                    throw new ServiceException(MessageUtils.message("no.points.update.fail"));
                }
-//                createPointTransaction(userid,BigDecimal.valueOf(control.getReviewPoints()), BigDecimal.valueOf(userWallet.getPointsWallet()),ddId.toString());
+                createPointTransaction(userid,control.getReviewPoints(), userWallet.getPointsWallet(), ddId,"0");
             }
 
         }
@@ -149,7 +143,7 @@ public class PosReviewController extends BaseController
      * 创建积分流水
      */
 //    private void createPointTransaction(Long userid,BigDecimal pointsChange,BigDecimal currentPoints,String ddId){
-//        WalletTransaction pointsTransaction = new WalletTransaction();
+//        PointsTransaction pointsTransaction = new PointsTransaction();
 //        pointsTransaction.setUserId(userid);
 //        pointsTransaction.setChange("+"+pointsChange);
 //        pointsTransaction.setCurrentBalance(currentPoints.toString());
@@ -159,6 +153,23 @@ public class PosReviewController extends BaseController
 //        pointsTransactionService.save(pointsTransaction);
 //    }
 
+    private void createPointTransaction(Long userid, Long pointsChange, Long currentPoints, String ddId,String type) {
+        PointsTransaction pointsTransaction = new PointsTransaction();
+        pointsTransaction.setUserId(userid);
+        if (type.equals("1")) {
+            pointsTransaction.setPointsChange("-" + pointsChange);
+            pointsTransaction.setType("1");
+        }
+        if (type.equals("2")) {
+            pointsTransaction.setPointsChange("+" + pointsChange);
+            pointsTransaction.setType("2");
+        }
+        pointsTransaction.setCurrentPoints(currentPoints.toString());
+        pointsTransaction.setDdId(ddId);
+        pointsTransaction.setCreateTime(new Date());
+        pointsTransactionService.saveOrUpdate(pointsTransaction);
+    }
+
 
 
 

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserWalletServiceImpl.java

@@ -71,7 +71,7 @@ public class UserWalletServiceImpl extends ServiceImpl<BaseMapper<UserWallet>,Us
         userWallet.setUserId(userId);
         userWallet.setPointsWallet(0L);
         userWallet.setBalanceWallet(BigDecimal.ZERO);
-        userWallet.setBlockedFunds(BigDecimal.ZERO);
+//        userWallet.setBlockedFunds(BigDecimal.ZERO);
         userWalletMapper.insertUserWallet(userWallet);
     }
 

+ 13 - 9
ruoyi-system/src/main/resources/mapper/system/UserWalletMapper.xml

@@ -6,14 +6,15 @@
 
     <resultMap type="UserWallet" id="UserWalletResult">
         <result property="id"    column="id"    />
-        <result property="userId"    column="userId"    />
+        <result property="userId"    column="user_id"    />
         <result property="pointsWallet"    column="points_wallet"    />
         <result property="balanceWallet"    column="balance_wallet"    />
+        <result property="blockedFunds"    column="blocked_funds"    />
         <result property="version"    column="version"   />
     </resultMap>
 
     <sql id="selectUserWalletVo">
-        select id, userId, points_wallet, balance_wallet, version from user_wallet
+        select id, user_id, points_wallet, balance_wallet, blocked_funds, version from user_wallet
     </sql>
 
     <select id="selectUserWalletList" parameterType="UserWallet" resultMap="UserWalletResult">
@@ -32,15 +33,17 @@
     <insert id="insertUserWallet" parameterType="UserWallet" useGeneratedKeys="true" keyProperty="id">
         insert into user_wallet
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="userId != null">userId,</if>
+            <if test="userId != null">user_id,</if>
             <if test="pointsWallet != null">points_wallet,</if>
             <if test="balanceWallet != null">balance_wallet,</if>
+            <if test="blockedFunds != null">blocked_funds,</if>
             <if test="version != null">version,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
             <if test="pointsWallet != null">#{pointsWallet},</if>
             <if test="balanceWallet != null">#{balanceWallet},</if>
+            <if test="blockedFunds != null">#{blockedFunds},</if>
             <if test="version != null">#{version},</if>
         </trim>
     </insert>
@@ -48,9 +51,10 @@
     <update id="updateUserWallet" parameterType="UserWallet">
         update user_wallet
         <trim prefix="SET" suffixOverrides=",">
-            <if test="userId != null">userId = #{userId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
             <if test="pointsWallet != null">points_wallet = #{pointsWallet},</if>
             <if test="balanceWallet != null">balance_wallet = #{balanceWallet},</if>
+            <if test="blockedFunds != null">blocked_funds = #{blockedFunds},</if>
             <if test="version != null">version = #{version},</if>
         </trim>
         where id = #{id}
@@ -58,7 +62,7 @@
 
     <!-- 检查余额是否足够 -->
     <select id="checkBalanceSufficient" resultType="boolean">
-        select 
+        select
         <if test="pointsWallet != null and balanceWallet != null">
             (points_wallet + (#{pointsWallet}) >= 0) and (balance_wallet + (#{balanceWallet}) >= 0)
         </if>
@@ -68,13 +72,13 @@
         <if test="pointsWallet == null and balanceWallet != null">
             balance_wallet + (#{balanceWallet}) >= 0
         </if>
-        from user_wallet 
+        from user_wallet
         where id = #{id} and version = #{version}
     </select>
 
     <!-- 获取余额检查结果详情 -->
     <select id="getBalanceCheckResult" resultType="map">
-        select 
+        select
             id,
             points_wallet as currentPointsWallet,
             balance_wallet as currentBalanceWallet,
@@ -96,12 +100,12 @@
             <if test="pointsWallet == null and balanceWallet != null">
                 (balance_wallet + (#{balanceWallet}) >= 0) as allSufficient
             </if>
-        from user_wallet 
+        from user_wallet
         where id = #{id} and version = #{version}
     </select>
 
     <update id="updateUserWalletWithLock">
-        update user_wallet 
+        update user_wallet
         <set>
             version = version+1,
             <if test="pointsWallet != null">points_wallet = points_wallet + (#{pointsWallet}),</if>

+ 13 - 9
ruoyi-system/target/classes/mapper/system/UserWalletMapper.xml

@@ -6,14 +6,15 @@
 
     <resultMap type="UserWallet" id="UserWalletResult">
         <result property="id"    column="id"    />
-        <result property="userId"    column="userId"    />
+        <result property="userId"    column="user_id"    />
         <result property="pointsWallet"    column="points_wallet"    />
         <result property="balanceWallet"    column="balance_wallet"    />
+        <result property="blockedFunds"    column="blocked_funds"    />
         <result property="version"    column="version"   />
     </resultMap>
 
     <sql id="selectUserWalletVo">
-        select id, userId, points_wallet, balance_wallet, version from user_wallet
+        select id, user_id, points_wallet, balance_wallet, blocked_funds, version from user_wallet
     </sql>
 
     <select id="selectUserWalletList" parameterType="UserWallet" resultMap="UserWalletResult">
@@ -32,15 +33,17 @@
     <insert id="insertUserWallet" parameterType="UserWallet" useGeneratedKeys="true" keyProperty="id">
         insert into user_wallet
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="userId != null">userId,</if>
+            <if test="userId != null">user_id,</if>
             <if test="pointsWallet != null">points_wallet,</if>
             <if test="balanceWallet != null">balance_wallet,</if>
+            <if test="blockedFunds != null">blocked_funds,</if>
             <if test="version != null">version,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
             <if test="pointsWallet != null">#{pointsWallet},</if>
             <if test="balanceWallet != null">#{balanceWallet},</if>
+            <if test="blockedFunds != null">#{blockedFunds},</if>
             <if test="version != null">#{version},</if>
         </trim>
     </insert>
@@ -48,9 +51,10 @@
     <update id="updateUserWallet" parameterType="UserWallet">
         update user_wallet
         <trim prefix="SET" suffixOverrides=",">
-            <if test="userId != null">userId = #{userId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
             <if test="pointsWallet != null">points_wallet = #{pointsWallet},</if>
             <if test="balanceWallet != null">balance_wallet = #{balanceWallet},</if>
+            <if test="blockedFunds != null">blocked_funds = #{blockedFunds},</if>
             <if test="version != null">version = #{version},</if>
         </trim>
         where id = #{id}
@@ -58,7 +62,7 @@
 
     <!-- 检查余额是否足够 -->
     <select id="checkBalanceSufficient" resultType="boolean">
-        select 
+        select
         <if test="pointsWallet != null and balanceWallet != null">
             (points_wallet + (#{pointsWallet}) >= 0) and (balance_wallet + (#{balanceWallet}) >= 0)
         </if>
@@ -68,13 +72,13 @@
         <if test="pointsWallet == null and balanceWallet != null">
             balance_wallet + (#{balanceWallet}) >= 0
         </if>
-        from user_wallet 
+        from user_wallet
         where id = #{id} and version = #{version}
     </select>
 
     <!-- 获取余额检查结果详情 -->
     <select id="getBalanceCheckResult" resultType="map">
-        select 
+        select
             id,
             points_wallet as currentPointsWallet,
             balance_wallet as currentBalanceWallet,
@@ -96,12 +100,12 @@
             <if test="pointsWallet == null and balanceWallet != null">
                 (balance_wallet + (#{balanceWallet}) >= 0) as allSufficient
             </if>
-        from user_wallet 
+        from user_wallet
         where id = #{id} and version = #{version}
     </select>
 
     <update id="updateUserWalletWithLock">
-        update user_wallet 
+        update user_wallet
         <set>
             version = version+1,
             <if test="pointsWallet != null">points_wallet = points_wallet + (#{pointsWallet}),</if>