From ad3359e6dbce223c77f359495e0067c57e14fc20 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 12 Nov 2021 11:56:32 +0800
Subject: [PATCH] Merge branch 'score_shop' into api_score_meger

---
 zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java |    5 +++++
 zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java          |    2 ++
 zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java               |   20 ++++++++++++++++++++
 zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java                           |    1 +
 zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java              |    3 +--
 zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java                  |    2 ++
 zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml                     |    5 +++++
 7 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
index 8bb1c0b..c3067f7 100644
--- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
@@ -74,6 +74,7 @@
 		registry.addInterceptor(hostInterceptor).addPathPatterns("/**/wxapi/**")
 				.addPathPatterns("/api/common/wxLogin/**")
 				.addPathPatterns("/api/common/bindUser")
+				.addPathPatterns("/api/user/xcxloginOut/**")
 				.excludePathPatterns("/wxCommon/wxapi/wxpayCallback")
 				.excludePathPatterns("/wxCommon/wxapi/rechargeCallBack");
 	}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index 571d201..ed9b2c4 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -374,8 +374,7 @@
                     List<String> openIds = StrUtil.split(hasBind.getOpenIds(), ',');
                     openIds.remove(loginDto.getOpenId());
 
-                    hasBind.setOpenIds(CollUtil.join(openIds, ","));
-                    sysUsersService.modifyByModel(hasBind);
+                    sysUsersService.modifyUserOpenId(CollUtil.join(openIds, ","), hasBind.getSuId());
                 }
             }
 
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 e4fdf69..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,5 +1,7 @@
 package com.matrix.system.app.action;
 
+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;
@@ -16,6 +18,7 @@
 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;
@@ -108,6 +111,23 @@
         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("退出成功");
+    }
+
     @ApiOperation(value = "员工列表", notes = "员工列表")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = BeauticianVo.class)
diff --git a/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java b/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java
index daadc33..7d3181a 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java
@@ -126,4 +126,6 @@
     public List<AppVersion> selectAppVersion();
 
     SysUsers selectUserByOpenId(@Param("openId") String openId, @Param("companyId") Long companyId);
+
+    int updateUserOpenId(@Param("openId") String openId, @Param("suId") Long suId);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java b/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java
index 905a0ff..ec9d7c5 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java
@@ -174,4 +174,6 @@
     public List<AppVersion> findAppVersion();
 
     SysUsers findByOpenId(String openId, Long companyId);
+
+    int modifyUserOpenId(String openId, Long suId);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
index f633b69..2d14f86 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
@@ -275,4 +275,9 @@
     public SysUsers findByOpenId(String openId, Long companyId) {
         return sysUsersDao.selectUserByOpenId(openId, companyId);
     }
+
+    @Override
+    public int modifyUserOpenId(String openId, Long suId) {
+        return sysUsersDao.updateUserOpenId(openId, suId);
+    }
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
index 557d4ea..5027633 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
@@ -1341,4 +1341,9 @@
         </if>
     </select>
 
+    <update id="updateUserOpenId">
+        update sys_users
+        set open_ids=#{openId}
+        where su_id=#{suId}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1