From 9823c85286da0041a729fe58cb38a62ff33fdced Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 21:00:54 +0800
Subject: [PATCH] 代码提交

---
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java               |    2 ++
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java     |    5 +++++
 xinquan-api/xinquan-api-order/src/main/java/com/xinquan/order/api/domain/vo/PayOrderVO.java                   |    2 ++
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java    |   11 +++++++++++
 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java |    5 ++---
 xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java    |    9 +++++++++
 6 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/xinquan-api/xinquan-api-order/src/main/java/com/xinquan/order/api/domain/vo/PayOrderVO.java b/xinquan-api/xinquan-api-order/src/main/java/com/xinquan/order/api/domain/vo/PayOrderVO.java
index 62d8707..4373039 100644
--- a/xinquan-api/xinquan-api-order/src/main/java/com/xinquan/order/api/domain/vo/PayOrderVO.java
+++ b/xinquan-api/xinquan-api-order/src/main/java/com/xinquan/order/api/domain/vo/PayOrderVO.java
@@ -31,5 +31,7 @@
     private Long orderId;
     @ApiModelProperty(value = "封面图")
     private String coverUrl;
+    @ApiModelProperty(value = "赠送用户手机号")
+    private String phone;
 
 }
diff --git a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
index bff6f8b..2645bb5 100644
--- a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
+++ b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
@@ -33,6 +33,11 @@
     public RemoteAppUserService create(Throwable cause) {
         return new RemoteAppUserService() {
             @Override
+            public R deleteBalance(String id, String amount) {
+                return null;
+            }
+
+            @Override
             public R<Integer> getCourseChapterHistoryState(Long id, Long chapterId) {
                 return null;
             }
diff --git a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
index c54d9ac..d2155ea 100644
--- a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
+++ b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
@@ -29,6 +29,8 @@
  */
 @FeignClient(contextId = "remoteAppUserService", value = ServiceNameConstants.APP_USER_SERVICE, fallbackFactory = RemoteAppUserFallbackFactory.class)
 public interface RemoteAppUserService {
+    @GetMapping("/client/app-user/deleteBalance/{id}/{amount}")
+    public R deleteBalance(@PathVariable("id")String id,@PathVariable("amount")String amount);
     @PostMapping("/user/app-user-viewing-history/getCourseChapterHistoryState/{id}/{chapterId}")
     public R<Integer> getCourseChapterHistoryState(@PathVariable("id") Long id,@PathVariable("chapterId") Long chapterId);
     @GetMapping("/client/user/notice-record/addNotice/{id}/{courseId}/{userId}/{price}")
diff --git a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
index 5307119..3fb34cf 100644
--- a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
+++ b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
@@ -658,7 +658,6 @@
                     b+=courseChapter.getVirtualLearnedNum();
                 }
                 clientCourseVO.setCount(a+b);
-                clientCourseVO.setIsBuy(1);
             }else if (data!=null){
                 // 查询学习人数和头像列表
                 clientCourseVO.setCount(data.size());
@@ -706,8 +705,8 @@
             Long data2 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData();
             a+=data2;
             b+=courseChapter.getVirtualLearnedNum();
-            courseChapter.setRealLearnedNum(a+b);
-            courseChapter.setVirtualLearnedNum(0);
+            courseChapter.setRealLearnedNum(a);
+            courseChapter.setVirtualLearnedNum(b);
             LoginUser loginUser = tokenService.getLoginUser();
             if (loginUser!=null){
                 Integer data1 = remoteAppUserService.getCourseChapterHistoryState(loginUser.getUserid(), courseChapter.getId()).getData();
diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
index a40c758..3d61e14 100644
--- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
+++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
@@ -118,6 +118,13 @@
         if (byId==null){
             return R.fail("订单失效");
         }
+        if (byId.getGiveUserId()!=null){
+            AppUser data1 = remoteAppUserService.getAppUserById(byId.getGiveUserId() + "").getData();
+            payOrderVO.setPhone(data1.getCellPhone());
+        }
+
+        AppUser data1 = remoteAppUserService.getAppUserById(byId.getAppUserId() + "").getData();
+        payOrderVO.setBalance(data1.getBalance());
         payOrderVO.setOrderId(id);
         if (byId.getOrderFrom()==1){
             Meditation data = remoteMeditationService.getMeditationById(byId.getBusinessId()).getData();
@@ -551,6 +558,8 @@
                         .ne(OrderPaymentRecord::getPaymentType, 4).one();
                 if (one2!=null){
                     one2.setPaymentStatus(2);
+                    // 扣除用户余额
+                    Object data = remoteAppUserService.deleteBalance(one.getAppUserId() + "", one2.getPayAmount() + "").getData();
                     orderPaymentRecordService.updateById(one2);
                 }
                 // 实际支付金额
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
index 7bd60f8..dd51e8c 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
@@ -122,6 +122,17 @@
     private RemoteUserService remoteUserService;
     @Resource
     private NoticeRecordService noticeRecordService;
+    @GetMapping("/deleteBalance/{id}/{amount}")
+    public R deleteBalance(@PathVariable("id")String id,@PathVariable("amount")String amount) {
+        AppUser byId = appUserService.getById(id);
+        if (byId!=null){
+            BigDecimal subtract = byId.getBalance().subtract(new BigDecimal(amount));
+            if (subtract.compareTo(BigDecimal.ZERO)<0){
+                byId.setBalance(BigDecimal.ZERO);
+            }
+        }
+        return R.ok();
+    }
     @GetMapping("/testNotice")
     @ApiOperation(value = "测试通知", tags = "测试通知")
     public R testNotice() {

--
Gitblit v1.7.1