This commit is contained in:
dute7liang
2024-01-01 01:38:23 +08:00
parent d85e855cbc
commit eb53b78ab5
18 changed files with 334 additions and 49 deletions

View File

@@ -1,12 +1,18 @@
package com.ruoyi.cai.auth; package com.ruoyi.cai.auth;
import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.secure.BCrypt;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import com.ruoyi.cai.domain.User; import cn.hutool.core.util.NumberUtil;
import com.ruoyi.cai.domain.UserInfo; import cn.hutool.extra.spring.SpringUtil;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.enums.CodeEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.executor.ExecutorConstant; import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.service.UserInfoService; import com.ruoyi.cai.manager.CodeManager;
import com.ruoyi.cai.service.UserService; import com.ruoyi.cai.manager.LockManager;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.service.*;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.UserType; import com.ruoyi.common.enums.UserType;
@@ -17,11 +23,18 @@ import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.ip.AddressUtils; import com.ruoyi.common.utils.ip.AddressUtils;
import com.ruoyi.system.service.SysLoginService; import com.ruoyi.system.service.SysLoginService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.redisson.client.RedisClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections; import java.util.Collections;
import java.util.concurrent.TimeUnit;
@Component @Component
@Slf4j @Slf4j
@@ -31,6 +44,26 @@ public class CaiLoginManager {
private UserService userService; private UserService userService;
@Autowired @Autowired
private SysLoginService sysLoginService; private SysLoginService sysLoginService;
@Autowired
private CodeManager codeManager;
@Autowired
private UserCodeGenService userCodeGenService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private SystemConfigManager systemConfigManager;
@Autowired
private AccountService accountService;
@Autowired
private UserOnlineService userOnlineService;
@Autowired
private RedissonClient redissonClient;
@Autowired
private UserInviteService userInviteService;
@Autowired
private UnionService unionService;
@Autowired
private UnionUserService unionUserService;
public String login(String username,String password){ public String login(String username,String password){
@@ -41,35 +74,111 @@ public class CaiLoginManager {
if(user.getStatus() != 0){ if(user.getStatus() != 0){
throw new ServiceException("用户已封禁,请联系客服"); throw new ServiceException("用户已封禁,请联系客服");
} }
/*if(!BCrypt.checkpw(password, caiUser.getPassword())){ if(!BCrypt.checkpw(password, user.getPassword())){
throw new ServiceException("用户不存在或密码错误"); throw new ServiceException("用户不存在或密码错误");
}*/ }
LoginUser loginUser = new LoginUser(); return login(user);
loginUser.setDeptId(null); }
loginUser.setDeptName(null);
// loginUser.setToken(caiUser.getToken()); public String register(CaiRegisterUser caiUser) {
// loginUser.setLoginTime(); User user = userService.getByUsername(caiUser.getUsername());
// loginUser.setExpireTime(); if(user == null){
// loginUser.setIpaddr(); throw new ServiceException("手机号已存在");
// loginUser.setLoginLocation(); }
// loginUser.setBrowser(); if(!caiUser.getPassword().equals(caiUser.getPasswordCheck())){
// loginUser.setOs(); throw new ServiceException("两次输入密码不一致,请检查");
loginUser.setMenuPermission(Collections.emptySet()); }
loginUser.setRolePermission(Collections.emptySet()); boolean check = codeManager.check(CodeEnum.REGISTER, caiUser.getUsername(), caiUser.getCode());
loginUser.setUsername(user.getMobile()); if(!check){
loginUser.setRoles(Collections.emptyList()); throw new ServiceException("验证码错误");
loginUser.setRoleId(null); }
loginUser.setUserId(user.getId()); // 加锁
loginUser.setUserType(UserType.APP_USER.getUserType()); String lockKey = LockManager.getRegisterLockKey(caiUser.getUsername());
LoginHelper.login(loginUser); RLock lock = redissonClient.getLock(lockKey);
sysLoginService.recordLogininfor(loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); if(lock.isLocked()){
String clientIP = ServletUtils.getClientIP(); throw new ServiceException("您点击太快了");
ExecutorConstant.COMMON_EXECUTOR.execute(() -> recordLoginInfo(user,clientIP)); }
return StpUtil.getTokenValue(); lock.lock(5, TimeUnit.SECONDS);
try {
CaiLoginManager bean = SpringUtil.getBean(CaiLoginManager.class);
user = bean.registerUser(caiUser);
}finally {
lock.unlock();
}
if(user.getInviteId() != null){
User finalUser = user;
ExecutorConstant.COMMON_EXECUTOR.execute(() -> dealInviteId(finalUser));
}
return login(user);
}
public void dealInviteId(User user){
Long inviteId = user.getInviteId();
if(inviteId == null){
return;
}
User inviteUser = userService.getById(inviteId);
if(inviteUser == null){
return;
}
String key = LockManager.getDealInviteLockKey(inviteId);
RLock lock = redissonClient.getLock(key);
if(!lock.isLocked()){
log.warn("点击太快了等一等dealInviteId");
return;
}
lock.lock(5,TimeUnit.SECONDS);
try {
UserInvite check = userInviteService.getByUserId(user.getId());
if(check == null){
UserInfo userInfo = userInfoService.getByUserId(user.getId());
UserInvite userInvite = new UserInvite();
userInvite.setUserId(user.getId());
userInvite.setInviteId(user.getInviteId());
userInvite.setVideoIncomeRate(userInfo.getVideoIncomeRate());
userInvite.setGuardIncomeRate(userInfo.getGuardIncomeRate());
userInvite.setGiftIncomeRate(userInfo.getGiftIncomeRate());
userInvite.setPayIncomeRate(userInfo.getPayIncomeRate());
if(inviteUser.getIsUnion() == 1){
BigDecimal unionOneRate = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_ONE_INCOME_RATE);
BigDecimal videoIncome = NumberUtil.add(userInfo.getVideoIncomeRate(), unionOneRate);
userInvite.setVideoIncomeRate(videoIncome);
}
userInviteService.save(userInvite);
}
// 处理工会
Union union = null; //
if(inviteUser.getIsUnion() == 1){
union = unionService.getByUserId(inviteUser.getId());
} else {
UnionUser unionUser = unionUserService.getByUserId(inviteUser.getId());
if(unionUser != null){
union = unionService.getById(unionUser);
}
}
if(union == null){
log.info("邀请人没有工会,无法入会 inviteId={}",inviteId);
return;
}
UnionUser checkUnionUser = unionUserService.getByUserId(user.getId());
if(checkUnionUser != null){
UnionUser unionUser = new UnionUser();
unionUser.setUnionId(union.getId());
unionUser.setUserId(user.getId());
unionUser.setVideoDivide(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_VIDEO_INCOME_RATE));
unionUser.setGiftDivide(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_VIDEO_INCOME_RATE));
unionUser.setVipDivide(BigDecimal.ZERO);
unionUser.setEnableRate(true);
unionUserService.save(unionUser);
}
}finally {
lock.unlock();
}
} }
@Autowired
private UserInfoService userInfoService;
public void recordLoginInfo(User user, String ip) { public void recordLoginInfo(User user, String ip) {
String address = AddressUtils.getRealAddressByIP(ip); String address = AddressUtils.getRealAddressByIP(ip);
@@ -100,5 +209,61 @@ public class CaiLoginManager {
} }
} }
private String login(User user){
LoginUser loginUser = new LoginUser();
loginUser.setDeptId(null);
loginUser.setDeptName(null);
loginUser.setMenuPermission(Collections.emptySet());
loginUser.setRolePermission(Collections.emptySet());
loginUser.setUsername(user.getMobile());
loginUser.setRoles(Collections.emptyList());
loginUser.setRoleId(null);
loginUser.setUserId(user.getId());
loginUser.setUserType(UserType.APP_USER.getUserType());
LoginHelper.login(loginUser);
sysLoginService.recordLogininfor(loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
String clientIP = ServletUtils.getClientIP();
ExecutorConstant.COMMON_EXECUTOR.execute(() -> recordLoginInfo(user,clientIP));
return StpUtil.getTokenValue();
}
@Transactional(rollbackFor = Exception.class)
public User registerUser(CaiRegisterUser user){
String usercode = userCodeGenService.getCodeGen();
User add = new User();
add.setUsercode(usercode);
add.setNickname("蜜瓜"+usercode);
add.setType(0);
add.setPassword(BCrypt.hashpw(user.getPassword()));
add.setMobile(user.getUsername());
add.setMobileStatus(1);
add.setAvatar(null);
add.setGender(user.getGender());
add.setCity(user.getCity());
add.setInviteId(user.getInviteId());
userService.save(add);
String clientIP = ServletUtils.getClientIP();
UserInfo userInfo = new UserInfo();
userInfo.setUserId(add.getId());
userInfo.setVideoIncomeRate(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_VIDEO_INCOME_RATE));
userInfo.setGuardIncomeRate(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_GUARD_INCOME_RATE));
userInfo.setGiftIncomeRate(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_GIFT_INCOME_RATE));
userInfo.setPayIncomeRate(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_PAY_INCOME_RATE));
userInfo.setLoginCount(1);
userInfo.setLastLoginIp(clientIP);
userInfo.setLastLoginTime(LocalDateTime.now());
userInfo.setRegIp(clientIP);
userInfo.setRegTime(LocalDateTime.now());
userInfoService.save(userInfo);
Account account = new Account();
account.setUserId(add.getId());
accountService.save(account);
UserOnline userOnline = new UserOnline();
userOnline.setUserId(add.getId());
userOnlineService.save(userOnline);
return add;
}
} }

