Преглед изворни кода

'优化移动端-登录appLogin接口,将微信登录接口合并到这个接口,增加app和wx逻辑处理'

james пре 11 месеци
родитељ
комит
dce59843a1

+ 21 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/MceMbuserController.java

@@ -0,0 +1,21 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+@Controller
+@RequestMapping("/mceMbuser")
+public class MceMbuserController {
+
+}
+

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

@@ -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));

+ 68 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/MceMbuser.java

@@ -0,0 +1,68 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MceMbuser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 电话号码
+     */
+    private String phone;
+
+    /**
+     * 微信用户id
+     */
+    private String openid;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 应用ID
+     */
+    private String cids;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/MceMbuserMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+public interface MceMbuserMapper extends CrudMapper<MceMbuser> {
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/MceMbuserService.java

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+public interface MceMbuserService extends CrudService<MceMbuser> {
+
+}

+ 20 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceMbuserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.system.mapper.MceMbuserMapper;
+import com.usky.system.service.MceMbuserService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+@Service
+public class MceMbuserServiceImpl extends AbstractCrudService<MceMbuserMapper, MceMbuser> implements MceMbuserService {
+
+}

+ 15 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java

@@ -37,6 +37,21 @@ public class LoginBody
      */
     private String cids;
 
+    /**
+     * 登录类型 app; wx;
+     */
+    private String type;
+
+    public String getType()
+    {
+        return type;
+    }
+
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+
     public String getCids()
     {
         return cids;

+ 18 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/MceMbuserMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.MceMbuserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.MceMbuser">
+        <id column="id" property="id" />
+        <result column="phone" property="phone" />
+        <result column="openid" property="openid" />
+        <result column="user_id" property="userId" />
+        <result column="cids" property="cids" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>