enterprise_user相关mapper增加feishu_user_id并添加根据user_id批量获取feishu_user_id

This commit is contained in:
feng.li
2023-10-25 11:39:24 +08:00
parent b3c1fcdb98
commit fe3d706fbb
8 changed files with 76 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -43,6 +44,14 @@ public class EnterpriseUserDAO {
return enterpriseUserMapper.getUserInfoByUserIds(userIdList);
}
public Map<String, String> getFeishuUserIdsByUserIds(List<String> userIdList){
if(CollectionUtils.isEmpty(userIdList)){
return new HashMap<>(0);
}
List<EnterpriseUserDO> feishuUserIdsByUserIds = enterpriseUserMapper.getFeishuUserIdsByUserIds(userIdList);
return feishuUserIdsByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getFeishuUserId));
}
public void batchInsertOrUpdate(List<EnterpriseUserDO> insertOrUpdateList) {
if(CollectionUtils.isEmpty(insertOrUpdateList)){
return;

View File

@@ -1,9 +1,11 @@
package com.cool.store.mapper;
import com.cool.store.entity.EnterpriseUserDO;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author zhangchenbiao
@@ -103,4 +105,11 @@ public interface EnterpriseUserMapper {
EnterpriseUserDO selectByInvestmentManager(@Param("investmentManager") String investmentManager);
/**
* 使用 userId 查询 feishuUserId
* @param userIdList userId 列表
* @return userId: feishuUserId
*/
List<EnterpriseUserDO> getFeishuUserIdsByUserIds(@Param("userIdList") List<String> userIdList);
}

View File

@@ -22,6 +22,7 @@
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="online_status" jdbcType="BIT" property="onlineStatus"/>
<result column="feishu_user_id" jdbcType="VARCHAR" property="feishuUserId"/>
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.EnterpriseUserDO">
<result column="user_region_ids" jdbcType="LONGVARCHAR" property="userRegionIds"/>
@@ -29,7 +30,7 @@
<sql id="Base_Column_List">
id, user_id, name, remark, mobile, email, org_email, main_admin, is_admin, unionid,
avatar, jobnumber, is_leader, leader_dept_ids, face_url, user_status, deleted, create_time,
update_time,online_status
update_time,online_status, feishu_user_id
</sql>
<sql id="Blob_Column_List">
user_region_ids
@@ -41,6 +42,9 @@
<if test="record.userId != null">
user_id,
</if>
<if test="record.feishuUserId != null">
feishu_user_id,
</if>
<if test="record.name != null">
name,
</if>
@@ -100,6 +104,9 @@
<if test="record.userId != null">
#{record.userId},
</if>
<if test="record.feishuUserId != null">
feishu_user_id,
</if>
<if test="record.name != null">
#{record.name},
</if>
@@ -157,7 +164,7 @@
</trim>
ON DUPLICATE KEY UPDATE user_id = values(user_id), name = values(name), remark = values(remark), mobile = values(mobile), email = values(email), org_email = values(org_email)
, main_admin = values(main_admin), is_admin = values(is_admin), unionid = values(unionid), avatar = values(avatar), jobnumber = values(jobnumber)
, face_url = values(face_url), user_status = values(user_status), user_region_ids = values(user_region_ids), deleted = values(deleted)
, face_url = values(face_url), user_status = values(user_status), user_region_ids = values(user_region_ids), deleted = values(deleted), feishu_user_id = values(feishu_user_id)
<if test="record.isLeader != null">
, is_leader = values(is_leader)
</if>
@@ -172,6 +179,9 @@
<if test="userId != null">
user_id = #{userId},
</if>
<if test="feishuUserId != null">
feishu_user_id,
</if>
<if test="name != null">
name = #{name},
</if>
@@ -330,4 +340,14 @@
<include refid="Base_Column_List"/>
FROM enterprise_user WHERE mobile like #{investmentManager} or `name` like #{investmentManager} LIMIT 1
</select>
<select id="getFeishuUserIdsByUserIds" resultMap="BaseResultMap">
SELECT feishu_user_id , user_id
FROM enterprise_user
WHERE user_id IN (
<foreach collection="userIdList" item="userId" separator=",">
#{userId}
</foreach>
)
</select>
</mapper>