From 2470d3215286123438478f045b43df9f352fa16b Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期四, 02 十一月 2023 16:43:45 +0800
Subject: [PATCH] 11.2

---
 cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java                           |   12 ++++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java            |   37 ++++++++----
 cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java |    5 +
 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java      |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java        |  102 +++++++++++++++++++++++++++++++++
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js                |    5 +
 6 files changed, 148 insertions(+), 15 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
index 1f28eb8..49a3396 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -44,7 +44,7 @@
 
 
     @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase")
-    public void saveDetailsUserPointMercase( UserPointsMerchandise merchandise);
+    public Long saveDetailsUserPointMercase( UserPointsMerchandise merchandise);
 
 
     @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java b/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java
new file mode 100644
index 0000000..eedcf43
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java
@@ -0,0 +1,12 @@
+package com.dsh.account.model;
+
+
+import lombok.Data;
+
+@Data
+public class ReturnModel {
+
+    private Long returnId;
+
+
+}
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 b1a0865..a849860 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
@@ -1193,6 +1193,8 @@
     public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) {
         System.out.println("exchangeType:--->");
 
+        ReturnModel returnModel = new ReturnModel();
+        Long returnId = null;
             //如果是兑换优惠卷
         if (exchangeType.getGoodsType()==4){
             //查询优惠卷
@@ -1211,10 +1213,6 @@
             if (usercounts == coupon.getPickUpQuantity()){
                 return new ResultUtil<>(0,"限领数量已达最大");
             }
-
-
-
-
 //            userConponClient.queryCouponById(exchangeType.getGoodId());
             UserCoupon userCoupon = new UserCoupon();
             userCoupon.setCouponId(exchangeType.getGoodId());
@@ -1222,19 +1220,33 @@
             userCoupon.setStatus(1);
             userCoupon.setInsertTime(new Date());
             userConponClient.insertToAppuserCoupon(userCoupon);
-
-
             //扣积分
             TAppUser user = appUserService.getById(userIdFormRedis);
             if (user.getIntegral()<coupon.getIntegral().intValue()){
                 return  new ResultUtil<>(0,"当前用户积分不足");
             }
-
             user.setIntegral(user.getIntegral()-coupon.getIntegral().intValue());
-
             appUserService.updateById(user);
 
-            return ResultUtil.success();
+            //记录
+//            UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise();
+//            pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId());
+//            pointsMerchandise.setUserId(userIdFormRedis);
+//            pointsMerchandise.setStatus(1);
+//            pointsMerchandise.setState(1);
+//            pointsMerchandise.setPayStatus(1);
+////            if (merchandise.getUseScope() == 3){
+////                if (exchangeType.getGoodsType() == 2){
+////                    CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId());
+////                    pointsMerchandise.setStoreId(coursePackage.getStoreId());
+////                }else {
+////                    pointsMerchandise.setStoreId(exchangeType.getStoreId());
+////                }
+////            }
+////            pointsMerchandise.setCode(code);
+//            returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise);
+
+            return ResultUtil.success(returnId);
         }
 
 
@@ -1245,6 +1257,7 @@
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
             PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId());
+
             if (ToolUtil.isEmpty(merchandise)){
                 return ResultUtil.error("商品不存在");
             }
@@ -1302,7 +1315,7 @@
                     }
                 }
                 pointsMerchandise.setCode(code);
-                mcClient.saveDetailsUserPointMercase(pointsMerchandise);
+                returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise);
             }
 
             switch (exchangeType.getExchangeType()){
@@ -1410,8 +1423,8 @@
                     break;
             }
 
-
-            return ResultUtil.success();
+        returnModel.setReturnId(returnId);
+            return ResultUtil.success(returnModel);
         }catch (Exception e){
             e.printStackTrace();
             return null;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index 22d3b45..712488c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -175,6 +175,8 @@
     public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) {
         List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
         ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
+
+
         if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
             detailsResponses = integralExchangeDetails.getDetailsResponses();
             if (ToolUtil.isNotEmpty(useType)){
@@ -189,6 +191,9 @@
             }
         }
 
+
+
+
         int totalItems = detailsResponses.size();
         int startIndex = (page - 1) * size;
         int endIndex = Math.min(startIndex + size, totalItems);
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index f477001..350ae1b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -690,6 +690,10 @@
     }
 
 
+    @Autowired
+    private ICouponService couponService;
+
+
     @ResponseBody
     @PostMapping("/base/pointMerchars/getDetailsOfExchange")
     public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId){
@@ -698,6 +702,11 @@
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
         List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>()
                 .eq("userId",appUserId ));
+
+
+        List<UserCoupon> userCoupons = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", appUserId));
+
+
         if (pointsMerchandises.size() > 0 ){
             for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) {
                 PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId());
@@ -843,6 +852,35 @@
                 responses.add(detailsResponse);
             }
             detailsVo.setDetailsResponses(responses);
