blog-weixin/src/main/java/com/zeekling/solo/wechat/controller/WeXinController.java

59 lines
1.7 KiB
Java

package com.zeekling.solo.wechat.controller;
import com.zeekling.solo.wechat.conf.WeChatConfigure;
import com.zeekling.solo.wechat.entity.Validate;
import com.zeekling.solo.wechat.service.WeChatMenuService;
import com.zeekling.solo.wechat.verify.SHA1;
import me.chanjar.weixin.mp.api.WxMpService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author zeekling [lingzhaohui@zeekling.cn]
* @version 1.0
* @apiNote
* @since 2020-03-17
*/
@RestController
public class WeXinController {
private Logger logger = LoggerFactory.getLogger(getClass());
@Resource
private WeChatConfigure weChatConfigure;
@Resource
private WeChatMenuService weChatMenuService;
@RequestMapping(value = "/validate")
public String validate(Validate validate) {
String token = weChatConfigure.getToken();
String signature = SHA1.getSHA1(token, validate.getTimestamp(), validate.getNonce());
// 3.字符串校验
if (validate.getSignature().equals(signature)) {
logger.info("微信-签名校验通过");
logger.info("回复给微信的 echostr 字符串:{}", validate.getEchostr());
return validate.getEchostr();
} else {
logger.error("微信-签名校验失败");
return "微信-签名校验失败";
}
}
@RequestMapping(value = "/menu/create")
public String createMenu(){
return this.weChatMenuService.create();
}
@RequestMapping(value = "/menu/get")
public String getMenu(){
return this.weChatMenuService.get();
}
}