This commit is contained in:
77
2024-03-18 21:13:35 +08:00
parent 02e8ea8f2f
commit 6fa752d8a8
6 changed files with 52 additions and 0 deletions

View File

@@ -8,6 +8,8 @@ import com.ruoyi.xq.domain.UserVip;
import com.ruoyi.xq.dto.admin.user.UserVipAdminVo;
import com.ruoyi.xq.dto.admin.user.req.AddVipReq;
import java.util.List;
/**
* VIP用户Service接口
*
@@ -22,6 +24,8 @@ public interface UserVipService extends IService<UserVip> {
UserVip getByUserVipMaster(Long userId);
List<UserVip> listUserVipMaster(List<Long> userIdArray);
void updateVipOrderAdmin(AddVipReq bo, User user);
void incsVip(User user, Integer vipType, Integer vipMonth);

View File

@@ -13,6 +13,7 @@ import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.UserInfo;
import com.ruoyi.xq.domain.UserPictures;
import com.ruoyi.xq.domain.UserVip;
import com.ruoyi.xq.dto.admin.user.UserAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateMobileAdminReq;
import com.ruoyi.xq.dto.app.user.HomePageReq;
@@ -25,6 +26,7 @@ import com.ruoyi.xq.mapper.UserMapper;
import com.ruoyi.xq.service.UserInfoService;
import com.ruoyi.xq.service.UserPicturesService;
import com.ruoyi.xq.service.UserService;
import com.ruoyi.xq.service.UserVipService;
import com.ruoyi.xq.util.BirthdayUtil;
import com.ruoyi.yunxin.client.ImUserRefClient;
import com.ruoyi.yunxin.req.UpdateUinfoReq;
@@ -35,7 +37,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -55,6 +60,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
private SystemConfigManager systemConfigManager;
@Autowired
private UserPicturesService userPicturesService;
@Autowired
private UserVipService userVipService;
@Override
public User getByUsername(String username) {
@@ -167,9 +174,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
public Page<HomeUserListVo> homePage(HomePageReq params) {
Page<HomeUserListVo> page = baseMapper.homePageApp(params.build(), params);
List<HomeUserListVo> records = page.getRecords();
List<Long> userIdArray = new ArrayList<>();
for (HomeUserListVo record : records) {
userIdArray.add(record.getUserId());
record.setBirthdayStr(BirthdayUtil.getMinBirthday(record.getBirthday()));
}
List<UserVip> vips = userVipService.listUserVipMaster(userIdArray);
Map<Long, UserVip> userVipMap = vips.stream().collect(Collectors.toMap(UserVip::getUserId, Function.identity()));
for (HomeUserListVo record : records) {
UserVip userVip = userVipMap.get(record.getUserId());
if(userVip != null){
record.setOpenVip(true);
record.setVipType(userVip.getVipType());
}
}
return page;
}
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -27,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -69,6 +71,14 @@ public class UserVipServiceImpl extends ServiceImpl<UserVipMapper,UserVip> imple
return userVipList.stream().max(Comparator.comparing(UserVip::getVipType)).orElse(null);
}
@Override
public List<UserVip> listUserVipMaster(List<Long> userIdArray){
if(CollectionUtils.isEmpty(userIdArray)){
return new ArrayList<>();
}
return baseMapper.listUserVipMaster(userIdArray);
}
/**
* 后台管理强制覆盖VIP
* @param bo