diff --git a/src/main/java/com/yupi/springbootinit/controller/UserController.java b/src/main/java/com/yupi/springbootinit/controller/UserController.java index 402d705..45385e8 100644 --- a/src/main/java/com/yupi/springbootinit/controller/UserController.java +++ b/src/main/java/com/yupi/springbootinit/controller/UserController.java @@ -63,4 +63,35 @@ public class UserController { return ResultUtils.success(systemUsersVO); } + // 用户登陆接口 + @PostMapping("bigbrother-doLogin") + public BaseResponse bigBrotherDoLogin(@RequestBody SystemUsersDTO usersDTO) { + SystemUsers user = usersService.getUserByUserName(usersDTO.getUsername(),usersDTO.getTenantId()); + if (user == null) { + throw new BusinessException(ErrorCode.USERNAME_OR_PASSWORD_ERROR); + } + if (!usersService.isPasswordMatch(usersDTO.getPassword(), user.getPassword())) { + throw new BusinessException(ErrorCode.USERNAME_OR_PASSWORD_ERROR); + } + + if (CommonStatusEnum.isDisable(Integer.valueOf(user.getStatus()))) { + throw new BusinessException(ErrorCode.USER_DISABLE); + } + if (usersService.isExpired(usersDTO.getTenantId())){ + throw new BusinessException(ErrorCode.PACKAGE_EXPIRED); + } + if (!usersService.checkbigBrotherlRole(user.getId())){ + throw new BusinessException(ErrorCode.LOGIN_NOW_ALLOWED); + } + Long second = usersService.getTenantExpiredTime(usersDTO.getTenantId()); + SystemUsersVO systemUsersVO = new SystemUsersVO(); + BeanUtil.copyProperties(user, systemUsersVO); +// 赋予用户 Id + StpUtil.login(user.getId()); +// 设置 token 有效期为当前日期和套餐有效期的差值 + StpUtil.renewTimeout(second); + systemUsersVO.setTokenName(StpUtil.getTokenName()); + systemUsersVO.setTokenValue(StpUtil.getTokenValue()); + return ResultUtils.success(systemUsersVO); + } } diff --git a/src/main/java/com/yupi/springbootinit/mapper/SystemUsersMapper.java b/src/main/java/com/yupi/springbootinit/mapper/SystemUsersMapper.java index 213e9c4..917c63c 100644 --- a/src/main/java/com/yupi/springbootinit/mapper/SystemUsersMapper.java +++ b/src/main/java/com/yupi/springbootinit/mapper/SystemUsersMapper.java @@ -5,7 +5,7 @@ import com.yupi.springbootinit.model.entity.SystemUsers; /* * @author: ziin - * @date: 2025/6/20 19:19 + * @date: 2025/6/25 18:15 */ public interface SystemUsersMapper extends BaseMapper { diff --git a/src/main/java/com/yupi/springbootinit/model/entity/SystemUsers.java b/src/main/java/com/yupi/springbootinit/model/entity/SystemUsers.java index d057e84..a5d61ce 100644 --- a/src/main/java/com/yupi/springbootinit/model/entity/SystemUsers.java +++ b/src/main/java/com/yupi/springbootinit/model/entity/SystemUsers.java @@ -11,7 +11,7 @@ import lombok.Data; /* * @author: ziin -* @date: 2025/6/20 19:19 +* @date: 2025/6/25 18:15 */ /** @@ -162,9 +162,16 @@ public class SystemUsers { private Long tenantId; /** - * 能否登录爬虫客户端 + * 能否登录主播爬虫客户端 */ @TableField(value = "crawl") - @ApiModelProperty(value = "能否登录爬虫客户端") + @ApiModelProperty(value = "能否登录主播爬虫客户端") private Byte crawl; + + /** + * 能否登录大哥爬虫客户端 + */ + @TableField(value = "big_brother") + @ApiModelProperty(value = "能否登录大哥爬虫客户端") + private Byte bigBrother; } \ No newline at end of file diff --git a/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java b/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java index 50e113c..b342c9f 100644 --- a/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java +++ b/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java @@ -20,4 +20,7 @@ public interface SystemUsersService extends IService { boolean checkCrawlRole(Long userId); + + boolean checkbigBrotherlRole(Long userId); + } diff --git a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java index 4f8b8dc..cf570d9 100644 --- a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java +++ b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java @@ -69,4 +69,12 @@ public class SystemUsersServiceImpl extends ServiceImpl + id, username, `password`, nickname, remark, dept_id, post_ids, email, mobile, sex, avatar, `status`, login_ip, login_date, creator, create_time, updater, update_time, - deleted, tenant_id, crawl + deleted, tenant_id, crawl, big_brother