+        }
+
+        if (userCoupons.size()>0){
+            for (UserCoupon userCoupon : userCoupons) {
+                Coupon c = couponService.getById(userCoupon.getCouponId());
+                if (c==null){
+                    continue;
+                }
+                ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse();
+                detailsResponse.setDetailsId(Long.valueOf(c.getId()));
+                detailsResponse.setGoodName(c.getName());
+                if (c.getRedemptionMethod() == 1){
+                    detailsResponse.setExchangeType(1);
+                    detailsResponse.setIntegral(c.getIntegral().intValue());
+                }else {
+                    detailsResponse.setExchangeType(2);
+                    detailsResponse.setIntegral(c.getIntegral().intValue());
+                    detailsResponse.setCash(c.getCash());
+                }
+                detailsResponse.setStartTime(simpleDateFormat.format(c.getStartTime()));
+                detailsResponse.setEndTime(simpleDateFormat.format(c.getEndTime()));
+                detailsResponse.setUseStatus(userCoupon.getStatus() == 1 ? 2 : 1);
+                detailsResponse.setGoodType(4);
+                responses.add(detailsResponse);
+
+
+            }
+            detailsVo.setDetailsResponses(responses);
+
         }
         return detailsVo;
     }
@@ -1043,6 +1081,67 @@
                     break;
             }
             detailsVo.setContents(pmdsServiceById.getRedemptionInstructions());
+        }else {
+            Coupon coupon = iCouponService.getById(speMercharsId);
+            detailsVo.setDetailsId(Long.valueOf(coupon.getId()));
+            List<String> list3 = new ArrayList<>();
+            list3.add(ToolUtil.isEmpty(coupon.getCover()) ? "" : coupon.getCover());
+            if (ToolUtil.isNotEmpty(coupon.getProductImages())){
+                list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")));
+            }
+            detailsVo.setPics(list3);
+            Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+                if (s1.equals(coupon.getCover())) {
+                    return -1; // s1排在前面
+                } else if (s2.equals(coupon.getCover())) {
+                    return 1; // s2排在前面
+                } else {
+                    return 0; // 保持原顺序
+                }
+            });
+            detailsVo.setGoodName(coupon.getName());
+//            detailsVo.setBelongsScope(coupon.getUserPopulation());
+//                int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
+//                        .eq("pointsMerchandiseId",merchandise.getId() ));
+
+
+
+            int couponCounts = userCouponService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId()));
+//                detailsVo.setRedeemedNum(coupon.getPickUpQuantity());
+//            detailsVo.setRedeemedNum(couponCounts);
+
+//            detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponCounts, 0));
+
+//            detailsVo.setPerLimit(coupon.getPickUpQuantity());
+            detailsVo.setExchangeType(coupon.getRedemptionMethod());
+            if (coupon.getRedemptionMethod() == 1){
+                detailsVo.setIntegral(coupon.getIntegral().intValue());
+            }else {
+                detailsVo.setIntegral(coupon.getIntegral().intValue());
+                detailsVo.setCash(coupon.getCash());
+            }
+//            if (coupon.getUseScope() == 1){
+//                detailsVo.setExchangeAddrType(1);
+//                detailsVo.setBelongs("全国通用");
+//            }else if (coupon.getUseScope() == 2){
+//                detailsVo.setExchangeAddrType(2);
+//                List<CouponCity> list = ccityService.list(new LambdaQueryWrapper<CouponCity>()
+//                        .eq(CouponCity::getCouponId, coupon.getId()));
+//                if (list.size() > 0){
+//                    detailsVo.setBelongs(list.get(0).getProvince()+"|"+list.get(0).getCity() + "用户可用");
+//                }
+//            }else {
+//                detailsVo.setExchangeAddrType(3);
+//                List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>()
+//                        .eq("couponId",coupon.getId() ));
+//                StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId());
+//                detailsVo.setBelongs(courseOfStore.getStoreName()+"可用");
+//            }
+//            detailsVo.setStartTime(format.format(coupon.getStartTime()));
+//            detailsVo.setEndTime(format.format(coupon.getEndTime()));
+
+            detailsVo.setContents(coupon.getIllustrate());
+            detailsVo.setGoodType(4);
         }
         return detailsVo;
     }
@@ -1055,9 +1154,10 @@
 
 
     @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase")
-    public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){
+    public Long saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){
         merchandise.setInsertTime(new Date());
         upmseService.save(merchandise);
+        return merchandise.getId();
     }
 
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
index e816df7..5267798 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -438,9 +438,12 @@
                         cityIds.push(inData);
                     }
                 }
-                cts = cityIds.join(',');
             }
+            cts = cityIds.join(',');
+            console.log("============到达城市"+cts)
+
         }
+
     }
     const commaSeparatedString = this.goodsPicArray.join(',');
 

--
Gitblit v1.7.1