From 4351e71d782741143a98f86f6648acd16689165f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 27 May 2022 19:48:02 +0800
Subject: [PATCH] Merge branch 'developer' into hive2.0

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
index d175ec5..f0dcbb0 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
@@ -1,24 +1,28 @@
 package com.matrix.system.app.action;
 
-import com.matrix.component.redis.RedisClient;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.WebUtil;
-import com.matrix.system.app.dto.*;
-import com.matrix.system.app.mapper.SysBeauticianStateMapper;
+import com.matrix.system.app.dto.BeauticianDto;
+import com.matrix.system.app.dto.ModifyUserDto;
+import com.matrix.system.app.dto.PwdModifyDto;
+import com.matrix.system.app.dto.UsersQueryDto;
 import com.matrix.system.app.mapper.SysUsersMapper;
 import com.matrix.system.app.mapper.SysWorkBeatuistaffMapper;
 import com.matrix.system.app.vo.BeauticianVo;
 import com.matrix.system.app.vo.UserAchieveVo;
 import com.matrix.system.app.vo.UserInfoDetailVo;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.init.LocalCache;
 import com.matrix.system.common.interceptor.ApiUserLoginInterceptor;
+import com.matrix.system.common.interceptor.HostInterceptor;
 import com.matrix.system.common.service.SysUsersService;
 import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.common.tools.PasswordUtil;
 import com.matrix.system.hive.action.BaseController;
-import com.matrix.system.hive.bean.SysBeauticianState;
 import com.matrix.system.hive.bean.SysWorkBeatuistaff;
 import com.matrix.system.hive.service.AchieveNewService;
 import com.matrix.system.hive.service.SysWorkBeatuistaffService;
@@ -28,14 +32,13 @@
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -59,9 +62,8 @@
     @Autowired
     private SysWorkBeatuistaffService sysWorkBeatuistaffService;
 
-    @Autowired
-    private RedisClient redisClient;
-
+    @Value("${login_private_key}")
+    private  String privateKey;
 
     @ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月")
     @ApiResponses({
@@ -104,8 +106,25 @@
     @ApiOperation(value = "退出登陆", notes = "退出登陆")
     @GetMapping(value = "/loginOut")
     public AjaxResult loginOut(HttpServletRequest request) {
-        String token=ApiUserLoginInterceptor.resolveToken(request);
-        redisClient.removeObject(token);
+        String token=ApiUserLoginInterceptor.resolveToken(request,privateKey);
+        LocalCache.remove(token);
+        return AjaxResult.buildSuccessInstance("退出成功");
+    }
+
+    @ApiOperation(value = "小程序退出登陆", notes = "小程序退出登陆")
+    @GetMapping(value = "/xcxloginOut/{code}")
+    public AjaxResult xcxloginOut(HttpServletRequest request, @PathVariable("code") String code) {
+        SysUsers hasBind = sysUsersService.findByOpenId(code, HostInterceptor.getCompanyId());
+        if (hasBind != null) {
+            if(StrUtil.isNotBlank(hasBind.getOpenIds())) {
+                List<String> openIds = StrUtil.split(hasBind.getOpenIds(), ',');
+                openIds.remove(code);
+
+                sysUsersService.modifyUserOpenId(CollUtil.join(openIds, ","), hasBind.getSuId());
+            }
+        }
+        String token=ApiUserLoginInterceptor.resolveToken(request,privateKey);
+        LocalCache.remove(token);
         return AjaxResult.buildSuccessInstance("退出成功");
     }
 

--
Gitblit v1.9.1