Commit c1912e91 by fudahua

同步通讯录 同步判断

parent 431a455a
...@@ -51,6 +51,16 @@ public class DepartmentDTO implements Serializable { ...@@ -51,6 +51,16 @@ public class DepartmentDTO implements Serializable {
private Boolean hasSonNode; private Boolean hasSonNode;
private Integer tempFlag;
public Integer getTempFlag() {
return tempFlag;
}
public void setTempFlag(Integer tempFlag) {
this.tempFlag = tempFlag;
}
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public String getDepartmentId() { public String getDepartmentId() {
......
...@@ -62,4 +62,6 @@ public interface DepartmentMapper { ...@@ -62,4 +62,6 @@ public interface DepartmentMapper {
TabHaobanDepartment getByRelatedIdNotInRecycle(@Param("relatedId")String relatedId); TabHaobanDepartment getByRelatedIdNotInRecycle(@Param("relatedId")String relatedId);
List<TabHaobanDepartment> listByIds(@Param("departmentIds")List<String> departmentIds); List<TabHaobanDepartment> listByIds(@Param("departmentIds")List<String> departmentIds);
TabHaobanDepartment getTempFlagDepartment(@Param("wxEnterpriseId") String wxEnterpriseId);
} }
\ No newline at end of file
...@@ -53,6 +53,16 @@ public interface PreDealLogMapper { ...@@ -53,6 +53,16 @@ public interface PreDealLogMapper {
, @Param("status") int status, @Param("dataType") int dataType); , @Param("status") int status, @Param("dataType") int dataType);
/** /**
* 获取单条数据
*
* @param taskId
* @param pDataId
* @return
*/
List<TabHaobanPreDealLog> listReByPDataId(@Param("taskId") String taskId, @Param("dataId") String pDataId
, @Param("dataType") int dataType);
/**
* 更新状态 * 更新状态
* *
* @param taskId * @param taskId
......
...@@ -40,6 +40,16 @@ public class TabHaobanDepartment implements Serializable { ...@@ -40,6 +40,16 @@ public class TabHaobanDepartment implements Serializable {
private Integer gicDelFlag; private Integer gicDelFlag;
private Integer tempFlag;
public Integer getTempFlag() {
return tempFlag;
}
public void setTempFlag(Integer tempFlag) {
this.tempFlag = tempFlag;
}
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public String getDepartmentId() { public String getDepartmentId() {
......
...@@ -46,4 +46,12 @@ public interface DepartmentService { ...@@ -46,4 +46,12 @@ public interface DepartmentService {
List<DepartmentDTO> listByIds(List<String> departmentIds); List<DepartmentDTO> listByIds(List<String> departmentIds);
/**
* 获取暂存区
*
* @param wxEnterpriseId
* @return
*/
DepartmentDTO getTempFlagDepartment(String wxEnterpriseId);
} }
...@@ -37,6 +37,15 @@ public interface PreDealService { ...@@ -37,6 +37,15 @@ public interface PreDealService {
public List<TabHaobanPreDealLog> listByPDataId(String taskId, String pDataId, int status); public List<TabHaobanPreDealLog> listByPDataId(String taskId, String pDataId, int status);
/** /**
* 根据父数据id 获取子节点
*
* @param pDataId
* @param status
* @return
*/
public List<TabHaobanPreDealLog> listReByPDataId(String taskId, String pDataId);
/**
* 更新单条数据状态 * 更新单条数据状态
* *
* @param dataId * @param dataId
......
...@@ -51,6 +51,9 @@ public class DepartmentServiceImpl implements DepartmentService { ...@@ -51,6 +51,9 @@ public class DepartmentServiceImpl implements DepartmentService {
tab.setUpdateTime(now); tab.setUpdateTime(now);
tab.setStatusFlag(1); tab.setStatusFlag(1);
tab.setRecycleFlag(0); tab.setRecycleFlag(0);
if (department.getTempFlag() == null) {
department.setTempFlag(0);
}
tab.setDepartmentId(StringUtil.randomUUID()); tab.setDepartmentId(StringUtil.randomUUID());
mapper.insert(tab); mapper.insert(tab);
return tab.getDepartmentId(); return tab.getDepartmentId();
...@@ -169,4 +172,8 @@ public class DepartmentServiceImpl implements DepartmentService { ...@@ -169,4 +172,8 @@ public class DepartmentServiceImpl implements DepartmentService {
return EntityUtil.changeEntityListByJSON(DepartmentDTO.class, mapper.listByIds(departmentIds)); return EntityUtil.changeEntityListByJSON(DepartmentDTO.class, mapper.listByIds(departmentIds));
} }
@Override
public DepartmentDTO getTempFlagDepartment(String wxEnterpriseId) {
return EntityUtil.changeEntityByJSON(DepartmentDTO.class, mapper.getTempFlagDepartment(wxEnterpriseId));
}
} }
...@@ -42,6 +42,11 @@ public class PreDealServiceImpl implements PreDealService { ...@@ -42,6 +42,11 @@ public class PreDealServiceImpl implements PreDealService {
} }
@Override @Override
public List<TabHaobanPreDealLog> listReByPDataId(String taskId, String pDataId) {
return preDealLogMapper.listReByPDataId(taskId, pDataId, PreDealTypeEnum.group.getVal());
}
@Override
public boolean updateStatusByDataId(String taskId, String dataId, int status, String reason) { public boolean updateStatusByDataId(String taskId, String dataId, int status, String reason) {
int i = preDealLogMapper.updateStatusByDataId(taskId, dataId, status, reason); int i = preDealLogMapper.updateStatusByDataId(taskId, dataId, status, reason);
return i >= 0; return i >= 0;
......
...@@ -63,6 +63,9 @@ public class GroupSyncOperation implements BaseSyncOperation { ...@@ -63,6 +63,9 @@ public class GroupSyncOperation implements BaseSyncOperation {
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService; private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired
private StoreSyncOperation storeSyncOperation;
@Override @Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) { public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("处理单条部门分组:{}", JSONObject.toJSONString(dealParamMqDTO)); logger.info("处理单条部门分组:{}", JSONObject.toJSONString(dealParamMqDTO));
...@@ -159,7 +162,7 @@ public class GroupSyncOperation implements BaseSyncOperation { ...@@ -159,7 +162,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
preDealService.insert(preDealLogList); preDealService.insert(preDealLogList);
} }
List<TabHaobanPreDealLog> list = preDealService.listByPDataId(taskId, dataId, PreDealStatusEnum.pre.getVal()); List<TabHaobanPreDealLog> list = preDealService.listReByPDataId(taskId, dataId);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
Set<String> mid = list.stream().map(tab -> tab.getDataId()).collect(Collectors.toSet()); Set<String> mid = list.stream().map(tab -> tab.getDataId()).collect(Collectors.toSet());
dealDepartmentToMq(taskId, mid, SyncTaskStatusEnum.group_sync); dealDepartmentToMq(taskId, mid, SyncTaskStatusEnum.group_sync);
...@@ -181,10 +184,11 @@ public class GroupSyncOperation implements BaseSyncOperation { ...@@ -181,10 +184,11 @@ public class GroupSyncOperation implements BaseSyncOperation {
//同步成功 进入门店处理 //同步成功 进入门店处理
if (syncTask.getStatusFlag().equals(SyncTaskStatusEnum.group_sync.getVal())) { if (syncTask.getStatusFlag().equals(SyncTaskStatusEnum.group_sync.getVal())) {
syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.store_sync.getVal()); syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.store_sync.getVal());
List<TabHaobanPreDealLog> dealLogs = preDealService.listByTaskId(taskId, PreDealTypeEnum.store.getVal(), PreDealStatusEnum.pre.getVal()); List<TabHaobanPreDealLog> dealLogs = preDealService.listRebuildByTaskId(taskId, PreDealTypeEnum.store.getVal());
if (CollectionUtils.isEmpty(dealLogs)) { if (CollectionUtils.isEmpty(dealLogs)) {
syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.compute.getVal()); storeSyncOperation.checkDepartmentTask(taskId);
dealSyncOperationApiService.unlockTask(syncTask.getWxEnterpriseId()); // syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.compute.getVal());
// dealSyncOperationApiService.unlockTask(syncTask.getWxEnterpriseId());
} else { } else {
logger.info("处理门店开始"); logger.info("处理门店开始");
Set<String> dataIds = dealLogs.stream().map(TabHaobanPreDealLog::getDataId).collect(Collectors.toSet()); Set<String> dataIds = dealLogs.stream().map(TabHaobanPreDealLog::getDataId).collect(Collectors.toSet());
......
...@@ -68,13 +68,16 @@ public class StoreSyncOperation implements BaseSyncOperation { ...@@ -68,13 +68,16 @@ public class StoreSyncOperation implements BaseSyncOperation {
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService; private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired
private ClerkSyncOperation clerkSyncOperation;
@Override @Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) { public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("处理单条门店:{}", JSONObject.toJSONString(dealParamMqDTO)); logger.info("处理单条门店:{}", JSONObject.toJSONString(dealParamMqDTO));
DepartmentDTO departmentDTO = departmentApiService.selectByRelatedId(dataPre.getDataId()); DepartmentDTO departmentDTO = departmentApiService.selectByRelatedId(dataPre.getDataId());
if (departmentDTO != null) { if (departmentDTO != null) {
logger.info("已经同步过了:{}", dataPre.getDataId()); logger.info("已经同步过了:{}", dataPre.getDataId());
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "该部门不存在"); dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "该部门已经同步");
return; return;
} }
...@@ -175,10 +178,11 @@ public class StoreSyncOperation implements BaseSyncOperation { ...@@ -175,10 +178,11 @@ public class StoreSyncOperation implements BaseSyncOperation {
if (syncTask.getStatusFlag().equals(SyncTaskStatusEnum.store_sync.getVal())) { if (syncTask.getStatusFlag().equals(SyncTaskStatusEnum.store_sync.getVal())) {
syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.clerk_sync.getVal()); syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.clerk_sync.getVal());
//是否有成员 需要处理 //是否有成员 需要处理
List<TabHaobanPreDealLog> dealLogs = preDealService.listByTaskId(taskId, PreDealTypeEnum.clerk.getVal(), PreDealStatusEnum.pre.getVal()); List<TabHaobanPreDealLog> dealLogs = preDealService.listRebuildByTaskId(taskId, PreDealTypeEnum.clerk.getVal());
if (CollectionUtils.isEmpty(dealLogs)) { if (CollectionUtils.isEmpty(dealLogs)) {
syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.compute.getVal()); clerkSyncOperation.checkDepartmentTask(taskId);
dealSyncOperationApiService.unlockTask(syncTask.getWxEnterpriseId()); // syncTaskService.updateTaskStatus(taskId, SyncTaskStatusEnum.compute.getVal());
// dealSyncOperationApiService.unlockTask(syncTask.getWxEnterpriseId());
} else { } else {
logger.info("处理成员开始"); logger.info("处理成员开始");
Set<String> dataIds = dealLogs.stream().map(TabHaobanPreDealLog::getDataId).collect(Collectors.toSet()); Set<String> dataIds = dealLogs.stream().map(TabHaobanPreDealLog::getDataId).collect(Collectors.toSet());
......
...@@ -20,10 +20,12 @@ ...@@ -20,10 +20,12 @@
<result column="enterprise_id" property="enterpriseId" jdbcType="VARCHAR" /> <result column="enterprise_id" property="enterpriseId" jdbcType="VARCHAR" />
<result column="sort" property="sort" jdbcType="INTEGER" /> <result column="sort" property="sort" jdbcType="INTEGER" />
<result column="level" property="level" jdbcType="INTEGER" /> <result column="level" property="level" jdbcType="INTEGER" />
<result column="temp_flag" property="tempFlag" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
department_id, department_name, parent_department_id, related_id, related_code,chain_id, is_store, department_id, department_name, parent_department_id, related_id, related_code,chain_id, is_store,
status_flag, recycle_flag, create_time, update_time,wx_department_id,sort,level,wx_enterprise_id,chain_name,enterprise_id,gic_del_flag status_flag, recycle_flag, create_time,
update_time,wx_department_id,sort,level,wx_enterprise_id,chain_name,enterprise_id,gic_del_flag,temp_flag
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select select
...@@ -40,11 +42,11 @@ ...@@ -40,11 +42,11 @@
insert into tab_haoban_department (department_id, department_name, parent_department_id, insert into tab_haoban_department (department_id, department_name, parent_department_id,
related_id,related_code, chain_id, is_store, related_id,related_code, chain_id, is_store,
status_flag, recycle_flag, create_time, status_flag, recycle_flag, create_time,
update_time,wx_department_id,sort,level,wx_enterprise_id,chain_name,enterprise_id) update_time,wx_department_id,sort,level,wx_enterprise_id,chain_name,enterprise_id,temp_flag)
values (#{departmentId,jdbcType=VARCHAR}, #{departmentName,jdbcType=VARCHAR}, #{parentDepartmentId,jdbcType=VARCHAR}, values (#{departmentId,jdbcType=VARCHAR}, #{departmentName,jdbcType=VARCHAR}, #{parentDepartmentId,jdbcType=VARCHAR},
#{relatedId,jdbcType=VARCHAR},#{relatedCode,jdbcType=VARCHAR}, #{chainId,jdbcType=VARCHAR}, #{isStore,jdbcType=INTEGER}, #{relatedId,jdbcType=VARCHAR},#{relatedCode,jdbcType=VARCHAR}, #{chainId,jdbcType=VARCHAR}, #{isStore,jdbcType=INTEGER},
#{statusFlag,jdbcType=INTEGER}, #{recycleFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{statusFlag,jdbcType=INTEGER}, #{recycleFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},#{wxDepartmentId},#{sort},#{level},#{wxEnterpriseId},#{chainName},#{enterpriseId}) #{updateTime,jdbcType=TIMESTAMP},#{wxDepartmentId},#{sort},#{level},#{wxEnterpriseId},#{chainName},#{enterpriseId},#{tempFlag})
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanDepartment" > <insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanDepartment" >
insert into tab_haoban_department insert into tab_haoban_department
...@@ -476,4 +478,15 @@ ...@@ -476,4 +478,15 @@
</if> </if>
order by sort desc order by sort desc
</select> </select>
<select id="getTempFlagDepartment" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_department
where wx_enterprise_id = #{wxEnterpriseId}
and status_flag = 1
and temp_flag = 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -170,6 +170,14 @@ ...@@ -170,6 +170,14 @@
</if> </if>
</select> </select>
<select id="listReByPDataId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_pre_deal_log
where task_id = #{taskId} and p_data_id=#{dataId} and data_type=#{dataType}
and status_flag in(0,1,3)
</select>
<update id="updateStatusByDataId"> <update id="updateStatusByDataId">
update tab_haoban_pre_deal_log update tab_haoban_pre_deal_log
<set> <set>
......
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