Commit 0ccc09d8 by fudahua

同步通讯录 微信同步gic

parent 5c5b7dae
......@@ -45,7 +45,7 @@ public interface PreDealLogMapper {
* @param dataId
* @return
*/
TabHaobanPreDealLog getByDataId(@Param("taskId") String taskId, @Param("dataId") String dataId, @Param("status") int status);
List<TabHaobanPreDealLog> getByDataId(@Param("taskId") String taskId, @Param("dataId") String dataId, @Param("status") int status);
/**
* 获取单条数据
......@@ -142,4 +142,13 @@ public interface PreDealLogMapper {
*/
public List<TabHaobanPreDealLog> listExceptionByTask(@Param("taskId") String taskId);
/**
* 统计任务数量
* countExcepAndPreByTaskId
*
* @param taskId
* @return
*/
public int countByDataId(@Param("taskId") String taskId, @Param("dataId") String dataId);
}
\ No newline at end of file
......@@ -120,4 +120,13 @@ public interface PreDealService {
* @return
*/
public Page<PreDealLogInfoDTO> listExceptionByTaskId(String taskId, BasePageInfo pageInfo);
/**
* 获取单条数据
*
* @param dataId
* @return
*/
public boolean existDataId(String taskId, String dataId);
}
......@@ -40,8 +40,12 @@ public class PreDealServiceImpl implements PreDealService {
@Override
public TabHaobanPreDealLog getByDataId(String taskId, String dataId, int status) {
TabHaobanPreDealLog byDataId = preDealLogMapper.getByDataId(taskId, dataId, status);
return byDataId;
List<TabHaobanPreDealLog> list = preDealLogMapper.getByDataId(taskId, dataId, status);
if (CollectionUtils.isEmpty(list)) {
return null;
} else {
return list.get(0);
}
}
@Override
......@@ -104,4 +108,10 @@ public class PreDealServiceImpl implements PreDealService {
Page<PreDealLogInfoDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(page), PreDealLogInfoDTO.class);
return retPage;
}
@Override
public boolean existDataId(String taskId, String dataId) {
int i = preDealLogMapper.countByDataId(taskId, dataId);
return i > 0;
}
}
......@@ -188,17 +188,11 @@ public class QywxGroupSyncOperation implements BaseSyncOperation {
List<UserDTO> list = this.qywxUserApiService.listSelfDepartmentUser(wxEnterpriseDTO.getCorpid(), wxEnterpriseDTO.getContactSecret(), dataId, 0);
List<TabHaobanPreDealLog> hasExists = preDealService.listByPDataId(taskId, dataId, -1);
Set<String> hasDatas = new HashSet<>();
if (CollectionUtils.isNotEmpty(hasExists)) {
hasDatas = hasExists.stream().map(mid -> mid.getDataId()).collect(Collectors.toSet());
}
//预处理门店 写入预处理表
if (CollectionUtils.isNotEmpty(list)) {
Set<String> finalHasDatas = hasDatas;
List<TabHaobanPreDealLog> preDealLogList = list.stream().filter(mid -> {
if (finalHasDatas.contains(mid.getUserid())) {
boolean flag = preDealService.existDataId(taskId, mid.getUserid());
if (flag) {
return false;
}
return true;
......
......@@ -300,4 +300,12 @@
where task_id = #{taskId}
and status_flag =3
</select>
<select id="countByDataId" resultType="integer">
select
count(*)
from tab_haoban_pre_deal_log
where task_id = #{taskId}
and data_id =#{dataId}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment