Browse Source

'优化移动端-登录appLogin接口,解决pc端登录报null的问题'

james 11 months ago
parent
commit
53db36b5a7

+ 32 - 31
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -84,42 +84,43 @@ public class TokenController {
         SysPerson sysPerson = sysPersonService.getsysPerson(userInfo.getUserId());
         sysUser.setSysPerson(sysPerson);
 
-        String type = form.getType();
-        if(type.equals("app")){   //app登录
-            //插入或更新mce_mbuser消息中心_移动端注册表表记录cids,通过userId去这个表中查询,有记录则更新对应的cids,没有就插入
-            String cids = form.getCids();
-            Long userId = userInfo.getUserId();
-            int count = userMapper.selectMbUserCount(userId);
-            if(count > 0){
-                userMapper.updateMbUser(userId,cids, userInfo.getUserName());
-            }else{
-                userMapper.insertMbUser(userId,cids, userInfo.getUserName());
-            }
-        }
-        if(type.equals("wx")){
-            String phone = form.getPhone();
-            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);
-                one.setOpenid(request.getSession().getAttribute("openid").toString());
-                one.setCreateBy(SecurityUtils.getUsername());
-                one.setUserId(SecurityUtils.getUserId());
-                one.setCreateTime(LocalDateTime.now());
-
-                if(!mceMbuserService.save(one)){
-                    throw new BusinessException("注册失败,重新注册");
+        if(StringUtils.isNotEmpty(form.getType())){
+            String type = form.getType();
+            if(type.equals("app")){   //app登录
+                //插入或更新mce_mbuser消息中心_移动端注册表表记录cids,通过userId去这个表中查询,有记录则更新对应的cids,没有就插入
+                String cids = form.getCids();
+                Long userId = userInfo.getUserId();
+                int count = userMapper.selectMbUserCount(userId);
+                if(count > 0){
+                    userMapper.updateMbUser(userId,cids, userInfo.getUserName());
+                }else{
+                    userMapper.insertMbUser(userId,cids, userInfo.getUserName());
                 }
-            }else {
-                request.getSession().setAttribute("openid",list.get(0).getOpenid());
             }
+            if(type.equals("wx")){
+                String phone = form.getPhone();
+                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);
+                    one.setOpenid(request.getSession().getAttribute("openid").toString());
+                    one.setCreateBy(SecurityUtils.getUsername());
+                    one.setUserId(SecurityUtils.getUserId());
+                    one.setCreateTime(LocalDateTime.now());
+
+                    if(!mceMbuserService.save(one)){
+                        throw new BusinessException("注册失败,重新注册");
+                    }
+                }else {
+                    request.getSession().setAttribute("openid",list.get(0).getOpenid());
+                }
 
-            request.getSession().setAttribute("phone",phone);
+                request.getSession().setAttribute("phone",phone);
+            }
         }
 
-
         // 获取登录token
         return ApiResult.success(tokenService.createToken(sysUser));
     }