Explorar o código

ipad清退逻辑优化

yjwang hai 2 días
pai
achega
4505a32669

+ 24 - 3
fs-company/src/main/java/com/fs/company/controller/qw/QwUserController.java

@@ -30,6 +30,8 @@ import com.fs.qw.domain.QwExternalContact;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.mapper.QwCompanyMapper;
 import com.fs.qw.mapper.QwExternalContactMapper;
+import com.fs.qw.mapper.QwIpadServerMapper;
+import com.fs.qw.mapper.QwUserMapper;
 import com.fs.qw.param.*;
 import com.fs.qw.service.IQwDeptService;
 import com.fs.qw.service.IQwExternalContactService;
@@ -98,6 +100,12 @@ public class QwUserController extends BaseController
     @Autowired
     private CompanyUserMapper companyUserMapper;
 
+    @Autowired
+    private QwIpadServerMapper qwIpadServerMapper;
+
+    @Autowired
+    private QwUserMapper qwUserMapper;
+
     @Autowired
     private QwApiService qwApiService;
 
@@ -661,6 +669,7 @@ public class QwUserController extends BaseController
 
             //选择的企业微信账号为“”
             if (StringUtil.strIsNullOrEmpty(qwUserParam.getId())&&qwUserParam.getCompanyUserId()!=null){
+                handleServerInfo(qwUserIdCompanySet);
                 //制空企业微信的绑定
                 qwUserService.updateUserByUserId(qwUserParam.getCompanyUserId());
 
@@ -680,10 +689,10 @@ public class QwUserController extends BaseController
 
                 //制空绑定
                 if (!difference.isEmpty()){
-                    difference.forEach(id->{
+                    handleServerInfo(difference);
+                    for (String id : difference){
                         qwUserService.updateUnBindUserById(id);
-                    });
-
+                    }
                 }
 
 
@@ -893,4 +902,16 @@ public class QwUserController extends BaseController
         List<QwUserVO> list = qwUserService.selectQwUserListByCompanyIdAndCorpIdAndNickName(companyId, corpId, nickName);
         return getDataTable(list);
     }
+
+    //处理ipad服务信息
+    public void handleServerInfo(Set<String> qwUserids) {
+        //批量获取对应信息
+        List<QwUser> qwUsers = qwUserService.selectQwUserByIds(qwUserids);
+        for (QwUser qwUser : qwUsers){
+            if (qwUser.getServerId() != null) {
+                qwIpadServerMapper.addServer(qwUser.getServerId());
+                qwUserMapper.clearServerInfo(qwUser.getId());
+            }
+        }
+    }
 }

+ 12 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwUserMapper.java

@@ -19,6 +19,7 @@ import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * 企微用户Mapper接口
@@ -451,4 +452,15 @@ public interface QwUserMapper extends BaseMapper<QwUser>
      * @return 结果
      */
     public int updateQwUserServerById(QwUser qwUser);
+
+    /**
+     * 批量获取企业微信用户信息
+     * **/
+    List<QwUser> selectQwUserByIds(@Param("qwUserIds") Set<String> qwUserIds);
+
+    /**
+     * 清除企微用户的server_id和ipad在线状态
+     */
+    @Update("UPDATE qw_user SET server_id = NULL, ipad_status = NULL WHERE id = #{id}")
+    int clearServerInfo(@Param("id") Long id);
 }

+ 6 - 0
fs-service/src/main/java/com/fs/qw/service/IQwUserService.java

@@ -9,6 +9,7 @@ import com.fs.qw.vo.*;
 import com.fs.sop.domain.QwSop;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * 企微用户Service接口
@@ -199,4 +200,9 @@ public interface IQwUserService
 
     List<QwOptionsVO> selectQwCompanyListOptionsVOBySys();
 
+    /**
+     * 批量获取企业微信查询信息
+     * **/
+    List<QwUser> selectQwUserByIds(Set<String> qwUserIds);
+
 }

+ 5 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwUserServiceImpl.java

@@ -1568,6 +1568,11 @@ public class QwUserServiceImpl implements IQwUserService
         return qwUserMapper.selectQwCompanyListOptionsVOBySys();
     }
 
+    @Override
+    public List<QwUser> selectQwUserByIds(Set<String> qwUserIds) {
+        return qwUserMapper.selectQwUserByIds(qwUserIds);
+    }
+
 
     /**
      * 构建查询条件

+ 8 - 0
fs-service/src/main/resources/mapper/qw/QwUserMapper.xml

@@ -307,4 +307,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateQwUserServerById"  parameterType="QwUser">
         update qw_user set server_id = #{serverId},server_status = #{serverStatus} where id = #{id}
     </update>
+
+    <select id="selectQwUserByIds" resultMap="QwUserResult">
+        <include refid="selectQwUserVo"/>
+        where id in
+        <foreach item="id" collection="qwUserIds" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>