miduo_gm/src/main/java/com/jmfy/controller/LoginController.java

220 lines
7.0 KiB
Java
Raw Normal View History

2019-04-08 17:29:02 +08:00
package com.jmfy.controller;
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 com.jmfy.WebSecurityConfig;
import javax.annotation.Resource;
2019-05-11 11:21:43 +08:00
import javax.servlet.http.HttpServletRequest;
2019-04-08 17:29:02 +08:00
import javax.servlet.http.HttpSession;
2019-05-11 11:21:43 +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";
}
@PostMapping("/loginVerify")
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-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-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);
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 = "管理员,所有权限";
}
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;
}
if (power.length() == 0) {
power = new StringBuilder(powers);
} else {
power.append(",").append(powers);
}
}
return power.toString();
}
2019-04-08 17:29:02 +08:00
}