From 2ad97245d64b65132507cab36ad89d968edb7705 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 20 三月 2025 09:50:09 +0800
Subject: [PATCH] sql文件

---
 guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java |  152 +++++---------------------------------------------
 1 files changed, 17 insertions(+), 135 deletions(-)

diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
index 0eed1d8..985f0a0 100644
--- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
+++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
@@ -1,19 +1,16 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.stylefeng.guns.core.util.JwtTokenUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.system.dao.AppUserMapper;
+import com.stylefeng.guns.modular.system.dto.LoginWeChatDTO;
 import com.stylefeng.guns.modular.system.model.AppUser;
+import com.stylefeng.guns.modular.system.model.User;
+import com.stylefeng.guns.modular.system.dao.AppUserMapper;
 import com.stylefeng.guns.modular.system.service.IAppUserService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.util.Md5Util;
 import com.stylefeng.guns.modular.system.util.RedisUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.UUIDUtil;
-import com.stylefeng.guns.modular.system.util.weChat.WXCore;
-import com.stylefeng.guns.modular.system.util.weChat.WeChatUtil;
-import com.stylefeng.guns.modular.system.warpper.req.RegisterAccountReq;
-import com.stylefeng.guns.modular.system.warpper.res.AppletLoginRes;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -21,21 +18,20 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
-import java.util.Map;
+import java.util.HashMap;
 
 /**
- * @author zhibing.pu
- * @Date 2023/11/7 11:07
+ * <p>
+ * 用户表 服务实现类
+ * </p>
+ *
+ * @author 无关风月
+ * @since 2024-02-06
  */
 @Service
 public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> implements IAppUserService {
-
-    @Autowired
-    private WeChatUtil weChatUtil;
     @Autowired
     private RedisUtil redisUtil;
-
-
     /**
      * 通过token获取用户信息
      * @return
@@ -45,7 +41,9 @@
         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
         HttpServletRequest request = servletRequestAttributes.getRequest();
         String authorization = request.getHeader("Authorization");
-        if(ToolUtil.isNotEmpty(authorization) && authorization.contains("Bearer")){
+        // todo 这里注释了一段代码
+        // && authorization.contains("Bearer")
+        if(ToolUtil.isNotEmpty(authorization) && authorization.contains("Bearer ") ){
             String token = authorization.substring(7);
             //通过token获取用户id
             Integer appUserId = getAppUserIdFromToken(token);
@@ -56,122 +54,6 @@
 
 
 
-
-
-
-    /**
-     * 小程序登录
-     * @param jscode
-     * @return
-     */
-    @Override
-    public ResultUtil<AppletLoginRes> appletLogin(String jscode) {
-        try {
-            //调用微信获取用户小程序openid
-            Map<String, Object> map = weChatUtil.code2Session(jscode);
-            if(null == map){
-                return ResultUtil.error("获取微信身份信息失败");
-            }
-            String openid = map.get("openid").toString();
-            AppUser appUser = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            AppletLoginRes appletLoginRes = new AppletLoginRes();
-            if(null != appUser){
-                String token = JwtTokenUtil.generateToken(appUser.getPhone());
-                appletLoginRes.setToken(token);
-            }
-            return ResultUtil.success(appletLoginRes);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
-
-    /**
-     * 小程序注册账号
-     * @param req
-     * @return
-     */
-    @Override
-    public ResultUtil<AppletLoginRes> registerAccount(RegisterAccountReq req) {
-        try {
-            //调用微信获取用户小程序openid
-            Map<String, Object> map = weChatUtil.code2Session(req.getJscode());
-            if(null == map){
-                return ResultUtil.error("获取微信身份信息失败");
-            }
-            String openid = map.get("openid").toString();
-            AppUser appUser = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            AppletLoginRes appletLoginRes = new AppletLoginRes();
-            if(null == appUser){
-                String sessionKey = map.get("sessionKey").toString();
-                //解密手机号
-                String phone = WXCore.decrypt(req.getEncryptedPhoneData(), sessionKey, req.getPhone_iv());
-                appUser = this.selectOne(new EntityWrapper<AppUser>()
-                        .eq("phone", phone)
-                        .eq("audit_status", 2)
-                        .eq("status", 1));
-                if(null == appUser){
-                    //注册新账号
-                    addNewAppUser(openid, phone);
-                }else{
-                    appUser.setWechatOpenid(openid);
-                    this.updateById(appUser);
-                }
-            }
-            //生成token
-            String token = JwtTokenUtil.generateToken(appUser.getPhone());
-            appletLoginRes.setToken(token);
-            //存入缓存中
-            addTokenToRedis(token, appUser.getId());
-            return ResultUtil.success(appletLoginRes);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
-
-    /**
-     * 添加新用户到数据库
-     * @param openid    微信openid
-     * @param phone     手机号
-     */
-    private void addNewAppUser(String openid, String phone){
-        AppUser appUser = new AppUser();
-        appUser.setCode(UUIDUtil.getNumberRandom(16));
-        appUser.setUserType(1);
-        appUser.setPhone(phone);
-        appUser.setWechatOpenid(openid);
-        appUser.setAuditStatus(2);
-        appUser.setStatus(1);
-        appUser.setInsertTime(new Date());
-        this.insert(appUser);
-    }
-
-
-    /**
-     * 将用户标识存入缓存中用于后期接口的身份校验
-     * @param token
-     * @param id
-     */
-    private void addTokenToRedis(String token, Integer id){
-        String key = token;
-        int length = token.length();
-        if(length > 16){
-            key = token.substring(4, 12);
-        }
-        //30天有效期
-        redisUtil.setStrValue(key, id.toString(), 2592000);
-    }
-
-
     /**
      * 通过token获取用户id
      * @param token
@@ -180,8 +62,8 @@
     private Integer getAppUserIdFromToken(String token){
         String key = token;
         int length = token.length();
-        if(length > 16){
-            key = token.substring(4, 12);
+        if(length > 32){
+            key = token.substring(token.length() - 32);
         }
         String value = redisUtil.getValue(key);
         if(ToolUtil.isEmpty(value)){

--
Gitblit v1.7.1