Browse Source

微信接口日志打印

liuam 7 years ago
parent
commit
799cad1297

+ 17 - 2
src/main/java/com/uas/platform/b2c/common/account/controller/EnterpriseController.java

@@ -9,9 +9,7 @@ import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.common.search.util.PageParams;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.fa.payment.utils.StringUtils;
-import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.prod.store.service.StoreInService;
-import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.sso.core.Status;
 import com.uas.sso.entity.ApplyUserSpaceView;
@@ -314,6 +312,15 @@ public class EnterpriseController {
 		return ResultMap.success(count);
 	}
 
+	/**
+	 * 查找所有
+	 *
+	 * @param spaceUU 企业UU
+	 * @param params 分页条件
+	 * @param keyword 过滤条件
+	 * @param status 311 申请中
+	 * @return
+	 */
     @RequestMapping(value = "/findApplyToMall", method = RequestMethod.GET)
     public Page<ApplyUserSpaceView> findApplyToMall(Long spaceUU, PageParams params, String keyword, Integer status) {
         Page<ApplyUserSpaceView> applyAllToMall = null;
@@ -325,6 +332,14 @@ public class EnterpriseController {
         return applyAllToMall;
     }
 
+	/**
+	 *
+	 *
+	 * @param userUU 被处理人 userUU
+	 * @param id
+	 * @param status 1: 通过
+	 * @return
+	 */
     @RequestMapping(value = "/auditApply", method = RequestMethod.GET)
     public String auditApply(Long userUU, Long id, Integer status) {
 	    String auditApply = null;

+ 16 - 3
src/main/java/com/uas/platform/b2c/common/weixin/contoller/WeChatController.java

@@ -4,6 +4,9 @@ import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.weixin.model.MessageModel;
 import com.uas.platform.b2c.common.weixin.service.WeChatService;
 import com.uas.platform.b2c.common.weixin.util.CheckoutUtil;
+import org.apache.commons.lang3.ArrayUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.Model;
 import org.springframework.ui.ModelMap;
@@ -27,12 +30,15 @@ import java.util.List;
 @RequestMapping("/wx")
 public class WeChatController {
 
+    private Logger logger = LoggerFactory.getLogger(WeChatController.class);
+
 
     @Autowired
     private WeChatService weChatService;
 
     /**
      * 与微信服务器接口配置
+     *
      * @param model
      * @param request
      * @param response
@@ -47,6 +53,7 @@ public class WeChatController {
         String nonce = request.getParameter("nonce");
         // 随机字符串
         String echostr = request.getParameter("echostr");
+        logger.info("与微信服务器接口配置 with signature: {} and timestamp: {} and nonce: {} and echostr: {}", signature, timestamp, nonce, echostr);
         PrintWriter print;
         // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
         if (signature != null && CheckoutUtil.checkSignature(signature, timestamp, nonce)) {
@@ -62,31 +69,37 @@ public class WeChatController {
 
     /**
      * 用户微信授权成功返回接口
-     * @param code 用于获取AccessToken
+     *
+     * @param code  用于获取AccessToken
      * @param state 获取code的state参数
      * @return 微信用户信息
      */
     @RequestMapping(value = "/getWxUserInfo", method = RequestMethod.GET)
     public ModelMap getWxUserInfo(String code, String state, String openId) {
+        logger.info("用户微信授权 code: {}, state: {}, openId: {}", code, state, openId);
         return weChatService.getWxUserInfo(code, state, openId);
     }
 
     /**
      * 发送模板消息
+     *
      * @return
      */
     @RequestMapping(value = "/sendTemplateMessage", method = RequestMethod.POST)
-    public ModelMap sendTemplateMessage(@RequestBody List<MessageModel> messages){
+    public ModelMap sendTemplateMessage(@RequestBody List<MessageModel> messages) {
+        logger.info("发送模板消息 message: {}", ArrayUtils.toString(messages));
         return weChatService.sendTemplateMessage(messages);
     }
 
     /**
      * 绑定用户
+     *
      * @param user
      * @return
      */
     @RequestMapping(value = "/bindUser", method = RequestMethod.POST)
-    public ModelMap bindUser(@RequestBody User user){
+    public ModelMap bindUser(@RequestBody User user) {
+        logger.info("绑定用户 userUU: {}", user.getUserUU());
         return weChatService.bindUser(user);
     }
 }

+ 23 - 0
src/main/java/com/uas/platform/b2c/common/weixin/model/MessageModel.java

@@ -219,4 +219,27 @@ public class MessageModel {
     public void setSourceId(Long sourceId) {
         this.sourceId = sourceId;
     }
+
+    @Override
+    public String toString() {
+        return "MessageModel{" +
+                "type='" + type + '\'' +
+                ", content='" + content + '\'' +
+                ", remark='" + remark + '\'' +
+                ", sourceId=" + sourceId +
+                ", receiverUu=" + receiverUu +
+                ", receiverEnuu=" + receiverEnuu +
+                ", senderUu=" + senderUu +
+                ", senderEnuu=" + senderEnuu +
+                ", producerApp='" + producerApp + '\'' +
+                ", consumerType='" + consumerType + '\'' +
+                ", smsType='" + smsType + '\'' +
+                ", mailTemplate='" + mailTemplate + '\'' +
+                ", smTemplate='" + smTemplate + '\'' +
+                ", consumerApp='" + consumerApp + '\'' +
+                ", buyerName='" + buyerName + '\'' +
+                ", vendName='" + vendName + '\'' +
+                ", cmpCode='" + cmpCode + '\'' +
+                '}';
+    }
 }

+ 16 - 0
src/main/java/com/uas/platform/b2c/common/weixin/service/impl/WeChatServiceImpl.java

@@ -20,6 +20,8 @@ import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.sso.entity.UserAccount;
 import com.uas.sso.entity.UserView;
 import com.uas.sso.util.AccountUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -46,6 +48,8 @@ public class WeChatServiceImpl implements WeChatService{
     @Autowired
     private RedisTemplate redisTemplate;
 
+    private Logger logger = LoggerFactory.getLogger(WeChatServiceImpl.class);
+
     /**
      * 保存到 redis 里的过期时间(second)
      */
@@ -53,6 +57,7 @@ public class WeChatServiceImpl implements WeChatService{
 
     @Override
     public ModelMap getWxUserInfo(String code, String state, String openId) {
+        logger.info("得到用户信息 code: {}, state: {}, openId: {}", code, state, openId);
         ModelMap result = new ModelMap();
         if (!StringUtils.isEmpty(code)) {
             AuthUserInfo userInfo = null;
@@ -140,8 +145,15 @@ public class WeChatServiceImpl implements WeChatService{
         return result;
     }
 
+    /**
+     * 微信绑定用户
+     *
+     * @param user
+     * @return
+     */
     @Override
     public ModelMap bindUser(User user) {
+        logger.info("微信绑定用户 userUU: {}", user.getUserUU());
         ModelMap result = new ModelMap();
         // 账户中心校验手机号和密码是否正确
         if (StringUtils.isEmpty(user) || StringUtils.isEmpty(user.getUserTel()) || StringUtils.isEmpty(user.getUserPwd()) || StringUtils.isEmpty(user.getOpenId())) {
@@ -192,6 +204,7 @@ public class WeChatServiceImpl implements WeChatService{
      * @param code
      */
     private AuthUserInfo getAccessTokenByCode(String code) throws Exception {
+        logger.info("通过code获取用户openId, code: {}", code);
         AuthTokenParams authTokenParams = new AuthTokenParams(WeChatUtil.APPID, WeChatUtil.APPSECRET, code, "authorization_code");
         String json = HttpReqUtil.doGet(WeChatUtil.GET_OAUTH_TOKEN_URL, authTokenParams.getParams());
         AuthAccessToken authAccessToken = FlexJsonUtils.fromJson(json, AuthAccessToken.class);
@@ -212,6 +225,7 @@ public class WeChatServiceImpl implements WeChatService{
      * @return
      */
     private AuthUserInfo getUserInfo(String accessToken, String openId) throws Exception {
+        logger.info("获取用户信息 accessToken: {}, openId: {}", accessToken, openId);
         // 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
         AuthUserParams authUserParams = new AuthUserParams(accessToken, openId, "zh_CN");
         String json = HttpReqUtil.doGet(WeChatUtil.SNS_USERINFO_URL, authUserParams.getParams());
@@ -229,12 +243,14 @@ public class WeChatServiceImpl implements WeChatService{
     private String getAccessToken (boolean force) {
         String access_token = (String) redisTemplate.opsForValue().get("WX_ACCESS_TOKEN");
         if (!StringUtils.isEmpty(access_token) && !force) {
+            logger.info("从缓存中得到 access_token: {}", access_token);
             return access_token;
         }
         AuthTokenParams authTokenParams = new AuthTokenParams(WeChatUtil.APPID, WeChatUtil.APPSECRET,"client_credential");
         String json = HttpReqUtil.doGet(WeChatUtil.GET_ACCESS_TOKEN, authTokenParams.getParams());
         AccessToken accessToken = FlexJsonUtils.fromJson(json, AccessToken.class);
         access_token = accessToken.getAccess_token();
+        logger.info("请求微信接口,得到 access_token: {}", access_token);
         redisTemplate.opsForValue().set("WX_ACCESS_TOKEN", access_token, ACCESS_TOKEN_EXPIRES_IN, TimeUnit.SECONDS);
         return access_token;
     }

+ 24 - 0
src/test/java/com/uas/platform/b2c/WechatTestController.java

@@ -0,0 +1,24 @@
+package com.uas.platform.b2c;
+
+import org.junit.Test;
+import org.springframework.test.web.servlet.RequestBuilder;
+
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+/**
+ * @author liuam
+ * @since 2018/7/4 0004 下午 16:42
+ */
+public class WechatTestController extends BaseJunitTest {
+
+    @Test
+    public void testWenxinCheck() throws Exception {
+        RequestBuilder request = null;
+        request = get("/wx/check")
+                .param("signature", "signature")
+                .param("timestamp", "timestamp")
+                .param("nonce", "nonce")
+                .param("echostr", "echostr");
+        mockMvc.perform(request);
+    }
+
+}