From 353cf91d3679e68d9b8c07652e4f7791d606dbd4 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 15 十一月 2024 15:14:39 +0800
Subject: [PATCH] 代码提交
---
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java | 153 ++++++++++++++++++++++++++++++--------------------
1 files changed, 91 insertions(+), 62 deletions(-)
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 e5f804e..1817d67 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
@@ -62,6 +62,7 @@
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import io.swagger.models.auth.In;
import lombok.RequiredArgsConstructor;
@@ -122,6 +123,40 @@
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);
+ 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() {
@@ -137,7 +172,7 @@
noticeRecord.setReadStatus(1);
noticeRecord.setNoticeType(1);
noticeRecord.setTitle("【会员临期通知】");
- noticeRecord.setContent("尊敬的心泉疗愈会员你好,你的会员即将在"
+ noticeRecord.setContent("尊敬的泉疗愈会员你好,你的会员即将在"
+appUser.getVipExpireTime().toLocalDate()+"到期,到期后将不再享受会员权益,请及时续费");
noticeRecordService.save(noticeRecord);
}
@@ -418,8 +453,11 @@
byId.setFreezingTime(LocalDateTime.now());
byId.setFreezingReason(dto.getFreezingReason());
byId.setUserStatus(2);
- byId.setFreezingOperator(tokenService.getLoginUser().getUserid()+"");
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser data = remoteUserService.getSysUserById(userid + "").getData();
+ byId.setFreezingOperator(data.getNickName()+"("+data.getUserName()+")");
appUserService.updateById(byId);
+ // 将被冻结的用户token清除
return R.ok();
}
@GetMapping("/detail")
@@ -597,8 +635,8 @@
String endTime = null;
if (org.springframework.util.StringUtils.hasLength(dto.getTime())){
String[] split = dto.getTime().split(" - ");
- startTime = split[0]+"00:00:00";
- endTime = split[1]+"23:59:59";
+ startTime = split[0]+" 00:00:00";
+ endTime = split[1]+" 23:59:59";
}
String userId = dto.getUid();
LambdaQueryWrapper<AppUser> appUserWalletRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -664,15 +702,15 @@
String endTime = null;
if (org.springframework.util.StringUtils.hasLength(courseDTO.getVipExpireTime())){
String[] split = courseDTO.getVipExpireTime().split(" - ");
- startTime = split[0]+"00:00:00";
- endTime = split[1]+"23:59:59";
+ startTime = split[0]+" 00:00:00";
+ endTime = split[1]+" 23:59:59";
}
String startTime1 = null;
String endTime1 = null;
if (org.springframework.util.StringUtils.hasLength(courseDTO.getRegisterTime())){
String[] split = courseDTO.getRegisterTime().split(" - ");
- startTime1 = split[0]+"00:00:00";
- endTime1 = split[1]+"23:59:59";
+ startTime1 = split[0]+" 00:00:00";
+ endTime1 = split[1]+" 23:59:59";
}
List<Long> longs = new ArrayList<>();
LambdaQueryWrapper<AppUser> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -707,23 +745,11 @@
List<AppUser> list = appUserService.lambdaQuery().list();
List<AppUser> appUsers = new ArrayList<>();
for (AppUser appUser : list) {
- List<AppUserTree> list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, appUser.getId())
- .list();
- // 查询用户等级最高的那颗树苗
- AppUserTree tree = list1.stream().max((o1, o2) -> {
- if (o1.getTreeLevelType() > o2.getTreeLevelType()) {
- return 1;
- } else if (o1.getTreeLevelType() < o2.getTreeLevelType()) {
- return -1;
- } else {
- return 0;
- }
- }).orElse(null);
+ AppUserTree list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, appUser.getId())
+ .eq(AppUserTree::getSowAgain,2)
+ .one();
// 查询疗愈等级 名称 图标
- int level = 1;
- if (tree != null){
- level = tree.getTreeLevelType();
- }
+ int level = list1.getTreeLevelType();
if (list2.contains(level+"")){
appUsers.add(appUser);
}
@@ -734,6 +760,7 @@
}
courseLambdaQueryWrapper.in(AppUser::getId, collect);
}
+ courseLambdaQueryWrapper.isNotNull(AppUser::getCellPhone);
List<AppUser> page = appUserService.list(courseLambdaQueryWrapper);
List<UserExport> userExports = new ArrayList<>();
for (AppUser record : page) {
@@ -746,23 +773,11 @@
}else{
record.setIsVip(1);
}
- List<AppUserTree> list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, record.getId())
- .list();
- // 查询用户等级最高的那颗树苗
- AppUserTree tree = list1.stream().max((o1, o2) -> {
- if (o1.getTreeLevelType() > o2.getTreeLevelType()) {
- return 1;
- } else if (o1.getTreeLevelType() < o2.getTreeLevelType()) {
- return -1;
- } else {
- return 0;
- }
- }).orElse(null);
+ AppUserTree list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, record.getId())
+ .eq(AppUserTree::getSowAgain,2)
+ .one();
// 查询疗愈等级 名称 图标
- int level = 1;
- if (tree != null){
- level = tree.getTreeLevelType();
- }
+ int level = list1.getTreeLevelType();
// 根据等级查询疗愈名称和图标
UserLevelSetting data = remoteBannerService.getIconNameByLevel(level).getData();
record.setLevel(level);
@@ -802,6 +817,13 @@
userExport.setUserStatus(record.getUserStatus()+"");
List<AppUserQuestion> list = appUserQuestionService.lambdaQuery()
.eq(AppUserQuestion::getAppUserId, record.getId()).list();
+ userExport.setType1("");
+ userExport.setType2("");
+ userExport.setType3("");
+ userExport.setType4("");
+ userExport.setType5("");
+ userExport.setType6("");
+ userExport.setType6("");
for (AppUserQuestion appUserQuestion : list) {
switch (appUserQuestion.getType()){
case 1:
@@ -824,17 +846,15 @@
break;
}
}
- List<Integer> collect = appUserTagService.lambdaQuery()
- .eq(AppUserTag::getAppUserId, record.getId()).list().stream()
- .map(AppUserTag::getTagId)
- .collect(Collectors.toList());
- if (collect.isEmpty()){
- collect.add(-1);
+ List<String> collect = new ArrayList<>();
+ if (org.springframework.util.StringUtils.hasLength(record.getTagId())) {
+ collect = tagService.lambdaQuery()
+ .in(Tag::getId, Arrays.stream(record.getTagId().split(",")).map(Long::parseLong).collect(Collectors.toList())).list().stream()
+ .map(Tag::getTagName).collect(Collectors.toList());
}
- List<Tag> list2 = tagService.lambdaQuery().in(Tag::getId, collect).list();
StringBuilder stringBuilder = new StringBuilder();
- for (Tag tag : list2) {
- stringBuilder.append(tag.getTagName()).append(";");
+ for (String tag : collect) {
+ stringBuilder.append(tag).append(";");
}
userExport.setType7(stringBuilder+"");
userExport.setSanskritFlag(record.getSanskritFlag()+"");
@@ -873,15 +893,15 @@
String endTime = null;
if (org.springframework.util.StringUtils.hasLength(courseDTO.getVipExpireTime())){
String[] split = courseDTO.getVipExpireTime().split(" - ");
- startTime = split[0]+"00:00:00";
- endTime = split[1]+"23:59:59";
+ startTime = split[0]+" 00:00:00";
+ endTime = split[1]+" 23:59:59";
}
String startTime1 = null;
String endTime1 = null;
if (org.springframework.util.StringUtils.hasLength(courseDTO.getRegisterTime())){
String[] split = courseDTO.getRegisterTime().split(" - ");
- startTime1 = split[0]+"00:00:00";
- endTime1 = split[1]+"23:59:59";
+ startTime1 = split[0]+" 00:00:00";
+ endTime1 = split[1]+" 23:59:59";
}
List<Long> longs = new ArrayList<>();
LambdaQueryWrapper<AppUser> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -954,6 +974,7 @@
}
courseLambdaQueryWrapper.in(AppUser::getId, collect);
}
+ courseLambdaQueryWrapper.isNotNull(AppUser::getCellPhone);
Page<AppUser> page = appUserService.page(new Page<>(courseDTO.getPageCurr(), courseDTO.getPageSize()), courseLambdaQueryWrapper);
if (CollUtils.isEmpty(page.getRecords())) {
return R.ok(PageDTO.empty(page));
@@ -1033,7 +1054,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();
@@ -1174,7 +1200,7 @@
page.sort((o1, o2) -> o2.getMoney().compareTo(o1.getMoney()));
List<AppUser> testing = testing(page.size(), pageCurr, pageSize, page);
- objectPage.setTotal(testing.size());
+ objectPage.setTotal(page.size());
objectPage.setRecords(testing);
return R.ok(PageDTO.of(objectPage, InviteRankListVO.class));
}
@@ -1330,7 +1356,7 @@
consecutiveDays++;
currentDate = currentDate.minusDays(1);
}
- appUserInfoVO.setToday(consecutiveDays);
+ appUserInfoVO.setContinuity(consecutiveDays);
AppUserTree list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId)
.eq(AppUserTree::getSowAgain,2)
.one();
@@ -1408,7 +1434,6 @@
currentDate = currentDate.minusDays(1);
}
appUser.setContinuity(consecutiveDays);
- appUser.setToday(consecutiveDays);
// 根据等级查询疗愈名称和图标
UserLevelSetting data = remoteBannerService.getIconNameByLevel(level).getData();
appUser.setLevelName(data.getLevelName());
@@ -1563,9 +1588,17 @@
@PostMapping("/getUserByPhone")
@ApiOperation(value = "根据用户手机号查询用户信息")
public R<AppUserDetailVO> getCurrentUser(String phone) {
+ LoginUser loginUser = tokenService.getLoginUser();
+ if (loginUser==null){
+ return R.tokenError("登录失效");
+ }
+
AppUser one = appUserService.lambdaQuery().eq(AppUser::getCellPhone, phone)
.ne(AppUser::getUserStatus,3).one();
if (one!=null){
+ if (one.getId().equals(loginUser.getUserid())){
+ return R.giveError("不能赠送给自己");
+ }
AppUserDetailVO appUserDetailVO = new AppUserDetailVO();
appUserDetailVO.setId(one.getId());
appUserDetailVO.setCellPhone(one.getCellPhone());
@@ -1610,11 +1643,7 @@
@PostMapping("/saveUserAnswers")
@ApiOperation(value = "保存计划引导页用户的答案", tags = {"用户端-计划引导相关接口"})
public R<?> saveUserAnswers(@Validated @RequestBody UserAnswerDTO dto) {
- LoginUser loginUser = tokenService.getLoginUser();
- if (loginUser==null){
- return R.tokenError("登录失效");
- }
- Long userId = loginUser.getUserid();
+
appUserService.saveUserAnswers(dto);
return R.ok();
}
--
Gitblit v1.7.1