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 implements SystemUsersService{ @Value("${md5.salt}") private String MD5_SALT; @Resource private SystemTenantMapper systemTenantMapper; @Override public SystemUsers getUserByUserName(String username,Long tenantId) { QueryWrapper 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; } }