View File

@@ -0,0 +1,23 @@
package com.ruoyi.cai.auth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "注册模型")
public class CaiRegisterUser {
@Schema(description = "手机号登录名")
private String username;
@Schema(description = "密码")
private String password;
@Schema(description = "密码确认")
private String passwordCheck;
@Schema(description = "验证码")
private String code;
@Schema(description = "邀请人ID")
private Long inviteId;
@Schema(description = "性别")
private Integer gender;
@Schema(description = "城市")
private Long city;
}

View File

@@ -5,4 +5,5 @@ public class RedisConstant {
public static final String SYSTEM_CONFIG = REDIS_P + "system-config"; public static final String SYSTEM_CONFIG = REDIS_P + "system-config";
public static final String CITY_CACHE_REDIS = REDIS_P + "city"; public static final String CITY_CACHE_REDIS = REDIS_P + "city";
public static final String DYNAMIC_TOTAL_CACHE_REDIS = REDIS_P + "synamicTotal:%s:%s"; public static final String DYNAMIC_TOTAL_CACHE_REDIS = REDIS_P + "synamicTotal:%s:%s";
public static final String CODE_REDIS = REDIS_P + "code:%s:%s";
} }

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.controller.app;
import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.cai.auth.CaiLoginManager; import com.ruoyi.cai.auth.CaiLoginManager;
import com.ruoyi.cai.auth.CaiRegisterUser;
import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.auth.LoginCaiUser;
import com.ruoyi.cai.service.UserService; import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
@@ -29,7 +30,14 @@ public class AuthAppController {
@PostMapping("/register") @PostMapping("/register")
@Operation(summary = "注册") @Operation(summary = "注册")
public R<Void> register(@RequestBody LoginCaiUser caiUser){ public R<Void> register(@RequestBody CaiRegisterUser caiUser){
userService.register(caiUser);
return R.ok();
}
@PostMapping("/register/code")
@Operation(summary = "获取注册验证码")
public R<Map<String,String>> registerCode(@RequestBody CaiRegisterUser caiUser){
userService.register(caiUser); userService.register(caiUser);
return R.ok(); return R.ok();
} }

View File

@@ -40,6 +40,7 @@ public class Union implements Serializable {
/** /**
* 工会默认二级支付奖励比例 * 工会默认二级支付奖励比例
*/ */
@Deprecated
private BigDecimal defaultIncomeRate; private BigDecimal defaultIncomeRate;
/** /**
* 全部人数 * 全部人数

View File

@@ -44,6 +44,7 @@ public class UnionUser implements Serializable {
/** /**
* vip分成 * vip分成
*/ */
@Deprecated
private BigDecimal vipDivide; private BigDecimal vipDivide;
/** /**
* 是否开启提成 * 是否开启提成

View File

@@ -116,7 +116,7 @@ public class User implements Serializable {
/** /**
* 邀请人 * 邀请人
*/ */
private Integer inviteId; private Long inviteId;
/** /**
* 终端 0 默认接口 1 安卓 2 ios 3 网页 4小程序 * 终端 0 默认接口 1 安卓 2 ios 3 网页 4小程序
*/ */

View File

@@ -43,14 +43,6 @@ public class UserInfo {
* 登录次数 * 登录次数
*/ */
private Integer loginCount; private Integer loginCount;
/**
* 连续登录天数
*/
private Long continueLoginCount;
/**
* 最大连续登录天数
*/
private Long maxLoginCount;
/** /**
* 最后登录IP * 最后登录IP
*/ */

View File

@@ -19,11 +19,11 @@ public class UserOnline implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
private Long id;
/** /**
* 用户ID * 用户ID
*/ */
@TableId(value = "user_id") private Long userId;
private Integer userId;
/** /**
* 在线状态:0=离线,1=在线 * 在线状态:0=离线,1=在线
*/ */

View File

@@ -0,0 +1,15 @@
package com.ruoyi.cai.enums;
import lombok.Getter;
@Getter
public enum CodeEnum {
REGISTER("注册短信")
;
private final String name;
CodeEnum(String name) {
this.name = name;
}
}

View File

@@ -11,6 +11,13 @@ import lombok.Getter;
public enum SystemConfigEnum { public enum SystemConfigEnum {
GUARD_PRICE("1314", "守护价格"), GUARD_PRICE("1314", "守护价格"),
DAY_MAX_DYNAMIC("10", "每日运行发布的最大动态数"), DAY_MAX_DYNAMIC("10", "每日运行发布的最大动态数"),
DEFAULT_VIDEO_INCOME_RATE("0.07", "默认分销好友视频提成"),
DEFAULT_GIFT_INCOME_RATE("0.07", "默认分销好友礼物提成"),
DEFAULT_GUARD_INCOME_RATE("0.07", "默认分销好友守护提成"),
DEFAULT_PAY_INCOME_RATE("0.07", "默认分销好友充值提成"),
DEFAULT_UNION_GIFT_INCOME_RATE("0.01", "默认工会礼物提成"),
DEFAULT_UNION_VIDEO_INCOME_RATE("0.01", "默认工会视频提成"),
DEFAULT_UNION_ONE_INCOME_RATE("0.07", "默认工会一级提成"),
; ;

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cai.manager;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.cai.constant.RedisConstant;
import com.ruoyi.cai.enums.CodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
@Component
public class CodeManager {
@Autowired
private StringRedisTemplate redisTemplate;
public String getKey(CodeEnum codeEnum,String phone){
return String.format(RedisConstant.CODE_REDIS,codeEnum.name(),phone);
}
public String put(CodeEnum codeEnum,String phone){
String code = RandomUtil.randomNumbers(6);
String key = getKey(codeEnum, phone);
redisTemplate.opsForValue().set(key,code,5, TimeUnit.MINUTES);
return code;
}
public boolean check(CodeEnum codeEnum,String phone,String code){
String key = getKey(codeEnum, phone);
String val = redisTemplate.opsForValue().get(key);
if(val == null){
return false;
}
return val.equals(code);
}
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cai.manager;
import com.ruoyi.cai.constant.RedisConstant;
public class LockManager {
public static final String LOCK_REGISTER_REDIS = RedisConstant.REDIS_P + "lock:register:%s";
public static final String LOCK_DEAL_INVITE_REDIS = RedisConstant.REDIS_P + "lock:dealInvite:%s";
public static String getRegisterLockKey(String mobile){
return String.format(LOCK_REGISTER_REDIS,mobile);
}
public static String getDealInviteLockKey(Long userId){
return String.format(LOCK_DEAL_INVITE_REDIS,userId);
}
}

View File

@@ -8,6 +8,7 @@ import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -35,6 +36,11 @@ public class SystemConfigManager {
return "1".equals(value); return "1".equals(value);
} }
public BigDecimal getSystemConfigOfBigDecimal(SystemConfigEnum systemConfig){
String value = getSystemConfig(systemConfig);
return new BigDecimal(value);
}
/** /**
* 获取配置信息返回Integer * 获取配置信息返回Integer
* @param systemConfig * @param systemConfig

View File

@@ -11,4 +11,5 @@ import com.ruoyi.cai.domain.UserCodeGen;
*/ */
public interface UserCodeGenService extends IService<UserCodeGen> { public interface UserCodeGenService extends IService<UserCodeGen> {
String getCodeGen();
} }

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.auth.CaiRegisterUser;
import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.auth.LoginCaiUser;
import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo; import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
@@ -20,8 +21,6 @@ public interface UserService extends IService<User> {
User getByUsername(String username); User getByUsername(String username);
void register(LoginCaiUser caiUser);
Page<UserAdminVo> pageAdmin(PageQuery pageQuery, User query); Page<UserAdminVo> pageAdmin(PageQuery pageQuery, User query);
Page<UserListVo> pageApp(PageQuery page, UserQuery query); Page<UserListVo> pageApp(PageQuery page, UserQuery query);

View File

@@ -15,4 +15,10 @@ import org.springframework.stereotype.Service;
@Service @Service
public class UserCodeGenServiceImpl extends ServiceImpl<UserCodeGenMapper, UserCodeGen> implements UserCodeGenService { public class UserCodeGenServiceImpl extends ServiceImpl<UserCodeGenMapper, UserCodeGen> implements UserCodeGenService {
@Override
public String getCodeGen(){
UserCodeGen gen = new UserCodeGen();
this.save(gen);
return gen.getId()+"";
}
} }

View File

@@ -1,24 +1,34 @@
package com.ruoyi.cai.service.impl; package com.ruoyi.cai.service.impl;
import cn.dev33.satoken.secure.BCrypt;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.auth.CaiRegisterUser;
import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.auth.LoginCaiUser;
import com.ruoyi.cai.domain.Anchor; import com.ruoyi.cai.domain.Anchor;
import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserInfo;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo; import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
import com.ruoyi.cai.dto.app.query.UserQuery; import com.ruoyi.cai.dto.app.query.UserQuery;
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo; import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo; import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo; import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
import com.ruoyi.cai.enums.CodeEnum;
import com.ruoyi.cai.manager.CodeManager;
import com.ruoyi.cai.mapper.UserMapper; import com.ruoyi.cai.mapper.UserMapper;
import com.ruoyi.cai.service.*; import com.ruoyi.cai.service.*;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.ServletUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
/** /**
* 用户Service业务层处理 * 用户Service业务层处理
* *
@@ -48,11 +58,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
.eq(User::getMobile,username)); .eq(User::getMobile,username));
} }
@Override
public void register(LoginCaiUser caiUser) {
}
@Override @Override
public Page<UserAdminVo> pageAdmin(PageQuery pageQuery, User query) { public Page<UserAdminVo> pageAdmin(PageQuery pageQuery, User query) {
return baseMapper.pageAdmin(pageQuery.build(),query); return baseMapper.pageAdmin(pageQuery.build(),query);