admin
2024-07-27 65aaf1c05bd06cefa82ebc40cc3e01cf4ac233c0
src/main/java/com/taoke/autopay/controller/WebApiController.java
@@ -1,5 +1,6 @@
package com.taoke.autopay.controller;
import com.google.gson.Gson;
import com.taoke.autopay.dto.DYOrderDto;
import com.taoke.autopay.dto.WXAppInfoDto;
import com.taoke.autopay.entity.KeyOrder;
@@ -268,7 +269,7 @@
    }
    @ResponseBody
    @RequestMapping(value = "submitKeyV3")
    @RequestMapping(value = "submitKeyV4")
    public String submitKeyV4(SubmitKeyInfo keyInfo, HttpSession session, HttpServletRequest request) {
        String referer = request.getHeader("Referer");
        keyInfo.setReferer(referer);
@@ -276,6 +277,7 @@
        if (StringUtil.isNullOrEmpty(keyInfo.getKey())) {
            return JsonUtil.loadFalseResult( "请上传key");
        }
        if(1<0) {
        try{
            verifySubmitKey(keyInfo.getKey());
        }catch (Exception e){
@@ -292,6 +294,7 @@
        if(Integer.parseInt(now)<Integer.parseInt(startTime)||Integer.parseInt(now)>Integer.parseInt(endTime)){
            return JsonUtil.loadFalseResult(String.format("口令提交时间段为:%s-%s",timeStr.split(",")[0],timeStr.split(",")[1]));
        }
        }
        if (user == null) {
            // 先保存KEY
//            SESSION_KEY_TEMP_ALIPAY_KEY
@@ -302,7 +305,7 @@
                return JsonUtil.loadFalseResult("无法获取到授权链接");
            }
            redictLink=redictLink.replace("","");
            redictLink=redictLink.replace("snsapi_base","snsapi_userinfo");
            // 没有登录,返回登录链接
            JSONObject root = new JSONObject();
            root.put("link", redictLink);
@@ -349,7 +352,20 @@
            WxApiUtil.WXAccessTokenInfo tokenInfo = WxApiUtil.getAcessTokenInfo(code, wxApp);
            if (tokenInfo != null && !StringUtil.isNullOrEmpty(tokenInfo.getOpenid())) {
                WxUserInfo user = wxUserService.login(tokenInfo.getOpenid());
                WxApiUtil.WXUserInfo wxUserInfo =null;
                if(tokenInfo.getScope()!=null&&tokenInfo.getScope().contains("snsapi_userinfo")){
                    try {
                       wxUserInfo = WxApiUtil.getUserInfo(tokenInfo.getAccess_token(), tokenInfo.getOpenid());
                        wxLogger.info("解析结果",new Gson().toJson(wxUserInfo));
                    }catch(Exception e){
                        wxLogger.error("解析出错",e);
                    }
                }
                if(wxUserInfo==null){
                    wxUserInfo=new  WxApiUtil.WXUserInfo();
                    wxUserInfo.setOpenid(tokenInfo.getOpenid());
                }
                WxUserInfo user = wxUserService.login(wxUserInfo);
                session.setAttribute(Constant.SESSION_KEY_USER, user);
                wxLogger.info("微信保存用户信息:{} id-{}", session.getId(), user.getId());