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

---
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java                |    3 +
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/AppUserService.java                        |    1 
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java |    1 
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java               |    6 +++
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java      |    5 ++
 xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java                                       |    2 
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/inner/InnerAppUserController.java       |    5 ++
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java     |    7 +++
 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java  |   33 ++++++++++++++--
 xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java     |   27 +++++++++----
 10 files changed, 75 insertions(+), 15 deletions(-)

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 c45d6cd..bff6f8b 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
@@ -171,6 +171,11 @@
             }
 
             @Override
+            public R<AppUser> getUserByCondition1(AppUserDTO dto, String source) {
+                return null;
+            }
+
+            @Override
             public R<AppUser> registerAppUser(AppUserDTO appUserDTO, String source) {
                 return R.fail("APP用户注册失败。");
             }
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 ff98188..2570e35 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
@@ -116,6 +116,9 @@
     @PostMapping("/inner/app-user/getUserByCondition")
     R<AppUser> getUserByCondition(@RequestBody AppUserDTO dto,
             @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    @PostMapping("/inner/app-user/getUserByCondition1")
+    R<AppUser> getUserByCondition1(@RequestBody AppUserDTO dto,
+            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
     /**
      * APP用户注册
diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java b/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
index 6975618..5994e09 100644
--- a/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
@@ -187,7 +187,7 @@
             throw new ServiceException("验证码错误");
         }
         //调用远程服务查询用户信息
-        AppUser appUser = remoteAppUserService.getUserByCondition(
+        AppUser appUser = remoteAppUserService.getUserByCondition1(
                 AppUserDTO.builder().cellPhone(cellPhone).build(),
                 SecurityConstants.INNER).getData();
         if (Objects.nonNull(appUser))
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 17f2a46..0187534 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
@@ -922,6 +922,11 @@
         Course byId = courseService.getById(courseId);
         AppUser data = remoteAppUserService.getAppUserById(userId + "").getData();
         byId.setBalance(data.getBalance());
+        System.err.println("课程类型"+byId.getChargeType());
+        if (byId.getChargeType() == 1){
+            byId.setGeneralPrice(new BigDecimal("0"));
+        }
+        System.err.println("返回数据"+byId);
         return R.ok(byId);
     }
     @PostMapping("/successOrder")
@@ -1002,18 +1007,38 @@
                 courseVOS.add(courseVO);
             }
         }
+        List<Long> data1 = remoteAppUserService.getCourseHistoryByUserId(userId).getData();
+        for (Long l : data1) {
+            CourseChapter byId1 = courseChapterService.getById(l);
+            Course byId = courseService.getById(byId1.getCourseId());
+            if (byId!=null){
+                CourseVO courseVO = new CourseVO();
+                BeanUtils.copyProperties(byId, courseVO);
+                List<CourseChapter> list1 = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, byId1.getCourseId()).list();
+                int a = 0;
+                int b = 0;
+                for (CourseChapter courseChapter : list1) {
+                    a+= courseChapter.getVirtualLearnedNum();
+                    Long data2 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData();
+                    b+=data2;
+                }
+                courseVO.setCount(a+b);
+                courseVO.setRealLearnedNum(a+b);
+                courseVO.setVirtualLearnedNum(0);
+                courseVO.setId(byId.getId());
+                courseVO.setCoverUrl(byId.getCoverUrl());
+                courseVOS.add(courseVO);
+            }
+        }
         // 查询两个相同类型的线上免费课程
         List<Course> freeCourseList = courseService.lambdaQuery()
                 .eq(Course::getCourseType, 1)
                 .eq(Course::getChargeType, 1)
                 .list();
         // 远程查询用户观看历史
-        List<Long> data1 = remoteAppUserService.getCourseHistoryByUserId(userId).getData();
         if (!data1.isEmpty()){
             // 随机获取两个
             if (CollUtils.isNotEmpty(freeCourseList) && freeCourseList.size() > 2) {
-                int size = freeCourseList.size();
-                int index = (int) (Math.random() * size);
                 List<Course> courses = new ArrayList<>();
                 for (Course cours : freeCourseList) {
                     List<CourseChapter> list1 = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, cours.getId()).list();
@@ -1029,7 +1054,7 @@
                     cours.setVirtualLearnedNum(0);
                 }
                 for (int i = 0; i < 2; i++) {
-                    courses.add(freeCourseList.get(index));
+                    courses.add(freeCourseList.get(i));
                 }
                 studyPageVO.setFreeCourseList(courses);
             }else{
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 a9c22a3..d0c9d06 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
@@ -176,19 +176,24 @@
                 .orderByDesc(BaseModel::getCreateTime).list();
         List<Order> list = orderService.lambdaQuery().eq(Order::getGiveUserId, userId).list();
         for (Order order : page) {
+            OrderCourseVO orderCourseVO = new OrderCourseVO();
+            orderCourseVO.setId(order.getId());
+            orderCourseVO.setOrderFrom(order.getOrderFrom());
+            orderCourseVO.setBusinessId(order.getBusinessId());
             if (order.getAppUserId().equals(userId) && order.getGiveUserId() == null){
-                OrderCourseVO orderCourseVO = new OrderCourseVO();
                 BeanUtils.copyProperties(order, orderCourseVO);
                 orderCourseVO.setBusinessId(order.getBusinessId());
                 res.add(orderCourseVO);
             }
             if (order.getGiveUserId()!=null&&order.getGiveUserId().equals(userId)){
-                OrderCourseVO orderCourseVO = new OrderCourseVO();
                 BeanUtils.copyProperties(order, orderCourseVO);
                 orderCourseVO.setBusinessId(order.getBusinessId());
                 res.add(orderCourseVO);
+
             }
+
         }
+        List<OrderCourseVO> res1 = new ArrayList<>();
         for (OrderCourseVO orderCourseVO : res) {
             switch (orderCourseVO.getOrderFrom()){
                 case 1:
@@ -202,12 +207,13 @@
                     orderCourseVO.setCount(data1.getRealLearnedNum()+data1.getVirtualLearnedNum());
                     orderCourseVO.setChargeType(data1.getChargeType());
                     orderCourseVO.setCoverDescription(data1.getCoverDescription());
+                    res1.add(orderCourseVO);
                     break;
                 case 2:
                     OrderCourseVO data = remoteCourseService.getCourseByIdAny(orderCourseVO).getData();
-                    Course data4 = remoteCourseService.getCourseById(data.getBusinessId()).getData();
                     if (data==null)continue;
                     BeanUtils.copyProperties(data, orderCourseVO);
+                    Course data4 = remoteCourseService.getCourseById(data.getBusinessId()).getData();
                     List<CourseChapter> data2 = remoteCourseService.getChapterByCourseId(orderCourseVO.getBusinessId() + "").getData();
                     int temp = 0 ;
                     for (CourseChapter courseChapter : data2) {
@@ -220,10 +226,11 @@
                         orderCourseVO.setCoverUrl(data4.getCoverUrl());
                         orderCourseVO.setBusinessId(data4.getId());
                     }
+                    res1.add(orderCourseVO);
                     break;
             }
         }
-        List<OrderCourseVO> testing = testing(res.size(), pageCurr, pageSize, res);
+        List<OrderCourseVO> testing = testing(res1.size(), pageCurr, pageSize, res1);
         return R.ok(testing);
     }
     public static List<OrderCourseVO> testing(long total, long current, long size, List<OrderCourseVO> str){
@@ -337,13 +344,15 @@
             @ApiImplicitParam(name = "vipType", value = "订单类型为会员时 必传 会员类型 1月度 2季度 3年度", dataType = "Integer", required = false),
     })
     public R placeOrderApple(
-            @RequestParam(value = "targetId") Long targetId,
+            @RequestParam(value = "targetId", required = false) Long targetId,
             @RequestParam(value = "orderFrom") Integer orderFrom,
             @RequestParam(value = "receiverId", required = false) Long receiverId,
-            @RequestParam(value = "balanceFlag") Integer balanceFlag,
-            @RequestParam(value = "amount") BigDecimal amount,
-            @RequestParam(value = "vipType") Integer vipType,
-            @RequestParam(value = "transactionIdentifier")String transactionIdentifier) throws Exception {
+            @RequestParam(value = "balanceFlag", required = false) Integer balanceFlag,
+            @RequestParam(value = "payType") Integer payType,
+            @RequestParam(value = "amount", required = false) BigDecimal amount,
+            @RequestParam(value = "vipType", required = false) Integer vipType,
+            @RequestParam(value = "transactionIdentifier")String transactionIdentifier)
+            throws Exception {
 
 
         return R.ok(orderService.placeOrderApple(targetId, orderFrom, receiverId,
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 a0c711e..7bd60f8 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
@@ -1033,7 +1033,12 @@
             throw new ServiceException("验证码不正确");
         }
         AppUser byId = appUserService.getById(userId);
-
+        AppUser one = appUserService.lambdaQuery().eq(AppUser::getCellPhone, phone)
+                .ne(AppUser::getId, userId)
+                .ne(AppUser::getUserStatus, 3).one();
+        if (one!=null){
+            return R.fail("当前手机号已被绑定");
+        }
         byId.setCellPhone(phone);
         boolean b = appUserService.updateById(byId);
         return R.ok();
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java
index 7d0f5c2..7026766 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java
@@ -445,6 +445,7 @@
         Long userId = loginUser.getUserid();
         if(userId ==null || userId == 0)return R.tokenError("登录失效");
         AppUser byId = appUserService.getById(userId);
+        System.err.println("调用是否弹窗"+byId.getIsFirst());
         if (byId.getIsFirst() == 1){
             byId.setIsFirst(2);
             appUserService.updateById(byId);
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/inner/InnerAppUserController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/inner/InnerAppUserController.java
index 20101be..a3f47a1 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/inner/InnerAppUserController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/inner/InnerAppUserController.java
@@ -42,6 +42,11 @@
     R<Optional<AppUser>> getUserByCondition(@RequestBody AppUserDTO dto) {
         return R.ok(appUserService.getUserByCondition(dto));
     }
+    @InnerAuth
+    @PostMapping("/getUserByCondition1")
+    R<Optional<AppUser>> getUserByCondition1(@RequestBody AppUserDTO dto) {
+        return R.ok(appUserService.getUserByCondition1(dto));
+    }
 
     /**
      * APP用户注册
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/AppUserService.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/AppUserService.java
index 8504c4e..4544365 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/AppUserService.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/AppUserService.java
@@ -33,6 +33,7 @@
      * @return
      */
     Optional<AppUser> getUserByCondition(AppUserDTO dto);
+    Optional<AppUser> getUserByCondition1(AppUserDTO dto);
 
     /**
      * app用户注册
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
index 1f52b20..b80cdde 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
@@ -101,6 +101,12 @@
                         dto.getWxOpenId())
                 .ne(AppUser::getUserStatus, AppUserStatusEnum.LOGOUT.getCode()).oneOpt();
     }
+    @Override
+    public Optional<AppUser> getUserByCondition1(AppUserDTO dto) {
+        return this.lambdaQuery()
+                .eq(AppUser::getCellPhone,dto.getCellPhone())
+                .ne(AppUser::getUserStatus,3).oneOpt();
+    }
 
     /**
      * app用户注册

--
Gitblit v1.7.1