87 lines
2.8 KiB
Java
87 lines
2.8 KiB
Java
package com.yupi.springbootinit.service.impl;
|
|
|
|
import cn.hutool.core.date.DateUnit;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.crypto.SecureUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.yupi.springbootinit.mapper.SystemTenantMapper;
|
|
import com.yupi.springbootinit.model.entity.SystemTenant;
|
|
import com.yupi.springbootinit.model.entity.SystemUsers;
|
|
import com.yupi.springbootinit.service.SystemTenantService;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import com.yupi.springbootinit.mapper.SystemUsersMapper;
|
|
import com.yupi.springbootinit.service.SystemUsersService;
|
|
|
|
import javax.annotation.Resource;
|
|
/*
|
|
* @author: ziin
|
|
* @date: 2025/6/11 20:13
|
|
*/
|
|
|
|
@Service
|
|
public class SystemUsersServiceImpl extends ServiceImpl<SystemUsersMapper,SystemUsers> implements SystemUsersService{
|
|
|
|
@Value("${md5.salt}")
|
|
private String MD5_SALT;
|
|
|
|
@Resource
|
|
private SystemTenantMapper systemTenantMapper;
|
|
|
|
@Override
|
|
public SystemUsers getUserByUserName(String username,Long tenantId) {
|
|
QueryWrapper <SystemUsers> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.eq("username",username);
|
|
queryWrapper.eq("tenant_id",tenantId);
|
|
return baseMapper.selectOne(queryWrapper);
|
|
}
|
|
|
|
@Override
|
|
public boolean isPasswordMatch(String rawPassword, String encodedPassword) {
|
|
String s = SecureUtil.md5(MD5_SALT + rawPassword);
|
|
return s.equals(encodedPassword);
|
|
}
|
|
|
|
@Override
|
|
public boolean isExpired(Long tendId) {
|
|
SystemTenant systemTenant = systemTenantMapper.selectById(tendId);
|
|
long between = DateUtil.between(systemTenant.getExpireTime(), DateUtil.date(), DateUnit.DAY);
|
|
return between < 0;
|
|
}
|
|
|
|
@Override
|
|
public Long getTenantExpiredTime(Long tenantId) {
|
|
SystemTenant systemTenant = systemTenantMapper.selectById(tenantId);
|
|
long between = DateUtil.between(systemTenant.getExpireTime(), DateUtil.date(), DateUnit.SECOND);
|
|
if (between > 0 ) {
|
|
return between;
|
|
}
|
|
return 0L;
|
|
|
|
}
|
|
|
|
@Override
|
|
public boolean checkCrawlRole(Long userId) {
|
|
SystemUsers systemUsers = baseMapper.selectById(userId);
|
|
return systemUsers.getCrawl() == 1;
|
|
}
|
|
|
|
@Override
|
|
public boolean checkbigBrotherlRole(Long userId) {
|
|
SystemUsers systemUsers = baseMapper.selectById(userId);
|
|
return systemUsers.getBigBrother() == 1;
|
|
}
|
|
|
|
@Override
|
|
public boolean checkAiCHatLoginRole(Long userId) {
|
|
SystemUsers systemUsers = baseMapper.selectById(userId);
|
|
return systemUsers.getAiChat() == 1;
|
|
}
|
|
|
|
|
|
}
|