This commit is contained in:
parent
b46253ddff
commit
c794562fa4
|
|
@ -5,6 +5,8 @@ import java.util.List;
|
|||
import javax.validation.constraints.*;
|
||||
|
||||
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.ToStringStyle;
|
||||
|
||||
|
|
@ -104,6 +106,14 @@ public class SysUser extends BaseEntity {
|
|||
* */
|
||||
private String iscUserId;
|
||||
|
||||
@ApiModelProperty("用户绑定标段工程")
|
||||
private List<BidProVo> bidProVoList;
|
||||
|
||||
@ApiModelProperty("跳转页面类型")
|
||||
private String jumpType;
|
||||
|
||||
@ApiModelProperty("角色编码")
|
||||
private String roleCode;
|
||||
|
||||
public String getIsAdmin() {
|
||||
return isAdmin;
|
||||
|
|
@ -418,6 +428,30 @@ public class SysUser extends BaseEntity {
|
|||
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
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
|
|
|||
|
|
@ -68,9 +68,6 @@ public class LoginUser implements Serializable
|
|||
* */
|
||||
private String iscUserId;
|
||||
|
||||
@ApiModelProperty("用户绑定标段工程")
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
private List<BidProVo> bidProVoList;
|
||||
|
||||
public static long getserialversionuid() {
|
||||
return serialVersionUID;
|
||||
|
|
@ -176,11 +173,4 @@ public class LoginUser implements Serializable
|
|||
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.security.service.TokenService;
|
||||
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 io.jsonwebtoken.Claims;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* token 控制
|
||||
|
|
@ -44,7 +46,6 @@ public class TokenController {
|
|||
private SysRecordLogService recordLogService;
|
||||
|
||||
|
||||
|
||||
@PostMapping("login")
|
||||
public Result<?> login(@RequestBody LoginBody form) {
|
||||
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getLoginType(), null);
|
||||
|
|
@ -55,6 +56,7 @@ public class TokenController {
|
|||
|
||||
/**
|
||||
* 本地推出登录
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -73,13 +75,27 @@ public class TokenController {
|
|||
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);
|
||||
Result<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER);
|
||||
list = handleMenuList(menu.getData(),loginType);
|
||||
user.setJumpType(loginType);
|
||||
userInfo.getSysUser().setMenus(list);
|
||||
recordLogService.recordLogininfor(username,null, "用户登录", null,1);
|
||||
remoteUserService.updateUserLogin(user.getUserId(),SecurityConstants.INNER);
|
||||
|
|
@ -91,7 +92,7 @@ public class SysLoginService
|
|||
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());
|
||||
} else {
|
||||
// 后台菜单权限
|
||||
|
|
|
|||
|
|
@ -37,6 +37,13 @@ public class Constant {
|
|||
|
||||
public final static String SG_SCREEN = "2";
|
||||
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,淮南",
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
|
|||
// 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) {
|
||||
for (String excludeUrl : EXCLUDE_URLS) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.securitycontrol.system.controller;
|
||||
|
||||
import com.securitycontrol.common.core.constant.Constant;
|
||||
import com.securitycontrol.common.core.domain.Result;
|
||||
import com.securitycontrol.common.core.utils.ServletUtils;
|
||||
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.system.api.domain.SysUser;
|
||||
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.service.LoginService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 系统用户登录
|
||||
|
|
@ -49,11 +48,23 @@ public class LoginController {
|
|||
// 权限集合
|
||||
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();
|
||||
sysUserVo.setSysUser(sysUser);
|
||||
sysUserVo.setRoles(roles);
|
||||
sysUserVo.setPermissions(permissions);
|
||||
sysUser.setBidProVoList(bidProVoList);
|
||||
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.decision.SysMenu;
|
||||
import com.securitycontrol.system.api.model.BidProVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
|
|
@ -48,4 +49,15 @@ public interface LoginMapper {
|
|||
* @param 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.decision.SysMenu;
|
||||
import com.securitycontrol.system.api.model.BidProVo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
|
@ -44,4 +45,15 @@ public interface LoginService {
|
|||
* @param 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.decision.SysMenu;
|
||||
import com.securitycontrol.system.api.model.BidProVo;
|
||||
import com.securitycontrol.system.mapper.LoginMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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 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,
|
||||
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
|
||||
LEFT JOIN sys_role sr ON su.role_id = sr.role_id
|
||||
where su.del_flag=0 AND su.login_name=#{username}
|
||||
</select>
|
||||
<!--查询用户已分配的权限-->
|
||||
|
|
@ -33,4 +35,28 @@
|
|||
ORDER BY sm.menu_sort ASC
|
||||
|
||||
</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>
|
||||
Loading…
Reference in New Issue