diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiLoginManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiLoginManager.java index 04a71346..e14b4cf2 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiLoginManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiLoginManager.java @@ -1,12 +1,18 @@ package com.ruoyi.cai.auth; import cn.dev33.satoken.exception.NotLoginException; +import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.stp.StpUtil; -import com.ruoyi.cai.domain.User; -import com.ruoyi.cai.domain.UserInfo; +import cn.hutool.core.util.NumberUtil; +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.service.UserInfoService; -import com.ruoyi.cai.service.UserService; +import com.ruoyi.cai.manager.CodeManager; +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.core.domain.model.LoginUser; 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.system.service.SysLoginService; 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.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Collections; +import java.util.concurrent.TimeUnit; @Component @Slf4j @@ -31,6 +44,26 @@ public class CaiLoginManager { private UserService userService; @Autowired 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){ @@ -41,35 +74,111 @@ public class CaiLoginManager { if(user.getStatus() != 0){ throw new ServiceException("用户已封禁,请联系客服"); } - /*if(!BCrypt.checkpw(password, caiUser.getPassword())){ + if(!BCrypt.checkpw(password, user.getPassword())){ throw new ServiceException("用户不存在或密码错误"); - }*/ - LoginUser loginUser = new LoginUser(); - loginUser.setDeptId(null); - loginUser.setDeptName(null); -// loginUser.setToken(caiUser.getToken()); -// loginUser.setLoginTime(); -// loginUser.setExpireTime(); -// loginUser.setIpaddr(); -// loginUser.setLoginLocation(); -// loginUser.setBrowser(); -// loginUser.setOs(); - 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(); + } + return login(user); + } + + public String register(CaiRegisterUser caiUser) { + User user = userService.getByUsername(caiUser.getUsername()); + if(user == null){ + throw new ServiceException("手机号已存在"); + } + if(!caiUser.getPassword().equals(caiUser.getPasswordCheck())){ + throw new ServiceException("两次输入密码不一致,请检查"); + } + boolean check = codeManager.check(CodeEnum.REGISTER, caiUser.getUsername(), caiUser.getCode()); + if(!check){ + throw new ServiceException("验证码错误"); + } + // 加锁 + String lockKey = LockManager.getRegisterLockKey(caiUser.getUsername()); + RLock lock = redissonClient.getLock(lockKey); + if(lock.isLocked()){ + throw new ServiceException("您点击太快了"); + } + 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) { 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; + } + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiRegisterUser.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiRegisterUser.java new file mode 100644 index 00000000..2364fe7e --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/auth/CaiRegisterUser.java @@ -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; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java index cfaf0c93..8ccc9e10 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java @@ -5,4 +5,5 @@ public class RedisConstant { public static final String SYSTEM_CONFIG = REDIS_P + "system-config"; 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 CODE_REDIS = REDIS_P + "code:%s:%s"; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/AuthAppController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/AuthAppController.java index ba603f8a..a0041180 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/AuthAppController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/AuthAppController.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.controller.app; import cn.dev33.satoken.annotation.SaIgnore; import com.ruoyi.cai.auth.CaiLoginManager; +import com.ruoyi.cai.auth.CaiRegisterUser; import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.service.UserService; import com.ruoyi.common.core.domain.R; @@ -29,7 +30,14 @@ public class AuthAppController { @PostMapping("/register") @Operation(summary = "注册") - public R register(@RequestBody LoginCaiUser caiUser){ + public R register(@RequestBody CaiRegisterUser caiUser){ + userService.register(caiUser); + return R.ok(); + } + + @PostMapping("/register/code") + @Operation(summary = "获取注册验证码") + public R> registerCode(@RequestBody CaiRegisterUser caiUser){ userService.register(caiUser); return R.ok(); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Union.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Union.java index e94c79d5..7b0ae3ed 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Union.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Union.java @@ -40,6 +40,7 @@ public class Union implements Serializable { /** * 工会默认二级支付奖励比例 */ + @Deprecated private BigDecimal defaultIncomeRate; /** * 全部人数 diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UnionUser.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UnionUser.java index b635c280..4c1df0e9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UnionUser.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UnionUser.java @@ -44,6 +44,7 @@ public class UnionUser implements Serializable { /** * vip分成 */ + @Deprecated private BigDecimal vipDivide; /** * 是否开启提成 diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java index f2b62727..4d1d39fe 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java @@ -116,7 +116,7 @@ public class User implements Serializable { /** * 邀请人 */ - private Integer inviteId; + private Long inviteId; /** * 终端 0 默认接口 1 安卓 2 ios 3 网页 4小程序 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserInfo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserInfo.java index 017c1f30..9fd60ef7 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserInfo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserInfo.java @@ -43,14 +43,6 @@ public class UserInfo { * 登录次数 */ private Integer loginCount; - /** - * 连续登录天数 - */ - private Long continueLoginCount; - /** - * 最大连续登录天数 - */ - private Long maxLoginCount; /** * 最后登录IP */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserOnline.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserOnline.java index d2c2d583..98adbecc 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserOnline.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserOnline.java @@ -19,11 +19,11 @@ public class UserOnline implements Serializable { private static final long serialVersionUID=1L; + private Long id; /** * 用户ID */ - @TableId(value = "user_id") - private Integer userId; + private Long userId; /** * 在线状态:0=离线,1=在线 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/CodeEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/CodeEnum.java new file mode 100644 index 00000000..a3a8db62 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/CodeEnum.java @@ -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; + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java index 4071c1d5..722a49ed 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java @@ -11,6 +11,13 @@ import lombok.Getter; public enum SystemConfigEnum { GUARD_PRICE("1314", "守护价格"), 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", "默认工会一级提成"), ; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CodeManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CodeManager.java new file mode 100644 index 00000000..55920e1a --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CodeManager.java @@ -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); + } + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/LockManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/LockManager.java new file mode 100644 index 00000000..0d8980bf --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/LockManager.java @@ -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); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java index 6baa9fb5..f23ca225 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java @@ -8,6 +8,7 @@ import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -35,6 +36,11 @@ public class SystemConfigManager { return "1".equals(value); } + public BigDecimal getSystemConfigOfBigDecimal(SystemConfigEnum systemConfig){ + String value = getSystemConfig(systemConfig); + return new BigDecimal(value); + } + /** * 获取配置信息返回Integer * @param systemConfig diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCodeGenService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCodeGenService.java index 3f9014ee..5c3854a4 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCodeGenService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCodeGenService.java @@ -11,4 +11,5 @@ import com.ruoyi.cai.domain.UserCodeGen; */ public interface UserCodeGenService extends IService { + String getCodeGen(); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserService.java index 2ca78e92..fafb8416 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserService.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cai.auth.CaiRegisterUser; import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.domain.User; import com.ruoyi.cai.dto.admin.vo.UserAdminVo; @@ -20,8 +21,6 @@ public interface UserService extends IService { User getByUsername(String username); - void register(LoginCaiUser caiUser); - Page pageAdmin(PageQuery pageQuery, User query); Page pageApp(PageQuery page, UserQuery query); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserCodeGenServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserCodeGenServiceImpl.java index f1ab0f75..443f6c71 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserCodeGenServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserCodeGenServiceImpl.java @@ -15,4 +15,10 @@ import org.springframework.stereotype.Service; @Service public class UserCodeGenServiceImpl extends ServiceImpl implements UserCodeGenService { + @Override + public String getCodeGen(){ + UserCodeGen gen = new UserCodeGen(); + this.save(gen); + return gen.getId()+""; + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java index c7e9628a..5bfb8df7 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java @@ -1,24 +1,34 @@ package com.ruoyi.cai.service.impl; +import cn.dev33.satoken.secure.BCrypt; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cai.auth.CaiRegisterUser; import com.ruoyi.cai.auth.LoginCaiUser; import com.ruoyi.cai.domain.Anchor; 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.app.query.UserQuery; 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.OnlineStatusVo; +import com.ruoyi.cai.enums.CodeEnum; +import com.ruoyi.cai.manager.CodeManager; import com.ruoyi.cai.mapper.UserMapper; import com.ruoyi.cai.service.*; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.exception.ServiceException; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * 用户Service业务层处理 * @@ -48,11 +58,6 @@ public class UserServiceImpl extends ServiceImpl implements Us .eq(User::getMobile,username)); } - @Override - public void register(LoginCaiUser caiUser) { - - } - @Override public Page pageAdmin(PageQuery pageQuery, User query) { return baseMapper.pageAdmin(pageQuery.build(),query);