This commit is contained in:
parent
b46253ddff
commit
c794562fa4
|
|
@ -5,6 +5,8 @@ import java.util.List;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
||||||
|
import com.securitycontrol.system.api.model.BidProVo;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
|
@ -104,6 +106,14 @@ public class SysUser extends BaseEntity {
|
||||||
* */
|
* */
|
||||||
private String iscUserId;
|
private String iscUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("用户绑定标段工程")
|
||||||
|
private List<BidProVo> bidProVoList;
|
||||||
|
|
||||||
|
@ApiModelProperty("跳转页面类型")
|
||||||
|
private String jumpType;
|
||||||
|
|
||||||
|
@ApiModelProperty("角色编码")
|
||||||
|
private String roleCode;
|
||||||
|
|
||||||
public String getIsAdmin() {
|
public String getIsAdmin() {
|
||||||
return isAdmin;
|
return isAdmin;
|
||||||
|
|
@ -418,6 +428,30 @@ public class SysUser extends BaseEntity {
|
||||||
this.iscUserId = iscUserId;
|
this.iscUserId = iscUserId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<BidProVo> getBidProVoList() {
|
||||||
|
return bidProVoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBidProVoList(List<BidProVo> bidProVoList) {
|
||||||
|
this.bidProVoList = bidProVoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJumpType() {
|
||||||
|
return jumpType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJumpType(String jumpType) {
|
||||||
|
this.jumpType = jumpType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoleCode() {
|
||||||
|
return roleCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoleCode(String roleCode) {
|
||||||
|
this.roleCode = roleCode;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,6 @@ public class LoginUser implements Serializable
|
||||||
* */
|
* */
|
||||||
private String iscUserId;
|
private String iscUserId;
|
||||||
|
|
||||||
@ApiModelProperty("用户绑定标段工程")
|
|
||||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
|
||||||
private List<BidProVo> bidProVoList;
|
|
||||||
|
|
||||||
public static long getserialversionuid() {
|
public static long getserialversionuid() {
|
||||||
return serialVersionUID;
|
return serialVersionUID;
|
||||||
|
|
@ -176,11 +173,4 @@ public class LoginUser implements Serializable
|
||||||
this.iscUserId = iscUserId;
|
this.iscUserId = iscUserId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BidProVo> getBidProVoList() {
|
|
||||||
return bidProVoList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBidProVoList(List<BidProVo> bidProVoList) {
|
|
||||||
this.bidProVoList = bidProVoList;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,18 +10,20 @@ import com.securitycontrol.common.core.utils.JwtUtils;
|
||||||
import com.securitycontrol.common.redis.service.RedisService;
|
import com.securitycontrol.common.redis.service.RedisService;
|
||||||
import com.securitycontrol.common.security.service.TokenService;
|
import com.securitycontrol.common.security.service.TokenService;
|
||||||
import com.securitycontrol.common.security.utils.SecurityUtils;
|
import com.securitycontrol.common.security.utils.SecurityUtils;
|
||||||
import com.securitycontrol.system.api.domain.SysUser;
|
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
|
||||||
import com.securitycontrol.system.api.model.LoginUser;
|
import com.securitycontrol.system.api.model.LoginUser;
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
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.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* token 控制
|
* token 控制
|
||||||
|
|
@ -44,7 +46,6 @@ public class TokenController {
|
||||||
private SysRecordLogService recordLogService;
|
private SysRecordLogService recordLogService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("login")
|
@PostMapping("login")
|
||||||
public Result<?> login(@RequestBody LoginBody form) {
|
public Result<?> login(@RequestBody LoginBody form) {
|
||||||
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getLoginType(), null);
|
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getLoginType(), null);
|
||||||
|
|
@ -55,6 +56,7 @@ public class TokenController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本地推出登录
|
* 本地推出登录
|
||||||
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -73,13 +75,27 @@ public class TokenController {
|
||||||
return Result.ok(null, "登出成功");
|
return Result.ok(null, "登出成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param request
|
||||||
|
* @return Result<?>
|
||||||
|
* @description 省侧大屏跳转施工大屏 调用后台返回用户信息
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2024/3/26 18:10
|
||||||
|
*/
|
||||||
|
@GetMapping("pageJump")
|
||||||
|
public Result<?> pageJump(HttpServletRequest request) {
|
||||||
|
Map<String, Object> map = new HashMap<>(2);
|
||||||
|
try {
|
||||||
|
String jwtToken = SecurityUtils.getToken(request);
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
// 获取登录token
|
||||||
|
map.put("us", loginUser);
|
||||||
|
map.put("access_token", jwtToken);
|
||||||
|
return Result.ok(map, "校验成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("省侧大屏跳转施工大屏 用户数据获取", e);
|
||||||
|
return Result.fail("校验失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ public class SysLoginService
|
||||||
passwordService.validate(user, password);
|
passwordService.validate(user, password);
|
||||||
Result<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER);
|
Result<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER);
|
||||||
list = handleMenuList(menu.getData(),loginType);
|
list = handleMenuList(menu.getData(),loginType);
|
||||||
|
user.setJumpType(loginType);
|
||||||
userInfo.getSysUser().setMenus(list);
|
userInfo.getSysUser().setMenus(list);
|
||||||
recordLogService.recordLogininfor(username,null, "用户登录", null,1);
|
recordLogService.recordLogininfor(username,null, "用户登录", null,1);
|
||||||
remoteUserService.updateUserLogin(user.getUserId(),SecurityConstants.INNER);
|
remoteUserService.updateUserLogin(user.getUserId(),SecurityConstants.INNER);
|
||||||
|
|
@ -91,7 +92,7 @@ public class SysLoginService
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
// 施工大屏菜单权限
|
// 施工大屏菜单权限
|
||||||
if (Objects.equals(loginType, Constant.SG_SCREEN)) {
|
if (Objects.equals(loginType, Constant.SG_SCREEN) || Objects.equals(loginType, Constant.SC_SCREEN)) {
|
||||||
list = list.stream().filter(e -> Objects.equals(e.getMenuName(),Constant.SG_SCREEN_NAME)).collect(Collectors.toList());
|
list = list.stream().filter(e -> Objects.equals(e.getMenuName(),Constant.SG_SCREEN_NAME)).collect(Collectors.toList());
|
||||||
} else {
|
} else {
|
||||||
// 后台菜单权限
|
// 后台菜单权限
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,13 @@ public class Constant {
|
||||||
|
|
||||||
public final static String SG_SCREEN = "2";
|
public final static String SG_SCREEN = "2";
|
||||||
public final static String SG_SCREEN_NAME = "施工大屏";
|
public final static String SG_SCREEN_NAME = "施工大屏";
|
||||||
|
public final static String SC_SCREEN = "1";
|
||||||
|
public final static String SC_SCREEN_NAME = "省侧大屏";
|
||||||
|
public final static String ADMINISTRATORS = "administrators";
|
||||||
|
public final static String MANAGER = "manager";
|
||||||
|
public final static String DUTY = "duty";
|
||||||
|
public final static String CITY = "city";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static String[] BUILD_ARR = {"12A0,合肥","12B0,马鞍山","12C0,芜湖","12D0,安庆","12F0,淮南",
|
public final static String[] BUILD_ARR = {"12A0,合肥","12B0,马鞍山","12C0,芜湖","12D0,安庆","12F0,淮南",
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
|
||||||
// IResourceService resourceService = (IResourceService) AdapterFactory.getInstance(Constants.CLASS_RESOURCE);
|
// IResourceService resourceService = (IResourceService) AdapterFactory.getInstance(Constants.CLASS_RESOURCE);
|
||||||
|
|
||||||
|
|
||||||
public static final String[] EXCLUDE_URLS = {"/sys/pro/addPro","/sys/pro/editPro","/sys/pro/importProData","/back/personnel/addPersonnel","/back/personnel/editPersonnel"};
|
public static final String[] EXCLUDE_URLS = {"/sys/pro/addPro","/sys/pro/editPro","/sys/pro/importProData","/back/personnel/addPersonnel","/back/personnel/editPersonnel","/pageJump"};
|
||||||
|
|
||||||
public boolean isFileUpload(HttpServletRequest request) {
|
public boolean isFileUpload(HttpServletRequest request) {
|
||||||
for (String excludeUrl : EXCLUDE_URLS) {
|
for (String excludeUrl : EXCLUDE_URLS) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.securitycontrol.system.controller;
|
package com.securitycontrol.system.controller;
|
||||||
|
|
||||||
|
import com.securitycontrol.common.core.constant.Constant;
|
||||||
import com.securitycontrol.common.core.domain.Result;
|
import com.securitycontrol.common.core.domain.Result;
|
||||||
import com.securitycontrol.common.core.utils.ServletUtils;
|
import com.securitycontrol.common.core.utils.ServletUtils;
|
||||||
import com.securitycontrol.common.core.utils.StringUtils;
|
import com.securitycontrol.common.core.utils.StringUtils;
|
||||||
|
|
@ -7,15 +8,13 @@ import com.securitycontrol.common.core.utils.ip.IpUtils;
|
||||||
import com.securitycontrol.common.security.annotation.InnerAuth;
|
import com.securitycontrol.common.security.annotation.InnerAuth;
|
||||||
import com.securitycontrol.system.api.domain.SysUser;
|
import com.securitycontrol.system.api.domain.SysUser;
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
||||||
|
import com.securitycontrol.system.api.model.BidProVo;
|
||||||
import com.securitycontrol.system.api.model.LoginUser;
|
import com.securitycontrol.system.api.model.LoginUser;
|
||||||
import com.securitycontrol.system.service.LoginService;
|
import com.securitycontrol.system.service.LoginService;
|
||||||
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 java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统用户登录
|
* 系统用户登录
|
||||||
|
|
@ -49,11 +48,23 @@ public class LoginController {
|
||||||
// 权限集合
|
// 权限集合
|
||||||
Set<String> permissions = service.getMenuPermission(sysUser);
|
Set<String> permissions = service.getMenuPermission(sysUser);
|
||||||
// 用户绑定标段工程
|
// 用户绑定标段工程
|
||||||
// service.getUserBandingBidPro();
|
String roleCode = sysUser.getRoleCode();
|
||||||
|
List<BidProVo> bidProVoList = null;
|
||||||
|
if(Objects.equals(roleCode, Constant.ADMINISTRATORS)){
|
||||||
|
// 管理员
|
||||||
|
bidProVoList = service.getUserBandingBidPro(null,1);
|
||||||
|
}else if(Objects.equals(roleCode, Constant.MANAGER)){
|
||||||
|
// 施工项目经理
|
||||||
|
bidProVoList = service.getUserBandingBidPro(String.valueOf(sysUser.getUserId()),2);
|
||||||
|
}else if(Objects.equals(roleCode, Constant.CITY)){
|
||||||
|
// 地市值班员
|
||||||
|
bidProVoList = service.getUserBandingBidPro(sysUser.getOrgId(),3);
|
||||||
|
}
|
||||||
LoginUser sysUserVo = new LoginUser();
|
LoginUser sysUserVo = new LoginUser();
|
||||||
sysUserVo.setSysUser(sysUser);
|
sysUserVo.setSysUser(sysUser);
|
||||||
sysUserVo.setRoles(roles);
|
sysUserVo.setRoles(roles);
|
||||||
sysUserVo.setPermissions(permissions);
|
sysUserVo.setPermissions(permissions);
|
||||||
|
sysUser.setBidProVoList(bidProVoList);
|
||||||
return Result.ok(sysUserVo);
|
return Result.ok(sysUserVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.securitycontrol.system.mapper;
|
||||||
|
|
||||||
import com.securitycontrol.system.api.domain.SysUser;
|
import com.securitycontrol.system.api.domain.SysUser;
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
||||||
|
import com.securitycontrol.system.api.model.BidProVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
|
@ -48,4 +49,15 @@ public interface LoginMapper {
|
||||||
* @param ip
|
* @param ip
|
||||||
*/
|
*/
|
||||||
void updateUserLogin(@Param("userId") String userId, @Param("ip") String ip);
|
void updateUserLogin(@Param("userId") String userId, @Param("ip") String ip);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户绑定的标段工程
|
||||||
|
* @param param
|
||||||
|
* @param type
|
||||||
|
* @return List<BidProVo>
|
||||||
|
* @description
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2024/3/26 10:20
|
||||||
|
*/
|
||||||
|
List<BidProVo> getUserBandingBidPro(@Param("param") String param,@Param("type") int type);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.securitycontrol.system.service;
|
||||||
|
|
||||||
import com.securitycontrol.system.api.domain.SysUser;
|
import com.securitycontrol.system.api.domain.SysUser;
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
||||||
|
import com.securitycontrol.system.api.model.BidProVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
@ -44,4 +45,15 @@ public interface LoginService {
|
||||||
* @param ip
|
* @param ip
|
||||||
*/
|
*/
|
||||||
void updateUserLogin(String userId, String ip);
|
void updateUserLogin(String userId, String ip);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户绑定的标段工程
|
||||||
|
* @param param
|
||||||
|
* @param type
|
||||||
|
* @return List<BidProVo>
|
||||||
|
* @description
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2024/3/26 10:18
|
||||||
|
*/
|
||||||
|
List<BidProVo> getUserBandingBidPro(String param,int type);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.securitycontrol.system.service;
|
||||||
|
|
||||||
import com.securitycontrol.system.api.domain.SysUser;
|
import com.securitycontrol.system.api.domain.SysUser;
|
||||||
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
import com.securitycontrol.system.api.domain.decision.SysMenu;
|
||||||
|
import com.securitycontrol.system.api.model.BidProVo;
|
||||||
import com.securitycontrol.system.mapper.LoginMapper;
|
import com.securitycontrol.system.mapper.LoginMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -85,4 +86,15 @@ public class LoginServiceImpl implements LoginService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BidProVo> getUserBandingBidPro(String param,int type) {
|
||||||
|
List<BidProVo> list = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
list = mapper.getUserBandingBidPro(param,type);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("获取用户绑定标段工程",e);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,12 @@
|
||||||
<!--查询用户角色-->
|
<!--查询用户角色-->
|
||||||
<select id="selectUserByUserName" parameterType="String" resultType="com.securitycontrol.system.api.domain.SysUser">
|
<select id="selectUserByUserName" parameterType="String" resultType="com.securitycontrol.system.api.domain.SysUser">
|
||||||
select user_id userId,user_name userName,login_name nickName,
|
select user_id userId,user_name userName,login_name nickName,
|
||||||
`password`,org_id,dept_name deptName,org_name orgName,is_admin,role_id roleId,
|
`password`,org_id,dept_name deptName,org_name orgName,is_admin,sr.role_id roleId,
|
||||||
user_type userType,login_type loginType,status,
|
user_type userType,login_type loginType,status,
|
||||||
role_name roleName,phone,su.login_ip loginIp,su.login_name login_time
|
sr.role_name roleName,phone,su.login_ip loginIp,su.login_name login_time,
|
||||||
|
sr.role_code AS roleCode
|
||||||
FROM sys_user su
|
FROM sys_user su
|
||||||
|
LEFT JOIN sys_role sr ON su.role_id = sr.role_id
|
||||||
where su.del_flag=0 AND su.login_name=#{username}
|
where su.del_flag=0 AND su.login_name=#{username}
|
||||||
</select>
|
</select>
|
||||||
<!--查询用户已分配的权限-->
|
<!--查询用户已分配的权限-->
|
||||||
|
|
@ -33,4 +35,28 @@
|
||||||
ORDER BY sm.menu_sort ASC
|
ORDER BY sm.menu_sort ASC
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
<!--获取用户绑定的标段工程 1.管理员 2.项目经理 3.地市值班员-->
|
||||||
|
<select id="getUserBandingBidPro" resultType="com.securitycontrol.system.api.model.BidProVo">
|
||||||
|
<if test="type == 1">
|
||||||
|
SELECT tp.bid_code AS bidCode,
|
||||||
|
tp.pro_name AS proName
|
||||||
|
FROM tb_project tp
|
||||||
|
ORDER BY plan_start_time
|
||||||
|
</if>
|
||||||
|
<if test="type == 2">
|
||||||
|
SELECT tup.bid_cod AS bidCode,
|
||||||
|
tp.pro_name AS proName
|
||||||
|
FROM tb_user_pro tup
|
||||||
|
LEFT JOIN tb_project tp on tup.bid_cod = tp.bid_code
|
||||||
|
WHERE tup.user_id = #{param}
|
||||||
|
ORDER BY tup.times
|
||||||
|
</if>
|
||||||
|
<if test="type == 3">
|
||||||
|
SELECT tp.bid_code AS bidCode,
|
||||||
|
tp.pro_name AS proName
|
||||||
|
FROM tb_project tp
|
||||||
|
WHERE tp.org = #{param}
|
||||||
|
ORDER BY plan_start_time
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue