|
|
@ -28,6 +28,7 @@ import com.ruoyi.flyingbook.service.ILarkUserActiveRelatoinService;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.apache.commons.codec.binary.Base64;
|
|
|
|
import org.apache.commons.codec.binary.Base64;
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
|
|
|
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@ -239,9 +240,36 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void submit(List<LarkActiveImportVo> list, String appId, String appSecret) {
|
|
|
|
public void submit(List<LarkActiveImportVo> list, String appId, String appSecret) {
|
|
|
|
LarkUserRequest larkUserRequest = new LarkUserRequest(appId, appSecret);
|
|
|
|
LarkUserRequest larkUserRequest = new LarkUserRequest(appId, appSecret);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<LarkActiveImportVo>> map = new HashMap<>();
|
|
|
|
|
|
|
|
for (LarkActiveImportVo larkActiveImportVo : list) {
|
|
|
|
|
|
|
|
String activeCode = larkActiveImportVo.getActiveCode();
|
|
|
|
|
|
|
|
if (StringUtils.isBlank(larkActiveImportVo.getUserId()) || StringUtils.isBlank(activeCode)) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
LarkActiveEnum active = LarkActiveEnum.getByCode(activeCode);
|
|
|
|
|
|
|
|
if (active == null){
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
List<LarkActiveImportVo> midList = map.getOrDefault(active.getCode(), new ArrayList<>());
|
|
|
|
|
|
|
|
midList.add(larkActiveImportVo);
|
|
|
|
|
|
|
|
map.put(active.getCode(),midList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for (Map.Entry<String, List<LarkActiveImportVo>> entry : map.entrySet()) {
|
|
|
|
|
|
|
|
submitByActive(entry.getValue(),entry.getKey(),larkUserRequest);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void submitByActive(List<LarkActiveImportVo> list,String activeCode,LarkUserRequest larkUserRequest){
|
|
|
|
Set<String> openIdSet = new HashSet<>();
|
|
|
|
Set<String> openIdSet = new HashSet<>();
|
|
|
|
for (LarkActiveImportVo larkActiveImportVo : list) {
|
|
|
|
for (LarkActiveImportVo larkActiveImportVo : list) {
|
|
|
|
if (StringUtils.isNotBlank(larkActiveImportVo.getUserId())) {
|
|
|
|
if (StringUtils.isBlank(larkActiveImportVo.getUserId()) || StringUtils.isBlank(activeCode)) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
LarkActiveEnum active = LarkActiveEnum.getByCode(activeCode);
|
|
|
|
|
|
|
|
if (active == null){
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
larkUserRequest.setOpenId(larkActiveImportVo.getUserId());
|
|
|
|
larkUserRequest.setOpenId(larkActiveImportVo.getUserId());
|
|
|
|
GetUserRespBody userInfoDetail = larkUserHelper.getUserInfo(larkUserRequest);
|
|
|
|
GetUserRespBody userInfoDetail = larkUserHelper.getUserInfo(larkUserRequest);
|
|
|
@ -250,7 +278,6 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi
|
|
|
|
log.info("import file error userId:{}", larkActiveImportVo.getUserId(), e);
|
|
|
|
log.info("import file error userId:{}", larkActiveImportVo.getUserId(), e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(openIdSet)) {
|
|
|
|
if (CollectionUtils.isEmpty(openIdSet)) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -264,14 +291,19 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi
|
|
|
|
if (CollectionUtils.isEmpty(openIdList)) {
|
|
|
|
if (CollectionUtils.isEmpty(openIdList)) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//todo yxy 任务id
|
|
|
|
List<LarkActive> larkActives = larkActiveMapper.selectLarkActiveByDesc(activeCode, FlagStatus.OK.getCode());
|
|
|
|
Long activeId = null;
|
|
|
|
if (CollectionUtils.isEmpty(larkActives)) {
|
|
|
|
Map<String, LarkUserActiveRelatoin> relationMap = larkUserActiveRelatoinMapper.queryByOpenIdList(openIdList,activeId).stream()
|
|
|
|
return;
|
|
|
|
.collect(Collectors.toMap(LarkUserActiveRelatoin::getUserName, Function.identity(),(k1,k2)->k1));
|
|
|
|
}
|
|
|
|
|
|
|
|
Long activeId = larkActives.get(0).getId();
|
|
|
|
|
|
|
|
Map<String, LarkUserActiveRelatoin> relationMap = larkUserActiveRelatoinMapper.queryByOpenIdList(openIdList, activeId).stream()
|
|
|
|
|
|
|
|
.collect(Collectors.toMap(LarkUserActiveRelatoin::getUserName, Function.identity(), (k1, k2) -> k1));
|
|
|
|
List<Long> waitUpdateList = new ArrayList<>();
|
|
|
|
List<Long> waitUpdateList = new ArrayList<>();
|
|
|
|
|
|
|
|
Set<String> inviteOpenIdSet = new HashSet<>();
|
|
|
|
for (LarkLoginLog larkLoginLog : larkLoginLogs) {
|
|
|
|
for (LarkLoginLog larkLoginLog : larkLoginLogs) {
|
|
|
|
LarkUserActiveRelatoin activeRelatoin = relationMap.get(larkLoginLog.getOpenId());
|
|
|
|
LarkUserActiveRelatoin activeRelatoin = relationMap.get(larkLoginLog.getOpenId());
|
|
|
|
if (activeRelatoin == null){
|
|
|
|
inviteOpenIdSet.add(larkLoginLog.getOpenId());
|
|
|
|
|
|
|
|
if (activeRelatoin == null) {
|
|
|
|
LarkUserActiveRelatoin relatoin = new LarkUserActiveRelatoin();
|
|
|
|
LarkUserActiveRelatoin relatoin = new LarkUserActiveRelatoin();
|
|
|
|
relatoin.setCreateTime(new Date());
|
|
|
|
relatoin.setCreateTime(new Date());
|
|
|
|
relatoin.setCreateBy("system");
|
|
|
|
relatoin.setCreateBy("system");
|
|
|
@ -281,14 +313,17 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi
|
|
|
|
relatoin.setUserName(larkLoginLog.getOpenId());
|
|
|
|
relatoin.setUserName(larkLoginLog.getOpenId());
|
|
|
|
relatoin.setCompanyName(larkLoginLog.getCompanyName());
|
|
|
|
relatoin.setCompanyName(larkLoginLog.getCompanyName());
|
|
|
|
larkUserActiveRelatoinMapper.insertLarkUserActiveRelatoin(relatoin);
|
|
|
|
larkUserActiveRelatoinMapper.insertLarkUserActiveRelatoin(relatoin);
|
|
|
|
}else {
|
|
|
|
} else {
|
|
|
|
if (!LarkActiveStageEnum.ADJUST.getCode().equals(activeRelatoin.getActiveStage())){
|
|
|
|
if (!LarkActiveStageEnum.ADJUST.getCode().equals(activeRelatoin.getActiveStage())) {
|
|
|
|
waitUpdateList.add(activeRelatoin.getActiveId());
|
|
|
|
waitUpdateList.add(activeRelatoin.getActiveId());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (CollectionUtils.isNotEmpty(waitUpdateList)){
|
|
|
|
if (CollectionUtils.isNotEmpty(inviteOpenIdSet)) {
|
|
|
|
larkUserActiveRelatoinMapper.updateByIdList(waitUpdateList,LarkActiveStageEnum.ADJUST.getCode());
|
|
|
|
larkUserActiveInviteRelatoinService.inviteSuccess(new ArrayList<>(inviteOpenIdSet));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(waitUpdateList)) {
|
|
|
|
|
|
|
|
larkUserActiveRelatoinMapper.updateByIdList(waitUpdateList, LarkActiveStageEnum.ADJUST.getCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|