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

Commit ab1016ad authored by 刘喆's avatar 刘喆

Merge branch 'pre' into 'master'

Pre

See merge request !71
parents 3a58ee34 10913e0a
...@@ -175,13 +175,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -175,13 +175,17 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
performancesInfo = checkAppStatusInfo(performancesInfo); performancesInfo = checkAppStatusInfo(performancesInfo);
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus())); performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
} catch (Exception e) { } 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) { if (longitudeFrom != CommonConst.DFT_DOUBLE_VAL) {
try {
String diffDistance = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude())); String diffDistance = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude()));
performancesInfo.setDiffDistance(diffDistance); performancesInfo.setDiffDistance(diffDistance);
} catch (Exception e) {
log.error("演出详情 经纬度处理距离异常 e:{}", e);
}
} }
log.info(UserPathDto.setData("演出详情", "performancesId=" + performancesId + " latitudeFrom=" + latitudeFrom + " longitudeFrom=" + longitudeFrom, performancesInfo)); log.info(UserPathDto.setData("演出详情", "performancesId=" + performancesId + " latitudeFrom=" + latitudeFrom + " longitudeFrom=" + longitudeFrom, performancesInfo));
......
package com.liquidnet.service.sweet.config; 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.common.redis.RedisTemplateWxRedisOps;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
...@@ -48,9 +53,18 @@ public class WechatMpConfigure { ...@@ -48,9 +53,18 @@ public class WechatMpConfigure {
private WxMpService wxMpZhengzaiService; private WxMpService wxMpZhengzaiService;
private WxMpService wxMpModernskyService; private WxMpService wxMpModernskyService;
private WxMpMessageRouter wxMpZhengzaiMessageRouter;
private WxMpMessageRouter wxMpModernskyMessageRouter;
private WxMessageInMemoryDuplicateChecker wxMessageInMemoryDuplicateChecker;
@Autowired @Autowired
private StringRedisTemplate stringRedisTemplate; private StringRedisTemplate stringRedisTemplate;
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@PostConstruct @PostConstruct
public void init() { public void init() {
wxMpZhengzaiService = new WxMpServiceImpl() { wxMpZhengzaiService = new WxMpServiceImpl() {
...@@ -77,6 +91,11 @@ public class WechatMpConfigure { ...@@ -77,6 +91,11 @@ public class WechatMpConfigure {
this.setWxMpConfigStorage(wxMpDefaultConfig); this.setWxMpConfigStorage(wxMpDefaultConfig);
} }
}; };
wxMpZhengzaiMessageRouter = new WxMpMessageRouter(wxMpZhengzaiService);
wxMpModernskyMessageRouter = new WxMpMessageRouter(wxMpModernskyService);
wxMessageInMemoryDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
} }
public WxMpService getWxMpService(Integer pnum) { public WxMpService getWxMpService(Integer pnum) {
...@@ -88,4 +107,34 @@ public class WechatMpConfigure { ...@@ -88,4 +107,34 @@ public class WechatMpConfigure {
} }
return null; 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 { ...@@ -50,6 +50,7 @@ public class SweetWechatActionCallbackController {
@ApiOperation("用户动作微信回调") @ApiOperation("用户动作微信回调")
public String record( public String record(
@RequestBody String requestBody, @RequestBody String requestBody,
// @RequestParam() String requestBody,
@RequestParam("type") Integer type, @RequestParam("type") Integer type,
@RequestParam("signature") String signature, @RequestParam("signature") String signature,
@RequestParam("timestamp") String timestamp, @RequestParam("timestamp") String timestamp,
......
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.service.sweet.config.WechatMpConfigure; 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 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.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
...@@ -25,34 +20,9 @@ import org.springframework.stereotype.Service; ...@@ -25,34 +20,9 @@ import org.springframework.stereotype.Service;
@Slf4j @Slf4j
public class SweetWechatCallbackServiceImpl { public class SweetWechatCallbackServiceImpl {
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@Autowired @Autowired
WechatMpConfigure wechatMpConfigure; 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) { public String record(String requestBody, Integer type, String timestamp, String nonce, String encType, String msgSignature) {
if (null == type || type <= 0) { if (null == type || type <= 0) {
type = 1; type = 1;
...@@ -63,7 +33,7 @@ public class SweetWechatCallbackServiceImpl { ...@@ -63,7 +33,7 @@ public class SweetWechatCallbackServiceImpl {
// 明文传输的消息 // 明文传输的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody); WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody);
log.info("\n消息内容为:\n[{}] ", inMessage.toString()); log.info("\n消息内容为:\n[{}] ", inMessage.toString());
WxMpXmlOutMessage outMessage = messageRouter(wxMpService).route(inMessage); WxMpXmlOutMessage outMessage = wechatMpConfigure.messageRouter(type).route(inMessage);
if (outMessage == null) { if (outMessage == null) {
// 假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试 // 假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试
return ""; return "";
...@@ -74,7 +44,7 @@ public class SweetWechatCallbackServiceImpl { ...@@ -74,7 +44,7 @@ public class SweetWechatCallbackServiceImpl {
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxMpService.getWxMpConfigStorage(), WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxMpService.getWxMpConfigStorage(),
timestamp, nonce, msgSignature); timestamp, nonce, msgSignature);
log.info("\n消息解密后内容为:\n[{}] ", inMessage.toString()); log.info("\n消息解密后内容为:\n[{}] ", inMessage.toString());
WxMpXmlOutMessage outMessage = messageRouter(wxMpService).route(inMessage); WxMpXmlOutMessage outMessage = wechatMpConfigure.messageRouter(type).route(inMessage);
if (outMessage == null) { if (outMessage == null) {
return ""; 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