Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev
commit
39fd8e524a
@ -0,0 +1,16 @@
|
||||
package com.ibeetl.jlw.service;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Binary Wang
|
||||
*/
|
||||
public abstract class AbstractHandler implements WxMpMessageHandler {
|
||||
|
||||
protected final Gson gson = new Gson();
|
||||
protected Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package com.ibeetl.jlw.service;
|
||||
|
||||
import cn.jlw.token.TokenService;
|
||||
import com.ibeetl.admin.core.entity.CoreUser;
|
||||
import com.ibeetl.admin.core.service.CoreUserService;
|
||||
import com.ibeetl.jlw.entity.CoreUserWx;
|
||||
import com.ibeetl.jlw.web.query.CoreUserWxQuery;
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
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.builder.kefu.TextBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Binary Wang
|
||||
*/
|
||||
@Component
|
||||
public class MsgHandler extends AbstractHandler {
|
||||
|
||||
@Autowired
|
||||
private CoreUserService coreUserService;
|
||||
@Autowired
|
||||
private CoreUserWxService coreUserWxService;
|
||||
|
||||
@Autowired
|
||||
private TokenService tokenService;
|
||||
|
||||
@Override
|
||||
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage,
|
||||
Map<String, Object> context, WxMpService wxMpService,
|
||||
WxSessionManager sessionManager) {
|
||||
|
||||
WeixinService weixinService = (WeixinService) wxMpService;
|
||||
String fromUser = wxMessage.getFromUser();
|
||||
String userId = wxMessage.getEventKey();
|
||||
if (StringUtils.isEmpty(userId)) {
|
||||
return WxMpXmlOutMessage.TEXT().content("欢迎关注").toUser(fromUser)
|
||||
.fromUser(wxMessage.getToUser())
|
||||
.build();
|
||||
}
|
||||
CoreUserWxQuery coreUserWxQuery = new CoreUserWxQuery();
|
||||
coreUserWxQuery.setOpenid(fromUser);
|
||||
coreUserWxQuery.setUserId(Long.parseLong(userId));
|
||||
CoreUserWx info = coreUserWxService.getInfo(coreUserWxQuery);
|
||||
if (info != null) {
|
||||
CoreUser coreUser = coreUserService.getUserById(Long.parseLong(userId));
|
||||
//todo 登录
|
||||
//tokenService.getToken()
|
||||
//indexTokenMap.put(keyId, teacherToken);
|
||||
//tokenSessionMap.put()
|
||||
//platformService.setLoginUser()
|
||||
return WxMpXmlOutMessage.TEXT().content("登录成功").toUser(fromUser)
|
||||
.fromUser(wxMessage.getToUser())
|
||||
.build();
|
||||
}
|
||||
CoreUserWxQuery coreUserWxQuery1 = new CoreUserWxQuery();
|
||||
coreUserWxQuery1.setOpenid(fromUser);
|
||||
CoreUserWx info1 = coreUserWxService.getInfo(coreUserWxQuery1);
|
||||
CoreUserWxQuery coreUserWxQuery2 = new CoreUserWxQuery();
|
||||
coreUserWxQuery2.setUserId(Long.parseLong(userId));
|
||||
CoreUserWx info2 = coreUserWxService.getInfo(coreUserWxQuery2);
|
||||
if (info2 != null || info1 != null) {
|
||||
return WxMpXmlOutMessage.TEXT().content("绑定失败,已经绑定其他账号").toUser(fromUser)
|
||||
.fromUser(wxMessage.getToUser())
|
||||
.build();
|
||||
}
|
||||
coreUserWxQuery2.setOpenid(fromUser);
|
||||
coreUserWxService.add(coreUserWxQuery2);
|
||||
return WxMpXmlOutMessage.TEXT().content("绑定成功").toUser(fromUser)
|
||||
.fromUser(wxMessage.getToUser())
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue