|
@@ -1,6 +1,10 @@
|
|
|
package com.usky.system.controller.web;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+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.util.BeanMapperUtils;
|
|
|
import com.usky.common.core.util.JwtUtils;
|
|
|
import com.usky.common.core.util.StringUtils;
|
|
@@ -8,20 +12,21 @@ import com.usky.common.redis.core.RedisHelper;
|
|
|
import com.usky.common.security.auth.AuthUtil;
|
|
|
import com.usky.common.security.service.TokenService;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
+import com.usky.system.domain.MceMbuser;
|
|
|
import com.usky.system.domain.SysPerson;
|
|
|
import com.usky.system.domain.SysUser;
|
|
|
import com.usky.system.domain.SysUserVO;
|
|
|
import com.usky.system.mapper.SysUserMapper;
|
|
|
import com.usky.system.model.LoginUser;
|
|
|
-import com.usky.system.service.ISysPermissionService;
|
|
|
-import com.usky.system.service.ISysUserService;
|
|
|
-import com.usky.system.service.SysLoginService;
|
|
|
-import com.usky.system.service.SysPersonService;
|
|
|
+import com.usky.system.service.*;
|
|
|
import com.usky.system.service.vo.LoginBody;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
@@ -50,6 +55,13 @@ public class TokenController {
|
|
|
@Autowired
|
|
|
private SysUserMapper userMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MceMbuserService mceMbuserService;
|
|
|
+ @Resource
|
|
|
+ private HttpServletRequest request;
|
|
|
+ @Resource
|
|
|
+ private HttpServletResponse response;
|
|
|
+
|
|
|
@PostMapping("login")
|
|
|
public ApiResult<?> login(@RequestBody LoginBody form) {
|
|
|
// 用户登录
|
|
@@ -72,15 +84,43 @@ public class TokenController {
|
|
|
SysPerson sysPerson = sysPersonService.getsysPerson(userInfo.getUserId());
|
|
|
sysUser.setSysPerson(sysPerson);
|
|
|
|
|
|
- //插入或更新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());
|
|
|
+ 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)){
|
|
|
+
|
|
|
+ }else{
|
|
|
+ throw new BusinessException("注册失败,重新注册");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ request.getSession().setAttribute("openid",list.get(0).getOpenid());
|
|
|
+ }
|
|
|
+
|
|
|
+ request.getSession().setAttribute("phone",phone);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// 获取登录token
|
|
|
return ApiResult.success(tokenService.createToken(sysUser));
|