2019-04-08 17:29:02 +08:00
|
|
|
package com.jmfy.controller;
|
|
|
|
|
|
2019-11-05 14:35:25 +08:00
|
|
|
import com.jmfy.WebSecurityConfig;
|
2019-04-08 17:29:02 +08:00
|
|
|
import com.jmfy.dao.CUserDao;
|
|
|
|
|
import com.jmfy.model.CAdmin;
|
2019-05-11 11:21:43 +08:00
|
|
|
import com.jmfy.model.vo.CAdminVo;
|
|
|
|
|
import com.jmfy.model.vo.PowersVo;
|
|
|
|
|
import com.jmfy.utils.JsonUtil;
|
2019-04-08 17:29:02 +08:00
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
|
import org.springframework.ui.Model;
|
2019-05-11 11:21:43 +08:00
|
|
|
import org.springframework.ui.ModelMap;
|
2019-04-08 17:29:02 +08:00
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
2019-05-11 11:21:43 +08:00
|
|
|
import javax.servlet.http.HttpServletRequest;
|
2020-11-18 17:02:50 +08:00
|
|
|
import javax.servlet.http.HttpServletResponse;
|
2019-04-08 17:29:02 +08:00
|
|
|
import javax.servlet.http.HttpSession;
|
2020-11-18 17:02:50 +08:00
|
|
|
import java.io.PrintWriter;
|
2019-11-05 14:35:25 +08:00
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
2019-04-08 17:29:02 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Created by huangds on 2017/10/24.
|
|
|
|
|
*/
|
|
|
|
|
@Controller
|
|
|
|
|
public class LoginController {
|
|
|
|
|
@Resource
|
|
|
|
|
private CUserDao cUserDao;
|
|
|
|
|
@GetMapping("/")
|
|
|
|
|
public String index(@SessionAttribute(WebSecurityConfig.SESSION_KEY)String account,Model model){
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/login")
|
|
|
|
|
public String login(){
|
|
|
|
|
return "login";
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-05 14:35:25 +08:00
|
|
|
@RequestMapping(value = "/loginVerify", method = {RequestMethod.POST, RequestMethod.GET})
|
2019-05-11 11:21:43 +08:00
|
|
|
public String loginVerify(String userName,String password,HttpSession session,ModelMap map) throws Exception {
|
2019-04-08 17:29:02 +08:00
|
|
|
CAdmin admin = cUserDao.findAdmin(userName);
|
|
|
|
|
boolean verify = false;
|
2019-04-12 14:24:24 +08:00
|
|
|
if (admin != null){
|
|
|
|
|
if (password.equals(admin.getPassword())) {
|
|
|
|
|
verify = true;
|
|
|
|
|
}
|
2019-04-08 17:29:02 +08:00
|
|
|
}
|
|
|
|
|
if (verify) {
|
|
|
|
|
session.setAttribute(WebSecurityConfig.SESSION_KEY, userName);
|
2019-05-11 11:21:43 +08:00
|
|
|
PowersVo powersVo = new PowersVo();
|
2019-05-11 14:28:13 +08:00
|
|
|
powersVo.setUserName(admin.getUserName());
|
2019-05-11 11:21:43 +08:00
|
|
|
updatePowers(powersVo,admin.getPowers());
|
|
|
|
|
map.put("powersVo",powersVo);
|
2019-04-08 17:29:02 +08:00
|
|
|
return "index";
|
|
|
|
|
} else {
|
|
|
|
|
return "redirect:/login";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-05 14:35:25 +08:00
|
|
|
|
2019-05-11 11:21:43 +08:00
|
|
|
private void updatePowers(PowersVo powersVo,List<Integer> powerList) {
|
|
|
|
|
if (powerList.size() ==0){
|
|
|
|
|
powersVo.setServerInfo(0);
|
|
|
|
|
powersVo.setNoticeInfo(0);
|
|
|
|
|
powersVo.setCDKinfo(0);
|
|
|
|
|
powersVo.setFlowInfo(0);
|
|
|
|
|
powersVo.setGMinfo(0);
|
|
|
|
|
powersVo.setUserInfo(0);
|
|
|
|
|
powersVo.setFamilyInfo(0);
|
|
|
|
|
powersVo.setArenaInfo(0);
|
|
|
|
|
powersVo.setTitleGame(0);
|
|
|
|
|
powersVo.setAdminList(0);
|
2019-05-17 16:58:39 +08:00
|
|
|
powersVo.setShopItemFlow(0);
|
2019-09-04 10:00:56 +08:00
|
|
|
powersVo.setQuestion(0);
|
2019-09-17 09:35:22 +08:00
|
|
|
powersVo.setCheck(0);
|
2020-07-30 02:52:05 +08:00
|
|
|
powersVo.setChatInfo(0);
|
2019-05-11 11:21:43 +08:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
for (Integer str : powerList) {
|
|
|
|
|
switch (str) {
|
|
|
|
|
case 1:
|
|
|
|
|
powersVo.setServerInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
powersVo.setNoticeInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
powersVo.setCDKinfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
powersVo.setFlowInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
powersVo.setGMinfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 6:
|
|
|
|
|
powersVo.setUserInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
powersVo.setFamilyInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
powersVo.setArenaInfo(0);
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
powersVo.setTitleGame(0);
|
|
|
|
|
break;
|
|
|
|
|
case 10:
|
|
|
|
|
powersVo.setAdminList(0);
|
|
|
|
|
break;
|
2019-05-17 16:58:39 +08:00
|
|
|
case 11:
|
|
|
|
|
powersVo.setShopItemFlow(0);
|
|
|
|
|
break;
|
2019-09-04 10:00:56 +08:00
|
|
|
case 12:
|
|
|
|
|
powersVo.setQuestion(0);
|
2020-07-30 02:52:05 +08:00
|
|
|
break;
|
2019-09-17 09:35:22 +08:00
|
|
|
case 13:
|
|
|
|
|
powersVo.setCheck(0);
|
2019-09-04 10:00:56 +08:00
|
|
|
break;
|
2020-07-30 02:52:05 +08:00
|
|
|
case 14:
|
|
|
|
|
powersVo.setChatInfo(0);
|
|
|
|
|
break;
|
2019-05-11 11:21:43 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2019-04-08 17:29:02 +08:00
|
|
|
@GetMapping("/logout")
|
|
|
|
|
public String logout(HttpSession session){
|
|
|
|
|
session.removeAttribute(WebSecurityConfig.SESSION_KEY);
|
|
|
|
|
return "redirect:/login";
|
|
|
|
|
}
|
|
|
|
|
|
2019-05-11 11:21:43 +08:00
|
|
|
@PostMapping("/register")
|
|
|
|
|
public @ResponseBody int register(HttpSession session, HttpServletRequest request) throws Exception {
|
|
|
|
|
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
|
|
|
|
String userName = parameterMap.get("userName");
|
|
|
|
|
String password = parameterMap.get("password");
|
|
|
|
|
CAdmin admin = cUserDao.findAdmin(userName);
|
|
|
|
|
if (admin != null){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
2019-04-08 17:29:02 +08:00
|
|
|
CAdmin cAdmin = new CAdmin();
|
2019-05-11 11:21:43 +08:00
|
|
|
cAdmin.setUserName(userName);
|
|
|
|
|
cAdmin.setPassword(password);
|
|
|
|
|
String[] powers = request.getParameterValues("power[]");
|
|
|
|
|
if (powers != null){
|
|
|
|
|
for (String prw : powers){
|
|
|
|
|
cAdmin.getPowers().add(Integer.valueOf(prw));
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-04-08 17:29:02 +08:00
|
|
|
cUserDao.registerAdmin(cAdmin);
|
2019-05-11 11:21:43 +08:00
|
|
|
// List<CAdmin> adminList = cUserDao.findAdminList();
|
|
|
|
|
// map.addAttribute("adminList",adminList);
|
|
|
|
|
return 0;
|
2019-04-08 17:29:02 +08:00
|
|
|
}
|
|
|
|
|
@RequestMapping(value = "/welcome", method = {RequestMethod.POST, RequestMethod.GET})
|
|
|
|
|
public String welcome() {
|
|
|
|
|
|
|
|
|
|
return "welcome";
|
|
|
|
|
}
|
2019-05-11 11:21:43 +08:00
|
|
|
@RequestMapping(value = "/findmemberlist", method = {RequestMethod.POST, RequestMethod.GET})
|
|
|
|
|
public String findmemberlist(ModelMap map) throws Exception {
|
|
|
|
|
List<CAdmin> adminList = cUserDao.findAdminList();
|
|
|
|
|
List<CAdminVo> cAdminVoList = new ArrayList<>();
|
|
|
|
|
for (CAdmin cAdmin:adminList){
|
|
|
|
|
CAdminVo cAdminVo = new CAdminVo();
|
|
|
|
|
cAdminVo.setUserName(cAdmin.getUserName());
|
|
|
|
|
String power;
|
|
|
|
|
List<Integer> powerList = cAdmin.getPowers();
|
|
|
|
|
if (powerList.size() != 0) {
|
|
|
|
|
power = getPower(powerList);
|
|
|
|
|
} else {
|
|
|
|
|
power = "管理员,所有权限";
|
|
|
|
|
|
|
|
|
|
}
|
2020-11-18 17:02:50 +08:00
|
|
|
cAdminVo.setId(cAdmin.getId());
|
2019-05-11 11:21:43 +08:00
|
|
|
cAdminVo.setPowers(power);
|
|
|
|
|
cAdminVoList.add(cAdminVo);
|
|
|
|
|
}
|
|
|
|
|
map.addAttribute("adminList",cAdminVoList);
|
|
|
|
|
return "member-list";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getPower(List<Integer> powerList) {
|
|
|
|
|
StringBuilder power = new StringBuilder();
|
|
|
|
|
for (Integer str : powerList) {
|
|
|
|
|
String powers = "";
|
|
|
|
|
switch (str) {
|
|
|
|
|
case 1:
|
|
|
|
|
powers = "服务器管理";
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
powers = "公告管理";
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
powers = "序列號管理";
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
powers = "流水日誌管理";
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
powers = "GM管理";
|
|
|
|
|
break;
|
|
|
|
|
case 6:
|
|
|
|
|
powers = "個人信息管理";
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
powers = "宗門信息管理";
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
powers = "排行榜管理";
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
powers = "封號/解封/禁言/解封";
|
|
|
|
|
break;
|
|
|
|
|
case 10:
|
|
|
|
|
powers = "用户管理";
|
|
|
|
|
break;
|
2019-09-17 09:35:22 +08:00
|
|
|
case 12:
|
|
|
|
|
powers = "问卷";
|
|
|
|
|
break;
|
|
|
|
|
case 13:
|
|
|
|
|
powers = "审核";
|
|
|
|
|
break;
|
2020-07-30 02:52:05 +08:00
|
|
|
case 14:
|
|
|
|
|
powers = "聊天记录管理";
|
|
|
|
|
break;
|
2019-05-11 11:21:43 +08:00
|
|
|
}
|
|
|
|
|
if (power.length() == 0) {
|
|
|
|
|
power = new StringBuilder(powers);
|
|
|
|
|
} else {
|
|
|
|
|
power.append(",").append(powers);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return power.toString();
|
|
|
|
|
}
|
2019-04-08 17:29:02 +08:00
|
|
|
|
2020-11-18 17:02:50 +08:00
|
|
|
@RequestMapping(value = "/deleteUser", method = {RequestMethod.POST, RequestMethod.GET})
|
|
|
|
|
public void deleteUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
|
|
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
|
|
|
|
String id = parameterMap.get("id");
|
|
|
|
|
if (id == null || id.isEmpty()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
CAdmin adminById = cUserDao.findAdminById(id);
|
|
|
|
|
if (adminById == null || "root".equals(adminById.getUserName())) {
|
|
|
|
|
response.setStatus(-2);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
String userName = (String) request.getSession().getAttribute("username");
|
|
|
|
|
if (!"root".equals(userName)) {
|
|
|
|
|
response.setStatus(-3);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
cUserDao.delUser(adminById);
|
|
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
|
|
response.setContentType("application/json; charset=utf-8");
|
|
|
|
|
response.sendRedirect("/findmemberlist");
|
|
|
|
|
PrintWriter out = response.getWriter();
|
|
|
|
|
out.flush();
|
|
|
|
|
}
|
2019-09-10 16:17:18 +08:00
|
|
|
|
2019-04-08 17:29:02 +08:00
|
|
|
}
|