修改:
1.判断登录用户是否允许登录爬虫客户端
This commit is contained in:
@@ -19,6 +19,7 @@ public enum ErrorCode {
|
||||
NOT_FOUND_ERROR(40400, "请求数据不存在"),
|
||||
FORBIDDEN_ERROR(40300, "禁止访问"),
|
||||
TENANT_NAME_NOT_EXISTS(40600, "租户不存在"),
|
||||
LOGIN_NOW_ALLOWED(40700, "当前账号不允许登录"),
|
||||
SYSTEM_ERROR(50000, "系统内部异常"),
|
||||
OPERATION_ERROR(50001, "操作失败"),
|
||||
QUEUE_ERROR(60001, "队列消息添加失败"),
|
||||
|
||||
@@ -34,7 +34,8 @@ public class SaTokenConfigure implements WebMvcConfigurer {
|
||||
"/swagger-ui/**",
|
||||
"/favicon.ico",
|
||||
// 你的其他放行路径,例如登录接口
|
||||
"/user/doLogin"
|
||||
"/user/doLogin",
|
||||
"/tenant/get-id-by-name"
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,9 @@ public class UserController {
|
||||
if (usersService.isExpired(usersDTO.getTenantId())){
|
||||
throw new BusinessException(ErrorCode.PACKAGE_EXPIRED);
|
||||
}
|
||||
if (usersService.checkCrawlRole(user.getId())){
|
||||
throw new BusinessException(ErrorCode.NOT_FOUND_ERROR);
|
||||
}
|
||||
Long second = usersService.getTenantExpiredTime(usersDTO.getTenantId());
|
||||
SystemUsersVO systemUsersVO = new SystemUsersVO();
|
||||
BeanUtil.copyProperties(user, systemUsersVO);
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
package com.yupi.springbootinit.mapper;
|
||||
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/6/11 20:13
|
||||
*/
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yupi.springbootinit.model.entity.SystemUsers;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/6/20 19:19
|
||||
*/
|
||||
|
||||
public interface SystemUsersMapper extends BaseMapper<SystemUsers> {
|
||||
|
||||
}
|
||||
@@ -1,124 +1,170 @@
|
||||
package com.yupi.springbootinit.model.entity;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/6/11 20:13
|
||||
* @date: 2025/6/20 19:19
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 用户信息表
|
||||
*/
|
||||
@ApiModel(description = "用户信息表")
|
||||
@Data
|
||||
@TableName(value = "system_users")
|
||||
public class SystemUsers {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户账号
|
||||
*/
|
||||
* 用户账号
|
||||
*/
|
||||
@TableField(value = "username")
|
||||
@ApiModelProperty(value = "用户账号")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
* 密码
|
||||
*/
|
||||
@TableField(value = "`password`")
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
* 用户昵称
|
||||
*/
|
||||
@TableField(value = "nickname")
|
||||
@ApiModelProperty(value = "用户昵称")
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remark")
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
@TableField("dept_id")
|
||||
* 部门ID
|
||||
*/
|
||||
@TableField(value = "dept_id")
|
||||
@ApiModelProperty(value = "部门ID")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 岗位编号数组
|
||||
*/
|
||||
@TableField("post_ids")
|
||||
* 岗位编号数组
|
||||
*/
|
||||
@TableField(value = "post_ids")
|
||||
@ApiModelProperty(value = "岗位编号数组")
|
||||
private String postIds;
|
||||
|
||||
/**
|
||||
* 用户邮箱
|
||||
*/
|
||||
* 用户邮箱
|
||||
*/
|
||||
@TableField(value = "email")
|
||||
@ApiModelProperty(value = "用户邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
* 手机号码
|
||||
*/
|
||||
@TableField(value = "mobile")
|
||||
@ApiModelProperty(value = "手机号码")
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 用户性别
|
||||
*/
|
||||
* 用户性别
|
||||
*/
|
||||
@TableField(value = "sex")
|
||||
@ApiModelProperty(value = "用户性别")
|
||||
private Byte sex;
|
||||
|
||||
/**
|
||||
* 头像地址
|
||||
*/
|
||||
* 头像地址
|
||||
*/
|
||||
@TableField(value = "avatar")
|
||||
@ApiModelProperty(value = "头像地址")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 帐号状态(0正常 1停用)
|
||||
*/
|
||||
* 帐号状态(0正常 1停用)
|
||||
*/
|
||||
@TableField(value = "`status`")
|
||||
@ApiModelProperty(value = "帐号状态(0正常 1停用)")
|
||||
private Byte status;
|
||||
|
||||
/**
|
||||
* 最后登录IP
|
||||
*/
|
||||
@TableField("login_ip")
|
||||
* 最后登录IP
|
||||
*/
|
||||
@TableField(value = "login_ip")
|
||||
@ApiModelProperty(value = "最后登录IP")
|
||||
private String loginIp;
|
||||
|
||||
/**
|
||||
* 最后登录时间
|
||||
*/
|
||||
@TableField("login_date")
|
||||
* 最后登录时间
|
||||
*/
|
||||
@TableField(value = "login_date")
|
||||
@ApiModelProperty(value = "最后登录时间")
|
||||
private Date loginDate;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(value = "creator")
|
||||
@ApiModelProperty(value = "创建者")
|
||||
private String creator;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("create_time")
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(value = "updater")
|
||||
@ApiModelProperty(value = "更新者")
|
||||
private String updater;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField("update_time")
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
* 是否删除
|
||||
*/
|
||||
@TableField(value = "deleted")
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private Boolean deleted;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
@TableField("tenant_id")
|
||||
* 租户编号
|
||||
*/
|
||||
@TableField(value = "tenant_id")
|
||||
@ApiModelProperty(value = "租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 能否登录爬虫客户端
|
||||
*/
|
||||
@TableField(value = "crawl")
|
||||
@ApiModelProperty(value = "能否登录爬虫客户端")
|
||||
private Byte crawl;
|
||||
}
|
||||
@@ -17,4 +17,7 @@ public interface SystemUsersService extends IService<SystemUsers> {
|
||||
boolean isExpired(Long tendId);
|
||||
|
||||
Long getTenantExpiredTime(Long tenantId);
|
||||
|
||||
boolean checkCrawlRole(Long userId);
|
||||
|
||||
}
|
||||
|
||||
@@ -63,4 +63,10 @@ public class SystemUsersServiceImpl extends ServiceImpl<SystemUsersMapper,System
|
||||
return 0L;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkCrawlRole(Long userId) {
|
||||
SystemUsers systemUsers = baseMapper.selectById(userId);
|
||||
return systemUsers.getCrawl() == 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,12 +24,13 @@
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="deleted" jdbcType="BIT" property="deleted" />
|
||||
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
|
||||
<result column="crawl" jdbcType="TINYINT" property="crawl" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
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
|
||||
deleted, tenant_id, crawl
|
||||
</sql>
|
||||
|
||||
<select id="selectUsername" resultType="int">
|
||||
|
||||
Reference in New Issue
Block a user