From 631a5aa09e0147ca81fffcb1434e57b1cd1ba6f6 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 09 八月 2023 09:34:53 +0800
Subject: [PATCH] app端口:积分变动记录增加变动类型字段,代码同步更新;积分兑换操作的数量校验功能完善

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java |   59 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 471d8df..98b8e2f 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -868,29 +868,20 @@
         if (ToolUtil.isEmpty(tAppUser)){
             return ResultUtil.error("用户不存在");
         }
-//        查询是否超出限领数量
-        switch (exchangeType.getGoodsType()){
-            case 1:
-
-                break;
-            case 2:
-
-                break;
-            case 3:
-
-                break;
-            case 4:
-
-                break;
-            default:
-                break;
-        }
         int goodsNums = 0;
         if (ToolUtil.isEmpty(exchangeType.getNums())){
             goodsNums = 1;
         }else {
             goodsNums = exchangeType.getNums();
         }
+        AppUserGoodResp goodResp = new AppUserGoodResp();
+        goodResp.setAppUserId(userIdFormRedis);
+        goodResp.setGoodId(merchandise.getId());
+        int count = mcClient.queryUserHasGoodsNums(goodResp);
+        if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){
+            return ResultUtil.error("超过限领数量");
+        }
+
         for (int i = 0; i < goodsNums; i++) {
 //            新增积分商品兑换记录
             UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise();
@@ -1133,6 +1124,7 @@
             appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points);
             userIntegralChanges.setNewIntegral(appUser.getIntegral());
             userIntegralChanges.setInsertTime(new Date());
+            userIntegralChanges.setCategory(2);
             uicMapper.insert(userIntegralChanges);
 
             this.baseMapper.updateById(appUser);
@@ -1334,24 +1326,29 @@
         List<StoreResponse> responses = new ArrayList<>();
         if (goodsType == 4){
             List<Integer> couponStoreIds = ucponClient.getCouponStoreIds(pointsMerId);
-            for (Integer couponStoreId : couponStoreIds) {
-                StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreId);
-                if(ToolUtil.isNotEmpty(courseOfStore)){
-                    StoreResponse response = new StoreResponse();
-                    response.setStoreId(couponStoreId);
-                    response.setStoreName(courseOfStore.getStoreName());
-                    responses.add(response);
+            if (couponStoreIds.size() > 0 ){
+                for (Integer couponStoreId : couponStoreIds) {
+                    StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreId);
+                    if(ToolUtil.isNotEmpty(courseOfStore)){
+                        StoreResponse response = new StoreResponse();
+                        response.setStoreId(couponStoreId);
+                        response.setStoreName(courseOfStore.getStoreName());
+                        responses.add(response);
+                    }
                 }
             }
+
         }else {
             List<Integer> integers = mcsClient.queryPointMerStoreIds(pointsMerId);
-            for (Integer integer : integers) {
-                StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integer);
-                if(ToolUtil.isNotEmpty(courseOfStore)){
-                    StoreResponse response = new StoreResponse();
-                    response.setStoreId(integer);
-                    response.setStoreName(courseOfStore.getStoreName());
-                    responses.add(response);
+            if (integers.size() > 0 ){
+                for (Integer integer : integers) {
+                    StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integer);
+                    if(ToolUtil.isNotEmpty(courseOfStore)){
+                        StoreResponse response = new StoreResponse();
+                        response.setStoreId(integer);
+                        response.setStoreName(courseOfStore.getStoreName());
+                        responses.add(response);
+                    }
                 }
             }
         }

--
Gitblit v1.7.1