package cn.ksource.web.controller; import cn.ksource.beans.GG_USER; import cn.ksource.core.license.AESUtil; import cn.ksource.core.license.LicenseController; import cn.ksource.core.util.*; import cn.ksource.core.web.LoginUser; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.SysConstants; import cn.ksource.web.controller.business.pages.xtpz.sjzd.address.AddressFacade; import cn.ksource.web.entity.LoginEntity; import cn.ksource.web.entity.PermissionEntity; import cn.ksource.web.facade.BusinessFacade; import cn.ksource.web.facade.JsglFacade; import cn.ksource.web.facade.fileManage.DocFacade; import cn.ksource.web.facade.sys.SysPtVersionFacade; import de.schlichtherle.license.LicenseContent; import sun.misc.BASE64Decoder; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; @Controller @RequestMapping("/business/") public class BusinessController { @Resource(name="businessFacade") private BusinessFacade businessFacade; @Resource(name="addressFacade") private AddressFacade addressFacade; @Autowired private SysPtVersionFacade sysPtVersionFacade; @Autowired private JsglFacade jsglFacade; @Autowired private DocFacade docFacade; @RequestMapping("sysinfo.html") public ModelAndView onSysInfoPageLoad(HttpServletRequest request,HttpServletResponse response){ return new ModelAndView("/business/sysinfo"); } @RequestMapping(value="login.html",method=RequestMethod.GET) public ModelAndView onLoginLoad(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/login"); view.addObject("qqurl", QQUtil.getAuthorizationCodeUrl()); view.addObject("wechaturl", WechatUtil.getAuthorizationCodeUrl("123")); return view; } /** * 管理员登录 * @param request * @param response * @return * @version V1.0.0 * @author 杨凯 * @date Feb 23, 2014 1:06:51 PM */ @RequestMapping(value="login.html",method=RequestMethod.POST) public ModelAndView onLoginSubmit(HttpServletRequest request,HttpServletResponse response){ String type = request.getParameter("type"); if(!StringUtil.notEmpty(type)) { String checkCode = request.getParameter("checkCode"); //验证码错误 if (StringUtils.isBlank(checkCode) || !StringUtils.equalsIgnoreCase(checkCode, (String)request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY))) { return new ModelAndView("redirect:/business/login.html?err=2"); } } String username = request.getParameter("username"); String password = request.getParameter("password"); String client_ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doUserLogin(username, password, client_ip); if (entity.isLoginSuccess()) { ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } //是否默认密码 if (entity.isDefaultPassword()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/changePwd.html"); } return new ModelAndView("redirect:/business/login.html?err="+entity.getResult()); } private ModelAndView getMainView(HttpServletRequest request, LoginEntity entity) { LoginUser loginUser = new LoginUser(); loginUser.setLoginUser(entity.getUser()); PermissionEntity permissionEntity = entity.getPermissionEntity(); loginUser.setYjgnList(permissionEntity.getYjgnList()); loginUser.setGnMap(permissionEntity.getGnMap()); loginUser.setPermissionMap(permissionEntity.getQxMap()); loginUser.setEjgnMap(permissionEntity.getEjgnMap()); request.getSession().setAttribute(SysConstants.LOGIN_INFO_KEY, loginUser); Map userMap = WebUtil.getLoginUser(request).getLoginUser(); List allList = loginUser.getYjgnList(); Map linkMap = permissionEntity.getLinkMap(); loginUser.setLinkMap(linkMap); request.getSession().setAttribute(SysConstants.YJGN, allList); //用户角色 Map roleMap = businessFacade.getRoleMapByUserId(ConvertUtil.obj2StrBlank(entity.getUser().get("ID"))); loginUser.setRoleMap(roleMap); System.out.println(loginUser.getRoles()); userMap.put("roles", loginUser.getRoles()); request.getSession().setAttribute("loguser", userMap); String VERSION_CODE=businessFacade.getV(); request.getSession().setAttribute("VERSION_CODE", VERSION_CODE); ModelAndView view = new ModelAndView(); //默认地址 String url = "/business/pages/desktop/defaultDesk.html"; List roles = jsglFacade.getRolesByUserId(WebUtil.getLoginedUserId(request), 1); if(roles.size()>1){ url = "/business/pages/desktop/selDesk.html"; }else if(roles.size()==1){ String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify")); if (StringUtil.isNotBlank(identify)) { url = Constants.getINDEX(identify); } } view.setViewName("redirect:"+url); //ModelAndView view = new ModelAndView(); return view; } @RequestMapping(value="changePwd.html",method=RequestMethod.GET) public ModelAndView onChangePwdLoad(HttpServletRequest request,HttpServletResponse response){ return new ModelAndView("/business/changePwd"); } @RequestMapping(value="changePwd.html",method=RequestMethod.POST) public ModelAndView onChangePwdSubmit(HttpServletRequest request,HttpServletResponse response){ String password = request.getParameter("password"); Map userMap = (Map)request.getSession().getAttribute("temp_userMap"); LoginEntity entity = businessFacade.doChangePwdSubmit(userMap.get("LOGINNAME").toString(), password); if (entity.isLoginSuccess()) { ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } request.getSession().removeAttribute("temp_userMap"); return new ModelAndView("redirect:/business/pages/main.html"); } @RequestMapping(value="Logined.html") public ModelAndView onLoginedPageLoad(HttpServletRequest request,HttpServletResponse response){ Map userMap = (Map)request.getSession().getAttribute("temp_userMap"); return new ModelAndView("/business/Logined","user",userMap); } @RequestMapping(value="KickedOut.html") public ModelAndView onKickedOutLoad(HttpServletRequest request,HttpServletResponse response){ Map userMap = (Map)request.getSession().getAttribute("temp_userMap"); String ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doKickedOutSubmit(userMap.get("LOGINNAME").toString(), ip); request.getSession().removeAttribute("temp_userMap"); ModelAndView view = getMainView(request, entity); return view; } @RequestMapping("LoginFailure.html") public ModelAndView onLogOut(HttpServletRequest request,HttpServletResponse response){ response.setHeader("Cache-Control", "no-cache"); HttpSession session = request.getSession(); session.removeAttribute(SysConstants.LOGIN_INFO_KEY); session.invalidate(); return new ModelAndView("/business/LoginFailure",SysConstants.login_Failure_Err_Message,"正在退出登录..."); } @RequestMapping("logout.html") public ModelAndView logout(HttpServletRequest request,HttpServletResponse response){ HttpSession session = request.getSession(); session.removeAttribute(SysConstants.LOGIN_INFO_KEY); session.invalidate(); ModelAndView view = new ModelAndView("redirect:/business/login.html"); return view; } /** * 无权限使用此功能 * @param request * @param response * @return * @version V1.0.0 * @author 杨凯 * @date Jan 13, 2014 5:10:25 PM */ @RequestMapping("nopermission.html") public ModelAndView nopermission(HttpServletRequest request,HttpServletResponse response){ return new ModelAndView("/business/nopermission"); } @RequestMapping(value = "remote.html",method=RequestMethod.GET) public void onRemote(HttpServletRequest request,HttpServletResponse response){ String name = request.getParameter("name"); Map map = new HashMap(); if (StringUtils.equalsIgnoreCase(name, "1")) { map.put("name", "杨凯"); } else { map.put("name", "杨凯1222312313"); } map.put("age", "20"); map.put("address", "河南郑州市"); map.put("aaa", "23"); String json = JsonUtil.map2Json(map); WebUtil.write(response, json); } /** * 查询地区三级分类树 */ @RequestMapping("areaSelector.html") public String areaSelector(Model model,HttpServletRequest request) { //查询三级树形结构 String areaId = request.getParameter("areaId"); @SuppressWarnings("rawtypes") List trees = addressFacade.getAreaTree(areaId); model.addAttribute("trees", trees); return "/business/pages/xtgl/xtpz/sjzd/address/areaSelector"; } /** * QQ登录回调页面 * @param request * @param response * @return */ @RequestMapping("loginCallBack.html") public ModelAndView getCallBack(HttpServletRequest request,HttpServletResponse response){ ModelAndView view1 = new ModelAndView("/business/loginCallBack"); String code = request.getParameter("code"); if(StringUtil.notEmpty(code)) { String accessTokenUrl = QQUtil.getAccessTokenUrl(code); String result = HttpUtil.doGet(accessTokenUrl, null, HttpCharset.UTF8); System.out.println("result---------->"+result); if(StringUtil.notEmpty(result) && result.contains("access_token")) { String[] arr = result.split("&"); Map resultMap = new HashMap(); for(String str : arr) { String[] msg = str.split("="); resultMap.put(msg[0], msg[1]); } String access_token = resultMap.get("access_token"); String openIdUrl = QQUtil.getOpenIdUrl(access_token); String openIdResult = HttpUtil.doGet(openIdUrl, null, HttpCharset.UTF8); System.out.println("access_token-------------->"+access_token+"=============openIdResult-------------->"+openIdResult); if(openIdResult.contains("callback") && openIdResult.contains("openid")) { String json = openIdResult.substring(openIdResult.indexOf("(")+1, openIdResult.lastIndexOf(")")); Map jsonMap = JsonUtil.json2Map(json); String openId = ConvertUtil.obj2StrBlank(jsonMap.get("openid")); System.out.println("openId------------------->"+openId); //通过QQ的openId判断用户是否已经绑定过 Map msg = businessFacade.queryUserMsgByQQ(openId); if(null==msg || msg.size()==0) { ModelAndView modelAndView = new ModelAndView("/business/qqBind"); //获取用户昵称信息 String userInfoUrl = QQUtil.getUserInfoUrl(access_token, openId); System.out.println("userInfoUrl-------------->"+userInfoUrl); String userInfo = HttpUtil.doGet(userInfoUrl, null, HttpCharset.UTF8); Map user = JsonUtil.json2Map(userInfo); String nickname = ConvertUtil.obj2StrBlank(user.get("nickname")); modelAndView.addObject("nickname", nickname); modelAndView.addObject("openid",openId); return modelAndView; } String loginName = ConvertUtil.obj2StrBlank(msg.get("LOGINNAME")); String client_ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doQQUserLogin(loginName,client_ip); if (entity.isLoginSuccess()) { ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } ModelAndView modelAndView = new ModelAndView("redirect:/business/login.html"); Map err = new HashMap(); err.put("err", entity.getResult()); request.getSession().setAttribute("err", err); return modelAndView; } } } return view1; } @RequestMapping(value="qqBind.html",method=RequestMethod.POST) public ModelAndView qqBinds(HttpServletRequest request,HttpServletResponse response){ ModelAndView modelAndView = new ModelAndView("/business/qqBind"); String openid = request.getParameter("openid"); String username = request.getParameter("username"); String password = request.getParameter("password"); String nickname = request.getParameter("nickname"); modelAndView.addObject("nickname", nickname); modelAndView.addObject("openid",openid); modelAndView.addObject("username", username); modelAndView.addObject("password", password); Map err = new HashMap(); String client_ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doUserLogin(username, password, client_ip); if (entity.isLoginSuccess()) { //判断该账户是否已经绑定过QQ Map user = entity.getUser(); String qqOpenId = ConvertUtil.obj2StrBlank(user.get("QQ_OPEN_ID")); if(StringUtil.notEmpty(qqOpenId)) { modelAndView.addObject("err", "该账号已经绑定过QQ"); return modelAndView; } //执行绑定操作 GG_USER gg_user = new GG_USER(); gg_user.setId(ConvertUtil.obj2StrBlank(user.get("ID"))); gg_user.setQq_open_id(openid).setQq(nickname); gg_user.update(); ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } //是否默认密码 if (entity.isDefaultPassword()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); //判断加盟商是否已经进行了系统初始化操作,如果没有,需要初始化基础数据 request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/changePwd.html"); } modelAndView.addObject("err", LoginEntity.Login_Result_Info.get(entity.getResult())); return modelAndView; } /** * 微信登录回调页面 * @param request * @param response * @return */ @RequestMapping("wechatCallBack.html") public ModelAndView wechatCallBack(HttpServletRequest request,HttpServletResponse response){ ModelAndView view1 = new ModelAndView("/business/loginCallBack"); String code = request.getParameter("code"); if(StringUtil.notEmpty(code)) { String accessTokenUrl = WechatUtil.getAccessTokenUrl(code); String result = HttpUtil.doGet(accessTokenUrl, null, HttpCharset.UTF8); System.out.println("result---------->"+result); if(StringUtil.notEmpty(result) && result.contains("access_token")) { Map resultMap = JsonUtil.json2Map(result); String access_token = ConvertUtil.obj2StrBlank(resultMap.get("access_token")); String openId = ConvertUtil.obj2StrBlank(resultMap.get("openid")); System.out.println("openId------------------->"+openId); //通过QQ的openId判断用户是否已经绑定过 Map msg = businessFacade.queryUserMsgByWechat(openId); if(null==msg || msg.size()==0) { ModelAndView modelAndView = new ModelAndView("/business/qqBind"); //获取用户昵称信息 String userInfoUrl = WechatUtil.getUserInfoUrl(access_token, openId); System.out.println("userInfoUrl-------------->"+userInfoUrl); String userInfo = HttpUtil.doGet(userInfoUrl, null, HttpCharset.UTF8); Map user = JsonUtil.json2Map(userInfo); String nickname = ConvertUtil.obj2StrBlank(user.get("nickname")); modelAndView.addObject("nickname", nickname); modelAndView.addObject("openid",openId); return modelAndView; } String loginName = ConvertUtil.obj2StrBlank(msg.get("LOGINNAME")); String client_ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doQQUserLogin(loginName,client_ip); if (entity.isLoginSuccess()) { ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } ModelAndView modelAndView = new ModelAndView("redirect:/business/login.html"); Map err = new HashMap(); err.put("err", entity.getResult()); request.getSession().setAttribute("err", err); return modelAndView; } } return view1; } @RequestMapping(value="wechatBind.html",method=RequestMethod.POST) public ModelAndView wechatBind(HttpServletRequest request,HttpServletResponse response){ ModelAndView modelAndView = new ModelAndView("/business/wechatBind"); String openid = request.getParameter("openid"); String username = request.getParameter("username"); String password = request.getParameter("password"); String nickname = request.getParameter("nickname"); modelAndView.addObject("nickname", nickname); modelAndView.addObject("openid",openid); modelAndView.addObject("username", username); modelAndView.addObject("password", password); Map err = new HashMap(); String client_ip = IPUtil.getIpAddr(request); LoginEntity entity = businessFacade.doUserLogin(username, password, client_ip); if (entity.isLoginSuccess()) { //判断该账户是否已经绑定过QQ Map user = entity.getUser(); String wechatLoginOpenId = ConvertUtil.obj2StrBlank(user.get("WECHAT_LOGIN_OPEN_ID")); if(StringUtil.notEmpty(wechatLoginOpenId)) { modelAndView.addObject("err", "该账号已经绑定过微信"); return modelAndView; } //执行绑定操作 GG_USER gg_user = new GG_USER(); gg_user.setId(ConvertUtil.obj2StrBlank(user.get("ID"))); gg_user.setWechat_login_open_id(openid).setWechat_nickname(nickname); gg_user.update(); ModelAndView view = getMainView(request, entity); return view; } //已经登录 if (entity.isAlreadyLogined()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/Logined.html"); } //是否默认密码 if (entity.isDefaultPassword()) { request.getSession().setAttribute("temp_userMap", entity.getUser()); //判断加盟商是否已经进行了系统初始化操作,如果没有,需要初始化基础数据 request.getSession().setAttribute("temp_userMap", entity.getUser()); return new ModelAndView("redirect:/business/changePwd.html"); } modelAndView.addObject("err", LoginEntity.Login_Result_Info.get(entity.getResult())); return modelAndView; } /** * 忘记密码 * @param request * @param response * @return */ @RequestMapping(value="findPwd.html",method=RequestMethod.GET) public ModelAndView findPwd(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/findPwd"); return view; } /** * 通过用户名查询加盟商用户名是否存在 */ @RequestMapping("queryUser.html") public void queryUser(HttpServletRequest request,HttpServletResponse response) { String username = request.getParameter("param"); Map map = businessFacade.queryUserByName(username); Map resultMap = new HashMap(); if(null!=map&&map.size()>0) { resultMap.put("info", "用户名输入正确"); resultMap.put("status", "y"); } else { resultMap.put("info", "用户名不存在"); resultMap.put("status", "n"); } WebUtil.write(response, JsonUtil.map2Json(resultMap)); } /** * 判断验证码是否正确 */ @RequestMapping("checkCode.html") public void checkCode(HttpServletResponse response,HttpServletRequest request) { //获取验证码 String checkCode = request.getParameter("param"); Map map = new HashMap(); if (StringUtil.notEmpty(checkCode) && (StringUtils.equalsIgnoreCase(checkCode, (String) request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY)))) { map.put("info", "验证码输入正确"); map.put("status", "y"); } else { map.put("info", "验证码输入错误"); map.put("status", "n"); } WebUtil.write(response, JsonUtil.map2Json(map)); } /** * 进入到身份验证页面 */ @RequestMapping(value="vaildPage.html",method=RequestMethod.POST) public ModelAndView validPage(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/vaildPage"); String username = request.getParameter("username"); Map map = businessFacade.queryUserByName(username); modelAndView.addObject("user", map); request.getSession().setAttribute("username", username); return modelAndView; } /** * 进入到身份验证页面 */ @RequestMapping(value="sendfindpwd.html",method=RequestMethod.POST) public void sendfindpwd(HttpServletRequest request,HttpServletResponse response) { String typename = request.getParameter("typename"); String type = request.getParameter("type"); String result = ""; String random = StringUtil.randomNumber(6); request.getSession().setAttribute("random", random); System.out.println(random); if("1".equals(type)){ if(StringUtil.notEmpty(typename)) { String[] emails = new String[]{typename}; String title = Constants.company_name+"忘记密码验证"; String content = ""; try { boolean flag = EmailUtil.sendEmail(emails, title, content, null); if(flag){ result = "0"; }else{ result = "发送失败"; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }else{ String message = SMSUtil.getfindpwdCodeMsg(random); //System.out.println(message); try { result = SMSUtil.sendSMS(message,typename ); result = "0"; if(!result.equals("0")) { result = "发送失败"; } } catch (Exception e) { result = "发送失败"; } } WebUtil.write(response, result); } /** * 判断验证码是否正确 */ @RequestMapping("checkfindpwdCode.html") public void checkfindpwdCode(HttpServletResponse response,HttpServletRequest request) { //获取验证码 String checkCode = request.getParameter("param"); String sessionRandom = (String)request.getSession().getAttribute("random"); Map map = new HashMap(); if (StringUtil.notEmpty(checkCode) && checkCode.equals(sessionRandom)) { map.put("info", "验证码输入正确"); map.put("status", "y"); } else { map.put("info", "验证码输入错误"); map.put("status", "n"); } WebUtil.write(response, JsonUtil.map2Json(map)); } /** * 跳转到加盟商重置密码页面 */ @RequestMapping(value="confirmCheck.html",method=RequestMethod.POST) public ModelAndView confirmCheck(HttpServletResponse response,HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/resetPwd"); String checkCode = request.getParameter("checkCode"); if(checkCode.equals(request.getSession().getAttribute("random"))) { request.getSession().removeAttribute("random"); //获取用户的邮箱信息 Map map = businessFacade.queryUserByName((String)request.getSession().getAttribute("username")); String email = ConvertUtil.obj2StrBlank(map.get("EMAIL")); String phone = ConvertUtil.obj2StrBlank(map.get("SJHM")); //将邮箱地址放入到session中 request.getSession().setAttribute("email", email); request.getSession().setAttribute("phone", phone); //生成隐式验证码 String random = StringUtil.randomNumber(6); request.getSession().setAttribute("random", random); modelAndView.addObject("random", random); return modelAndView; } return new ModelAndView("/business/error/404"); } /** * 加盟商重置密码 */ @RequestMapping(value="resetPwd.html",method=RequestMethod.POST) public void resetPwd(HttpServletResponse response,HttpServletRequest request) { String random = request.getParameter("random"); String password = request.getParameter("password"); String sessionRandom = (String)request.getSession().getAttribute("random"); request.getSession().removeAttribute("random"); Map resultMap = new HashMap(); if(random.equals(sessionRandom)) { //通过用户名和邮箱重新查询用户信息,以免在此过程中恶意修改用户名或者邮箱 String username = (String)request.getSession().getAttribute("username"); String email = (String)request.getSession().getAttribute("email"); String phone = (String)request.getSession().getAttribute("phone"); if(StringUtil.isEmpty(email)){ email = phone; } boolean b = businessFacade.doResetPwd(username,email,password); if(b) { resultMap.put("status", "0"); resultMap.put("msg", "success"); } else { resultMap.put("status", "1"); resultMap.put("msg", "找回密码失败
请联系我们的客服人员"); } WebUtil.write(response, JsonUtil.map2Json(resultMap)); } } /** * 文件下载 */ @RequestMapping(value="fileDownload.html") public void fileDownload(HttpServletResponse response,HttpServletRequest request) { Map fileMsg=docFacade.queryFileMsg(request.getParameter("id")); if(null!=fileMsg && fileMsg.size()>0) { String fileName = ConvertUtil.obj2StrBlank(fileMsg.get("FILE_NAME")); String filePath = ConvertUtil.obj2StrBlank(fileMsg.get("FILE_PATH")); String basePath = request.getSession().getServletContext().getRealPath(""); System.out.println("path------------------------>"+basePath+filePath); File file = new File(basePath+filePath); try { DownloadUtil.download(response, file, fileName, false); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 测试网络拓扑 */ @RequestMapping("topo.html") public ModelAndView topo(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/topo/topo"); return modelAndView; } @RequestMapping("getJsonData.html") public void getJsonData(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/topo/testData"); String json =businessFacade.getJsonData(); WebUtil.write(response, json); } @RequestMapping("saveData.html") public void saveData(HttpServletRequest request,HttpServletResponse response) { String relations = request.getParameter("relations"); System.out.println("relations--------------->"+relations); String nodes = request.getParameter("nodes"); System.out.println("nodes----------------->"+nodes); boolean result = businessFacade.saveData(relations,nodes); WebUtil.write(response, "1"); } public static void main(String[] args) { System.out.println("fdd3372e-b102-4b1f-bd6c-140c843d".length()); } /** * app下载页面 */ @RequestMapping("appdown.html") public ModelAndView appdown(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/appdown"); return modelAndView; } @RequestMapping("testEhcache.html") public void testEhcache(HttpServletRequest request,HttpServletResponse response) { String result = businessFacade.testEhache(); WebUtil.write(response, result); } /** * 文件下载 */ @RequestMapping("appdownload.html") public void appdownload(HttpServletRequest request,HttpServletResponse response) { String basePath = request.getSession().getServletContext().getRealPath(""); File file = new File(basePath+"/upload/app/larks_base.apk"); try { DownloadUtil.download(response, file, "larks_base.apk", false); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 页脚弹出版本信息详情页面 * */ @RequestMapping("ptVersionInfo.html") public ModelAndView ptVersionInfo(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/include/ptVersionInfo"); view.addObject("info", sysPtVersionFacade.getCurrentVersion()); return view; } /** * 加载页脚版本号 * */ @RequestMapping("loadVersion.html") public void loadVersion(HttpServletResponse response) { Map info = sysPtVersionFacade.getCurrentVersion(); String versionCode = new String(); if(StringUtil.notEmpty(info.get("VERSION_CODE"))){ versionCode = info.get("VERSION_CODE"); } WebUtil.write(response, versionCode); } @RequestMapping("licenseErr.html") public String licenseErr(Model model){ InetAddrUtil util = new InetAddrUtil(); try { String ip = util.getLocIp(); InetAddress ia = InetAddress.getLocalHost(); String mac = util.getLocalMacByIp(ia); String code = ip + ";" + mac; System.out.println("========"+mac); System.out.println("========"+ip); //加密 byte[] encryptResult = AESUtil.encrypt(code, Constants.AES_PWD); String encryptCode = AESUtil.parseByte2HexStr(encryptResult); model.addAttribute("encryptCode", encryptCode); } catch (Exception e) { e.printStackTrace(); } return "/business/pages/licenseErr"; } @RequestMapping(value="importLicense.html",method=RequestMethod.POST) public void importLicense(@RequestParam CommonsMultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException { String path = this.getClass().getClassLoader().getResource("").getPath().replace("WEB-INF/classes/", "").replace("%20", " "); System.out.print("1111"+path); String filename = path + "license.lic"; File tarFile = new File(filename); file.transferTo(tarFile); LicenseController licenseController = new LicenseController(); LicenseContent license; try { license = licenseController.installLicense(filename); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); String endDate = df.format(license.getNotAfter()); businessFacade.updatePartnerInfo(endDate, DateUtil.getCurrentDate14()); } catch (Exception e) { e.printStackTrace(); } WebUtil.write(response, "1"); } /** * 到期提醒 * @param request * @param response * @return * @author chenlong */ @RequestMapping("expireInfo.html") public String expireInfo(HttpServletRequest request,HttpServletResponse response) { return "business/expireInfo"; } }