| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 | 
							- package com.td.WaDa;
 
- import com.td.WaDa.common.service.ComConfigService;
 
- import com.td.WaDa.game.comusers.service.ComUsersService;
 
- import com.td.WaDa.sys.sysmenu.vo.SysMenuVo;
 
- import com.td.WaDa.sys.syssetting.service.SysSettingService;
 
- import com.td.WaDa.sys.syssettinglimit.service.SysSettingLimitService;
 
- import com.td.WaDa.sys.syssettingtask.service.SysSettingTaskService;
 
- import com.td.WaDa.sys.sysshortcutmenu.service.SysShortcutMenuService;
 
- import com.td.WaDa.sys.sysshortcutmenu.vo.SysShortcutMenuVo;
 
- import com.td.WaDa.sys.sysuser.service.SysUserService;
 
- import com.td.WaDa.sys.sysuser.vo.SysUserVo;
 
- import com.td.WaDa.sys.sysusermenu.service.SysUserMenuService;
 
- import com.td.WaDa.util.*;
 
- import lombok.extern.slf4j.Slf4j;
 
- import org.springframework.beans.factory.annotation.Autowired;
 
- import org.springframework.beans.factory.annotation.Value;
 
- import org.springframework.boot.ApplicationRunner;
 
- import org.springframework.boot.SpringApplication;
 
- import org.springframework.boot.autoconfigure.SpringBootApplication;
 
- import org.springframework.cache.annotation.EnableCaching;
 
- import org.springframework.context.annotation.Bean;
 
- import org.springframework.context.annotation.Configuration;
 
- import org.springframework.scheduling.annotation.EnableAsync;
 
- import org.springframework.scheduling.annotation.EnableScheduling;
 
- import org.springframework.security.core.session.SessionRegistry;
 
- import org.springframework.security.core.session.SessionRegistryImpl;
 
- import org.springframework.stereotype.Controller;
 
- import org.springframework.web.bind.annotation.GetMapping;
 
- import org.springframework.web.bind.annotation.RequestMapping;
 
- import org.springframework.web.servlet.ModelAndView;
 
- import javax.imageio.ImageIO;
 
- import javax.servlet.http.HttpServletRequest;
 
- import javax.servlet.http.HttpServletResponse;
 
- import java.awt.*;
 
- import java.awt.image.BufferedImage;
 
- import java.io.IOException;
 
- import java.net.InetAddress;
 
- import java.net.UnknownHostException;
 
- import java.util.List;
 
- @EnableAsync//开启异步调用
 
- @EnableCaching// 开启缓存,需要显示的指定
 
- @EnableScheduling
 
- @SpringBootApplication
 
- public class BossApplication {
 
-     public static void main(String[] args) {
 
-         SpringApplication.run(BossApplication.class, args);
 
-     }
 
-     /**
 
-      * 解决不能注入session注册表问题
 
-      */
 
-     @Bean
 
-     SessionRegistry sessionRegistry() {
 
-         return new SessionRegistryImpl();
 
-     }
 
- }
 
- @Slf4j
 
- @Controller
 
- @RequestMapping("/")
 
- @Configuration
 
