记得上下班打卡 | git大法好,push需谨慎

Commit 3341f3fe authored by 胡佳晨's avatar 胡佳晨

Merge branch 'master' into dev_damai_realTime

parents 179fe726 ab1016ad
......@@ -175,13 +175,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
performancesInfo = checkAppStatusInfo(performancesInfo);
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
} catch (Exception e) {
log.debug(" ERROR PERFORMANCE DETAILS PERFORMANCE_ID : " + performancesId);
log.error(" ERROR PERFORMANCE DETAILS PERFORMANCE_ID : " + performancesId);
}
// 处理距离
if (longitudeFrom != CommonConst.DFT_DOUBLE_VAL) {
String diffDistance = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude()));
performancesInfo.setDiffDistance(diffDistance);
try {
String diffDistance = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude()));
performancesInfo.setDiffDistance(diffDistance);
} catch (Exception e) {
log.error("演出详情 经纬度处理距离异常 e:{}", e);
}
}
log.info(UserPathDto.setData("演出详情", "performancesId=" + performancesId + " latitudeFrom=" + latitudeFrom + " longitudeFrom=" + longitudeFrom, performancesInfo));
......
package com.liquidnet.service.sweet.config;
import com.liquidnet.service.sweet.handler.SubscribeHandler;
import com.liquidnet.service.sweet.handler.UnsubscribeHandler;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker;
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
......@@ -48,9 +53,18 @@ public class WechatMpConfigure {
private WxMpService wxMpZhengzaiService;
private WxMpService wxMpModernskyService;
private WxMpMessageRouter wxMpZhengzaiMessageRouter;
private WxMpMessageRouter wxMpModernskyMessageRouter;
private WxMessageInMemoryDuplicateChecker wxMessageInMemoryDuplicateChecker;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@PostConstruct
public void init() {
wxMpZhengzaiService = new WxMpServiceImpl() {
......@@ -77,6 +91,11 @@ public class WechatMpConfigure {
this.setWxMpConfigStorage(wxMpDefaultConfig);
}
};
wxMpZhengzaiMessageRouter = new WxMpMessageRouter(wxMpZhengzaiService);
wxMpModernskyMessageRouter = new WxMpMessageRouter(wxMpModernskyService);
wxMessageInMemoryDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
}
public WxMpService getWxMpService(Integer pnum) {
......@@ -88,4 +107,34 @@ public class WechatMpConfigure {
}
return null;
}
public WxMpMessageRouter getWxMpMessageRouter(Integer pnum) {
switch (pnum) {
case 1:
return wxMpZhengzaiMessageRouter;
case 2:
return wxMpModernskyMessageRouter;
}
return null;
}
public WxMpMessageRouter messageRouter(Integer type) {
WxMpMessageRouter router = getWxMpMessageRouter(type);
// 消息去重
router.setMessageDuplicateChecker(wxMessageInMemoryDuplicateChecker);
// 关注事件
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
.event(WxConsts.EventType.SUBSCRIBE)
.handler(subscribeHandler)
.end();
// 取消关注事件
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
.event(WxConsts.EventType.UNSUBSCRIBE)
.handler(unsubscribeHandler)
.end();
return router;
}
}
......@@ -50,6 +50,7 @@ public class SweetWechatActionCallbackController {
@ApiOperation("用户动作微信回调")
public String record(
@RequestBody String requestBody,
// @RequestParam() String requestBody,
@RequestParam("type") Integer type,
@RequestParam("signature") String signature,
@RequestParam("timestamp") String timestamp,
......
package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.service.sweet.config.WechatMpConfigure;
import com.liquidnet.service.sweet.handler.SubscribeHandler;
import com.liquidnet.service.sweet.handler.UnsubscribeHandler;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
......@@ -25,34 +20,9 @@ import org.springframework.stereotype.Service;
@Slf4j
public class SweetWechatCallbackServiceImpl {
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@Autowired
WechatMpConfigure wechatMpConfigure;
public WxMpMessageRouter messageRouter(WxMpService wxMpService) {
WxMpMessageRouter router = new WxMpMessageRouter(wxMpService);
// 消息去重
router.setMessageDuplicateChecker(new WxMessageInMemoryDuplicateChecker());
// 关注事件
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
.event(WxConsts.EventType.SUBSCRIBE)
.handler(subscribeHandler)
.end();
// 取消关注事件
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
.event(WxConsts.EventType.UNSUBSCRIBE)
.handler(unsubscribeHandler)
.end();
return router;
}
public String record(String requestBody, Integer type, String timestamp, String nonce, String encType, String msgSignature) {
if (null == type || type <= 0) {
type = 1;
......@@ -63,7 +33,7 @@ public class SweetWechatCallbackServiceImpl {
// 明文传输的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody);
log.info("\n消息内容为:\n[{}] ", inMessage.toString());
WxMpXmlOutMessage outMessage = messageRouter(wxMpService).route(inMessage);
WxMpXmlOutMessage outMessage = wechatMpConfigure.messageRouter(type).route(inMessage);
if (outMessage == null) {
// 假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试
return "";
......@@ -74,7 +44,7 @@ public class SweetWechatCallbackServiceImpl {
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxMpService.getWxMpConfigStorage(),
timestamp, nonce, msgSignature);
log.info("\n消息解密后内容为:\n[{}] ", inMessage.toString());
WxMpXmlOutMessage outMessage = messageRouter(wxMpService).route(inMessage);
WxMpXmlOutMessage outMessage = wechatMpConfigure.messageRouter(type).route(inMessage);
if (outMessage == null) {
return "";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment