diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index 8e4599dc5..169d765e8 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -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 getFeishuUserIdsByUserIds(List userIdList){ + if(CollectionUtils.isEmpty(userIdList)){ + return new HashMap<>(0); + } + List feishuUserIdsByUserIds = enterpriseUserMapper.getFeishuUserIdsByUserIds(userIdList); + return feishuUserIdsByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getFeishuUserId)); + } + public void batchInsertOrUpdate(List insertOrUpdateList) { if(CollectionUtils.isEmpty(insertOrUpdateList)){ return; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java index 585888fc9..948ff8e5a 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java @@ -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 getFeishuUserIdsByUserIds(@Param("userIdList") List userIdList); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml index ad824fe95..a9b505b24 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml @@ -22,6 +22,7 @@ + @@ -29,7 +30,7 @@ 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 user_region_ids @@ -41,6 +42,9 @@ user_id, + + feishu_user_id, + name, @@ -100,6 +104,9 @@ #{record.userId}, + + feishu_user_id, + #{record.name}, @@ -157,7 +164,7 @@ 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) , is_leader = values(is_leader) @@ -172,6 +179,9 @@ user_id = #{userId}, + + feishu_user_id, + name = #{name}, @@ -330,4 +340,14 @@ FROM enterprise_user WHERE mobile like #{investmentManager} or `name` like #{investmentManager} LIMIT 1 + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/enterprise/EnterpriseUserDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/enterprise/EnterpriseUserDTO.java index 996a9cecc..e7217ace0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/enterprise/EnterpriseUserDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/enterprise/EnterpriseUserDTO.java @@ -39,6 +39,9 @@ public class EnterpriseUserDTO implements Serializable { @ApiModelProperty("钉钉用户id") private String userId; + @ApiModelProperty("飞书 user_id") + private String feishuUserId; + @ApiModelProperty("手机号码") private String mobile; @@ -107,6 +110,7 @@ public class EnterpriseUserDTO implements Serializable { for (EnterpriseUserDTO user : userList) { EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO(); enterpriseUserDO.setUserId(user.getUserId()); + enterpriseUserDO.setFeishuUserId(user.getFeishuUserId()); enterpriseUserDO.setName(user.getName()); enterpriseUserDO.setRemark(user.getRemark()); if(StringUtils.isNotBlank(user.getMobile())){ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/EnterpriseUserDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/EnterpriseUserDO.java index bf4f60d1e..593358d5e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/EnterpriseUserDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/EnterpriseUserDO.java @@ -24,6 +24,9 @@ public class EnterpriseUserDO implements Serializable { @ApiModelProperty("用户id") private String userId; + @ApiModelProperty("飞书 user_id") + private String feishuUserId; + @ApiModelProperty("") private String name; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/http/EventCenterHttpRequest.java b/coolstore-partner-service/src/main/java/com/cool/store/http/EventCenterHttpRequest.java index 22b4c2a14..0dbb8c2b8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/http/EventCenterHttpRequest.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/http/EventCenterHttpRequest.java @@ -10,7 +10,6 @@ import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.request.event.CreateSingleEventRequest; import com.cool.store.request.event.SendMsgRequest; import com.cool.store.response.event.CreateEventResponse; -import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; diff --git a/coolstore-partner-webb/src/test/java/com/cool/store/service/EnterpriseUserInfoDAOTest.java b/coolstore-partner-webb/src/test/java/com/cool/store/service/EnterpriseUserInfoDAOTest.java new file mode 100644 index 000000000..4d40fac82 --- /dev/null +++ b/coolstore-partner-webb/src/test/java/com/cool/store/service/EnterpriseUserInfoDAOTest.java @@ -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 feishuUserIdsByUserIds = enterpriseUserDAO.getFeishuUserIdsByUserIds(Arrays.asList("ou_473e7063755c39b932028ec64914b500", "ou_72c0cf5fd9c50f05d7e1208449446a00")); + System.out.println(feishuUserIdsByUserIds); + } + +} diff --git a/coolstore-partner-webb/src/test/java/com/cool/store/service/EventRequestTest.java b/coolstore-partner-webb/src/test/java/com/cool/store/service/EventRequestTest.java index d650e655f..11a9ea724 100644 --- a/coolstore-partner-webb/src/test/java/com/cool/store/service/EventRequestTest.java +++ b/coolstore-partner-webb/src/test/java/com/cool/store/service/EventRequestTest.java @@ -5,7 +5,7 @@ import com.cool.store.enums.FeiShuNoticeMsgEnum; import com.cool.store.enums.SMSMsgEnum; import com.cool.store.exception.ApiException; 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.test.context.junit4.AbstractJUnit4SpringContextTests;