- class IndexController {
 
-     @Autowired
 
-     private SysUserService sysUserService;
 
-     @Autowired
 
-     private SysSettingService sysSettingService;
 
-     @Autowired
 
-     private SysSettingTaskService sysSettingTaskService;
 
-     @Autowired
 
-     private SysSettingLimitService sysSettingLimitService;
 
-     @Autowired
 
-     private RedisSettingMap redisSettingMap;
 
-     @Autowired
 
-     private SysUserMenuService sysUserMenuService;
 
-     @Autowired
 
-     private SysShortcutMenuService sysShortcutMenuService;
 
-     @Autowired
 
-     private ComUsersService comUsersService;
 
-     @Autowired
 
-     private ComConfigService comConfigService;
 
-     @Value("${server.servlet.context-path:}")
 
-     private String contextPath;
 
-     /**
 
-      * 端口
 
-      */
 
-     @Value("${server.port}")
 
-     private String port;
 
-     /**
 
-      * 启动成功
 
-      */
 
-     @Bean
 
-     public ApplicationRunner applicationRunner() {
 
-         return applicationArguments -> {
 
-             try {
 
-                 /**
 
-                  * 当启动时候,向主redis设置一次数据。
 
-                  */
 
-                 ////系统启动时获取数据库数据,设置到公用静态集合sysSettingMap
 
-                 ////SysSettingVo sysSettingVo = sysSettingService.get("1").getData();
 
-                 ////SysSettingUtil.setSysSettingMap(sysSettingVo);
 
-                 //redisSettingMap.updateSysSettingMap();
 
-                 //log.info(redisSettingMap.getSysSettingMap().toString());
 
-                 ////系统启动时获取数据库数据,设置到公用静态集合sysSettingTaskMap
 
-                 ////SysSettingTaskVo sysSettingTaskVo = sysSettingTaskService.get("1").getData();
 
-                 ////SysSettingTaskUtil.setSysSettingTaskMap(sysSettingTaskVo);
 
-                 //redisSettingMap.updateSysSettingTaskMap();
 
-                 //log.info(redisSettingMap.getSysSettingTaskMap().toString());
 
-                 ////限制登录ip
 
-                 ////SysSettingLimitVo sysSettingLimitVo = sysSettingLimitService.get("1").getData();
 
-                 ////SysSettingLimitUtil.setSysSettingLimitMap(sysSettingLimitVo);
 
-                 //redisSettingMap.updateSysSettingLimitMap();
 
-                 //log.info(redisSettingMap.getSysSettingLimitMap().toString());
 
-                 ////更新com config 的 Redis数据
 
-                 //comConfigService.updateList();
 
-                 ////更新com setting 的redis数据
 
-                 //redisSettingMap.updateComSettingMap();
 
-                 //获取本机内网IP
 
-                 log.info("启动成功:" + "http://" + InetAddress.getLocalHost().getHostAddress() + ":" + port + contextPath);
 
-             } catch (UnknownHostException e) {
 
-                 //输出到日志文件中
 
-                 log.error(ErrorUtil.errorInfoToString(e));
 
-             }
 
-         };
 
-     }
 
-     /**
 
-      * 跳转登录页面
 
-      */
 
-     @GetMapping("loginPage")
 
-     public ModelAndView login(){
 
-         ModelAndView modelAndView = new ModelAndView("login");
 
-         //系统信息 SysSettingUtil.getSysSetting()
 
-         modelAndView.addObject("sys",redisSettingMap.getSysSettingMap());
 
-         //系统审查信息 SysSettingTaskUtil.getSysSettingTask()
 
-         modelAndView.addObject("sysSettingTask", redisSettingMap.getSysSettingTaskMap());
 
-         //系统限制信息 SysSettingLimitUtil.getSysSettingLimit()
 
-         modelAndView.addObject("sysSettingLimit", redisSettingMap.getSysSettingLimitMap());
 
-         //后端公钥
 
-         String publicKey = RsaUtil.getPublicKey();
 
-         log.info("login后端公钥:" + publicKey);
 
-         modelAndView.addObject("publicKey", publicKey);
 
-         return modelAndView;
 
-     }
 
-     /**
 
-      * 跳转首页
 
-      */
 
-     @GetMapping("")
 
-     public void index1(HttpServletResponse response){
 
-         //内部重定向
 
-         try {
 
-             response.sendRedirect(contextPath+"/index");
 
-         } catch (IOException e) {
 
-             //输出到日志文件中
 
-             log.error(ErrorUtil.errorInfoToString(e));
 
-         }
 
-     }
 
-     @GetMapping("index")
 
-     public ModelAndView index(){
 
-         ModelAndView modelAndView = new ModelAndView("index");
 
-         //系统信息 SysSettingUtil.getSysSetting()
 
-         modelAndView.addObject("sys",redisSettingMap.getSysSettingMap());
 
-         //系统审查信息 SysSettingTaskUtil.getSysSettingTask()
 
-         modelAndView.addObject("sysSettingTask", redisSettingMap.getSysSettingTaskMap());
 
-         //系统限制信息 SysSettingLimitUtil.getSysSettingLimit()
 
-         modelAndView.addObject("sysSettingLimit", redisSettingMap.getSysSettingLimitMap());
 
-         //登录用户
 
-         SysUserVo sysUserVo = sysUserService.findByLoginName(SecurityUtil.getLoginUser().getUsername()).getData();
 
-         sysUserVo.setPassword(null);//隐藏部分属性
 
-         modelAndView.addObject( "loginUser", sysUserVo);
 
-         //登录用户系统菜单
 
-         List<SysMenuVo> menuVoList = sysUserMenuService.findByUserId(sysUserVo.getUserId()).getData();
 
-         modelAndView.addObject("menuList",menuVoList);
 
-         //登录用户快捷菜单
 
-         List<SysShortcutMenuVo> shortcutMenuVoList= sysShortcutMenuService.findByUserId(sysUserVo.getUserId()).getData();
 
-         modelAndView.addObject("shortcutMenuList",shortcutMenuVoList);
 
-         //后端公钥
 
-         String publicKey = RsaUtil.getPublicKey();
 
-         log.info("index后端公钥:" + publicKey);
 
-         modelAndView.addObject("publicKey", publicKey);
 
-         //获取一个全平台的用户数据
 
-         Long allComUserCount =  comUsersService.findAllCount();
 
-         modelAndView.addObject("allComUserCount", allComUserCount);
 
-         Long todayComUserCount = comUsersService.newToday();
 
-         modelAndView.addObject("todayComUserCount", todayComUserCount);
 
-         return modelAndView;
 
-     }
 
-     /**
 
-      * 获取验证码图片和文本(验证码文本会保存在HttpSession中)
 
-      */
 
-     @RequestMapping("getVerifyCodeImage")
 
-     public void getVerifyCodeImage(HttpServletRequest request, HttpServletResponse response) throws IOException {
 
-         //设置页面不缓存
 
-         response.setHeader("Pragma", "no-cache");
 
-         response.setHeader("Cache-Control", "no-cache");
 
-         response.setDateHeader("Expires", 0);
 
-         response.getOutputStream();
 
-         String verifyCode = VerifyCodeImageUtil.generateTextCode(VerifyCodeImageUtil.TYPE_NUM_UPPER, 4, null);
 
-         //将验证码放到HttpSession里面
 
-         request.getSession().setAttribute("verifyCode", verifyCode);
 
-          log.info("本次生成的验证码为:" + verifyCode + ",已存放到HttpSession中");
 
-         //设置输出的内容的类型为JPEG图像
 
-         response.setContentType("image/jpeg");
 
-         BufferedImage bufferedImage = VerifyCodeImageUtil.generateImageCode(verifyCode, 90, 30, 3, true, Color.WHITE, Color.BLACK, null);
 
-         //写给浏览器
 
-         ImageIO.write(bufferedImage, "JPEG", response.getOutputStream());
 
-     }
 
-     /**
 
-      * 跳转实时系统硬件监控
 
-      */
 
-     @GetMapping("monitor")
 
-     public ModelAndView monitor() {
 
-         return new ModelAndView("monitor.html","port",port);
 
-     }
 
-     /**
 
-      * 跳转实时日志
 
-      */
 
-     @GetMapping("logging")
 
-     public ModelAndView logging() {
 
-         return new ModelAndView("logging.html","port",port);
 
-     }
 
- }
 
 
  |