夏文涛 2 lat temu
rodzic
commit
42712886c5

+ 19 - 13
src/main/java/com/template/controller/WechatScanLoginController.java

@@ -194,19 +194,25 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
                 if (userc.isEmpty()) {
                     return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("用户不存在", "UTF-8");
                 }
-                userc.get(0).setOpenId(openid);
-                int m = wechatScanLoginService.updateSmartUser(userc.get(0));
-                if (m > 0) {
-                    String token = JWTUtil.getToken(userc.get(0), null);
-                    QueryWrapper<SmartAuthority> queryWrapper3 = new QueryWrapper<>();
-                    queryWrapper3.eq("deleted", 0);
-                    queryWrapper3.eq("user_id", userc.get(0).getId());
-                    List<SmartAuthority> query = smartAuthorityService.getAuthorByKey(queryWrapper3);
-                    if (query.size() > 0) {
-                        String userhead = AesUtils.encrypt(String.valueOf(userc.get(0).getId()));
-                        return "redirect:" + HttpParame.FRONT_URI + "/#/wanzai/home?token=" + token + "&userhead=" + userhead;
-                    } else {
-                        return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("无登录权限", "UTF-8");
+                for (SmartUser user:userc){
+                    user.setOpenId(openid);
+                }
+
+                boolean m = smartUserService.updateUserBatchById(userc);
+                if (m) {
+                    Optional<SmartUser> oUser = userc.stream().filter(e -> e.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()).findFirst();
+                    if(oUser != null && oUser.isPresent()){
+                        String token = JWTUtil.getToken(oUser.get(), null);
+                        QueryWrapper<SmartAuthority> queryWrapper3 = new QueryWrapper<>();
+                        queryWrapper3.eq("deleted", 0);
+                        queryWrapper3.eq("user_id", oUser.get().getId());
+                        List<SmartAuthority> query = smartAuthorityService.getAuthorByKey(queryWrapper3);
+                        if (query.size() > 0) {
+                            String userhead = AesUtils.encrypt(String.valueOf(oUser.get().getId()));
+                            return "redirect:" + HttpParame.FRONT_URI + "/#/wanzai/home?token=" + token + "&userhead=" + userhead;
+                        } else {
+                            return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("无登录权限", "UTF-8");
+                        }
                     }
                 }
             }