Browse Source

新增当事人权限列表

anderx 3 years ago
parent
commit
4463552eee

+ 34 - 1
src/main/java/com/goafanti/common/controller/BaseController.java

@@ -3,13 +3,17 @@ package com.goafanti.common.controller;
 import java.text.DateFormat;
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
+import com.goafanti.common.utils.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.propertyeditors.CustomDateEditor;
 import org.springframework.core.io.support.ResourcePropertySource;
@@ -53,6 +57,8 @@ public class BaseController {
 
 	@Value(value = "${avatar.upload.host}")
 	private String					avatarUploadHost	= null;
+	@Autowired
+	private RedisUtil redisUtil;
 
 	protected Error buildError(String key) {
 		return buildError(key, null);
@@ -71,7 +77,7 @@ public class BaseController {
 
 	/**
 	 * 带参数的error message
-	 * 
+	 *
 	 * @param key
 	 * @param message
 	 * @param object
@@ -130,8 +136,35 @@ public class BaseController {
 			model.addAttribute("userName", TokenManager.getAdminToken().getName());
 			model.addAttribute("departmentId", TokenManager.getAdminToken().getDepartmentId());
 			model.addAttribute("isAdmin", true);
+			model.addAttribute("shiroList", getshiroList());
+
 		}
 	}
 
+	private String getshiroList() {
+		String shiroList = redisUtil.getString("shiroList");
+		if (StringUtils.isBlank(shiroList)){
+			shiroList=shiroAddRedis();
+		}
+		return shiroList;
+	}
+
+	public String shiroAddRedis() {
+		redisUtil.deleteString("shiroList");
+		StringBuffer str=new StringBuffer();
+		if (TokenManager.hasRole(AFTConstants.SALESMAN))str=str.append(1).append(",");
+		if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER))str=str.append(2).append(",");
+		if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN))str=str.append(3).append(",");
+		if (TokenManager.hasRole(AFTConstants.SALESMAN_DIRECTOR))str=str.append(4).append(",");
+		if (TokenManager.hasRole(AFTConstants.FINANCE))str=str.append(5).append(",");
+		if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER))str=str.append(6).append(",");
+		if (TokenManager.hasRole(AFTConstants.FINANCE_ADMIN))str=str.append(7).append(",");
+		if (TokenManager.hasRole(AFTConstants.TECH))str=str.append(8).append(",");
+		if (TokenManager.hasRole(AFTConstants.TECH_MANAGER))str=str.append(9).append(",");
+		if (TokenManager.hasRole(AFTConstants.TECH_ADMIN))str=str.append(10).append(",");
+		String shiroList=str.substring(0,str.length()-1);
+		redisUtil.setString("shiroList",shiroList);
+		return shiroList;
+	}
 
 }

+ 1 - 0
src/main/java/com/goafanti/user/controller/UserLoginController.java

@@ -117,6 +117,7 @@ public class UserLoginController extends BaseController {
 		res.setData(TokenManager.manageLogin(admin, remember));
 		Admin a =adminMapper.selectByMobile(admin.getMobile());
 		if (a!=null) {
+			shiroAddRedis();
 			a.setLastLoginTime(new Date());
 			adminMapper.updateByPrimaryKeySelective(a);
 		}

+ 6 - 5
src/main/webapp/WEB-INF/views/common.html

@@ -66,21 +66,21 @@
 							<li><a
 								th:href="${basePath + '/portal/contactUs.html'}">联系我们</a>
 							</li>
-					</ol></li>						
+					</ol></li>
 					<!-- <li><a href="#">科技活动</a></li> <li><a href="#">平台共建</a></li> 	-->
 				</ul>
 			</div>
 			<div class="nav_right" th:if="${!isLogin}">
 				<a th:href="${basePath + '/user/signIn.html'}"> <img
 					th:src="${portalHost+'/img/index_resiter.png'}" alt="" />
-				</a> 
-				<a href="javascript:;" class="head_login">登录</a> 
+				</a>
+				<a href="javascript:;" class="head_login">登录</a>
 				<div></div>
 			</div>
 			<div class="nav_right" th:if="${isLogin}">
 				<a th:href="${basePath + (isAdmin? '/admin/index.html':'/user/account/index.html')}"
-					th:text="${#strings.isEmpty(userName)?'个人中心':userName}">个人中心</a> 
-				<a th:href="${basePath + '/user/logout'}">退出</a> 
+					th:text="${#strings.isEmpty(userName)?'个人中心':userName}">个人中心</a>
+				<a th:href="${basePath + '/user/logout'}">退出</a>
 				<a th:href="${basePath + '/portal/aboutUs.html'}">关于公司</a>
 				<div></div>
 			</div>
@@ -368,6 +368,7 @@
 				isSuperAdmin : /*[[${shiro.hasRole('999999')}]]*/false,
 				isApprovalDecision : /*[[${shiro.hasRole('99999')}]]*/false,
 				isLegal: /*[[${shiro.hasRole('82')}]]*/false,
+				shiroList:/*[[${shiroList}]]*/'',
 			}
 			/*]]>*/
 		</script>