增加临时参数列表
This commit is contained in:
parent
9332e9355d
commit
24470a6a3f
@ -11,6 +11,11 @@ import lombok.NoArgsConstructor;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class SysLoginParam {
|
public class SysLoginParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录的医疗机构
|
||||||
|
*/
|
||||||
|
private String loginYLJG;
|
||||||
/**
|
/**
|
||||||
* 默认仪器
|
* 默认仪器
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -106,14 +106,14 @@ public class SysUser extends BaseEntity
|
|||||||
private String snid;
|
private String snid;
|
||||||
private String signCert;
|
private String signCert;
|
||||||
private String sn_pin;
|
private String sn_pin;
|
||||||
private String loginYLJG;
|
private SysLoginParam sysLoginParam;
|
||||||
|
|
||||||
public String getLoginYLJG() {
|
public SysLoginParam getSysLoginParam() {
|
||||||
return loginYLJG;
|
return sysLoginParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLoginYLJG(String loginYLJG) {
|
public void setSysLoginParam(SysLoginParam sysLoginParam) {
|
||||||
this.loginYLJG = loginYLJG;
|
this.sysLoginParam = sysLoginParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getVshisuser() {
|
public String getVshisuser() {
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
package com.czlis.system.web.service;
|
package com.czlis.interfaceCommon.service;
|
||||||
|
|
||||||
import com.czlis.common.constant.CacheConstants;
|
import com.czlis.common.constant.CacheConstants;
|
||||||
import com.czlis.common.constant.Constants;
|
import com.czlis.common.constant.Constants;
|
||||||
import com.czlis.common.core.domain.entity.SysUser;
|
|
||||||
import com.czlis.common.core.domain.model.LoginUser;
|
import com.czlis.common.core.domain.model.LoginUser;
|
||||||
import com.czlis.common.core.redis.RedisCache;
|
import com.czlis.common.core.redis.RedisCache;
|
||||||
import com.czlis.common.utils.ServletUtils;
|
import com.czlis.common.utils.ServletUtils;
|
||||||
@ -15,8 +14,6 @@ import io.jsonwebtoken.Claims;
|
|||||||
import io.jsonwebtoken.Jwts;
|
import io.jsonwebtoken.Jwts;
|
||||||
import io.jsonwebtoken.SignatureAlgorithm;
|
import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -1,20 +1,43 @@
|
|||||||
package com.czlis.interfaceCommon.utils;
|
package com.czlis.interfaceCommon.utils;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||||
|
import com.czlis.common.core.domain.model.LoginUser;
|
||||||
|
import com.czlis.common.utils.SecurityUtils;
|
||||||
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录自定义配置类
|
* 登录自定义配置工具类
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class LoginConfigParamUtil {
|
public class LoginConfigParamUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TokenService tokenService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取登录之后,该回话产生的登录信息
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public SysLoginParam getLoginConfigParam() {
|
public SysLoginParam getLoginConfigParam() {
|
||||||
SysLoginParam loginConfigParam = new SysLoginParam();
|
return SecurityUtils.getLoginUser().getSysLoginParam();
|
||||||
loginConfigParam.setYq("");
|
}
|
||||||
return loginConfigParam;
|
|
||||||
|
/**
|
||||||
|
* 设置登录的自定义信息
|
||||||
|
* @param sysLoginParam
|
||||||
|
*/
|
||||||
|
public void setLoginConfigParam(SysLoginParam sysLoginParam) {
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
loginUser.setSysLoginParam(sysLoginParam);
|
||||||
|
tokenService.refreshToken(loginUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.czlis.system.security.filter;
|
|||||||
import com.czlis.common.core.domain.model.LoginUser;
|
import com.czlis.common.core.domain.model.LoginUser;
|
||||||
import com.czlis.common.utils.SecurityUtils;
|
import com.czlis.common.utils.SecurityUtils;
|
||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.system.web.service.TokenService;
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import com.czlis.common.utils.ServletUtils;
|
|||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.common.asyncmanager.AsyncManager;
|
import com.czlis.common.asyncmanager.AsyncManager;
|
||||||
import com.czlis.system.manager.factory.AsyncFactory;
|
import com.czlis.system.manager.factory.AsyncFactory;
|
||||||
import com.czlis.system.web.service.TokenService;
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import com.czlis.common.utils.SecurityUtils;
|
|||||||
import com.czlis.system.service.ISysMenuService;
|
import com.czlis.system.service.ISysMenuService;
|
||||||
import com.czlis.system.web.service.SysLoginService;
|
import com.czlis.system.web.service.SysLoginService;
|
||||||
import com.czlis.system.web.service.SysPermissionService;
|
import com.czlis.system.web.service.SysPermissionService;
|
||||||
import com.czlis.system.web.service.TokenService;
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
@ -49,8 +49,9 @@ public class SysLoginController {
|
|||||||
public AjaxResult login(@RequestBody LoginBody loginBody) {
|
public AjaxResult login(@RequestBody LoginBody loginBody) {
|
||||||
AjaxResult ajax = AjaxResult.success();
|
AjaxResult ajax = AjaxResult.success();
|
||||||
// 生成令牌
|
// 生成令牌
|
||||||
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
|
// String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
|
||||||
loginBody.getUuid(),loginBody.getLoginParam().getLoginYLJG());
|
// loginBody.getUuid(),loginBody.getLoginParam().getLoginYLJG());
|
||||||
|
String token = loginService.login(loginBody);
|
||||||
ajax.put(Constants.TOKEN, token);
|
ajax.put(Constants.TOKEN, token);
|
||||||
return ajax;
|
return ajax;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import com.czlis.common.utils.StringUtils;
|
|||||||
import com.czlis.common.utils.file.FileUploadUtils;
|
import com.czlis.common.utils.file.FileUploadUtils;
|
||||||
import com.czlis.common.utils.file.MimeTypeUtils;
|
import com.czlis.common.utils.file.MimeTypeUtils;
|
||||||
import com.czlis.system.service.ISysUserService;
|
import com.czlis.system.service.ISysUserService;
|
||||||
import com.czlis.system.web.service.TokenService;
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|||||||
@ -16,7 +16,7 @@ import com.czlis.system.service.ISysDeptService;
|
|||||||
import com.czlis.system.service.ISysRoleService;
|
import com.czlis.system.service.ISysRoleService;
|
||||||
import com.czlis.system.service.ISysUserService;
|
import com.czlis.system.service.ISysUserService;
|
||||||
import com.czlis.system.web.service.SysPermissionService;
|
import com.czlis.system.web.service.SysPermissionService;
|
||||||
import com.czlis.system.web.service.TokenService;
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|||||||
@ -3,7 +3,9 @@ package com.czlis.system.web.service;
|
|||||||
import com.czlis.common.constant.CacheConstants;
|
import com.czlis.common.constant.CacheConstants;
|
||||||
import com.czlis.common.constant.Constants;
|
import com.czlis.common.constant.Constants;
|
||||||
import com.czlis.common.constant.UserConstants;
|
import com.czlis.common.constant.UserConstants;
|
||||||
|
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||||
import com.czlis.common.core.domain.entity.SysUser;
|
import com.czlis.common.core.domain.entity.SysUser;
|
||||||
|
import com.czlis.common.core.domain.model.LoginBody;
|
||||||
import com.czlis.common.core.domain.model.LoginUser;
|
import com.czlis.common.core.domain.model.LoginUser;
|
||||||
import com.czlis.common.core.redis.RedisCache;
|
import com.czlis.common.core.redis.RedisCache;
|
||||||
import com.czlis.common.exception.ServiceException;
|
import com.czlis.common.exception.ServiceException;
|
||||||
@ -13,12 +15,14 @@ import com.czlis.common.utils.MessageUtils;
|
|||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.common.utils.ip.IpUtils;
|
import com.czlis.common.utils.ip.IpUtils;
|
||||||
import com.czlis.common.asyncmanager.AsyncManager;
|
import com.czlis.common.asyncmanager.AsyncManager;
|
||||||
|
import com.czlis.interfaceCommon.service.TokenService;
|
||||||
import com.czlis.interfaceCommon.utils.CommonUtil;
|
import com.czlis.interfaceCommon.utils.CommonUtil;
|
||||||
import com.czlis.system.manager.factory.AsyncFactory;
|
import com.czlis.system.manager.factory.AsyncFactory;
|
||||||
import com.czlis.system.mapper.SysUserMapper;
|
import com.czlis.system.mapper.SysUserMapper;
|
||||||
import com.czlis.system.security.context.AuthenticationContextHolder;
|
import com.czlis.system.security.context.AuthenticationContextHolder;
|
||||||
import com.czlis.system.service.ISysConfigService;
|
import com.czlis.system.service.ISysConfigService;
|
||||||
import com.czlis.system.service.ISysUserService;
|
import com.czlis.system.service.ISysUserService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.authentication.BadCredentialsException;
|
import org.springframework.security.authentication.BadCredentialsException;
|
||||||
@ -35,6 +39,7 @@ import java.util.Random;
|
|||||||
* @author admin
|
* @author admin
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
|
@Slf4j
|
||||||
public class SysLoginService {
|
public class SysLoginService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private TokenService tokenService;
|
private TokenService tokenService;
|
||||||
@ -57,14 +62,22 @@ public class SysLoginService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录验证
|
* 登录验证
|
||||||
*
|
|
||||||
* @param username 用户名
|
|
||||||
* @param password 密码
|
|
||||||
* @param code 验证码
|
|
||||||
* @param uuid 唯一标识
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public String login(String username, String password, String code, String uuid,String loginYLJG) {
|
public String login(LoginBody loginBody) {
|
||||||
|
String username = loginBody.getUsername(); //登录用户名
|
||||||
|
String password = loginBody.getPassword(); //登录密码
|
||||||
|
String code = "";
|
||||||
|
String uuid = "";
|
||||||
|
String loginYLJG = "";
|
||||||
|
try{
|
||||||
|
code = loginBody.getCode();
|
||||||
|
uuid = loginBody.getUuid();
|
||||||
|
loginYLJG = loginBody.getLoginParam().getLoginYLJG(); //登录的医疗机构
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error("获取登录信息失败:",e);
|
||||||
|
}
|
||||||
// 验证码校验
|
// 验证码校验
|
||||||
validateCaptcha(username, code, uuid);
|
validateCaptcha(username, code, uuid);
|
||||||
// 登录前置校验
|
// 登录前置校验
|
||||||
@ -90,9 +103,11 @@ public class SysLoginService {
|
|||||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
||||||
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
||||||
recordLoginInfo(loginUser.getUserId());
|
recordLoginInfo(loginUser.getUserId());
|
||||||
|
//设置登录的参数到缓存
|
||||||
|
SysLoginParam sysLoginParam = new SysLoginParam();
|
||||||
|
sysLoginParam.setLoginYLJG(loginYLJG);
|
||||||
|
loginUser.setSysLoginParam(sysLoginParam);
|
||||||
// 生成token
|
// 生成token
|
||||||
SysUser user = loginUser.getUser();
|
|
||||||
user.setLoginYLJG(loginYLJG); //设置登录的医疗机构
|
|
||||||
return tokenService.createToken(loginUser);
|
return tokenService.createToken(loginUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +182,7 @@ public class SysLoginService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录验证
|
* 单点登录验证
|
||||||
*
|
*
|
||||||
* @param username 用户名
|
* @param username 用户名
|
||||||
* @param password 密码
|
* @param password 密码
|
||||||
|
|||||||
@ -33,8 +33,6 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
|||||||
private SysPasswordService passwordService;
|
private SysPasswordService passwordService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysPermissionService permissionService;
|
private SysPermissionService permissionService;
|
||||||
@Autowired
|
|
||||||
private LoginConfigParamUtil loginConfigParamUtil;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -51,15 +49,12 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
|||||||
throw new ServiceException(MessageUtils.message("user.blocked"));
|
throw new ServiceException(MessageUtils.message("user.blocked"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//登录系统,携带的用户自定义参数
|
|
||||||
SysLoginParam sysLoginParam = loginConfigParamUtil.getLoginConfigParam();
|
|
||||||
|
|
||||||
passwordService.validate(user);
|
passwordService.validate(user);
|
||||||
|
|
||||||
return createLoginUser(user,sysLoginParam);
|
return createLoginUser(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserDetails createLoginUser(SysUser user, SysLoginParam sysLoginParam) {
|
public UserDetails createLoginUser(SysUser user) {
|
||||||
return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
|
return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,9 +2,11 @@ package com.czlis.liswork.controller.work;
|
|||||||
|
|
||||||
import com.czlis.common.core.controller.BaseController;
|
import com.czlis.common.core.controller.BaseController;
|
||||||
import com.czlis.common.core.domain.Result;
|
import com.czlis.common.core.domain.Result;
|
||||||
|
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||||
import com.czlis.common.core.domain.entity.lis.LabPat;
|
import com.czlis.common.core.domain.entity.lis.LabPat;
|
||||||
import com.czlis.common.core.domain.entity.lis.LabResult;
|
import com.czlis.common.core.domain.entity.lis.LabResult;
|
||||||
import com.czlis.common.core.page.TableDataInfo;
|
import com.czlis.common.core.page.TableDataInfo;
|
||||||
|
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
||||||
import com.czlis.liswork.mapper.LisWorkMapper;
|
import com.czlis.liswork.mapper.LisWorkMapper;
|
||||||
import com.czlis.liswork.service.LabPatService;
|
import com.czlis.liswork.service.LabPatService;
|
||||||
import com.czlis.liswork.service.LabResultService;
|
import com.czlis.liswork.service.LabResultService;
|
||||||
@ -34,6 +36,8 @@ public class LisWorkController extends BaseController {
|
|||||||
private LabPatService labPatService;
|
private LabPatService labPatService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private LabResultService labResultService;
|
private LabResultService labResultService;
|
||||||
|
@Autowired
|
||||||
|
LoginConfigParamUtil loginConfigParamUtil;
|
||||||
/**
|
/**
|
||||||
* 可操作仪器查询
|
* 可操作仪器查询
|
||||||
*
|
*
|
||||||
@ -42,6 +46,10 @@ public class LisWorkController extends BaseController {
|
|||||||
@ApiOperation("可操作仪器查询")
|
@ApiOperation("可操作仪器查询")
|
||||||
@GetMapping("/instrdlist")
|
@GetMapping("/instrdlist")
|
||||||
public Result getInstrdList() {
|
public Result getInstrdList() {
|
||||||
|
//初始化参数试试
|
||||||
|
// SysLoginParam loginConfigParam = loginConfigParamUtil.getLoginConfigParam();
|
||||||
|
// loginConfigParam.setYq("BC5300");
|
||||||
|
// loginConfigParamUtil.setLoginConfigParam(loginConfigParam);
|
||||||
return lisWorkService.getInstrdList(getUserId());
|
return lisWorkService.getInstrdList(getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.czlis.common.utils.MessageUtils;
|
|||||||
import com.czlis.common.utils.SecurityUtils;
|
import com.czlis.common.utils.SecurityUtils;
|
||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.interfaceCommon.utils.CommonUtil;
|
import com.czlis.interfaceCommon.utils.CommonUtil;
|
||||||
|
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
||||||
import com.czlis.liswork.mapper.LisWorkMapper;
|
import com.czlis.liswork.mapper.LisWorkMapper;
|
||||||
|
|
||||||
|
|
||||||
@ -30,6 +31,9 @@ public class LisWorkServiceImpl implements LisWorkService {
|
|||||||
CommonUtil commonUtil;
|
CommonUtil commonUtil;
|
||||||
@Autowired
|
@Autowired
|
||||||
private InstrMapper instrMapper;
|
private InstrMapper instrMapper;
|
||||||
|
@Autowired
|
||||||
|
LoginConfigParamUtil loginConfigParamUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result getXmInfo(String yq) {
|
public Result getXmInfo(String yq) {
|
||||||
List<XmInfo> xmInfoList =commonUtil.getXmInfoList(yq);
|
List<XmInfo> xmInfoList =commonUtil.getXmInfoList(yq);
|
||||||
@ -42,6 +46,7 @@ public class LisWorkServiceImpl implements LisWorkService {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public Result getInstrdList(Long userId) {
|
public Result getInstrdList(Long userId) {
|
||||||
|
|
||||||
List<Map<String,Object>> comUsrpowerList = lisWorkMapper.getInstrdList(String.valueOf(userId));
|
List<Map<String,Object>> comUsrpowerList = lisWorkMapper.getInstrdList(String.valueOf(userId));
|
||||||
return new Result("0","获取仪器列表成功!",comUsrpowerList);
|
return new Result("0","获取仪器列表成功!",comUsrpowerList);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user