From 8a025d3351fe4c6087c0dbf430624f4349e33d69 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 14 十一月 2024 08:59:08 +0800
Subject: [PATCH] 代码提交

---
 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseChapterController.java              |   23 ++++++++---
 xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java                                                       |   20 ++++++++++
 xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java         |    3 +
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserViewingHistoryController.java          |    1 
 xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysUserController.java                                 |   18 ++++++++-
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java                        |   25 ++++++++++++
 xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationEverydayController.java |   16 ++++++++
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/utils/TaskUtil.java                                                   |    3 +
 8 files changed, 98 insertions(+), 11 deletions(-)

diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
index 27efdac..0e4a139 100644
--- a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
@@ -133,6 +133,11 @@
     @PostMapping("/app/login")
     public R<AppLoginUser> appLogin(@Validated @RequestBody AppLoginBody body) {
         AppLoginUser appLoginUser = sysLoginService.appLogin(body);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -146,6 +151,11 @@
     @PostMapping("/app/captchaLogin")
     public R<AppLoginUser> appCaptchaLogin(@Validated @RequestBody AppCaptchaBody body) {
         AppLoginUser appLoginUser = sysLoginService.appCaptchaLogin(body);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -184,6 +194,11 @@
     @PostMapping("/app/wxLogin")
     public R<AppLoginUser> thirdLogin(@Validated @RequestBody AppWXLoginBody body) {
         AppLoginUser appLoginUser = sysLoginService.wxLogin(body);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -205,6 +220,11 @@
             @RequestParam(value = "device", required = true) String device
     ) {
         AppLoginUser appLoginUser = sysLoginService.appleLogin(appleId,device);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
diff --git a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseChapterController.java b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseChapterController.java
index 7c5f30d..cbb3ee4 100644
--- a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseChapterController.java
+++ b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseChapterController.java
@@ -11,14 +11,17 @@
 import com.xinquan.course.domain.CourseLearningRecord;
 import com.xinquan.course.service.CourseChapterService;
 import com.xinquan.course.service.CourseLearningRecordService;
+import com.xinquan.user.api.feign.RemoteAppUserService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.Arrays;
+import java.util.List;
 import java.util.stream.Collectors;
 
 /**
@@ -55,9 +58,12 @@
         }
         for (CourseChapter record : page.getRecords()) {
             record.setUid(record.getId()+"");
-            int size = courseLearningRecordService.lambdaQuery()
-                    .eq(CourseLearningRecord::getChapterId, record.getId()).list().size();
-            record.setRealLearnedNum(size);
+            int a = 0;
+            int b = 0;
+            a+= record.getVirtualLearnedNum();
+            Long data1 = remoteAppUserService.getCourseChapterHistoryCount(record.getId()).getData();
+            b+=data1;
+            record.setRealLearnedNum(a+b);
         }
 
         return R.ok(PageDTO.of(page, CourseChapter.class));
@@ -69,13 +75,18 @@
         homeBackgroundMusic.setCreateTime(LocalDateTime.now());
         return R.ok(courseChapterService.save(homeBackgroundMusic));
     }
+    @Resource
+    private RemoteAppUserService remoteAppUserService;
     @GetMapping("/detailCourseChapter")
     @ApiOperation(value = "查看详情章节管理", tags = "管理后台-章节管理")
     public R<CourseChapter> detailCourseChapter(String uid) {
         CourseChapter byId = courseChapterService.getById(uid);
-        int size = courseLearningRecordService.lambdaQuery()
-                .eq(CourseLearningRecord::getChapterId, byId.getId()).list().size();
-        byId.setRealLearnedNum(size);
+        int a = 0;
+        int b = 0;
+        a+= byId.getVirtualLearnedNum();
+        Long data1 = remoteAppUserService.getCourseChapterHistoryCount(byId.getId()).getData();
+        b+=data1;
+        byId.setRealLearnedNum(a+b);
         return R.ok(byId);
     }
     @PostMapping("/updateCourseChapter")
diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java
index d3092f9..6074f3e 100644
--- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java
+++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java
@@ -338,7 +338,6 @@
         courseLambdaQueryWrapper.eq(dto.getChargeType()!=null,Meditation::getChargeType, dto.getChargeType());
         courseLambdaQueryWrapper.eq(dto.getCateId()!=null,Meditation::getCateId, dto.getCateId());
         courseLambdaQueryWrapper.like(dto.getMeditationTitle()!=null&& !dto.getMeditationTitle().isEmpty(),Meditation::getMeditationTitle, dto.getMeditationTitle());
-        courseLambdaQueryWrapper.orderByDesc(Meditation::getSortNum);
         courseLambdaQueryWrapper.orderByDesc(Meditation::getCreateTime);
         Page<Meditation> page = meditationService.page(new Page<>(dto.getPageCurr(), dto.getPageSize()), courseLambdaQueryWrapper);
         if (CollUtils.isEmpty(page.getRecords())) {
@@ -570,6 +569,8 @@
             // 将以前的删掉
             meditationEverydayService.remove(new LambdaQueryWrapper<MeditationEveryday>()
                     .eq(MeditationEveryday::getId,homeBackgroundMusic.getEverydayId()));
+            meditationTagService.remove(new LambdaQueryWrapper<>(MeditationTag.class)
+                    .eq(MeditationTag::getMeditationId,homeBackgroundMusic.getId()));
         }else if (homeBackgroundMusic.getIsEveryday() == 1){
             meditationEverydayService.remove(new LambdaQueryWrapper<MeditationEveryday>()
                     .eq(MeditationEveryday::getId,homeBackgroundMusic.getEverydayId()));
diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationEverydayController.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationEverydayController.java
index 49fbafb..2a9f1e3 100644
--- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationEverydayController.java
+++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationEverydayController.java
@@ -3,6 +3,7 @@
 
 import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xinquan.common.core.domain.R;
 import com.xinquan.common.core.utils.page.CollUtils;
@@ -11,9 +12,11 @@
 import com.xinquan.meditation.api.domain.Meditation;
 import com.xinquan.meditation.domain.MeditationEveryday;
 import com.xinquan.meditation.domain.MeditationEveryday;
+import com.xinquan.meditation.domain.MeditationTag;
 import com.xinquan.meditation.service.MeditationEverydayService;
 import com.xinquan.meditation.service.MeditationEverydayService;
 import com.xinquan.meditation.service.MeditationService;
+import com.xinquan.meditation.service.MeditationTagService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -40,6 +43,8 @@
     private MeditationEverydayService meditationEverydayService;
     @Autowired
     private MeditationService meditationService;
+    @Autowired
+    private MeditationTagService meditationTagService;
     @PostMapping("/meditationCategoryManagementList")
     @ApiOperation(value = "每日冥想库列表-分页", tags = {"管理后台-每日冥想库管理"})
     @ApiImplicitParams({
@@ -96,6 +101,17 @@
     @PostMapping("/deleteMeditationEveryday")
     @ApiOperation(value = "批量删除", tags = "管理后台-每日冥想库管理")
     public R deleteMeditationEveryday(String ids) {
+        List<Long> list = Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
+        List<MeditationEveryday> list1 = meditationEverydayService.lambdaQuery().in(MeditationEveryday::getId, list).list();
+        for (MeditationEveryday l : list1) {
+            Meditation byId = meditationService.getById(l.getMeditationId());
+            if (byId!=null){
+                byId.setIsEveryday(2);
+                meditationService.updateById(byId);
+                meditationTagService.remove(new LambdaQueryWrapper<>(MeditationTag.class)
+                        .eq(MeditationTag::getMeditationId,byId.getId()));
+            }
+        }
         return R.ok(meditationEverydayService.removeBatchByIds(Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList())));
     }
 }
diff --git a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysUserController.java b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysUserController.java
index 000470d..2af07af 100644
--- a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysUserController.java
+++ b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysUserController.java
@@ -96,7 +96,14 @@
         for (SysUserVO record : list.getRecords()) {
             List<Long> collect1 = sysUserRoleService.lambdaQuery().eq(SysUserRole::getUserId, record.getUserId())
                     .list().stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
-            record.setRole(collect1);
+            List<Long> longs1 = new ArrayList<>();
+            for (Long l : collect1) {
+                SysRole sysDept = roleService.selectRoleById(l);
+                if (sysDept!=null){
+                    longs1.add(sysDept.getRoleId());
+                }
+            }
+            record.setRole(longs1);
             List<String> strings1 = new ArrayList<>();
             if (record.getRole()!=null && (!record.getRole().isEmpty())){
                 for (Long l : collect1) {
@@ -109,7 +116,14 @@
             record.setRoleNames(strings1);
             List<Long> collect2 = sysUserDeptService.lambdaQuery().eq(SysUserDept::getUserId, record.getUserId())
                     .list().stream().map(SysUserDept::getDeptId).collect(Collectors.toList());
-            record.setDeptIds(collect2);
+            List<Long> longs2 = new ArrayList<>();
+            for (Long l : collect2) {
+                SysDept sysDept = deptService.selectDeptById(l);
+                if (sysDept!=null){
+                    longs2.add(sysDept.getDeptId());
+                }
+            }
+            record.setDeptIds(longs2);
             List<String> strings = new ArrayList<>();
             if (record.getDeptIds()!=null && (!record.getDeptIds().isEmpty())){
                 for (Long deptId : record.getDeptIds()) {
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 fc05cb5..bd6badb 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
@@ -123,6 +123,29 @@
     private RemoteUserService remoteUserService;
     @Resource
     private NoticeRecordService noticeRecordService;
+    @ApiOperation(value = "会员临期", tags = "会员临期")
+    @PostMapping("/testVip")
+    public void testVip() {
+        LocalDateTime now = LocalDateTime.now();
+        List<AppUser> list = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3).list();
+        for (AppUser appUser : list) {
+            if (appUser.getVipExpireTime()!=null && appUser.getVipExpireTime().isAfter(now)){
+                // 计算两个now和time的天数差
+                long between = ChronoUnit.DAYS.between(now,appUser.getVipExpireTime());
+                if (between<=7 &&between>=0){
+                    NoticeRecord noticeRecord = new NoticeRecord();
+                    noticeRecord.setAppUserId(appUser.getId());
+                    noticeRecord.setReadStatus(1);
+                    noticeRecord.setNoticeType(1);
+                    noticeRecord.setTitle("【会员临期通知】");
+                    noticeRecord.setContent("尊敬的泉疗愈会员你好,你的会员即将在"
+                            +appUser.getVipExpireTime().toLocalDate()+"到期,到期后将不再享受会员权益,请及时续费");
+                    noticeRecordService.save(noticeRecord);
+                }
+            }
+
+        }
+    }
     @GetMapping("/deleteBalance/{id}/{amount}")
     public R deleteBalance(@PathVariable("id")String id,@PathVariable("amount")String amount) {
         AppUser byId = appUserService.getById(id);
@@ -149,7 +172,7 @@
                     noticeRecord.setReadStatus(1);
                     noticeRecord.setNoticeType(1);
                     noticeRecord.setTitle("【会员临期通知】");
-                    noticeRecord.setContent("尊敬的心泉疗愈会员你好,你的会员即将在"
+                    noticeRecord.setContent("尊敬的泉疗愈会员你好,你的会员即将在"
                             +appUser.getVipExpireTime().toLocalDate()+"到期,到期后将不再享受会员权益,请及时续费");
                     noticeRecordService.save(noticeRecord);
                 }
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserViewingHistoryController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserViewingHistoryController.java
index 2a0ecbd..a09b051 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserViewingHistoryController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserViewingHistoryController.java
@@ -122,6 +122,7 @@
         List<AppUserViewingHistory> list = appUserViewingHistoryService.lambdaQuery()
                 .eq(AppUserViewingHistory::getChapterId, id)
                 .eq(AppUserViewingHistory::getViewingType, 2)
+                .groupBy(AppUserViewingHistory::getAppUserId)
                 .list();
         return R.ok(Long.valueOf(list.size()));
     }
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/utils/TaskUtil.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/utils/TaskUtil.java
index 973d61b..cddb42e 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/utils/TaskUtil.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/utils/TaskUtil.java
@@ -82,6 +82,7 @@
         long between = ChronoUnit.DAYS.between(LocalDateTime.now(),localDateTime);
         System.err.println(between);
     }
+
     @Scheduled(cron = "0 0 7 * * ?")
     public void taskSivenDay() {
         try {
@@ -98,7 +99,7 @@
                         noticeRecord.setReadStatus(1);
                         noticeRecord.setNoticeType(1);
                         noticeRecord.setTitle("【会员临期通知】");
-                        noticeRecord.setContent("尊敬的心泉疗愈会员你好,你的会员即将在"
+                        noticeRecord.setContent("尊敬的泉疗愈会员你好,你的会员即将在"
                         +appUser.getVipExpireTime().toLocalDate()+"到期,到期后将不再享受会员权益,请及时续费");
                         noticeRecordService.save(noticeRecord);
                     }

--
Gitblit v1.7.1