浏览代码

微信登陆修改

tudc 3 年之前
父节点
当前提交
13c58e1ba9

+ 20 - 22
tianhu-system/src/main/java/com/tianhu/system/controller/SysUserController.java

@@ -159,12 +159,12 @@ public class SysUserController extends BaseController
     @PostMapping("/zcInfo")
     @Log(title = "用户登录", businessType = BusinessType.UPDATE)
     public R info(@RequestParam(value = "type", required = false) String type,
-                                       @RequestParam(value = "code", required = false) String code,
-                                       @RequestParam(value = "uuid", required = false) String uuid,
-                                       @RequestParam(value = "unionId", required = false) String unionId,
-                                       @RequestParam(value = "username") String username,
-                                       @RequestParam(value = "password") String password,
-                                       @RequestParam(value = "shortMessageCode", required = false) String shortMessageCode) throws ParseException
+                  @RequestParam(value = "code", required = false) String code,
+                  @RequestParam(value = "uuid", required = false) String uuid,
+                  @RequestParam(value = "unionId", required = false) String unionId,
+                  @RequestParam(value = "username") String username,
+                  @RequestParam(value = "password") String password,
+                  @RequestParam(value = "shortMessageCode", required = false) String shortMessageCode) throws ParseException
     {
         Map<String, Object> resMap = new HashMap<>();
 
@@ -222,10 +222,7 @@ public class SysUserController extends BaseController
 
             // 扫码后注册
             if ("2".equals(type)) {
-                if (StringUtils.isNotNull(sysUser)) {
-                    return R.fail("手机号已被注册");
 
-                }
                 if (StringUtils.isEmpty(unionId)) {
                     return R.fail("unionId数据错误");
                 }
@@ -238,13 +235,14 @@ public class SysUserController extends BaseController
                     return R.fail("此微信已绑定账号");
                 }
 
-                sysUser = new SysUser();
-                sysUser.setUserName(username);
-                sysUser.setNickName(username);
-                String spassword = configService.selectConfigByKey("sys.user.initPassword");
-                sysUser.setPassword(SecurityUtils.encryptPassword(spassword));
-                userService.insertUser(sysUser);
-                sysUser = userService.selectUserByUserName(username);
+                if (sysUser == null) {
+                    sysUser = new SysUser();
+                    sysUser.setUserName(username);
+                    sysUser.setNickName(username);
+                    String spassword = configService.selectConfigByKey("sys.user.initPassword");
+                    sysUser.setPassword(SecurityUtils.encryptPassword(spassword));
+                    userService.insertUser(sysUser);
+                }
 
                 String  wechatId  =  IdUtils.fastSimpleUUID();
                 SysWeChat sysWeChat = new SysWeChat();
@@ -254,15 +252,15 @@ public class SysUserController extends BaseController
                 sysWeChat.setSwcWxUuid(unionId);
                 iSysWeChatService.createSysWeChat(sysWeChat);
 
-                LoginUser sysUserVo = new LoginUser();
+                /*LoginUser sysUserVo = new LoginUser();
                 sysUserVo.setSysUser(sysUser);
                 resMap.put("code", "0");
                 resMap.put("message", "用户未绑定企业");
                 resMap.put("loginUser", sysUserVo);
-                return R.ok(resMap);
+                return R.ok(resMap);*/
             }
 
-        // 密码登陆
+            // 密码登陆
         } else {
             if (StringUtils.isNull(sysUser))
             {
@@ -423,7 +421,7 @@ public class SysUserController extends BaseController
             LoginUser sysUserVo = new LoginUser();
             sysUserVo.setSysUser(sysUser);
             resMap.put("loginUser", sysUserVo);
-        // 只绑定了一家企业
+            // 只绑定了一家企业
         } else if (userCompanyRelList.size() == 1) {
             resMap.put("code", "1");
             resMap.put("message", "用户已绑定一家企业");
@@ -443,7 +441,7 @@ public class SysUserController extends BaseController
                     return R.fail("企业状态异常,请联系管理员!");
                 }
                 sysUser.setCompanyStatus(company.getScyStatus());
-             // 平台用户
+                // 平台用户
             } else {
                 sysUser.setCompanyType("00");
                 sysUser.setCompanyStatus("00");
@@ -458,7 +456,7 @@ public class SysUserController extends BaseController
             sysUserVo.setSysUser(sysUser);
 
             resMap.put("loginUser", sysUserVo);
-        // 绑定多加企业
+            // 绑定多加企业
         } else {
             LoginUser sysUserVo = new LoginUser();
             sysUserVo.setSysUser(sysUser);

+ 19 - 21
tianhu-system/src/main/java/com/tianhu/system/controller/WxApiController.java

@@ -14,13 +14,18 @@ import com.tianhu.system.domain.SysWeChat;
 import com.tianhu.system.service.*;
 import com.tianhu.system.utils.HttpUtil;
 import com.tianhu.system.utils.SysConstant;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.net.URLEncoder;
 import java.util.*;
 
@@ -37,7 +42,9 @@ public class WxApiController {
     /**
      * 网站应用appid
      */
-    public static String WEB_APP_ID = "wxb19830659f744ebb";
+    public static String WX_WEB_APP_ID = "WX_WEB_APP_ID";
+    public static String WX_WEB_SCOPE = "WX_WEB_SCOPE";
+    public static String WEB_REDIRECT_URL = "WEB_REDIRECT_URL";
 
     /**
      * 网站应用secret
@@ -71,28 +78,19 @@ public class WxApiController {
     private ISysDeptService deptService;
     @Autowired
     private ISysCompanyService companyService;
+    @Autowired
+    private ISysConfigService configService;
 
     /**
-     * 获取二维码
+     * 获取微信参数
      */
-    @GetMapping("/login")
-    public String qrCode() throws UnsupportedEncodingException {
-        //%s表示占位符,需要我们设定值,其他则是固定式
-        String baseUrl = "https://open.weixin.qq.com/connect/qrconnect" +
-                "?appid=%s" +
-                "&redirect_uri=%s" +
-                "&response_type=code" +
-                "&scope=snsapi_login" +
-                "&state=%s" +
-                "#wechat_redirect";
-        //转化路径中的\\,符合微信二维码路径标准
-        String redirectUrl = URLEncoder.encode(WEB_APP_URL, "UTF-8");
-        //自己设置的
-//        String state = "http://tianhu.adm.minpay.cc";
-        //给上面路径中的%s占位符赋值
-        String retUrl = String.format(baseUrl, WEB_APP_ID, redirectUrl, "00");
-        //将结果返回,就可以生成二维码
-        return retUrl;
+    @GetMapping("/getWxParam")
+    public R getWxParam() {
+        Map<String, String> param = new HashMap<>();
+        param.put("appid", configService.selectConfigByKey(WX_WEB_APP_ID));
+        param.put("scope", configService.selectConfigByKey(WX_WEB_SCOPE));
+        param.put("redirect_uri", configService.selectConfigByKey(WEB_REDIRECT_URL));
+        return R.ok(param);
     }
 
     /**
@@ -107,7 +105,7 @@ public class WxApiController {
                 "&code=%s" +
                 "&grant_type=authorization_code";
         //给上面路径中的%s占位符赋值
-        String baseAccessTo = String.format(baseAccessTokenUrl, WEB_APP_ID, WEB_APP_SECRET, code);
+        String baseAccessTo = String.format(baseAccessTokenUrl, configService.selectConfigByKey(WX_WEB_APP_ID), WEB_APP_SECRET, code);
         //模拟http请求
         String retUrl = HttpUtil.httpRequest(baseAccessTo);
         //将http请求转换为json