ScanHandler.java
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package org.theyeasy.weixin.handler;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.theyeasy.weixin.service.impl.ScanCodeServiceImpl;
import com.w1hd.zzhnc.util.CommonUtil;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
/**
* @author Binary Wang
*/
@Component
public class ScanHandler extends AbstractHandler {
private final static Logger log = LoggerFactory.getLogger(ScanHandler.class);
public final static String ZHECE_CODE="zhece_code";
@Autowired
private ScanCodeServiceImpl ScancodeService;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage,
Map<String, Object> context, WxMpService wxMpService,
WxSessionManager sessionManager) throws WxErrorException {
// TODO Auto-generated method stub
this.logger.info("扫描用户 OPENID: " + wxMessage.getFromUser());
// 获取微信用户基本信息
WxMpUser userWxInfo = wxMpService.getUserService().userInfo(wxMessage.getFromUser(), null);
String appid = wxMpService.getWxMpConfigStorage().getAppId();
if (userWxInfo != null) {
// TODO 可以添加关注用户到本地
}
WxMpXmlOutMessage responseResult = null;
try {
responseResult = handleSpecial(wxMessage,userWxInfo,appid);
} catch (Exception e) {
this.logger.error(e.getMessage(), e);
}
return null;
}
/**
* 处理特殊请求,比如如果是扫码进来的,可以做相应处理
*/
/*
* lqq
* 2017/7/25
*
*/
protected WxMpXmlOutMessage handleSpecial(WxMpXmlMessage wxMessage,WxMpUser userWxInfo,String appid) throws Exception {
System.out.println("扫描进入");
if(wxMessage!=null){
String eventKey = wxMessage.getEventKey();
log.info("eventKey="+eventKey);
int qrcodeId = 0;
// if(!StringUtil.isEmpty(eventKey)){
// qrcodeId = MathUtil.toInt(eventKey,0);
// }
log.info("qrcodeId="+qrcodeId);
log.info("fromuser="+wxMessage.getFromUser());
log.info("appid="+appid);
String json = CommonUtil.getJson(userWxInfo);
log.info("wxinfo="+json);
// String changjing=String.valueOf(qrcodeId);
ScancodeService.scancode( wxMessage, userWxInfo, appid, qrcodeId);
}
return null;
}
}