REQ-2211: 同步数据ids查询用户信息
This commit is contained in:
parent
2e0d2ed24e
commit
075f64ca2c
@ -2,12 +2,16 @@ package cn.axzo.riven.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.riven.client.req.CreateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.req.ListUsersBySynIdsReq;
|
||||
import cn.axzo.riven.client.req.UpdateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.res.CreateDingDingAttendanceGroupRes;
|
||||
import cn.axzo.riven.client.res.ThirdPartUserRes;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yangchen@axzo.cn
|
||||
*/
|
||||
@ -18,4 +22,7 @@ public interface DingDingAttendanceApi {
|
||||
|
||||
@PostMapping("/api/dingDing/attendance/group/update")
|
||||
ApiResult<Void> attendanceGroupUpdate(@RequestBody UpdateDingDingAttendanceGroupReq req);
|
||||
|
||||
@PostMapping("/api/dingDing/listUsersBySynIds")
|
||||
ApiResult<List<ThirdPartUserRes>> listUsersBySynIds(@RequestBody ListUsersBySynIdsReq req);
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.riven.client.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yangchen@axzo.cn
|
||||
*/
|
||||
@Data
|
||||
public class ListUsersBySynIdsReq {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 同步数据id
|
||||
*/
|
||||
private List<Long> synIds;
|
||||
}
|
||||
@ -3,12 +3,16 @@ package cn.axzo.riven.controller;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.riven.client.feign.DingDingAttendanceApi;
|
||||
import cn.axzo.riven.client.req.CreateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.req.ListUsersBySynIdsReq;
|
||||
import cn.axzo.riven.client.req.UpdateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.res.CreateDingDingAttendanceGroupRes;
|
||||
import cn.axzo.riven.client.res.ThirdPartUserRes;
|
||||
import cn.axzo.riven.service.DingDingAttendanceGroupService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yangchen@axzo.cn
|
||||
*/
|
||||
@ -28,4 +32,9 @@ public class DingDingAttendanceController implements DingDingAttendanceApi {
|
||||
dingDingAttendanceGroupService.attendanceGroupUpdate(req);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<List<ThirdPartUserRes>> listUsersBySynIds(ListUsersBySynIdsReq req) {
|
||||
return ApiResult.ok(dingDingAttendanceGroupService.listUsersBySynIds(req));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,13 @@
|
||||
package cn.axzo.riven.service;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.riven.client.req.CreateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.req.ListUsersBySynIdsReq;
|
||||
import cn.axzo.riven.client.req.UpdateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.res.CreateDingDingAttendanceGroupRes;
|
||||
import cn.axzo.riven.client.res.ThirdPartUserRes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yangchen@axzo.cn
|
||||
@ -11,4 +16,6 @@ public interface DingDingAttendanceGroupService {
|
||||
CreateDingDingAttendanceGroupRes attendanceGroupCreate(CreateDingDingAttendanceGroupReq req);
|
||||
|
||||
void attendanceGroupUpdate(UpdateDingDingAttendanceGroupReq req);
|
||||
|
||||
List<ThirdPartUserRes> listUsersBySynIds(ListUsersBySynIdsReq req);
|
||||
}
|
||||
|
||||
@ -1,21 +1,29 @@
|
||||
package cn.axzo.riven.service.impl;
|
||||
|
||||
import cn.axzo.basics.common.BeanMapper;
|
||||
import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
|
||||
import cn.axzo.framework.domain.web.code.BaseCode;
|
||||
import cn.axzo.riven.client.req.CreateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.req.DingDingPositionsReq;
|
||||
import cn.axzo.riven.client.req.ListUsersBySynIdsReq;
|
||||
import cn.axzo.riven.client.req.UpdateDingDingAttendanceGroupReq;
|
||||
import cn.axzo.riven.client.res.CreateDingDingAttendanceGroupRes;
|
||||
import cn.axzo.riven.client.res.ThirdPartUserRes;
|
||||
import cn.axzo.riven.common.util.Throws;
|
||||
import cn.axzo.riven.manger.DingDingNewSdkManger;
|
||||
import cn.axzo.riven.manger.DingDingOldSdkManger;
|
||||
import cn.axzo.riven.repository.entity.ThirdPartyCredential;
|
||||
import cn.axzo.riven.repository.entity.ThirdPartyUser;
|
||||
import cn.axzo.riven.repository.service.ThirdPartyCredentialDao;
|
||||
import cn.axzo.riven.repository.service.ThirdPartyUserDao;
|
||||
import cn.axzo.riven.service.DingDingAttendanceGroupService;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponseBody;
|
||||
import com.dingtalk.api.request.OapiAttendanceGroupAddRequest;
|
||||
import com.dingtalk.api.request.OapiAttendanceGroupModifyRequest;
|
||||
import com.dingtalk.api.response.OapiAttendanceGroupAddResponse;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -33,6 +41,8 @@ public class DingDingAttendanceGroupServiceImpl implements DingDingAttendanceGro
|
||||
private DingDingNewSdkManger dingDingNewSdkManger;
|
||||
@Autowired
|
||||
private DingDingOldSdkManger dingDingOldSdkManger;
|
||||
@Autowired
|
||||
private ThirdPartyUserDao thirdPartyUserDao;
|
||||
|
||||
@Override
|
||||
public CreateDingDingAttendanceGroupRes attendanceGroupCreate(CreateDingDingAttendanceGroupReq req) {
|
||||
@ -108,4 +118,18 @@ public class DingDingAttendanceGroupServiceImpl implements DingDingAttendanceGro
|
||||
|
||||
dingDingOldSdkManger.attendanceGroupModify(accessToken.getAccessToken(), oapiAttendanceGroupModifyRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ThirdPartUserRes> listUsersBySynIds(ListUsersBySynIdsReq req) {
|
||||
List<ThirdPartyUser> list = thirdPartyUserDao
|
||||
.lambdaQuery()
|
||||
.in(BaseEntity::getId, req.getSynIds())
|
||||
.eq(ThirdPartyUser::getOuId, req.getOuId())
|
||||
.eq(ThirdPartyUser::getChannel, "DingTalk")
|
||||
.list();
|
||||
if(CollectionUtils.isEmpty(list)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return BeanMapper.copyList(list, ThirdPartUserRes.class);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user