update 企业管理员登录
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.common.constant.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2022-08-15 10:27
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum LoginUserTypeEnum {
|
||||
system_, company_management_, company_
|
||||
}
|
||||
+9
@@ -109,6 +109,15 @@ public class ShiroConfig {
|
||||
filterChainDefinitionMap.put("/company/WCLogin", "anon");//微信登录
|
||||
filterChainDefinitionMap.put("/company/jscode2session", "anon");//微信登录凭证校验
|
||||
|
||||
filterChainDefinitionMap.put("/companyManager/login", "anon");//登录接口排除
|
||||
filterChainDefinitionMap.put("/companyManager/smsLogin", "anon");//短信登录接口排除
|
||||
filterChainDefinitionMap.put("/companyManager/logout", "anon");//登出接口排除
|
||||
filterChainDefinitionMap.put("/companyManager/verificationChangePassword", "anon");//短信验证码修改密码
|
||||
filterChainDefinitionMap.put("/companyManager/changePasswordWithToken", "anon");//token修改密码
|
||||
filterChainDefinitionMap.put("/companyManager/sendVerificationCode", "anon");//企业端发送验证码
|
||||
filterChainDefinitionMap.put("/companyManager/WCLogin", "anon");//微信登录
|
||||
filterChainDefinitionMap.put("/companyManager/jscode2session", "anon");//微信登录凭证校验
|
||||
|
||||
|
||||
//和会员系统交互的接口
|
||||
//filterChainDefinitionMap.put("/meeting/payMeeting/addStandards","anon");//会员系统推送会议
|
||||
|
||||
+29
-18
@@ -1,6 +1,7 @@
|
||||
package com.jero.config.shiro;
|
||||
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import com.jero.common.constant.enums.LoginUserTypeEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authc.AuthenticationException;
|
||||
import org.apache.shiro.authc.AuthenticationInfo;
|
||||
@@ -144,26 +145,36 @@ public class ShiroRealm extends AuthorizingRealm {
|
||||
* @return
|
||||
*/
|
||||
public boolean jwtTokenRefresh(String token, String userName, String passWord) {
|
||||
String cacheToken = String.valueOf(redisUtil.get(CommonConstant.PREFIX_USER_TOKEN + token));
|
||||
if (oConvertUtils.isNotEmpty(cacheToken)) {
|
||||
// 校验token有效性
|
||||
if (!JwtUtil.verify(cacheToken, userName, passWord)) {
|
||||
String newAuthorization = JwtUtil.sign(userName, passWord);
|
||||
// 设置超时时间
|
||||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, newAuthorization);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME *2 / 1000);
|
||||
log.debug("——————————用户在线操作,更新token保证不掉线—————————jwtTokenRefresh——————— "+ token);
|
||||
if (userName.startsWith(LoginUserTypeEnum.company_management_.toString())){
|
||||
String cacheToken = String.valueOf(redisUtil.get(CommonConstant.PREFIX_USER_TOKEN + userName));
|
||||
if (oConvertUtils.isNotEmpty(cacheToken)) {
|
||||
// 校验token有效性
|
||||
if (!JwtUtil.verify(cacheToken, userName, passWord)) {
|
||||
//String newAuthorization = JwtUtil.sign(userName, passWord);
|
||||
// 设置超时时间
|
||||
//redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, newAuthorization);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + userName, JwtUtil.EXPIRE_TIME *2 / 1000);
|
||||
|
||||
log.debug("——————————用户在线操作,更新token保证不掉线—————————jwtTokenRefresh——————— "+ token);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//update-begin--Author:scott Date:20191005 for:解决每次请求,都重写redis中 token缓存问题
|
||||
// else {
|
||||
// // 设置超时时间
|
||||
// redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, cacheToken);
|
||||
// redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000);
|
||||
// }
|
||||
//update-end--Author:scott Date:20191005 for:解决每次请求,都重写redis中 token缓存问题
|
||||
return true;
|
||||
return false;
|
||||
}else{
|
||||
String cacheToken = String.valueOf(redisUtil.get(CommonConstant.PREFIX_USER_TOKEN + token));
|
||||
if (oConvertUtils.isNotEmpty(cacheToken)) {
|
||||
// 校验token有效性
|
||||
if (!JwtUtil.verify(cacheToken, userName, passWord)) {
|
||||
//String newAuthorization = JwtUtil.sign(userName, passWord);
|
||||
// 设置超时时间
|
||||
//redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, newAuthorization);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME *2 / 1000);
|
||||
log.debug("——————————用户在线操作,更新token保证不掉线—————————jwtTokenRefresh——————— "+ token);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+10
-17
@@ -5,22 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.LoginUserTypeEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.*;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.entity.PayManagerManagement;
|
||||
import com.jero.company.mapper.WxSecretMapper;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.company.service.IPayManagerManagementService;
|
||||
import com.jero.company.vo.CompanyLoginVO;
|
||||
import com.jero.company.vo.CompanyManagerLoginVO;
|
||||
import com.jero.data.entity.PayCaseCouncilSubitem;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.modules.base.service.BaseCommonService;
|
||||
import com.jero.modules.system.model.SysLoginModel;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
@@ -228,15 +223,13 @@ public class CompanyManagerLoginController {
|
||||
if (oConvertUtils.isEmpty(token)) {
|
||||
return Result.error("退出登录失败!");
|
||||
}
|
||||
String phone = JwtUtil.getUsername(token);
|
||||
LambdaQueryWrapper<PayManagerManagement> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayManagerManagement::getPhone, phone);
|
||||
PayManagerManagement managerManagement = payManagerManagementService.getOne(queryWrapper);
|
||||
if (managerManagement != null) {
|
||||
baseCommonService.addLog("手机号: " + PasswordUtil.decrypt(phone) + ",退出成功!", CommonConstant.LOG_TYPE_1, null, null);
|
||||
log.info(" 企业端用户: " + managerManagement.getName() + ",退出成功! ");
|
||||
String username = JwtUtil.getUsername(token);
|
||||
LoginUser sysUser = sysBaseAPI.getUserByName(username);
|
||||
if (sysUser != null) {
|
||||
baseCommonService.addLog("手机号: " + PasswordUtil.decrypt(sysUser.getPhone()) + ",退出成功!", CommonConstant.LOG_TYPE_1, null, null);
|
||||
log.info(" 企业端用户: " + sysUser.getRealname() + ",退出成功! ");
|
||||
//清空用户登录Token缓存
|
||||
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + token);
|
||||
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + username);
|
||||
//调用shiro的logout
|
||||
SecurityUtils.getSubject().logout();
|
||||
return Result.OK("退出登录成功!");
|
||||
@@ -320,10 +313,10 @@ public class CompanyManagerLoginController {
|
||||
managerManagement.setCompanyRole(one.getRoleCode());
|
||||
}
|
||||
// 生成token
|
||||
String token = JwtUtil.sign(phone, syspassword);
|
||||
String token = JwtUtil.sign(LoginUserTypeEnum.company_management_ + phone, syspassword);
|
||||
// 设置token缓存有效时间
|
||||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
|
||||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + LoginUserTypeEnum.company_management_ + phone, token);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + LoginUserTypeEnum.company_management_ + phone, JwtUtil.EXPIRE_TIME * 2 / 1000);
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("token", token);
|
||||
|
||||
+3
@@ -66,6 +66,9 @@ public class PayManagerManagementController extends JeroController<PayManagerMan
|
||||
QueryWrapper<PayManagerManagement> queryWrapper = QueryGenerator.initQueryWrapper(payManagerManagement, req.getParameterMap());
|
||||
Page<PayManagerManagement> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayManagerManagement> pageList = payManagerManagementService.page(page, queryWrapper);
|
||||
pageList.getRecords().forEach(record -> {
|
||||
record.setPhone(PasswordUtil.decrypt(record.getPhone()));
|
||||
});
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
package com.jero.modules.pay.company.entity;
|
||||
|
||||
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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.common.util.superSearch.ConstantUtils;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 企业管理员管理
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-07-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("pay_manager_management")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="pay_manager_management对象", description="企业管理员管理")
|
||||
public class PayManagerManagement implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**企业id*/
|
||||
@ApiModelProperty(value = "企业id")
|
||||
@Size(max = 32, message = "企业id长度不能大于32个字符")
|
||||
private String companyId;
|
||||
|
||||
/**企业名称(未审核状态下会多出5位,因此修改成55长度)*/
|
||||
@Excel(name = "企业名称", width = 15)
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String companyName;
|
||||
|
||||
/**姓名*/
|
||||
@Excel(name = "姓名", width = 15)
|
||||
@ApiModelProperty(value = "姓名")
|
||||
@NotEmpty(message = "姓名不能为空")
|
||||
@Size(max = 50, message = "姓名长度不能大于50个字符")
|
||||
private String name;
|
||||
|
||||
/**性别(1:男,2:女)*/
|
||||
//@Excel(name = "性别", width = 15)
|
||||
//@ApiModelProperty(value = "性别")
|
||||
//@Dict(dicCode = "sex")
|
||||
//private String gender;
|
||||
|
||||
/**职务*/
|
||||
//@Excel(name = "职务", width = 15)
|
||||
//@ApiModelProperty(value = "职务")
|
||||
//@Size(max = 50, message = "职务长度不能大于50个字符")
|
||||
//private String post;
|
||||
|
||||
/**手机号*/
|
||||
@Excel(name = "手机号", width = 15)
|
||||
@ApiModelProperty(value = "手机号")
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
@Pattern(regexp = ConstantUtils.TEL_PHONE,message = "手机号格式错误")
|
||||
private String phone;
|
||||
|
||||
/**邮箱*/
|
||||
//@Excel(name = "邮箱", width = 15)
|
||||
//@ApiModelProperty(value = "邮箱")
|
||||
//@Pattern(regexp = "^\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}$",message = "邮箱格式错误")
|
||||
//@NotEmpty(message = "邮箱不能为空")
|
||||
//private String email;
|
||||
|
||||
/**邮箱授权码*/
|
||||
//@ApiModelProperty(value = "邮箱授权码")
|
||||
//private String emailPassword;
|
||||
|
||||
/**通讯地址*/
|
||||
//@Excel(name = "通讯地址", width = 15)
|
||||
//@ApiModelProperty(value = "通讯地址")
|
||||
//@Size(max = 50, message = "通讯地址长度不能大于50个字符")
|
||||
//@NotEmpty(message = "通讯地址不能为空")
|
||||
//private String contactAddress;
|
||||
|
||||
/**邮政编码*/
|
||||
//@Excel(name = "邮政编码", width = 15)
|
||||
//@ApiModelProperty(value = "邮政编码")
|
||||
//@Size(min=6,max = 6,message = "邮政编码长度必须为6个字符")
|
||||
//@Pattern(regexp = "^[0-9]\\d{5}$",message = "邮政编码格式错误")
|
||||
//@NotEmpty(message = "邮政编码不能为空")
|
||||
//private String postalCode;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* md5密码盐
|
||||
*/
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String salt;
|
||||
|
||||
/**
|
||||
* openId
|
||||
*/
|
||||
private String openId;
|
||||
|
||||
/**备注*/
|
||||
//@Excel(name = "备注", width = 15)
|
||||
//@ApiModelProperty(value = "备注")
|
||||
//@Size(max = 200, message = "备注长度不能大于200个字符")
|
||||
//private String remarks;
|
||||
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**删除状态 0:通过 1:未通过(会员系统审核状态)*/
|
||||
@Excel(name = "删除状态 ", width = 15)
|
||||
@ApiModelProperty(value = "删除状态 ")
|
||||
private String delFlag;
|
||||
|
||||
/**用户名用于会员系统使用*/
|
||||
@ApiModelProperty(value = "用户名用于会员系统使用")
|
||||
private String username;
|
||||
|
||||
/**企业角色1:普通企业、2:会员企业*/
|
||||
@Excel(name = "企业角色", width = 15)
|
||||
@ApiModelProperty(value = "企业角色")
|
||||
@Dict(dicCode = "company_role")
|
||||
private String roleCode;
|
||||
|
||||
/**会员性质字段*/
|
||||
@ApiModelProperty(value = "会员性质字段")
|
||||
private String memberNature;
|
||||
|
||||
/**会员企业id*/
|
||||
@ApiModelProperty(value = "会员企业id")
|
||||
private String memberId;
|
||||
|
||||
/**企业角色1:普通企业、2:会员企业*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "企业角色1:普通企业、2:会员企业")
|
||||
private String companyRole;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "RSA公钥")
|
||||
private String rsaPublicKey;
|
||||
|
||||
}
|
||||
+3
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.pay.company.entity.PayContactsManagement;
|
||||
import com.jero.modules.pay.company.entity.PayManagerManagement;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.vo.SysUserVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -166,6 +167,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
|
||||
PayContactsManagement getPayContactsManagementByPhone(@Param("username") String username);
|
||||
|
||||
PayManagerManagement getCompanyManagementByPhone(@Param("username") String username);
|
||||
|
||||
void forgetPassword(@Param("user") SysUser user);
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -212,4 +212,9 @@
|
||||
update sys_user set password = #{user.password}
|
||||
where username = #{user.username}
|
||||
</update>
|
||||
|
||||
<select id="getCompanyManagementByPhone" resultType="com.jero.modules.pay.company.entity.PayManagerManagement">
|
||||
select *
|
||||
from pay_manager_management where phone = #{username} and del_flag = 0;
|
||||
</select>
|
||||
</mapper>
|
||||
+34
-14
@@ -9,9 +9,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.jero.common.constant.enums.LoginUserTypeEnum;
|
||||
import com.jero.common.util.HuaWeiSmsUtil;
|
||||
import com.jero.modules.oss.mapper.OSSFileMapper;
|
||||
import com.jero.modules.pay.company.entity.PayContactsManagement;
|
||||
import com.jero.modules.pay.company.entity.PayManagerManagement;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@@ -115,24 +117,42 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
return null;
|
||||
}
|
||||
LoginUser loginUser = new LoginUser();
|
||||
SysUser sysUser = userMapper.getUserByName(username);
|
||||
if(sysUser==null) {
|
||||
PayContactsManagement contactsManagement = userMapper.getPayContactsManagementByPhone(username);
|
||||
if (contactsManagement == null){
|
||||
if (username.startsWith(LoginUserTypeEnum.company_management_.toString())){
|
||||
username = username.substring(LoginUserTypeEnum.company_management_.toString().length());
|
||||
PayManagerManagement companyManagementByPhone = userMapper.getCompanyManagementByPhone(username);
|
||||
if (companyManagementByPhone == null){
|
||||
return null;
|
||||
}else {
|
||||
BeanUtils.copyProperties(contactsManagement, loginUser);
|
||||
loginUser.setIsCompanyUser(true);
|
||||
loginUser.setUsername(contactsManagement.getPhone());
|
||||
loginUser.setRealname(contactsManagement.getName());
|
||||
loginUser.setRoleCode("企业用户");
|
||||
BeanUtils.copyProperties(companyManagementByPhone, loginUser);
|
||||
loginUser.setIsCompanyUser(false);
|
||||
loginUser.setIsCompanyManager(true);
|
||||
loginUser.setUsername(companyManagementByPhone.getPhone());
|
||||
loginUser.setRealname(companyManagementByPhone.getName());
|
||||
loginUser.setRoleCode("企业管理员");
|
||||
}
|
||||
}else{
|
||||
SysUser sysUser = userMapper.getUserByName(username);
|
||||
if(sysUser==null) {
|
||||
PayContactsManagement contactsManagement = userMapper.getPayContactsManagementByPhone(username);
|
||||
if (contactsManagement == null){
|
||||
return null;
|
||||
}else {
|
||||
BeanUtils.copyProperties(contactsManagement, loginUser);
|
||||
loginUser.setIsCompanyUser(true);
|
||||
loginUser.setIsCompanyManager(false);
|
||||
loginUser.setUsername(contactsManagement.getPhone());
|
||||
loginUser.setRealname(contactsManagement.getName());
|
||||
loginUser.setRoleCode("企业用户");
|
||||
}
|
||||
}else {
|
||||
BeanUtils.copyProperties(sysUser, loginUser);
|
||||
List<String> roleByUserName = sysUserRoleMapper.getRoleByUserName(username);
|
||||
loginUser.setRoleCode(StringUtils.join(roleByUserName, ","));
|
||||
loginUser.setIsCompanyUser(false);
|
||||
loginUser.setIsCompanyManager(false);
|
||||
}
|
||||
}else {
|
||||
BeanUtils.copyProperties(sysUser, loginUser);
|
||||
List<String> roleByUserName = sysUserRoleMapper.getRoleByUserName(username);
|
||||
loginUser.setRoleCode(StringUtils.join(roleByUserName, ","));
|
||||
loginUser.setIsCompanyUser(false);
|
||||
}
|
||||
|
||||
return loginUser;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user