|
@@ -57,10 +57,10 @@ import java.util.Objects;
|
|
|
public class WeChatController {
|
|
|
@Autowired
|
|
|
private WxMpService wxMpService;
|
|
|
- @Resource
|
|
|
- private HttpServletRequest request;
|
|
|
- @Resource
|
|
|
- private HttpServletResponse response;
|
|
|
+// @Resource
|
|
|
+// private HttpServletRequest request;
|
|
|
+// @Resource
|
|
|
+// private HttpServletResponse response;
|
|
|
@Autowired
|
|
|
private MceMbuserService mceMbuserService;
|
|
|
@Autowired
|
|
@@ -69,8 +69,8 @@ public class WeChatController {
|
|
|
/**
|
|
|
* 调用的第一个接口,获取微信公众号CODE,获取openid
|
|
|
*/
|
|
|
- @RequestMapping("/getFirst1")
|
|
|
- public void getFirst1() throws ServletException, IOException, WxErrorException {
|
|
|
+ @GetMapping("/getFirst1")
|
|
|
+ public void getFirst1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, WxErrorException {
|
|
|
String http = "https://";
|
|
|
String code = request.getParameter("code");
|
|
|
String userAgent = request.getHeader("User-Agent");
|
|
@@ -103,155 +103,155 @@ public class WeChatController {
|
|
|
request.getRequestDispatcher(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login?flag=true", "UTF-8")).forward(request,response);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 跳转首页权限
|
|
|
- */
|
|
|
- @GetMapping("/getPageAuthorization")
|
|
|
- public void getPageAuthorization() throws UnsupportedEncodingException {
|
|
|
- String http = "https://";
|
|
|
- String code = request.getParameter("code");
|
|
|
- String userAgent = request.getHeader("User-Agent");
|
|
|
- if(!userAgent.contains("MicroMessenger")){
|
|
|
- try{
|
|
|
- response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
- }catch (IOException e){
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- Object obj = request.getSession().getAttribute("openid");
|
|
|
- if((obj != null) && (StringUtils.isNotBlank(obj.toString()))){
|
|
|
- try{
|
|
|
- LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.eq(MceMbuser::getOpenid,request.getSession().getAttribute("openid"));
|
|
|
- MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
- if(one != null){
|
|
|
- request.getSession().setAttribute("phone",one.getPhone());
|
|
|
- String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
|
|
|
- response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
|
|
|
- }else{
|
|
|
- request.getSession().removeAttribute("openid");
|
|
|
- request.getSession().removeAttribute("phone");
|
|
|
-
|
|
|
- response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
- }
|
|
|
- }catch (IOException e){
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- if(StringUtils.isBlank(code)){
|
|
|
- String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
|
|
|
- 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";
|
|
|
- try{
|
|
|
- System.out.println("sendUrl: "+sendUrl);
|
|
|
- response.sendRedirect(sendUrl);
|
|
|
- }catch (IOException e){
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
- }
|
|
|
- }else{
|
|
|
- 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.eq(MceMbuser::getOpenid,openid);
|
|
|
- MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
- if(one != null){
|
|
|
- request.getSession().setAttribute("phone",one.getPhone());
|
|
|
-
|
|
|
- String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
|
|
|
- response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
|
|
|
- }else{
|
|
|
- request.getSession().removeAttribute("openid");
|
|
|
- request.getSession().removeAttribute("phone");
|
|
|
-
|
|
|
- response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } catch (Exception e) {
|
|
|
- throw new BusinessException(e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 登录并注册
|
|
|
- */
|
|
|
- @PostMapping("/signUp")
|
|
|
- public Map<String,Object> signUp(@RequestBody SignUpRequestVO requestVO){
|
|
|
- String phone = requestVO.getPhone();
|
|
|
- String verify = requestVO.getVerify();
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
-
|
|
|
- //手机验证码登录
|
|
|
- if (StringUtils.isBlank(phone)) {
|
|
|
- throw new BusinessException("手机号不能为空");
|
|
|
- }
|
|
|
- if (StringUtils.isBlank(verify)) {
|
|
|
- throw new BusinessException("验证码不能为空");
|
|
|
- }
|
|
|
- if (!verify.equals(redisHelper.get(phone))) {
|
|
|
- throw new BusinessException("验证码错误");
|
|
|
- }
|
|
|
-
|
|
|
- LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.eq(MceMbuser::getPhone,phone);
|
|
|
- List<MceMbuser> list = mceMbuserService.list(queryWrapper);
|
|
|
- if(CollectionUtils.isEmpty(list)){
|
|
|
- MceMbuser one = new MceMbuser();
|
|
|
- one.setPhone(phone);
|
|
|
- if(request.getSession().getAttribute("type") == "app"){
|
|
|
- one.setOpenid(request.getSession().getAttribute("app_token").toString());
|
|
|
- }else{
|
|
|
- one.setOpenid(request.getSession().getAttribute("openid").toString());
|
|
|
- }
|
|
|
- one.setCreateBy(SecurityUtils.getUsername());
|
|
|
- one.setUserId(SecurityUtils.getUserId());
|
|
|
- one.setCreateTime(LocalDateTime.now());
|
|
|
-
|
|
|
- if(mceMbuserService.save(one)){
|
|
|
-
|
|
|
- }else{
|
|
|
- map.put("msg","注册失败,请重新注册");
|
|
|
- map.put("flag",true);
|
|
|
- return map;
|
|
|
- }
|
|
|
- }else {
|
|
|
- request.getSession().setAttribute("openid",list.get(0).getOpenid());
|
|
|
- }
|
|
|
-
|
|
|
- request.getSession().setAttribute("phone",phone);
|
|
|
-
|
|
|
- map.put("msg","验证成功,正在登录");
|
|
|
- map.put("flag",true);
|
|
|
- return map;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 微信消息提醒
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("sendWeChatMessage")
|
|
|
- public JSONObject sendWeChatMessage(@RequestBody SendWeChatMessageRequestVO requestVO) {
|
|
|
- return mceMbuserService.sendWeChatMessage(requestVO);
|
|
|
-
|
|
|
- }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 跳转首页权限
|
|
|
+// */
|
|
|
+// @GetMapping("/getPageAuthorization")
|
|
|
+// public void getPageAuthorization() throws UnsupportedEncodingException {
|
|
|
+// String http = "https://";
|
|
|
+// String code = request.getParameter("code");
|
|
|
+// String userAgent = request.getHeader("User-Agent");
|
|
|
+// if(!userAgent.contains("MicroMessenger")){
|
|
|
+// try{
|
|
|
+// response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
+// }catch (IOException e){
|
|
|
+// throw new BusinessException(e.getMessage());
|
|
|
+// }
|
|
|
+//
|
|
|
+// }else{
|
|
|
+// Object obj = request.getSession().getAttribute("openid");
|
|
|
+// if((obj != null) && (StringUtils.isNotBlank(obj.toString()))){
|
|
|
+// try{
|
|
|
+// LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+// queryWrapper.eq(MceMbuser::getOpenid,request.getSession().getAttribute("openid"));
|
|
|
+// MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
+// if(one != null){
|
|
|
+// request.getSession().setAttribute("phone",one.getPhone());
|
|
|
+// String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
|
|
|
+// response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
|
|
|
+// }else{
|
|
|
+// request.getSession().removeAttribute("openid");
|
|
|
+// request.getSession().removeAttribute("phone");
|
|
|
+//
|
|
|
+// response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
+// }
|
|
|
+// }catch (IOException e){
|
|
|
+// throw new BusinessException(e.getMessage());
|
|
|
+// }
|
|
|
+//
|
|
|
+// }else{
|
|
|
+// if(StringUtils.isBlank(code)){
|
|
|
+// String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
|
|
|
+// 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";
|
|
|
+// try{
|
|
|
+// System.out.println("sendUrl: "+sendUrl);
|
|
|
+// response.sendRedirect(sendUrl);
|
|
|
+// }catch (IOException e){
|
|
|
+// throw new BusinessException(e.getMessage());
|
|
|
+// }
|
|
|
+// }else{
|
|
|
+// 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.eq(MceMbuser::getOpenid,openid);
|
|
|
+// MceMbuser one = mceMbuserService.getOne(queryWrapper);
|
|
|
+// if(one != null){
|
|
|
+// request.getSession().setAttribute("phone",one.getPhone());
|
|
|
+//
|
|
|
+// String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
|
|
|
+// response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
|
|
|
+// }else{
|
|
|
+// request.getSession().removeAttribute("openid");
|
|
|
+// request.getSession().removeAttribute("phone");
|
|
|
+//
|
|
|
+// response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// } catch (Exception e) {
|
|
|
+// throw new BusinessException(e.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 登录并注册
|
|
|
+// */
|
|
|
+// @PostMapping("/signUp")
|
|
|
+// public Map<String,Object> signUp(@RequestBody SignUpRequestVO requestVO){
|
|
|
+// String phone = requestVO.getPhone();
|
|
|
+// String verify = requestVO.getVerify();
|
|
|
+// Map<String,Object> map = new HashMap<>();
|
|
|
+//
|
|
|
+// //手机验证码登录
|
|
|
+// if (StringUtils.isBlank(phone)) {
|
|
|
+// throw new BusinessException("手机号不能为空");
|
|
|
+// }
|
|
|
+// if (StringUtils.isBlank(verify)) {
|
|
|
+// throw new BusinessException("验证码不能为空");
|
|
|
+// }
|
|
|
+// if (!verify.equals(redisHelper.get(phone))) {
|
|
|
+// throw new BusinessException("验证码错误");
|
|
|
+// }
|
|
|
+//
|
|
|
+// LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+// queryWrapper.eq(MceMbuser::getPhone,phone);
|
|
|
+// List<MceMbuser> list = mceMbuserService.list(queryWrapper);
|
|
|
+// if(CollectionUtils.isEmpty(list)){
|
|
|
+// MceMbuser one = new MceMbuser();
|
|
|
+// one.setPhone(phone);
|
|
|
+// if(request.getSession().getAttribute("type") == "app"){
|
|
|
+// one.setOpenid(request.getSession().getAttribute("app_token").toString());
|
|
|
+// }else{
|
|
|
+// one.setOpenid(request.getSession().getAttribute("openid").toString());
|
|
|
+// }
|
|
|
+// one.setCreateBy(SecurityUtils.getUsername());
|
|
|
+// one.setUserId(SecurityUtils.getUserId());
|
|
|
+// one.setCreateTime(LocalDateTime.now());
|
|
|
+//
|
|
|
+// if(mceMbuserService.save(one)){
|
|
|
+//
|
|
|
+// }else{
|
|
|
+// map.put("msg","注册失败,请重新注册");
|
|
|
+// map.put("flag",true);
|
|
|
+// return map;
|
|
|
+// }
|
|
|
+// }else {
|
|
|
+// request.getSession().setAttribute("openid",list.get(0).getOpenid());
|
|
|
+// }
|
|
|
+//
|
|
|
+// request.getSession().setAttribute("phone",phone);
|
|
|
+//
|
|
|
+// map.put("msg","验证成功,正在登录");
|
|
|
+// map.put("flag",true);
|
|
|
+// return map;
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 微信消息提醒
|
|
|
+// * @return
|
|
|
+// */
|
|
|
+// @PostMapping("sendWeChatMessage")
|
|
|
+// public JSONObject sendWeChatMessage(@RequestBody SendWeChatMessageRequestVO requestVO) {
|
|
|
+// return mceMbuserService.sendWeChatMessage(requestVO);
|
|
|
+//
|
|
|
+// }
|
|
|
|
|
|
}
|
|
|
|