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