fix: 修改登录,解决根据公司登录显示冻结问题

pull/107/head^2
shuliYao 1 year ago
parent 342d5fb8af
commit 49204c6711

@ -75,16 +75,16 @@ public class UserTokenServiceImpl implements UserTokenService {
private UserTenantService userTenantService;
@Resource
private DepartmentService departmentService;
@Resource
private OauthuserService oauthuserService;
@Resource
private UserTokenOnlineService userTokenOnlineService;
@Autowired
private TenantService tenantService;
public User findByLoginname(String loginname) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByLoginname(loginname);
@ -120,7 +120,7 @@ public class UserTokenServiceImpl implements UserTokenService {
}
public User findByUserid(Long userid) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findById(userid);
if(null == userData){
return null;
@ -130,7 +130,7 @@ public class UserTokenServiceImpl implements UserTokenService {
//userData.setDepartname(department.getDepartname());
userData.setDepartmentRootId(department.getId());
}
User user = BeanUtil.copyProperties(userData,User.class);
return user;
}
@ -174,7 +174,7 @@ public class UserTokenServiceImpl implements UserTokenService {
return null;
}
AdminUserModel adminUserModel = (AdminUserModel) this.getSessionUserFromCache(userToken.getTokenid());
if(null != adminUserModel){
return adminUserModel;
}
@ -242,7 +242,7 @@ public class UserTokenServiceImpl implements UserTokenService {
user.setSearchQueryrolesShowleave(searchQueryrolesShowleave);
userVo = BeanUtil.copyProperties(user,User.class);
//查询第三方登录用户对象
List<Oauthuser> oauthuserList = oauthuserService.selectByUserId(userVo.getId().toString());
userVo.setOauthUserList(oauthuserList);
@ -262,7 +262,7 @@ public class UserTokenServiceImpl implements UserTokenService {
Object objectflow = flowableUserLoginService.flowableUserLogin(adminUserModel.getUser());
adminUserModel.setFlowableUser(objectflow);
}
return adminUserModel;
}
@ -289,39 +289,39 @@ public class UserTokenServiceImpl implements UserTokenService {
*/
public ResultVo refreshToken(UserToken userToken, String logintoken, HttpServletRequest request){
userToken = JwtUtils.decode(logintoken);
log.error("TokenExpiredException-------刷新token===============================2====logintoken==={}--",logintoken);
//原始缓存
String sourcetokenid = userToken.getTokenid();
//删除原缓存信息
iCacheManager.remove(CacheConstants.USER_MODEL_NAME,sourcetokenid);
log.error("TokenExpiredException-------刷新token===============================4====userToken==={}--",userToken);
if(!UserUtils.validateId(userToken)){
return ResultVoUtil.error();
}
//刷新缓存
String newToken = JwtUtils.getRefreshToken(userToken);
log.error("TokenExpiredException-------刷新token===============================3====newToken==={}--",newToken);
if(StringUtils.isBlank(newToken)){
SecurityContextHolder.getContext().setAuthentication(null);
return ResultVoUtil.error();
}
//重新查询用户基本信息
User user = this.findByLoginname(userToken.getLoginname());
AdminUserModel adminUserModel = (AdminUserModel) this.formatUserToAdminUserModel(user);
//用户信息缓存
this.saveSessionUser(adminUserModel);
//更新S_USERONLINE_T 表信息
this.userTokenOnlineService.updateModel(sourcetokenid,adminUserModel.getId());
//用户名不等于空 并且未认证过 进行登录验证
if (adminUserModel != null) {
// 验证通过 构建Secruity登录对象
@ -331,14 +331,14 @@ public class UserTokenServiceImpl implements UserTokenService {
log.error("TokenExpiredException-------刷新token===============================1={}",token);
return ResultVoUtil.success(token);
}
/**
* spring
* @param obj
* @param request
*/
public void updateAuthentication(Object obj,HttpServletRequest request){
AdminUserModel adminUserModel = (AdminUserModel) obj;
//用户名不等于空 并且未认证过 进行登录验证
if (adminUserModel != null) {
@ -383,7 +383,7 @@ public class UserTokenServiceImpl implements UserTokenService {
return true;
}
/**
*
* @param otherno
@ -414,7 +414,7 @@ public class UserTokenServiceImpl implements UserTokenService {
return userTenantService.listLoginNameCount(otherno,loginname);
}
/**
*
* @param otherno
@ -432,9 +432,9 @@ public class UserTokenServiceImpl implements UserTokenService {
*/
@Override
public boolean getTenantStatus(String agentcode){
LambdaQueryWrapper<Tenant> tenantLambdaQueryWrapper = new LambdaQueryWrapper<>();
tenantLambdaQueryWrapper.eq(Tenant::getOtherno,agentcode);
Tenant tenant = tenantService.getOne(tenantLambdaQueryWrapper);
return tenant != null && tenant.getStatus() == 0;
LambdaQueryWrapper<Department> tenantLambdaQueryWrapper = new LambdaQueryWrapper<>();
tenantLambdaQueryWrapper.eq(Department::getDescription,agentcode);
Department department = departmentService.getOne(tenantLambdaQueryWrapper);
return department != null && department.getEnabled() == 1;
}
}

@ -3,6 +3,7 @@ package cn.jyjz.xiaoyao.ocr.controller;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.jyjz.xiaoyao.common.base.util.StringUtils;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
@ -48,6 +49,16 @@ public class ApiTestController {
String endStr = request.getParameter("endStr");
String pageSize = request.getParameter("pageSize");
String pageNo = request.getParameter("pageNo");
String tenantNoStr = request.getParameter("tenantNo");
if(StringUtils.isBlank(tenantNoStr)){
return "租户不能为空";
}
String accountNoStr = request.getParameter("accountNo");
if(StringUtils.isBlank(accountNoStr)){
return "业务主体不能为空";
}
Long tenantNo = Long.parseLong(request.getParameter("tenantNo"));
Long accountNo = Long.parseLong(request.getParameter("accountNo"));
PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
DateTime dateTime = DateUtil.parse(beginStr+" 00:00:00","yyyy-MM-dd HH:mm:ss");
@ -60,8 +71,8 @@ public class ApiTestController {
pictureSourceParameter.setEndTime(Date.from(einstant));
pictureSourceParameter.setPageNo(Integer.parseInt(pageNo));
pictureSourceParameter.setPageSize(Integer.parseInt(pageSize));
pictureSourceParameter.setTenantNo(1714548920583360512L);
pictureSourceParameter.setAccountNo(1714887674875514880L);
pictureSourceParameter.setTenantNo(tenantNo);
pictureSourceParameter.setAccountNo(accountNo);
try {
ApiPage<PictureSourceResult> apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter);
List<PictureSourceResult> listResult= apiPage.getRecords();

Loading…
Cancel
Save