Commit fb5f0e9a by fudahua

同步通讯录 同步日志

parent afc8eafb
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public class PreDealLogInfoDTO implements Serializable {
/**
*
*/
private Integer id;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 企业id
*/
private String enterpriseId;
/**
* 数据id
*/
private String dataId;
private String dataCode;
/**
* 数据名称
*/
private String dataName;
/**
* 父dataid
*/
private String pDataId;
/**
* 数据分组
*/
private String chainName;
/**
* 任务id
*/
private String taskId;
/**
* 数据类型 0 分组 1门店 2成员
*/
private Integer dataType;
/**
* 状态 0 未同步 1同步完成 2 同步失败
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getDataCode() {
return dataCode;
}
public void setDataCode(String dataCode) {
this.dataCode = dataCode;
}
public String getDataName() {
return dataName;
}
public void setDataName(String dataName) {
this.dataName = dataName;
}
public String getChainName() {
return chainName;
}
public void setChainName(String chainName) {
this.chainName = chainName;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.id
*
* @return the value of tab_haoban_pre_deal_log.id
*/
public Integer getId() {
return id;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.id
*
* @param id the value for tab_haoban_pre_deal_log.id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.wx_enterprise_id
*
* @return the value of tab_haoban_pre_deal_log.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_pre_deal_log.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.data_id
*
* @return the value of tab_haoban_pre_deal_log.data_id
*/
public String getDataId() {
return dataId;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.data_id
*
* @param dataId the value for tab_haoban_pre_deal_log.data_id
*/
public void setDataId(String dataId) {
this.dataId = dataId;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.p_data_id
*
* @return the value of tab_haoban_pre_deal_log.p_data_id
*/
public String getpDataId() {
return pDataId;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.p_data_id
*
* @param pDataId the value for tab_haoban_pre_deal_log.p_data_id
*/
public void setpDataId(String pDataId) {
this.pDataId = pDataId;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.task_id
*
* @return the value of tab_haoban_pre_deal_log.task_id
*/
public String getTaskId() {
return taskId;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.task_id
*
* @param taskId the value for tab_haoban_pre_deal_log.task_id
*/
public void setTaskId(String taskId) {
this.taskId = taskId;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.data_type
*
* @return the value of tab_haoban_pre_deal_log.data_type
*/
public Integer getDataType() {
return dataType;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.data_type
*
* @param dataType the value for tab_haoban_pre_deal_log.data_type
*/
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.status_flag
*
* @return the value of tab_haoban_pre_deal_log.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.status_flag
*
* @param statusFlag the value for tab_haoban_pre_deal_log.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.create_time
*
* @return the value of tab_haoban_pre_deal_log.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.create_time
*
* @param createTime the value for tab_haoban_pre_deal_log.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.update_time
*
* @return the value of tab_haoban_pre_deal_log.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.update_time
*
* @param updateTime the value for tab_haoban_pre_deal_log.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public class SyncTaskDTO implements Serializable {
/**
*
*/
private String taskId;
private String wxEnterpriseId;
/**
*
*/
private String taskName;
/**
* 任务创建人
*/
private String addUser;
private String userName;
/**
* 任务描述
*/
private String taskDesc;
/**
* 任务状态
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_id
*
* @return the value of tab_haoban_sync_task.task_id
*/
public String getTaskId() {
return taskId;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_id
*
* @param taskId the value for tab_haoban_sync_task.task_id
*/
public void setTaskId(String taskId) {
this.taskId = taskId;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_name
*
* @return the value of tab_haoban_sync_task.task_name
*/
public String getTaskName() {
return taskName;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_name
*
* @param taskName the value for tab_haoban_sync_task.task_name
*/
public void setTaskName(String taskName) {
this.taskName = taskName;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.add_user
*
* @return the value of tab_haoban_sync_task.add_user
*/
public String getAddUser() {
return addUser;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.add_user
*
* @param addUser the value for tab_haoban_sync_task.add_user
*/
public void setAddUser(String addUser) {
this.addUser = addUser;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_desc
*
* @return the value of tab_haoban_sync_task.task_desc
*/
public String getTaskDesc() {
return taskDesc;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_desc
*
* @param taskDesc the value for tab_haoban_sync_task.task_desc
*/
public void setTaskDesc(String taskDesc) {
this.taskDesc = taskDesc;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.status_flag
*
* @return the value of tab_haoban_sync_task.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.status_flag
*
* @param statusFlag the value for tab_haoban_sync_task.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.create_time
*
* @return the value of tab_haoban_sync_task.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.create_time
*
* @param createTime the value for tab_haoban_sync_task.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.update_time
*
* @return the value of tab_haoban_sync_task.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.update_time
*
* @param updateTime the value for tab_haoban_sync_task.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.api.dto.SyncSingleDealDTO;
import com.gic.haoban.manage.api.dto.SyncTaskDTO;
import java.util.List;
......@@ -75,5 +79,21 @@ public interface DealSyncOperationApiService {
*/
public SyncCheckDTO getTaskCheck(String wxEnterpriseId);
/**
* 同步日志
*
* @param wxEnterpriseId
* @return
*/
public Page<SyncTaskDTO> listSyncTask(String wxEnterpriseId, BasePageInfo pageInfo);
/**
* 同步日志
*
* @param wxEnterpriseId
* @return
*/
public Page<PreDealLogInfoDTO> listSyncTaskDetail(String wxEnterpriseId, String taskId, BasePageInfo pageInfo);
}
......@@ -129,4 +129,12 @@ public interface PreDealLogMapper {
*/
public int updateExceptionToPre(@Param("taskId") String taskId);
/**
* 统计重试任务数量
*
* @param taskId
* @return
*/
public List<TabHaobanPreDealLog> listExceptionByTask(@Param("taskId") String taskId);
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanSyncTask;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SyncTaskMapper {
/**
......@@ -28,4 +30,8 @@ public interface SyncTaskMapper {
/**
*/
int updateByPrimaryKey(TabHaobanSyncTask record);
/**
*/
List<TabHaobanSyncTask> listPageByWxEid(String wxEnterpriseId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
......@@ -110,4 +113,11 @@ public interface PreDealService {
* @return
*/
public boolean updateExceptionToPre(String taskId);
/**
* 获取异常任务列表
*
* @return
*/
public Page<PreDealLogInfoDTO> listExceptionByTaskId(String taskId, BasePageInfo pageInfo);
}
package com.gic.haoban.manage.service.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.SyncTaskDTO;
import com.gic.haoban.manage.service.entity.TabHaobanSyncTask;
/**
......@@ -31,4 +34,12 @@ public interface SyncTaskService {
* @return
*/
public TabHaobanSyncTask getSyncTask(String taskId);
/**
* 获取任务列表
*
* @param wxEnterpriseId
* @return
*/
public Page<SyncTaskDTO> listTaskPage(String wxEnterpriseId, BasePageInfo pageInfo);
}
package com.gic.haoban.manage.service.service.impl;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.PreDealLogMapper;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.service.PreDealService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -92,4 +98,12 @@ public class PreDealServiceImpl implements PreDealService {
int i = preDealLogMapper.updateExceptionToPre(taskId);
return i >= 0;
}
@Override
public Page<PreDealLogInfoDTO> listExceptionByTaskId(String taskId, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo);
List<TabHaobanPreDealLog> page = preDealLogMapper.listExceptionByTask(taskId);
Page<PreDealLogInfoDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(page), PreDealLogInfoDTO.class);
return retPage;
}
}
package com.gic.haoban.manage.service.service.impl;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.ToolUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.SyncTaskDTO;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
import com.gic.haoban.manage.service.dao.mapper.SyncTaskMapper;
import com.gic.haoban.manage.service.entity.TabHaobanSyncTask;
import com.gic.haoban.manage.service.service.SyncTaskService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* Created 2020/4/10.
......@@ -43,4 +50,12 @@ public class SyncTaskServiceImpl implements SyncTaskService {
public TabHaobanSyncTask getSyncTask(String taskId) {
return syncTaskMapper.selectByPrimaryKey(taskId);
}
@Override
public Page<SyncTaskDTO> listTaskPage(String wxEnterpriseId, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo);
List<TabHaobanSyncTask> list = syncTaskMapper.listPageByWxEid(wxEnterpriseId);
Page<SyncTaskDTO> page = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(list), SyncTaskDTO.class);
return page;
}
}
package com.gic.haoban.manage.service.service.out.impl;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.ToolUtil;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreGroupDTO;
import com.gic.enterprise.api.service.StoreGroupService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.Constant;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.manage.api.dto.DealParamMqDTO;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.api.dto.SyncSingleDealDTO;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
......@@ -21,9 +23,11 @@ import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.service.entity.TabHaobanDepartment;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanSyncTask;
import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.PreDealService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.SyncTaskService;
import com.gic.haoban.manage.service.task.BaseSyncOperation;
import com.gic.mq.sdk.GicMQClient;
......@@ -75,6 +79,12 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
@Autowired
private Map<String, BaseSyncOperation> operationMap;
@Autowired
private StaffService staffService;
@Autowired
private ClerkService clerkService;
private static final String LOCK_KEY = "sync_wx_lock_";
private static final String LOCK_SUCCESS_KEY = "sync_wx_success_lock_";
......@@ -388,4 +398,56 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
syncCheckDTO.setHasDeal(totalCount - preCount);
return syncCheckDTO;
}
@Override
public Page<SyncTaskDTO> listSyncTask(String wxEnterpriseId, BasePageInfo pageInfo) {
Page<SyncTaskDTO> page = syncTaskService.listTaskPage(wxEnterpriseId, pageInfo);
if (CollectionUtils.isEmpty(page.getResult())) {
return page;
}
List<SyncTaskDTO> result = page.getResult();
for (SyncTaskDTO dto : result) {
String addUser = dto.getAddUser();
TabHaobanStaff haobanStaff = staffService.selectById(addUser);
if (null == haobanStaff) {
dto.setUserName(haobanStaff.getStaffName());
} else {
dto.setUserName("系统管理员");
}
}
return page;
}
@Override
public Page<PreDealLogInfoDTO> listSyncTaskDetail(String wxEnterpriseId, String taskId, BasePageInfo pageInfo) {
Page<PreDealLogInfoDTO> page = preDealService.listExceptionByTaskId(taskId, pageInfo);
if (CollectionUtils.isEmpty(page.getResult())) {
return page;
}
List<PreDealLogInfoDTO> result = page.getResult();
for (PreDealLogInfoDTO dto : result) {
if (dto.getDataType().equals(PreDealTypeEnum.group.getVal())) {
StoreGroupDTO midGroup = storeGroupService.getStoreGroupById(dto.getDataId());
if (midGroup != null) {
dto.setDataName(midGroup.getStoreGroupName());
dto.setChainName(midGroup.getStoreGroupNameLevel());
}
} else if (dto.getDataType().equals(PreDealTypeEnum.store.getVal())) {
StoreDTO store = storeService.getStore(dto.getDataId());
if (null != store) {
dto.setDataName(store.getStoreName());
dto.setChainName(store.getStoreGroupName());
dto.setDataCode(store.getStoreCode());
}
} else if (dto.getDataType().equals(PreDealTypeEnum.clerk.getVal())) {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(dto.getDataId());
if (null != clerkDTO) {
dto.setDataName(clerkDTO.getClerkName());
dto.setChainName(clerkDTO.getStoreName());
dto.setDataCode(clerkDTO.getClerkCode());
}
}
}
return page;
}
}
......@@ -121,7 +121,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
logger.info("【部门新增】jp = {}",JSON.toJSONString(jp));
if(jp.getErrorCode() != 0) {
hr.setCode(0);
hr.setMessage("微信新增部门失败");
hr.setMessage("微信新增部门失败:" + jp.getErrorCode());
return hr;
}
wxDepartmentId = jp.getResult().toString();
......
......@@ -71,6 +71,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("处理单条部门分组:{}", JSONObject.toJSONString(dealParamMqDTO));
DepartmentDTO departmentDTO = departmentApiService.selectByRelatedId(dataPre.getDataId());
String reason = "";
if (departmentDTO != null) {
logger.info("已经同步过了:{}", dataPre.getDataId());
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), dealParamMqDTO.getData() + ":该部门不存在");
......@@ -83,6 +84,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
}
if (null == pParentDepartment) {
logger.info("不存在该父部门:c:{},p:{}", dataPre.getDataId(), dataPre.getpDataId());
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "父部们不存在");
return;
}
StoreGroupDTO groupDTO = storeGroupService.getStoreGroupById(dealParamMqDTO.getData());
......@@ -109,6 +111,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
if (add.getCode() != 1) {
resultFlag = false;
logger.info("处理失败");
reason = add.getMessage();
return;
}
} catch (Exception e) {
......@@ -117,7 +120,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
logger.info("处理异常");
} finally {
if (!resultFlag) {
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "处理异常或失败");
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), reason);
} else {
dealSuccess(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), dataPre.getWxEnterpriseId());
}
......@@ -135,7 +138,7 @@ public class GroupSyncOperation implements BaseSyncOperation {
}
//todo 需要优化 测试
for (String id : ids) {
preDealService.updateStatusByDataId(taskId, id, PreDealStatusEnum.exception.getVal(), reason);
preDealService.updateStatusByDataId(taskId, id, PreDealStatusEnum.exception.getVal(), "父分组同步异常");
}
checkDepartmentTask(taskId);
}
......
......@@ -76,6 +76,7 @@ public class StoreSyncOperation implements BaseSyncOperation {
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("处理单条门店:{}", JSONObject.toJSONString(dealParamMqDTO));
DepartmentDTO departmentDTO = departmentApiService.selectByRelatedId(dataPre.getDataId());
String reason = "";
if (departmentDTO != null) {
logger.info("已经同步过了:{}", dataPre.getDataId());
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "该部门已经同步");
......@@ -115,7 +116,8 @@ public class StoreSyncOperation implements BaseSyncOperation {
ServiceResponse add = departmentApiService.add(department);
if (add.getCode() != 1) {
resultFlag = false;
logger.info("处理失败");
reason = add.getMessage();
logger.info("门店处理处理失败:{}", dealParamMqDTO.getData());
return;
}
} catch (Exception e) {
......@@ -124,7 +126,7 @@ public class StoreSyncOperation implements BaseSyncOperation {
logger.info("处理异常");
} finally {
if (!resultFlag) {
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), "处理异常或失败");
dealException(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), reason);
} else {
dealSuccess(dealParamMqDTO.getTaskId(), dealParamMqDTO.getData(), dataPre.getEnterpriseId(), dataPre.getWxEnterpriseId());
}
......
......@@ -271,4 +271,12 @@
</set>
where status_flag = 3 and task_id=#{taskId}
</update>
<select id="listExceptionByTask" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_pre_deal_log
where task_id = #{taskId}
and status_flag =3
</select>
</mapper>
\ No newline at end of file
......@@ -114,4 +114,11 @@
update_time = #{updateTime,jdbcType=TIMESTAMP}
where task_id = #{taskId,jdbcType=VARCHAR}
</update>
<select id="listPageByWxEid" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_sync_task
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR} order by update_time desc
</select>
</mapper>
\ No newline at end of file
package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.api.dto.SyncTaskDTO;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.web.auth.AuthRequestUtil;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
......@@ -124,5 +128,43 @@ public class SyncDealContoller extends WebBaseController {
}
/**
* 同步日志列表
*
* @param wxEnterpriseId
* @param pageInfo
* @return
*/
@RequestMapping("/sync-task")
@ResponseBody
public HaobanResponse syncTask(String wxEnterpriseId, BasePageInfo pageInfo) {
if (StringUtils.isBlank(wxEnterpriseId)) {
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
wxEnterpriseId = login.getWxEnterpriseId();
}
Page<SyncTaskDTO> retPage = dealSyncOperationApiService.listSyncTask(wxEnterpriseId, pageInfo);
return resultResponse(HaoBanErrCode.ERR_1, retPage);
}
/**
* 同步日志详情
*
* @param wxEnterpriseId
* @param pageInfo
* @return
*/
@RequestMapping("/sync-task-detail")
@ResponseBody
public HaobanResponse syncTaskDetail(String wxEnterpriseId, String taskId, BasePageInfo pageInfo) {
if (StringUtils.isBlank(wxEnterpriseId)) {
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
wxEnterpriseId = login.getWxEnterpriseId();
}
Page<PreDealLogInfoDTO> retPage = dealSyncOperationApiService.listSyncTaskDetail(wxEnterpriseId, taskId, pageInfo);
return resultResponse(HaoBanErrCode.ERR_1, retPage);
}
}
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