|
@@ -1,11 +1,15 @@
|
|
package com.usky.iot.controller.web;
|
|
package com.usky.iot.controller.web;
|
|
|
|
|
|
|
|
+import cn.hutool.http.HttpUtil;
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.usky.common.core.bean.ApiResult;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
|
|
+import com.usky.common.core.util.HttpUtils;
|
|
import com.usky.common.redis.core.RedisHelper;
|
|
import com.usky.common.redis.core.RedisHelper;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.iot.constant.constant;
|
|
import com.usky.iot.constant.constant;
|
|
@@ -13,22 +17,39 @@ import com.usky.iot.domain.MceMbuser;
|
|
import com.usky.iot.service.MceMbuserService;
|
|
import com.usky.iot.service.MceMbuserService;
|
|
import com.usky.iot.service.vo.SendWeChatMessageRequestVO;
|
|
import com.usky.iot.service.vo.SendWeChatMessageRequestVO;
|
|
import com.usky.iot.service.vo.SignUpRequestVO;
|
|
import com.usky.iot.service.vo.SignUpRequestVO;
|
|
|
|
+import com.usky.iot.service.vo.TemplateData;
|
|
|
|
+import com.usky.iot.service.vo.TemplateMsgEntityVO;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import ma.glasnost.orika.impl.util.StringUtil;
|
|
|
|
+import me.chanjar.weixin.common.api.WxConsts;
|
|
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
|
|
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
|
|
|
|
+import me.chanjar.weixin.common.error.WxErrorException;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
|
|
+import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.boot.ExitCodeEvent;
|
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
|
|
+import org.springframework.web.servlet.view.RedirectView;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
+import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
+import javax.servlet.http.HttpSession;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLDecoder;
|
|
|
|
+import java.net.URLEncoder;
|
|
|
|
+import java.text.ParseException;
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
@RestController
|
|
@RestController
|
|
@RequestMapping("/weChat")
|
|
@RequestMapping("/weChat")
|
|
@@ -47,10 +68,9 @@ public class WeChatController {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 调用的第一个接口,获取微信公众号CODE,获取openid
|
|
* 调用的第一个接口,获取微信公众号CODE,获取openid
|
|
- * @return
|
|
|
|
*/
|
|
*/
|
|
@GetMapping("/getFirst1")
|
|
@GetMapping("/getFirst1")
|
|
- public String getFirst1() throws UnsupportedEncodingException {
|
|
|
|
|
|
+ public void getFirst1() throws ServletException, IOException, WxErrorException {
|
|
String http = "https://";
|
|
String http = "https://";
|
|
String code = request.getParameter("code");
|
|
String code = request.getParameter("code");
|
|
String userAgent = request.getHeader("User-Agent");
|
|
String userAgent = request.getHeader("User-Agent");
|
|
@@ -62,36 +82,26 @@ public class WeChatController {
|
|
// String temp = "https://manager.usky.cn/prod-api/service-iot/weChat/getFirst1";
|
|
// String temp = "https://manager.usky.cn/prod-api/service-iot/weChat/getFirst1";
|
|
String url = URLDecoder.decode(temp, "UTF-8");
|
|
String url = URLDecoder.decode(temp, "UTF-8");
|
|
String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
|
|
String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
|
|
- try{
|
|
|
|
- System.out.println("sendUrl: "+sendUrl);
|
|
|
|
- response.sendRedirect(sendUrl);
|
|
|
|
- }catch (IOException e){
|
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
|
- }
|
|
|
|
|
|
+ System.out.println("sendUrl: "+sendUrl);
|
|
|
|
+ request.getRequestDispatcher(sendUrl).forward(request,response);
|
|
}else{
|
|
}else{
|
|
System.out.println("code: "+code);
|
|
System.out.println("code: "+code);
|
|
- try {
|
|
|
|
- WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
|
|
|
|
-
|
|
|
|
- String openid = wxOAuth2AccessToken.getOpenId();
|
|
|
|
- String access_token = wxOAuth2AccessToken.getAccessToken();
|
|
|
|
- System.out.println("openid: "+openid);
|
|
|
|
- request.getSession().setAttribute("openid",openid);
|
|
|
|
- LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
- queryWrapper.select(MceMbuser::getPhone)
|
|
|
|
- .eq(MceMbuser::getOpenid,openid);
|
|
|
|
- MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
|
- if(one != null){
|
|
|
|
- request.getSession().setAttribute("phone",one.getPhone());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-// response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login?flag=true", "UTF-8"));
|
|
|
|
- return URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login?flag=true", "UTF-8");
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
|
|
|
+ WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
|
|
|
|
+
|
|
|
|
+ String openid = wxOAuth2AccessToken.getOpenId();
|
|
|
|
+ String access_token = wxOAuth2AccessToken.getAccessToken();
|
|
|
|
+ System.out.println("openid: "+openid);
|
|
|
|
+ request.getSession().setAttribute("openid",openid);
|
|
|
|
+ LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper.select(MceMbuser::getPhone)
|
|
|
|
+ .eq(MceMbuser::getOpenid,openid);
|
|
|
|
+ MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
|
+ if(one != null){
|
|
|
|
+ request.getSession().setAttribute("phone",one.getPhone());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ request.getRequestDispatcher(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login?flag=true", "UTF-8")).forward(request,response);
|
|
}
|
|
}
|
|
- return "";
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|