package com.jmfy.controller; import com.google.gson.Gson; import com.jmfy.dao.CUserDao; import com.jmfy.model.CAdmin; import com.jmfy.model.CQuestionCoreBean; import com.jmfy.model.vo.CAdminVo; import com.jmfy.model.vo.CQuestSendVo; import com.jmfy.model.vo.PowersVo; import com.jmfy.redisProperties.RedisUserKey; import com.jmfy.utils.JsonUtil; import com.jmfy.utils.RedisUtil; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import com.jmfy.WebSecurityConfig; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.*; /** * 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") public String loginVerify(String userName,String password,HttpSession session,ModelMap map) throws Exception { CAdmin admin = cUserDao.findAdmin(userName); boolean verify = false; if (admin != null){ if (password.equals(admin.getPassword())) { verify = true; } } if (verify) { session.setAttribute(WebSecurityConfig.SESSION_KEY, userName); PowersVo powersVo = new PowersVo(); powersVo.setUserName(admin.getUserName()); updatePowers(powersVo,admin.getPowers()); map.put("powersVo",powersVo); return "index"; } else { return "redirect:/login"; } } private void updatePowers(PowersVo powersVo,List 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); powersVo.setShopItemFlow(0); powersVo.setQuestion(0); powersVo.setCheck(0); 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; case 11: powersVo.setShopItemFlow(0); break; case 12: powersVo.setQuestion(0); case 13: powersVo.setCheck(0); break; } } } @GetMapping("/logout") public String logout(HttpSession session){ session.removeAttribute(WebSecurityConfig.SESSION_KEY); return "redirect:/login"; } @PostMapping("/register") public @ResponseBody int register(HttpSession session, HttpServletRequest request) throws Exception { HashMap 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; } CAdmin cAdmin = new CAdmin(); cAdmin.setUserName(userName); cAdmin.setPassword(password); String[] powers = request.getParameterValues("power[]"); if (powers != null){ for (String prw : powers){ cAdmin.getPowers().add(Integer.valueOf(prw)); } } cUserDao.registerAdmin(cAdmin); // List adminList = cUserDao.findAdminList(); // map.addAttribute("adminList",adminList); return 0; } @RequestMapping(value = "/welcome", method = {RequestMethod.POST, RequestMethod.GET}) public String welcome() { return "welcome"; } @RequestMapping(value = "/findmemberlist", method = {RequestMethod.POST, RequestMethod.GET}) public String findmemberlist(ModelMap map) throws Exception { List adminList = cUserDao.findAdminList(); List cAdminVoList = new ArrayList<>(); for (CAdmin cAdmin:adminList){ CAdminVo cAdminVo = new CAdminVo(); cAdminVo.setUserName(cAdmin.getUserName()); String power; List 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 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; case 12: powers = "问卷"; break; case 13: powers = "审核"; break; } if (power.length() == 0) { power = new StringBuilder(powers); } else { power.append(",").append(powers); } } return power.toString(); } }