diff --git a/src/main/java/com/jmfy/controller/LoginController.java b/src/main/java/com/jmfy/controller/LoginController.java index 20bcd44..ab98874 100644 --- a/src/main/java/com/jmfy/controller/LoginController.java +++ b/src/main/java/com/jmfy/controller/LoginController.java @@ -27,7 +27,7 @@ public class LoginController { @Resource private CUserDao cUserDao; - private static final String ROOT = "root"; + public static final String ROOT = "root"; @GetMapping("/") public String index(@SessionAttribute(WebSecurityConfig.SESSION_KEY)String account,Model model){ diff --git a/src/main/java/com/jmfy/controller/SupportController.java b/src/main/java/com/jmfy/controller/SupportController.java index 279beba..caf0c83 100644 --- a/src/main/java/com/jmfy/controller/SupportController.java +++ b/src/main/java/com/jmfy/controller/SupportController.java @@ -3,6 +3,7 @@ package com.jmfy.controller; import com.jmfy.WebSecurityConfig; import com.jmfy.dao.*; import com.jmfy.model.*; +import com.jmfy.model.vo.PowersEnum; import com.jmfy.utils.*; import config.SRechargeCommodityConfig; import org.apache.poi.ss.formula.functions.Odd; @@ -25,6 +26,7 @@ import java.util.Map; * 扶持功能,申请和审核 * @author hj */ +@SuppressWarnings("ALL") @Controller public class SupportController { @@ -86,15 +88,20 @@ public class SupportController { @RequestMapping(value = "/sendRechargeGift",method = {RequestMethod.POST, RequestMethod.GET}) public @ResponseBody int sendRechargeGift(@RequestBody SupportOrder order, HttpSession session) throws Exception { - String useName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); - if(null!= useName){ + String userName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); + if(null != userName){ // 申请人 - order.setProposer(useName); + order.setProposer(userName); } SupportUser supportUser = supportUserDao.getSupportUser(order.getServerId(), order.getUserId(), order.getAccountId()); if (supportUser == null){ // gs账号不存在 - return 3; + return 0; + } + CAdmin admin = cUserDao.findAdmin(userName); + if (!supportUser.getProposer().equals(userName) && !admin.getSubAccount().contains(userName)){ + // 权限不足 + return 2; } order.setUserName(supportUser.getUserName()); order.setId(seqUtils.getSequence("support_order_id")); @@ -131,11 +138,16 @@ public class SupportController { // 订单存在验证 SupportOrder order = supportOrderDao.getSupportOrder(Integer.valueOf(id)); // 审核人 - String useName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); + String userName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); // 状态 int status = Integer.valueOf(parameterMap.get("status")); - return auditSupportOrder(order,useName,status); + // 权限查询 + CAdmin admin = cUserDao.findAdmin(userName); + if (!admin.getPowers().contains(PowersEnum.PASS_SUPPORT_PERMISSIONS.getId()) && status == 1){ + return 3; + } + return auditSupportOrder(order,userName,status); } /** @@ -148,15 +160,16 @@ public class SupportController { public @ResponseBody int batchUpdateSupportStatus(HttpSession session) throws Exception { // 审核人 - String useName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); - CAdmin admin = cUserDao.findAdmin(useName); - if (!admin.getPowers().contains(60)){ + String userName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); + CAdmin admin = cUserDao.findAdmin(userName); + if (!admin.getPowers().contains(PowersEnum.PASS_SUPPORT_PERMISSIONS.getId())){ // 没有权限 return 3; } - List orders = supportOrderDao.getSupportOrderListByProposer(useName); + List orders = supportOrderDao.getSupportOrderList(); + orders.removeIf(v-> !v.getProposer().equals(userName) && !admin.getSubAccount().contains(v.getProposer())); for (SupportOrder order : orders) { - int result = auditSupportOrder(order, useName, 1); + int result = auditSupportOrder(order, userName, 1); // 有订单失败,直接返回 if (result != SUCCEED){ return result ; @@ -171,8 +184,17 @@ public class SupportController { * @return */ @RequestMapping(value = "/auditSupport",method = {RequestMethod.POST, RequestMethod.GET}) - public String auditSupport(ModelMap map) throws Exception { + public String auditSupport(ModelMap map,HttpSession session) throws Exception { + // 获取当前操作着 + String username = (String) session.getAttribute("username"); + // 全部审核列表 List orderList = supportOrderDao.getSupportOrderList(); + // root账号可以查看全部,其他账号只能查看其自己和子账号 + if (!username.equals(LoginController.ROOT)){ + CAdmin admin = cUserDao.findAdmin(username); + // 非当前账号和非子账号得删除 + orderList.removeIf(v-> !v.getProposer().equals(username) && !admin.getSubAccount().contains(v.getProposer())); + } map.addAttribute("orderList",orderList); return "auditSupport"; } @@ -184,9 +206,17 @@ public class SupportController { * @throws Exception */ @RequestMapping(value = "/supportPlanList",method = {RequestMethod.POST, RequestMethod.GET}) - public String supportPlanList(ModelMap map) throws Exception { - // 服务器列表 + public String supportPlanList(ModelMap map,HttpSession session) throws Exception { + // 获取当前操作着 + String username = (String) session.getAttribute("username"); + // 全部审核列表 List orderList = supportOrderDao.getSupportOrderList(); + // root账号可以查看全部,其他账号只能查看其自己和子账号 + if (!username.equals(LoginController.ROOT)){ + CAdmin admin = cUserDao.findAdmin(username); + // 非当前账号和非子账号得删除 + orderList.removeIf(v-> !v.getProposer().equals(username) && !admin.getSubAccount().contains(v.getProposer())); + } map.addAttribute("orderList",orderList); return "supportPlanList"; } @@ -215,6 +245,7 @@ public class SupportController { * @param order * @param auditName * @param status + * 0:已申请,1:已通过,2:已驳回 * @return * @throws Exception */ @@ -223,11 +254,6 @@ public class SupportController { if (order == null || order.getStatus() != 0){ return 2; } - // 权限查询 - CAdmin admin = cUserDao.findAdmin(auditName); - if (!admin.getPowers().contains(60) && status == 1){ - return 3; - } // 发送数据到游戏服 if (status == 1){ int result = sendGmSupport(order); @@ -275,9 +301,16 @@ public class SupportController { * @return */ @RequestMapping(value = "/gsAccountManage",method = {RequestMethod.POST, RequestMethod.GET}) - public String gsAccountManage(ModelMap map) throws Exception { + public String gsAccountManage(ModelMap map,HttpSession session) throws Exception { + String username = (String)session.getAttribute("username"); // 获取用户列表 List userList = supportUserDao.getSupportUserList(); + // root账号可以查看全部,其他账号只能查看其自己和子账号 + if (!username.equals(LoginController.ROOT)){ + CAdmin admin = cUserDao.findAdmin(username); + // 非当前账号和非子账号得删除 + userList.removeIf(v-> !v.getProposer().equals(username) && !admin.getSubAccount().contains(v.getProposer())); + } //更新用户充值金额 updateUserRechargeMoney(userList); map.addAttribute("userList",userList); @@ -344,7 +377,7 @@ public class SupportController { String useName = (String) session.getAttribute(WebSecurityConfig.SESSION_KEY); // 权限查询 CAdmin admin = cUserDao.findAdmin(useName); - if (!admin.getPowers().contains(61)){ + if (!admin.getPowers().contains(PowersEnum.DELETE_SUPPORT_ACCOUNT_PERMISSIONS.getId())){ return 3; } diff --git a/src/main/resources/templates/applyForSupport.html b/src/main/resources/templates/applyForSupport.html index e3e6a2a..e8629db 100644 --- a/src/main/resources/templates/applyForSupport.html +++ b/src/main/resources/templates/applyForSupport.html @@ -200,10 +200,10 @@ layer.msg('申请扶持成功!', {icon: 6, time: 1000}); } if (data === 0) { - layer.msg('申请扶持失败!', {icon: 6, time: 1000}); + layer.msg('申请扶持失败 id错误,用户不存在', {icon: 6, time: 1000}); } - if (data === 3) { - layer.msg('申请扶持失败 id错误,用户不存在', {icon: 6, time: 2000}); + if (data === 2) { + layer.msg('申请扶持失败 权限不足', {icon: 6, time: 2000}); } } }) diff --git a/src/main/resources/templates/auditSupport.html b/src/main/resources/templates/auditSupport.html index 7295aa4..29786ad 100644 --- a/src/main/resources/templates/auditSupport.html +++ b/src/main/resources/templates/auditSupport.html @@ -94,6 +94,7 @@ success: function (data) { if (data === 1) { layer.msg('操作成功!', {icon: 6, time: 1000}); + window.location.reload(); } if (data === 0) { layer.msg('操作失败', {icon: 6, time: 1000}); @@ -119,6 +120,7 @@ success: function (data) { if (data === 1) { layer.msg('操作成功!', {icon: 6, time: 1000}); + window.location.reload(); } if (data === 0) { layer.msg('操作失败', {icon: 6, time: 1000});