From 9765f8685f373b605a582b90aa04fbcd7943b933 Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 04 十二月 2024 17:24:52 +0800
Subject: [PATCH] 1.修复变更明细bug

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java         |    1 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/PointSettingClient.java            |   16 ++++++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/PointSettingClientFallbackFactory.java |   18 +++++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java                    |    1 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java               |   27 +++++++------
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/UserPointVO.java                            |    3 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java             |   19 +++++++++
 7 files changed, 71 insertions(+), 14 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/PointSettingClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/PointSettingClientFallbackFactory.java
new file mode 100644
index 0000000..177109a
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/PointSettingClientFallbackFactory.java
@@ -0,0 +1,18 @@
+package com.ruoyi.other.api.factory;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.PointSetting;
+import com.ruoyi.other.api.feignClient.PointSettingClient;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+public class PointSettingClientFallbackFactory implements FallbackFactory<PointSettingClient> {
+    @Override
+    public PointSettingClient create(Throwable cause) {
+        return new PointSettingClient() {
+            @Override
+            public R<PointSetting> getPointSetting(Integer id) {
+                return R.fail("获取积分配置失败:" + cause.getMessage());
+            }
+        };
+    }
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/PointSettingClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/PointSettingClient.java
new file mode 100644
index 0000000..2122c10
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/PointSettingClient.java
@@ -0,0 +1,16 @@
+package com.ruoyi.other.api.feignClient;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.PointSetting;
+import com.ruoyi.other.api.factory.PointSettingClientFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(contextId = "PointSettingClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = PointSettingClientFallbackFactory.class)
+public interface PointSettingClient {
+
+    @GetMapping("/point-setting/getPointSetting")
+    R<PointSetting> getPointSetting(@RequestParam("id") Integer id);
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
index 8c47f79..a9e78a6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.account.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.account.api.model.BalanceChangeRecord;
@@ -96,19 +97,21 @@
                 .eq(BalanceChangeRecord::getAppUserId, userId));
 
         List<Long> orderIds = list.stream().map(BalanceChangeRecord::getOrderId).collect(Collectors.toList());
-        R<List<Order>> r = remoteOrderGoodsClient.getOrderListByIds(orderIds);
-        if (!R.isSuccess(r)){
-            return R.fail(r.getMsg());
-        }
-        List<Order> orderList = r.getData();
-        list.forEach(bc -> {
-            orderList.stream().filter(o -> o.getId().equals(bc.getOrderId())).findFirst().ifPresent(o -> {
-                Long appUserId = o.getAppUserId();
-                AppUser appUser = appUserService.getById(appUserId);
-                bc.setUserName(appUser.getName());
-                bc.setAmount(o.getPaymentAmount());
+        if (CollectionUtil.isNotEmpty(orderIds)){
+            R<List<Order>> r = remoteOrderGoodsClient.getOrderListByIds(orderIds);
+            if (!R.isSuccess(r)){
+                return R.fail(r.getMsg());
+            }
+            List<Order> orderList = r.getData();
+            list.forEach(bc -> {
+                orderList.stream().filter(o -> o.getId().equals(bc.getOrderId())).findFirst().ifPresent(o -> {
+                    Long appUserId = o.getAppUserId();
+                    AppUser appUser = appUserService.getById(appUserId);
+                    bc.setUserName(appUser.getName());
+                    bc.setAmount(o.getPaymentAmount());
+                });
             });
-        });
+        }
         return R.ok(list);
     }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
index 1cedad4..ac9165f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
@@ -46,6 +46,7 @@
         Integer lavePoint = appUser.getLavePoint();
         UserPointVO userPointVO = new UserPointVO();
         userPointVO.setTotalPoint(lavePoint);
+//        userPointVO.setConsumePoint(lavePoint);
         userPointVO.setShopPoint(userBalanceMap.get(PointChangeType.CONSUME.getCode()));
         userPointVO.setSharePoint(userBalanceMap.get(PointChangeType.COMMISSION_RETURN.getCode()));
         userPointVO.setPullNewPoint(userBalanceMap.get(PointChangeType.NEW_USER_REFERRAL.getCode()));
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/UserPointVO.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/UserPointVO.java
index 01f5b32..2e70d19 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/UserPointVO.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/UserPointVO.java
@@ -11,6 +11,9 @@
     @ApiModelProperty(value = "总积分")
     private Integer totalPoint;
 
+    @ApiModelProperty(value = "可消费积分")
+    private Integer consumePoint;
+
     @ApiModelProperty(value = "消费积分数")
     private Integer shopPoint;
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index 06c0f0e..924e14b 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -9,7 +9,6 @@
 import com.ruoyi.order.service.OrderService;
 import org.springframework.web.bind.annotation.*;
 import com.ruoyi.order.vo.OrderDetailVO;
-import com.ruoyi.order.vo.OrderVO;
 import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
index 005c72c..abecabd 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
@@ -1,8 +1,16 @@
 package com.ruoyi.other.controller;
 
 
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.other.api.domain.PointSetting;
+import com.ruoyi.other.service.PointSettingService;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -14,7 +22,16 @@
  */
 @RestController
 @RequestMapping("/point-setting")
-public class PointSettingController {
+public class PointSettingController extends BaseController {
+
+    @Resource
+    private PointSettingService pointSettingService;
+
+    @GetMapping("/getBaseSetting")
+    public R<PointSetting> getBaseSetting(@RequestParam Integer id) {
+        PointSetting pointSetting = pointSettingService.getById(id);
+        return R.ok(pointSetting);
+    }
 
 }
 

--
Gitblit v1.7.1