jiangping
2023-08-25 1a16c058cdf8ce9bfdad4853e518d521b29a87e6
server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java
@@ -104,6 +104,25 @@
    }
    @Override
    public WxLoginVO wxProgramLogin(String code, HttpServletRequest request) {
        //TODO---------------任康
        String appId = systemDictDataBiz.queryByCode(Constants.WX_CONFIG,Constants.APPID).getCode();
        String appSecret = systemDictDataBiz.queryByCode(Constants.WX_CONFIG,Constants.APPSECRET).getCode();
        String getTokenUrl = GET_ACCESS_TOKEN_URL.replace("CODE", code).replace("APPID", appId).replace("SECRET", appSecret);
        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
        if(Objects.isNull(tokenJson.get("access_token"))){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),tokenJson.getString("errmsg"));
        }
        String accessToken = tokenJson.getString("access_token");
        String openId = tokenJson.getString("openid");
        String getUserInfoUrl = GET_USER_INFO_URL.replace("ACCESS_TOKEN", accessToken).replace("OPENID", openId);
        JSONObject userInfoJson = JSONObject.parseObject(HttpsUtil.get(getUserInfoUrl,true));
        return  loginByUnionIdAndReturn(userInfoJson.getString("unionid"),openId,request);
    }
    private WxLoginVO loginByUnionIdAndReturn(String unionid,String openId,HttpServletRequest request) {
        WxLoginVO wxLoginVO = new WxLoginVO();
        wxLoginVO.setOpenid(openId);
@@ -176,11 +195,6 @@
        }
    }
    @Override
    public WxLoginVO wxProgramLogin(String unionId,String openId, HttpServletRequest request) {
        return  loginByUnionIdAndReturn(unionId,openId,request);
    }