enterprise_user相关mapper增加feishu_user_id并添加根据user_id批量获取feishu_user_id
This commit is contained in:
@@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -43,6 +44,14 @@ public class EnterpriseUserDAO {
|
|||||||
return enterpriseUserMapper.getUserInfoByUserIds(userIdList);
|
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) {
|
public void batchInsertOrUpdate(List<EnterpriseUserDO> insertOrUpdateList) {
|
||||||
if(CollectionUtils.isEmpty(insertOrUpdateList)){
|
if(CollectionUtils.isEmpty(insertOrUpdateList)){
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.cool.store.mapper;
|
package com.cool.store.mapper;
|
||||||
|
|
||||||
import com.cool.store.entity.EnterpriseUserDO;
|
import com.cool.store.entity.EnterpriseUserDO;
|
||||||
|
import org.apache.ibatis.annotations.MapKey;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhangchenbiao
|
* @author zhangchenbiao
|
||||||
@@ -103,4 +105,11 @@ public interface EnterpriseUserMapper {
|
|||||||
|
|
||||||
EnterpriseUserDO selectByInvestmentManager(@Param("investmentManager") String investmentManager);
|
EnterpriseUserDO selectByInvestmentManager(@Param("investmentManager") String investmentManager);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用 userId 查询 feishuUserId
|
||||||
|
* @param userIdList userId 列表
|
||||||
|
* @return userId: feishuUserId
|
||||||
|
*/
|
||||||
|
List<EnterpriseUserDO> getFeishuUserIdsByUserIds(@Param("userIdList") List<String> userIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
||||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
||||||
<result column="online_status" jdbcType="BIT" property="onlineStatus"/>
|
<result column="online_status" jdbcType="BIT" property="onlineStatus"/>
|
||||||
|
<result column="feishu_user_id" jdbcType="VARCHAR" property="feishuUserId"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.EnterpriseUserDO">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.EnterpriseUserDO">
|
||||||
<result column="user_region_ids" jdbcType="LONGVARCHAR" property="userRegionIds"/>
|
<result column="user_region_ids" jdbcType="LONGVARCHAR" property="userRegionIds"/>
|
||||||
@@ -29,7 +30,7 @@
|
|||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, user_id, name, remark, mobile, email, org_email, main_admin, is_admin, unionid,
|
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,
|
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>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
user_region_ids
|
user_region_ids
|
||||||
@@ -41,6 +42,9 @@
|
|||||||
<if test="record.userId != null">
|
<if test="record.userId != null">
|
||||||
user_id,
|
user_id,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.feishuUserId != null">
|
||||||
|
feishu_user_id,
|
||||||
|
</if>
|
||||||
<if test="record.name != null">
|
<if test="record.name != null">
|
||||||
name,
|
name,
|
||||||
</if>
|
</if>
|
||||||
@@ -100,6 +104,9 @@
|
|||||||
<if test="record.userId != null">
|
<if test="record.userId != null">
|
||||||
#{record.userId},
|
#{record.userId},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.feishuUserId != null">
|
||||||
|
feishu_user_id,
|
||||||
|
</if>
|
||||||
<if test="record.name != null">
|
<if test="record.name != null">
|
||||||
#{record.name},
|
#{record.name},
|
||||||
</if>
|
</if>
|
||||||
@@ -157,7 +164,7 @@
|
|||||||
</trim>
|
</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)
|
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)
|
, 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">
|
<if test="record.isLeader != null">
|
||||||
, is_leader = values(is_leader)
|
, is_leader = values(is_leader)
|
||||||
</if>
|
</if>
|
||||||
@@ -172,6 +179,9 @@
|
|||||||
<if test="userId != null">
|
<if test="userId != null">
|
||||||
user_id = #{userId},
|
user_id = #{userId},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="feishuUserId != null">
|
||||||
|
feishu_user_id,
|
||||||
|
</if>
|
||||||
<if test="name != null">
|
<if test="name != null">
|
||||||
name = #{name},
|
name = #{name},
|
||||||
</if>
|
</if>
|
||||||
@@ -330,4 +340,14 @@
|
|||||||
<include refid="Base_Column_List"/>
|
<include refid="Base_Column_List"/>
|
||||||
FROM enterprise_user WHERE mobile like #{investmentManager} or `name` like #{investmentManager} LIMIT 1
|
FROM enterprise_user WHERE mobile like #{investmentManager} or `name` like #{investmentManager} LIMIT 1
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
@@ -39,6 +39,9 @@ public class EnterpriseUserDTO implements Serializable {
|
|||||||
@ApiModelProperty("钉钉用户id")
|
@ApiModelProperty("钉钉用户id")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("飞书 user_id")
|
||||||
|
private String feishuUserId;
|
||||||
|
|
||||||
@ApiModelProperty("手机号码")
|
@ApiModelProperty("手机号码")
|
||||||
private String mobile;
|
private String mobile;
|
||||||
|
|
||||||
@@ -107,6 +110,7 @@ public class EnterpriseUserDTO implements Serializable {
|
|||||||
for (EnterpriseUserDTO user : userList) {
|
for (EnterpriseUserDTO user : userList) {
|
||||||
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
|
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
|
||||||
enterpriseUserDO.setUserId(user.getUserId());
|
enterpriseUserDO.setUserId(user.getUserId());
|
||||||
|
enterpriseUserDO.setFeishuUserId(user.getFeishuUserId());
|
||||||
enterpriseUserDO.setName(user.getName());
|
enterpriseUserDO.setName(user.getName());
|
||||||
enterpriseUserDO.setRemark(user.getRemark());
|
enterpriseUserDO.setRemark(user.getRemark());
|
||||||
if(StringUtils.isNotBlank(user.getMobile())){
|
if(StringUtils.isNotBlank(user.getMobile())){
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ public class EnterpriseUserDO implements Serializable {
|
|||||||
@ApiModelProperty("用户id")
|
@ApiModelProperty("用户id")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("飞书 user_id")
|
||||||
|
private String feishuUserId;
|
||||||
|
|
||||||
@ApiModelProperty("")
|
@ApiModelProperty("")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import com.cool.store.mq.util.HttpRestTemplateService;
|
|||||||
import com.cool.store.request.event.CreateSingleEventRequest;
|
import com.cool.store.request.event.CreateSingleEventRequest;
|
||||||
import com.cool.store.request.event.SendMsgRequest;
|
import com.cool.store.request.event.SendMsgRequest;
|
||||||
import com.cool.store.response.event.CreateEventResponse;
|
import com.cool.store.response.event.CreateEventResponse;
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.cool.store.service;
|
||||||
|
|
||||||
|
import com.cool.store.dao.EnterpriseUserDAO;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fun Li 2023/10/25 10:52
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
|
public class EnterpriseUserInfoDAOTest extends AbstractJUnit4SpringContextTests {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EnterpriseUserDAO enterpriseUserDAO;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetFeishuUserId() {
|
||||||
|
Map<String, String> feishuUserIdsByUserIds = enterpriseUserDAO.getFeishuUserIdsByUserIds(Arrays.asList("ou_473e7063755c39b932028ec64914b500", "ou_72c0cf5fd9c50f05d7e1208449446a00"));
|
||||||
|
System.out.println(feishuUserIdsByUserIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
|||||||
import com.cool.store.enums.SMSMsgEnum;
|
import com.cool.store.enums.SMSMsgEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.http.EventCenterHttpRequest;
|
import com.cool.store.http.EventCenterHttpRequest;
|
||||||
import org.junit.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
|
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user