package cn.ksource.web.controller.wechat;
|
|
import java.io.File;
|
import java.io.IOException;
|
import java.net.URLEncoder;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpSession;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import cn.ksource.beans.GG_MESSAGE;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.DownloadUtil;
|
import cn.ksource.core.util.HttpCharset;
|
import cn.ksource.core.util.HttpUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.ParamsMapUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.core.weixin.service.WeiXinCoreService;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.SysConstants;
|
import cn.ksource.web.controller.wechat.response.RspTextMessage;
|
import cn.ksource.web.controller.wechat.util.MessageUtil;
|
import cn.ksource.web.controller.wechat.util.SignUtil;
|
import cn.ksource.web.controller.wechat.util.WechatConstants;
|
import cn.ksource.web.facade.JsglFacade;
|
import cn.ksource.web.facade.cfg.CfgFacade;
|
import cn.ksource.web.facade.file.FileFacade;
|
import cn.ksource.web.facade.wechat.WechatFacade;
|
import cn.ksource.web.service.wechat.WechatService;
|
|
/**
|
* 微信公众平台开发
|
* @author jxl
|
*/
|
|
@Controller
|
@RequestMapping("/wechat")
|
public class WechatController {
|
|
@Resource(name="wechatFacade")
|
private WechatFacade wechatFacade;
|
|
@Resource(name="wechatService")
|
private WechatService wechatService;
|
|
@Autowired
|
private WeiXinCoreService weiXinCoreService;
|
|
@Autowired
|
private JsglFacade jsglFacade;
|
@Autowired
|
private CfgFacade cfgFacade;
|
|
/**
|
* 执行微信的服务器的doGet请求,确认请求来自微信服务器
|
*/
|
@RequestMapping(value="index.html",method=RequestMethod.GET)
|
public void index(HttpServletRequest request,HttpServletResponse response) {
|
//微信加密签名
|
String signature = request.getParameter("signature");
|
// 时间戳
|
String timestamp = request.getParameter("timestamp");
|
// 随机数
|
String nonce = request.getParameter("nonce");
|
// 随机字符串
|
String echostr = request.getParameter("echostr");
|
|
// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
|
if (SignUtil.checkSignature(signature, timestamp, nonce)) {
|
WebUtil.write(response, echostr);
|
}
|
}
|
|
|
/**
|
* 执行微信的post请求
|
*/
|
@RequestMapping(value="index.html",method=RequestMethod.POST)
|
public void indexPost(HttpServletRequest request,HttpServletResponse response) throws Exception {
|
System.out.println("enter doPost method ========================");
|
|
// 将请求、响应的编码均设置为UTF-8(防止中文乱码)
|
request.setCharacterEncoding("UTF-8");
|
response.setCharacterEncoding("UTF-8");
|
|
//调用核心业务类接收消息、处理消息
|
|
String respContent = "欢迎来到微信公众平台!";
|
|
// xml请求解析
|
Map<String, String> requestMap = MessageUtil.parseXml(request);
|
|
// 发送方帐号(open_id)
|
String fromUserName = requestMap.get("FromUserName");
|
System.out.println("formUserName----------------->"+fromUserName);
|
// 公众帐号
|
String toUserName = requestMap.get("ToUserName");
|
// 消息类型
|
String msgType = requestMap.get("MsgType");
|
|
if(msgType.equals(MessageUtil.RESP_MESSAGE_TYPE_TEXT)) {
|
String msgContent = requestMap.get("Content");
|
System.out.println("msgContent---------------------->"+msgContent);
|
if(msgContent.equals(WechatConstants.GGSBD)) {
|
//工程师绑定
|
//判断该工程师是否已经执行过绑定操作
|
boolean hasBind = wechatFacade.queryEngineerHasBind(fromUserName);
|
System.out.println("hasBind============="+hasBind);
|
if(hasBind) {
|
respContent = "您已绑定过账号,点击<a href='"+WechatConstants.ENGINEER_UNBIND_ADDRESS+"?openId="+fromUserName+"'>解除绑定</a>";
|
} else {
|
//respContent = "您未绑定该账号,请点击<a href='"+MessageUtil.ENGINEER_BIND_ADDRESS+"?openId="+fromUserName+"'>立即绑定</a>";
|
respContent = "您未绑定该账号,请点击<a href='"+WechatConstants.ENGINEER_BIND_ADDRESS+"?openId="+fromUserName+"'>立即绑定</a>";
|
}
|
} else if(msgContent.equals(WechatConstants.USER)) {
|
respContent = "用户登录,请点击<a href='"+WechatConstants.SQ_REBACK+"'>登录</a>";
|
} else if(msgContent.substring(0,2).equalsIgnoreCase(WechatConstants.ZSK)) {
|
//respContent = wechatFacade.queryZsk(request,msgContent);
|
}
|
} else if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
|
String eventKey = requestMap.get("EventKey");
|
System.out.println("eventKey---------------->"+eventKey);
|
if(StringUtil.notEmpty(eventKey)) {
|
if(eventKey.equals(WechatConstants.BX)) {
|
//查询用户是否已经绑定过账号,如果已经绑定过,则直接报修,否则跳转到用户绑定页面
|
//respContent = wechatFacade.doRepair(fromUserName);
|
} else if (eventKey.equals(WechatConstants.LINK_US)) {
|
respContent = "联系电话:<a href='tel:400-633-7959'>400-633-7959</a>\n产品官网:<a href='http://www.larks.com.cn'>http://www.larks.com.cn</a>";
|
}
|
}
|
}
|
// 回复文本消息
|
RspTextMessage textMessage = new RspTextMessage();
|
textMessage.setToUserName(fromUserName);
|
textMessage.setFromUserName(toUserName);
|
textMessage.setCreateTime(new Date().getTime());
|
textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
|
textMessage.setContent(respContent);
|
|
System.out.println("公众号响应微信用户的信息:");
|
String respMessage = MessageUtil.textMessageToXml(textMessage);
|
|
System.out.println(respMessage);
|
// 响应消息
|
WebUtil.write(response, respMessage);
|
}
|
|
|
/**
|
* 点击微运维跳转,如果用户已经绑定过工程师账号或者已经绑定过客户账号,
|
* 则跳转到工程师首页面或者客户首页面,
|
* 否则跳转到用户类型选择页面,执行相应的绑定操作
|
*/
|
@RequestMapping("wywType.html")
|
public ModelAndView wywType(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView();
|
String code = request.getParameter("code");
|
System.out.println("code---------------------------"+code);
|
String url = WechatConstants.CODE_GET_TOKEN.replace("CODE", code);
|
String valString = HttpUtil.doGet(url, new HashMap<String, String>(), HttpCharset.UTF8);
|
Map map = JsonUtil.json2Map(valString);
|
|
String openId = ConvertUtil.obj2StrBlank(map.get("openid"));
|
// String openId = "123456";
|
//String openId = "fwt";
|
//判断openId是否已经绑定过工程师信息
|
if(StringUtil.isNotBlank(openId)){
|
String result = wechatFacade.queryGcsBind(request,openId);
|
if(result.equals("1")) {
|
//判断用户桌面类型
|
String jumpUrl = Constants.getWxDeskTopUrl(Constants.ROLE_FLINE);
|
List<Map> roles = jsglFacade.getRolesByUserId(WebUtil.getEngineerUserId(request), 1);
|
if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
jumpUrl = Constants.getWxDeskTopUrl(identify);
|
}
|
}
|
|
request.getSession().setAttribute("homePage", jumpUrl);
|
//System.out.println("jumpUrl------------------->"+jumpUrl+"------------>"+deskType);
|
return new ModelAndView("redirect:"+jumpUrl);
|
}
|
|
//判断openId是否已经绑定过用户信息
|
String userResult = wechatFacade.queryCustomerBind(request,openId);
|
if(userResult.equals("1")) {
|
return new ModelAndView("redirect:/uwyw/uhome.html");
|
}
|
}
|
modelAndView.setViewName("/business/wechat/wywType");
|
modelAndView.addObject("openId", openId);
|
return modelAndView;
|
}
|
|
|
/**
|
* 跳转到工程师绑定页面
|
*/
|
|
/*@RequestMapping("engineerBind.html")
|
public ModelAndView engineerBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/engineerBind");
|
return modelAndView;
|
}*/
|
|
@RequestMapping("engineerBind.html")
|
public ModelAndView engineerBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/engineerBind");
|
|
String jsapi_ticket = weiXinCoreService.getJsApiTicket();
|
System.out.println("jsapi_ticket------------>"+jsapi_ticket);
|
|
|
String requestUrl = request.getRequestURI();
|
String queryString = request.getQueryString();
|
String url = new String();
|
if(StringUtil.notEmpty(queryString)) {
|
url = requestUrl.toString()+"?"+queryString;
|
} else {
|
url = requestUrl.toString();
|
}
|
|
url = WechatConstants.BASE_ADDRESS + url;
|
System.out.println("url---------->"+url);
|
//获取jsApiTicket的签名
|
Map<String, String> signParam = SignUtil.sign(jsapi_ticket, url);
|
|
modelAndView.addObject("signParam",signParam);
|
|
modelAndView.addObject("appId", WechatConstants.appID);
|
|
return modelAndView;
|
}
|
|
|
/**
|
* 执行工程师绑定操作
|
*/
|
@RequestMapping("doEngineerBind.html")
|
public void doEngineerBind(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.updateEngineerOpenId(request);
|
String url = new String();
|
|
String ciId = ConvertUtil.obj2StrBlank(request.getSession().getAttribute("ciId"));
|
if(StringUtil.notEmpty(ciId)) {
|
url = "/ewyw/ewconfig/econfigInfo.html?id="+ciId;
|
request.getSession().removeAttribute("ciId");
|
}else {
|
if(result.equals("1")) {
|
url = WebUtil.getEngineerDeskType(request);
|
}
|
}
|
Map resultMap = new HashMap();
|
resultMap.put("flag", result);
|
resultMap.put("url", url);
|
WebUtil.write(response, JsonUtil.map2Json(resultMap));
|
}
|
|
/**
|
* 跳转到工程师解除绑定页面
|
*/
|
@RequestMapping("engineerUnbind.html")
|
public ModelAndView engineerUnbind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/engineerUnbind");
|
String jsapi_ticket = weiXinCoreService.getJsApiTicket();
|
StringBuffer requestURL = request.getRequestURL();
|
String queryString = request.getQueryString();
|
String url = new String();
|
if(StringUtil.notEmpty(queryString)) {
|
url = requestURL.toString()+"?"+queryString;
|
} else {
|
url = requestURL.toString();
|
}
|
//获取jsApiTicket的签名
|
Map<String, String> signParam = SignUtil.sign(jsapi_ticket, url);
|
modelAndView.addObject("signParam",signParam);
|
return modelAndView;
|
}
|
|
/**
|
* 执行工程师解除绑定操作
|
*/
|
@RequestMapping("doEngineerUnbind.html")
|
public void doEngineerUnbind(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.updateEngineerUnBindOpenId(request);
|
WebUtil.write(response, result);
|
}
|
|
|
|
/**
|
* 发送模板消息
|
*/
|
@RequestMapping("sendTemplateMsg.html")
|
public void sendTemplateMsg(HttpServletRequest request,HttpServletResponse response) {
|
wechatService.sendTemplateMsg(new String[]{"oKOyDtx1DmObD8hDfIhAqs46TDbM"},"e8c17ff9df6a4e0bae475f6fcfd85147", "2","江小磊","测试报账工单", "测试报账工单");
|
}
|
|
/**
|
* 发送催办消息
|
*/
|
@RequestMapping("sendReminderMsg")
|
public void sendReminderMsg(HttpServletRequest request,HttpServletResponse response) {
|
wechatService.sendReminderTemplateMsg(new String[]{"oKOyDtx1DmObD8hDfIhAqs46TDbM"},"e8c17ff9df6a4e0bae475f6fcfd85147","2","这是催办事项标题", "这是催办事项具体内容", "这是催办人","这是催办消息的备注");
|
}
|
|
|
/**
|
* 测试发送系统消息
|
*/
|
@RequestMapping("sendSysMsg.html")
|
public void sendSysMsg(HttpServletRequest request) {
|
GG_MESSAGE message = new GG_MESSAGE();
|
message.setContent("测试内容");
|
message.setTitle("测试标题");
|
message.setSend_time(DateUtil.getCurrentDate14());
|
message.setSender_name("testuser");
|
message.setWx_url("http://www.baidu.com");
|
message.setWeb_url("http://www.baidu.com");
|
wechatService.sendSysMsg(new String[]{"oKOyDtx1DmObD8hDfIhAqs46TDbM"}, message);
|
}
|
|
|
/**
|
* 测试绑定通知消息
|
*/
|
@RequestMapping("testBind.html")
|
public void testBind(HttpServletRequest request,HttpServletResponse response) {
|
//如果绑定成功,提醒微信绑定成功通知
|
wechatService.bindingNotice("ou0vYt5mLwOCe8lIM0R1tykonCHM","http://www.baidu.com","wxh","liuzhengyu","测试开通功能","测试备注");
|
}
|
|
/**
|
* 微信测试登录页面
|
*/
|
@RequestMapping(value="testwywLogin.html", method=RequestMethod.GET)
|
public ModelAndView testwywLogin(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/testwywLogin");
|
|
return modelAndView;
|
}
|
|
|
/**
|
* 微信测试登录页面
|
*/
|
@RequestMapping(value="testwywLogin.html", method=RequestMethod.POST)
|
public void testwywLoginSubmit(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.checkLoginMsg(request);
|
WebUtil.write(response, result);
|
}
|
|
|
/**
|
* 跳转到用户绑定页面
|
*/
|
@RequestMapping("customerBind.html")
|
public ModelAndView customerBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView();
|
|
String openId = request.getParameter("openId");
|
System.out.println("openid------------->"+openId);
|
|
String result = wechatFacade.queryCustomerBind(request,openId);
|
if(result.equals("1")) {
|
return new ModelAndView("redirect:/uwyw/uhome.html");
|
} else {
|
modelAndView.setViewName("/business/wechat/customerBind");
|
modelAndView.addObject("openId", openId);
|
}
|
return modelAndView;
|
}
|
|
|
/**
|
* 跳转到用户绑定页面
|
*/
|
@RequestMapping("userBind.html")
|
public ModelAndView userBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/customerBind");
|
String openId = request.getParameter("openId");
|
modelAndView.addObject("openId", openId);
|
return modelAndView;
|
}
|
|
|
/**
|
* 执行用户绑定操作
|
*/
|
@RequestMapping("doCustomerBind.html")
|
public void doCustomerBind(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.updateCustomerBindOpenId(request);
|
WebUtil.write(response, result);
|
}
|
|
|
|
|
/**
|
* 跳转到用户解除绑定页面
|
*/
|
@RequestMapping("customerUnbind.html")
|
public ModelAndView customerUnbind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/customerUnbind");
|
/*String jsapi_ticket = weiXinCoreService.getJsApiTicket();
|
StringBuffer requestURL = request.getRequestURL();
|
String queryString = request.getQueryString();
|
String url = new String();
|
if(StringUtil.notEmpty(queryString)) {
|
url = requestURL.toString()+"?"+queryString;
|
} else {
|
url = requestURL.toString();
|
}
|
//获取jsApiTicket的签名
|
Map<String, String> signParam = SignUtil.sign(jsapi_ticket, url);
|
modelAndView.addObject("signParam",signParam);*/
|
return modelAndView;
|
}
|
|
/**
|
* 执行用户解除绑定操作
|
*/
|
@RequestMapping("doCustomerUnbind.html")
|
public void doCustomerUnbind(HttpServletRequest request,HttpServletResponse response) {
|
System.out.println("解除绑定-------------------");
|
String result = wechatFacade.updateCustomerUnBindOpenId(request);
|
WebUtil.write(response, result);
|
}
|
|
|
|
|
|
|
|
/**
|
* 微运维链接
|
*/
|
@RequestMapping("wyw.html")
|
public ModelAndView wyw(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("redirect:"+WechatConstants.SQ_REBACK);
|
return modelAndView;
|
}
|
|
|
|
|
/**
|
* 测试发送消息
|
*/
|
@RequestMapping("sendMsg.html")
|
public void sendMsg(HttpServletRequest request) {
|
GG_MESSAGE message = new GG_MESSAGE();
|
message.setContent("测试内容");
|
message.setSend_time(DateUtil.getCurrentDate14());
|
message.setSender_name("jiangxiaolei");
|
message.setWx_url("http://www.baidu.com");
|
message.setTitle("测试消息");
|
wechatService.sendSysMsg(new String[]{"oKOyDt9RluzdluTQU-xljU2H3EzI","oKOyDtx1DmObD8hDfIhAqs46TDbM"}, message);
|
}
|
|
/**
|
* 测试
|
*/
|
@RequestMapping("page.html")
|
public ModelAndView page(HttpServletRequest request,HttpServletResponse response) throws Exception {
|
System.out.println("enter-------------->page");
|
String SQ_BACK_URL = WechatConstants.BASE_ADDRESS+"/wechat/testGz.html";
|
String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+WechatConstants.appID+"&redirect_uri="+URLEncoder.encode(SQ_BACK_URL,"UTF-8")+"&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
|
System.out.println("enter-------------->page1");
|
ModelAndView modelAndView = new ModelAndView("redirect:"+url);
|
System.out.println("enter-------------->page2");
|
return modelAndView;
|
}
|
|
@RequestMapping("testknow.html")
|
public void testKnow(HttpServletRequest request,HttpServletResponse response) {
|
String content = "";
|
//wechatFacade.queryZsk(request,"z@鼠标");
|
WebUtil.write(response, content);
|
}
|
|
@RequestMapping("testGz.html")
|
public ModelAndView testGz(HttpServletRequest request,HttpServletResponse response) {
|
System.out.println("----------------->enter testGz.html");
|
String code = request.getParameter("code");
|
System.out.println("---->code---------->"+code);
|
String url = WechatConstants.CODE_GET_TOKEN.replace("CODE", code);
|
|
String valString = HttpUtil.doGet(url, new HashMap<String, String>(), HttpCharset.UTF8);
|
Map map = JsonUtil.json2Map(valString);
|
String openId = ConvertUtil.obj2StrBlank(map.get("openid"));
|
System.out.println("openid------------->"+openId);
|
|
if(StringUtil.notEmpty(openId)) {
|
//通过openId 获取
|
Map userBaseMap = wechatService.queryUserBaseMsgByOpenId(openId);
|
System.out.println("subscribe----------------->"+ConvertUtil.obj2StrBlank(userBaseMap.get("subscribe")));
|
System.out.println("msg----------------------->"+JsonUtil.map2Json(userBaseMap));
|
}
|
ModelAndView modelAndView = new ModelAndView("redirect:http://mp.weixin.qq.com/s?__biz=MzA3ODg3NjIwMA==&mid=203995057&idx=1&sn=7a2cce78d23c95184f3076320feb161e#rd");
|
return modelAndView;
|
|
}
|
|
public static void main(String[] args) {
|
String url = WechatConstants.SQ_REBACK;
|
System.out.println(url);
|
}
|
|
/*------客户端登陆之前---------*/
|
/**
|
* 跳转到获取ime的页面
|
* */
|
/* @RequestMapping("clientLoginBefore.html")
|
public ModelAndView clientLoginBefore(HttpServletRequest request){
|
return new ModelAndView("/business/wechat/client/clientLoginBefore");
|
}*/
|
|
/*------客户端嵌入登录---start---*/
|
|
/**
|
* 点击微运维跳转,如果用户已经绑定过工程师账号或者已经绑定过客户账号,
|
* 则跳转到工程师首页面或者客户首页面,
|
* 否则跳转到用户类型选择页面,执行相应的绑定操作
|
*/
|
@RequestMapping("clientWywType.html")
|
public ModelAndView clientwywType(HttpServletRequest request,HttpServletResponse response) {
|
String ime = request.getParameter("ime");
|
System.out.println(ime);
|
ModelAndView modelAndView = new ModelAndView();
|
if(StringUtil.isNotBlank(ime)){
|
//判断当前手机ime是否绑定工程师信息
|
String engResult = wechatFacade.queryEmgIme(request, ime);
|
if(engResult.equals("1")){
|
//判断用户桌面类型
|
String jumpUrl = Constants.getWxDeskTopUrl(Constants.ROLE_FLINE);
|
List<Map> roles = jsglFacade.getRolesByUserId(WebUtil.getEngineerUserId(request), 1);
|
if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
jumpUrl = Constants.getWxDeskTopUrl(identify);
|
}
|
}
|
request.getSession().setAttribute("homePage", jumpUrl);
|
System.out.println("jumpUrl------------------->"+jumpUrl+"------------>");
|
return new ModelAndView("redirect:"+jumpUrl);
|
}
|
String userResult = wechatFacade.queryUserIme(request, ime);
|
if(userResult.equals("1")){
|
return new ModelAndView("redirect:/uwyw/uhome.html");
|
}
|
}
|
|
modelAndView.setViewName("/business/wechat/client/clientWywType");
|
return modelAndView;
|
}
|
|
/**
|
* 跳转到工程师绑定页面
|
*/
|
|
@RequestMapping("clientEngineerBind.html")
|
public ModelAndView clientEngineerBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/client/clientEngineerBind");
|
wechatFacade.deleteClientEngineer(request);
|
HttpSession session = request.getSession();
|
session.removeAttribute(SysConstants.WYW_ENGINEER_LOGIN_INFO_KEY);
|
session.removeAttribute("homePage");
|
session.removeAttribute("isclient");
|
session.invalidate();
|
return modelAndView;
|
}
|
|
/**
|
* 跳转到用户绑定页面
|
*/
|
@RequestMapping("clientCustomerBind.html")
|
public ModelAndView clientCustomerBind(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView();
|
wechatFacade.deleteClientCustomer(request);
|
HttpSession session = request.getSession();
|
session.removeAttribute(SysConstants.WYW_LOGIN_INFO_KEY);
|
session.removeAttribute("isclient");
|
session.invalidate();
|
modelAndView.setViewName("/business/wechat/client/clientCustomerBind");
|
return modelAndView;
|
}
|
|
/**
|
* 执行工程师绑定操作
|
*/
|
@RequestMapping("doClientEngineerBind.html")
|
public void doClientEngineerBind(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.updateClientEngineer(request);
|
String url = new String();
|
if(result.equals("1")) {
|
url = WebUtil.getEngineerDeskType(request);
|
}
|
Map resultMap = new HashMap();
|
resultMap.put("flag", result);
|
resultMap.put("url", url);
|
WebUtil.write(response, JsonUtil.map2Json(resultMap));
|
}
|
|
/**
|
* 执行用户绑定操作
|
*/
|
@RequestMapping("doClientCustomerBind.html")
|
public void doClientCustomerBind(HttpServletRequest request,HttpServletResponse response) {
|
String result = wechatFacade.updateClientCustomer(request);
|
WebUtil.write(response, result);
|
}
|
|
/**
|
* 跳转到session中转页面
|
*/
|
@RequestMapping("clientTemp.html")
|
public ModelAndView clientTemp(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView();
|
modelAndView.setViewName("/business/wechat/clientTemp");
|
String user = request.getParameter("user");
|
modelAndView.addObject("url", WechatConstants.SQ_REBACK);
|
modelAndView.addObject("user", user);
|
return modelAndView;
|
}
|
|
/**
|
* 微信扫码跳转详情
|
*/
|
@RequestMapping("cfgInfo.html")
|
public ModelAndView cfgInfo(HttpServletRequest request) {
|
String ciId = request.getParameter("id");
|
Map engineer = WebUtil.getEngineerMsg(request);
|
if(null!=engineer && engineer.size()>0) {
|
ModelAndView modelAndView = new ModelAndView("redirect:/ewyw/ewconfig/econfigInfo.html?id="+ciId);
|
return modelAndView;
|
}
|
|
Map user = WebUtil.getWywLoginUser(request);
|
if(null!=user && user.size()>0) {
|
ModelAndView modelAndView = new ModelAndView("redirect:/uwyw/uconfig/uconfigInfo.html?id="+ciId);
|
return modelAndView;
|
}
|
|
request.getSession().setAttribute("ciId", ciId);
|
ModelAndView modelAndView = new ModelAndView("redirect:"+WechatConstants.SQ_REBACK);
|
return modelAndView;
|
}
|
|
@Autowired
|
private FileFacade fileFacade;
|
|
/**
|
* 文件下载
|
*/
|
@RequestMapping("download.html")
|
public void download(HttpServletRequest request,HttpServletResponse response) {
|
String fileId = request.getParameter("fileId");
|
Map fileMsg = fileFacade.queryFileMsg(fileId);
|
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("");
|
File file = new File(basePath+filePath);
|
try {
|
DownloadUtil.download(response, file, fileName, false);
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
|
@RequestMapping("sysversion.html")
|
public void sysversion(HttpServletRequest request,HttpServletResponse response) {
|
Map version = wechatFacade.getVersion();
|
WebUtil.write(response, JsonUtil.map2Json(version));
|
}
|
/**
|
* 设备详情
|
* @param request
|
* @return
|
*/
|
@RequestMapping("facDetail")
|
public ModelAndView facDetail(HttpServletRequest request){
|
ModelAndView view=new ModelAndView("/business/wechat/facDetail");
|
String id = request.getParameter("id");
|
Map info= cfgFacade.getCfgById(id);
|
view.addObject("info", info);
|
return view;
|
}
|
/**
|
* 一键报修页面
|
* @param request
|
* @return
|
*/
|
@RequestMapping("facBx.html")
|
public ModelAndView ucYjbx(HttpServletRequest request) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/facBx");
|
String id = request.getParameter("id");
|
Map info= cfgFacade.getCfgById(id);
|
modelAndView.addObject("info", info);
|
return modelAndView;
|
}
|
@RequestMapping("saveFacBx.html")
|
public void saveFacBx(HttpServletRequest request,HttpServletResponse response){
|
Map<String,String> params=ParamsMapUtil.getParameterMap(request);
|
wechatFacade.saveFacBx(params);
|
WebUtil.write(response, "1");
|
}
|
}
|