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

Commit 72111c05 authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/dev' into dev

parents f46e651e 6fb98044
......@@ -55,7 +55,7 @@
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-kylin</artifactId>
<artifactId>liquidnet-service-kylin-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
......
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.sweet.service.impl.SweetWechatCallbackServiceImpl;
import com.liquidnet.service.sweet.utils.WechatSignUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
......@@ -15,6 +17,9 @@ import java.io.PrintWriter;
@Slf4j
public class SweetWechatActionCallbackController {
@Autowired
private SweetWechatCallbackServiceImpl sweetWechatCallbackService;
@GetMapping("record")
@ApiOperation("get")
public void record(
......@@ -26,12 +31,12 @@ public class SweetWechatActionCallbackController {
) {
try {
if (WechatSignUtils.checkSignature(signature, timestamp, nonce)) {
log.info("ssssssss");
log.info("验签通过");
PrintWriter out = response.getWriter();
out.print(echostr);
out.close();
} else {
log.info("这里存在非法请求");
log.info("验签未通过");
}
} catch (Exception e) {
log.info(e.getMessage());
......@@ -40,7 +45,22 @@ public class SweetWechatActionCallbackController {
@PostMapping("record")
@ApiOperation("post")
public void record() {
log.info("111111");
public String record(
@RequestBody String requestBody,
@RequestParam("signature") String signature,
@RequestParam("timestamp") String timestamp,
@RequestParam("nonce") String nonce,
@RequestParam("openid") String openid,
@RequestParam(name = "encrypt_type", required = false) String encType,
@RequestParam(name = "msg_signature", required = false) String msgSignature
) {
log.info("\n接收微信请求:[openid=[{}], [signature=[{}], encType=[{}], msgSignature=[{}],"
+ " timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ",
openid, signature, encType, msgSignature, timestamp, nonce, requestBody);
if (!WechatSignUtils.checkSignature(signature, timestamp, nonce)) {
log.info("验签未通过,非法请求,可能属于伪造的请求!");
return "";
}
return sweetWechatCallbackService.record(requestBody, timestamp, nonce, encType, msgSignature);
}
}
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.service.impl.SweetLoginServiceImpl;
import com.liquidnet.service.sweet.service.impl.SweetWechatLoginServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
public class SweetWechatLoginController {
@Autowired
private SweetLoginServiceImpl sweetLoginService;
private SweetWechatLoginServiceImpl sweetLoginService;
@GetMapping("userInfo")
@ApiOperation("code获取用户信息")
......
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.service.impl.SweetTemplateServiceImpl;
import com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
public class SweetWechatTemplateController {
@Autowired
private SweetTemplateServiceImpl sweetTemplateService;
private SweetWechatTemplateServiceImpl sweetTemplateService;
@GetMapping("send")
@ApiOperation("发送模版消息")
......
package com.liquidnet.service.sweet.service.impl;
import lombok.extern.slf4j.Slf4j;
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.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
* <p>
* 公众号动作回调 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-07-31
*/
@Service
@Slf4j
public class SweetWechatCallbackServiceImpl {
/*@Autowired
private WxMpMessageRouter wxMpMessageRouter;*/
public String record(String requestBody, String timestamp, String nonce, String encType, String msgSignature) {
/*String out = null;
if (encType == null) {
// 明文传输的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody);
WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage);
if (outMessage == null) {
return "";
}
out = outMessage.toXml();
}
log.info("\n组装回复信息:[{}]", out);
return out;*/
return "";
}
}
......@@ -24,7 +24,7 @@ import java.util.Objects;
* @since 2021-07-27
*/
@Service
public class SweetLoginServiceImpl {
public class SweetWechatLoginServiceImpl {
@Value("${liquidnet.wechat.applet.strawberry.appid}")
private String strawberryAppid;
......
......@@ -2,7 +2,7 @@ package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
......@@ -31,7 +31,7 @@ import java.util.Set;
* @since 2021-07-27
*/
@Service
public class SweetTemplateServiceImpl {
public class SweetWechatTemplateServiceImpl {
@Value("${liquidnet.wechat.zhengzai.service.appid}")
private String appid;
......@@ -45,9 +45,6 @@ public class SweetTemplateServiceImpl {
@Autowired
private RedisUtil redisUtil;
@Autowired
private FeignKylinPerformanceClient feignKylinPerformanceClient;
public ResponseDto send(String templateId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND_ALL;
Set<String> keys = redisTemplate.keys(redisKey);
......@@ -103,8 +100,7 @@ public class SweetTemplateServiceImpl {
}
public ResponseDto remind(String openId, String unionId, String performancesId) {
ResponseDto<KylinPerformanceVo> performanceVo = feignKylinPerformanceClient.detail(performancesId);
KylinPerformanceVo performanceInfo = performanceVo.getData();
KylinPerformanceVo performanceInfo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES);
redisDataUtils.setSweetRemind(openId, unionId, performancesId, performanceInfo);
return ResponseDto.success();
}
......
package com.liquidnet.service.sweet.utils;
import org.springframework.beans.factory.annotation.Value;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
......@@ -15,7 +17,8 @@ import java.util.Arrays;
public class WechatSignUtils {
// 与接口配置信息中的 Token 要一致
private static String token = "tftipg1427706847";
@Value("${liquidnet.wechat.zhengzai.service.token}")
private static String token;
/**
* 验证签名
......
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