用户登录

This commit is contained in:
cwchen 2024-03-26 10:15:51 +08:00
parent 4e97cf0bc6
commit eab077b6ae
7 changed files with 78 additions and 7 deletions

View File

@ -0,0 +1,18 @@
package com.securitycontrol.system.api.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @authorcwchen
* @date2024-03-26-10:11
* @version1.0
* @description标段工程-VO
*/
@Data
public class BidProVo {
@ApiModelProperty("标段编码")
private String bidCode;
@ApiModelProperty("标段工程名称")
private String proName;
}

View File

@ -1,8 +1,12 @@
package com.securitycontrol.system.api.model;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.securitycontrol.system.api.domain.SysUser;
import io.swagger.annotations.ApiModelProperty;
/**
* 用户信息
@ -64,6 +68,10 @@ public class LoginUser implements Serializable
* */
private String iscUserId;
@ApiModelProperty("用户绑定标段工程")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<BidProVo> bidProVoList;
public static long getserialversionuid() {
return serialVersionUID;
}
@ -167,4 +175,12 @@ public class LoginUser implements Serializable
public void setIscUserId(String iscUserId) {
this.iscUserId = iscUserId;
}
public List<BidProVo> getBidProVoList() {
return bidProVoList;
}
public void setBidProVoList(List<BidProVo> bidProVoList) {
this.bidProVoList = bidProVoList;
}
}

View File

@ -47,7 +47,7 @@ public class TokenController {
@PostMapping("login")
public Result<?> login(@RequestBody LoginBody form) {
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(),null);
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(),form.getLoginType(),null);
// 获取登录token
return Result.ok(tokenService.createToken(userInfo),"登录成功");
}
@ -70,7 +70,7 @@ public class TokenController {
redisUtil.delete("userId:" + userId);
redisUtil.delete("ISCUserId:" + iscUser);
redisUtil.delete("userName:" + userName);
return Result.ok();
return Result.ok(null,"登出成功");
}

View File

@ -1,5 +1,7 @@
package com.securitycontrol.auth.form;
import io.swagger.annotations.ApiModelProperty;
/**
* 用户登录对象
*
@ -16,6 +18,9 @@ public class LoginBody{
*/
private String password;
@ApiModelProperty("1.省侧大屏 2.施工现场大屏 3.app")
private String loginType;
public String getUsername()
{
return username;
@ -35,4 +40,12 @@ public class LoginBody{
{
this.password = password;
}
public String getLoginType() {
return loginType;
}
public void setLoginType(String loginType) {
this.loginType = loginType;
}
}

View File

@ -1,8 +1,6 @@
package com.securitycontrol.auth.service;
import com.securitycontrol.system.api.domain.decision.SysMenu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.securitycontrol.common.core.constant.Constant;
import com.securitycontrol.common.core.constant.SecurityConstants;
import com.securitycontrol.common.core.domain.Result;
import com.securitycontrol.common.core.enums.UserStatus;
@ -10,9 +8,15 @@ import com.securitycontrol.common.core.exception.ServiceException;
import com.securitycontrol.common.core.utils.StringUtils;
import com.securitycontrol.system.api.RemoteUserService;
import com.securitycontrol.system.api.domain.SysUser;
import com.securitycontrol.system.api.domain.decision.SysMenu;
import com.securitycontrol.system.api.model.LoginUser;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 登录校验方法
@ -34,7 +38,7 @@ public class SysLoginService
/**
* 登录
*/
public LoginUser login(String username, String password,List<SysMenu> list)
public LoginUser login(String username, String password,String loginType,List<SysMenu> list)
{
// 用户名或密码为空 错误
if (StringUtils.isAnyBlank(username, password))
@ -70,7 +74,7 @@ public class SysLoginService
}
passwordService.validate(user, password);
Result<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER);
list=menu.getData();
list = handleMenuList(menu.getData(),loginType);
userInfo.getSysUser().setMenus(list);
recordLogService.recordLogininfor(username,null, "用户登录", null,1);
remoteUserService.updateUserLogin(user.getUserId(),SecurityConstants.INNER);
@ -82,4 +86,18 @@ public class SysLoginService
recordLogService.recordLogininfor(loginName,null, "用户登出", null,2);
}
public static List<SysMenu> handleMenuList(List<SysMenu> list,String loginType){
if(CollectionUtils.isEmpty(list)){
return list;
}
// 施工大屏菜单权限
if (Objects.equals(loginType, Constant.SG_SCREEN)) {
list = list.stream().filter(e -> Objects.equals(e.getMenuName(),Constant.SG_SCREEN_NAME)).collect(Collectors.toList());
} else {
// 后台菜单权限
list = list.stream().filter(e -> !Objects.equals(e.getMenuName(),Constant.SG_SCREEN_NAME)).collect(Collectors.toList());
}
return list;
}
}

View File

@ -35,6 +35,10 @@ public class Constant {
public final static String XL = "线路";
public final static String SG_SCREEN = "2";
public final static String SG_SCREEN_NAME = "施工大屏";
public final static String[] BUILD_ARR = {"12A0,合肥","12B0,马鞍山","12C0,芜湖","12D0,安庆","12F0,淮南",
"12G0,宣城","12H0,阜阳","12J0,铜陵","12L0,蚌埠","12M0,滁州","12N0,六安","12P0,淮北","12Q0,宿州","12R0,池州",
"12S0,黄山","12T0,亳州","12Z0,建设分公司"};

View File

@ -48,6 +48,8 @@ public class LoginController {
roles.add(sysUser.getRoleId().toString());
// 权限集合
Set<String> permissions = service.getMenuPermission(sysUser);
// 用户绑定标段工程
// service.getUserBandingBidPro();
LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser);
sysUserVo.setRoles(roles);