feat:(REQ-3201) 待办状态同步卡片,异常日志添加
This commit is contained in:
parent
c79ea6945d
commit
fcc0176955
@ -12,16 +12,14 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xudawei@axzo.cn
|
* @author xudawei@axzo.cn
|
||||||
* @date 2024/11/07
|
* @date 2024/11/07
|
||||||
* @desc 群聊创建MQ消费
|
* @desc 卡片预设MQ消费
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@ -67,7 +65,7 @@ public class CardChangeStateSyncTodoEventHandler implements EventHandler, Initia
|
|||||||
if (!CommonConstants.TODO_SYSN_CARD_APP_CODE.equalsIgnoreCase(payload.getCardInfo().getAppCode())) {
|
if (!CommonConstants.TODO_SYSN_CARD_APP_CODE.equalsIgnoreCase(payload.getCardInfo().getAppCode())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Long operatorId = StringUtils.hasText(event.getOperatorId()) ? Long.valueOf(event.getOperatorId()) : 0L;
|
Long operatorId = Objects.nonNull(payload.getOperatorId()) ? payload.getOperatorId() : 0L;
|
||||||
todoWithCardWrapper.fireTodoWhenPresetButtonPressedByCard(todoManager, payload.getPresetButtonType(), payload.getCardInfo(), operatorId);
|
todoWithCardWrapper.fireTodoWhenPresetButtonPressedByCard(todoManager, payload.getPresetButtonType(), payload.getCardInfo(), operatorId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,6 @@ import cn.axzo.msg.center.message.service.todo.manage.TodoLogger;
|
|||||||
import cn.axzo.msg.center.message.service.todo.manage.TodoManager;
|
import cn.axzo.msg.center.message.service.todo.manage.TodoManager;
|
||||||
import cn.axzo.msg.center.message.service.todo.manage.TodoRequestContext;
|
import cn.axzo.msg.center.message.service.todo.manage.TodoRequestContext;
|
||||||
import cn.axzo.msg.center.notices.common.constans.CommonConstants;
|
import cn.axzo.msg.center.notices.common.constans.CommonConstants;
|
||||||
import cn.axzo.msg.center.notices.common.constans.CommonConstants;
|
|
||||||
import cn.axzo.msg.center.service.dto.PeerPerson;
|
import cn.axzo.msg.center.service.dto.PeerPerson;
|
||||||
import cn.axzo.msg.center.service.dto.PersonDTO;
|
import cn.axzo.msg.center.service.dto.PersonDTO;
|
||||||
import cn.axzo.msg.center.service.enums.CardBizState;
|
import cn.axzo.msg.center.service.enums.CardBizState;
|
||||||
@ -23,12 +22,14 @@ import cn.axzo.msg.center.service.pending.request.PresetButtonPressedRequest;
|
|||||||
import cn.axzo.msg.center.service.util.IdBuilder;
|
import cn.axzo.msg.center.service.util.IdBuilder;
|
||||||
import com.alibaba.excel.util.StringUtils;
|
import com.alibaba.excel.util.StringUtils;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.google.common.base.Throwables;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -64,9 +65,12 @@ public class TodoWithCardWrapper {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.info("TodoWithCardWrapper#fireTodoWhenPresetButtonPressedByCard start,presetButtonType:{},cardInfo:{}", presetButtonType, JSON.toJSONString(cardInfo));
|
log.info("TodoWithCardWrapper#fireTodoWhenPresetButtonPressedByCard start,presetButtonType:{},cardInfo:{}", presetButtonType, JSON.toJSONString(cardInfo));
|
||||||
|
TodoRequestContext ctx = TodoRequestContext.create("cardPresetTodo", cardInfo);
|
||||||
|
ctx.addLogContent("presetButtonType", presetButtonType);
|
||||||
|
ctx.addLogContent("operatorId", operatorId);
|
||||||
|
//1 查询待办(Todo对象),根据templateCode/bizCode/subBizCode/receiverPresonId/receiverOuId/receiverWorkspaceId 理论上只能查询一条[待办]记录
|
||||||
|
List<Todo> todoList = todoDao.findByCondition(cardInfo.getTemplateCode(), cardInfo.getBizCode(), cardInfo.getSubBizCode(), cardInfo.getReceiverPersonId(), cardInfo.getReceiverOuId(), cardInfo.getReceiverWorkspaceId());
|
||||||
try {
|
try {
|
||||||
//1 查询待办(Todo对象),根据templateCode/bizCode/subBizCode/receiverPresonId/receiverOuId/receiverWorkspaceId 理论上只能查询一条[待办]记录
|
|
||||||
List<Todo> todoList = todoDao.findByCondition(cardInfo.getTemplateCode(), cardInfo.getBizCode(), cardInfo.getSubBizCode(), cardInfo.getReceiverPersonId(), cardInfo.getReceiverOuId(), cardInfo.getReceiverWorkspaceId());
|
|
||||||
if (CollectionUtils.isEmpty(todoList)) {
|
if (CollectionUtils.isEmpty(todoList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -75,12 +79,11 @@ public class TodoWithCardWrapper {
|
|||||||
PresetButtonPressedRequest presetButtonPressedRequest = this.buildPresetButtonPressedRequest(todo.getIdentityCode(), presetButtonType, operatorId);
|
PresetButtonPressedRequest presetButtonPressedRequest = this.buildPresetButtonPressedRequest(todo.getIdentityCode(), presetButtonType, operatorId);
|
||||||
todoManager.firePresetButtonPressed( presetButtonPressedRequest, false);
|
todoManager.firePresetButtonPressed( presetButtonPressedRequest, false);
|
||||||
}
|
}
|
||||||
TodoRequestContext ctx = TodoRequestContext.create("cardPresetTodo", cardInfo);
|
|
||||||
ctx.addLogContent("presetButtonType", presetButtonType);
|
|
||||||
ctx.addLogContent("operatorId", operatorId);
|
|
||||||
todoLogger.logTodosUpdated(ctx, todoList);
|
todoLogger.logTodosUpdated(ctx, todoList);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("TodoWithCardWrapper#fireTodoWhenPresetButtonPressedByCard exception,presetButtonType:{},cardInfo:{}", presetButtonType, JSON.toJSONString(cardInfo),e);
|
log.warn("TodoWithCardWrapper#fireTodoWhenPresetButtonPressedByCard exception,presetButtonType:{},cardInfo:{}", presetButtonType, JSON.toJSONString(cardInfo),e);
|
||||||
|
ctx.addLogContent("exception", Throwables.getStackTraceAsString(e));
|
||||||
|
todoLogger.logTodosUpdated(ctx, todoList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,13 +108,17 @@ public class TodoWithCardWrapper {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.info("TodoWithCardWrapper#fireCardWhenPresetButtonPressedByTodo start,request:{},todo:{}", JSON.toJSONString(request), JSON.toJSONString(todo));
|
log.info("TodoWithCardWrapper#fireCardWhenPresetButtonPressedByTodo start,request:{},todo:{}", JSON.toJSONString(request), JSON.toJSONString(todo));
|
||||||
|
TodoRequestContext ctx = TodoRequestContext.create("todoPresetCard", request);
|
||||||
try {
|
try {
|
||||||
//1 构建对象
|
//1 构建对象
|
||||||
CardUpdatePresetButtonRequest cardRequest = this.buildCardUpdatePresetButtonRequest(request, todo);
|
CardUpdatePresetButtonRequest cardRequest = this.buildCardUpdatePresetButtonRequest(request, todo);
|
||||||
//2 同步卡片
|
//2 同步卡片
|
||||||
cardManager.firePresetButtonPressed(cardRequest);
|
cardManager.firePresetButtonPressed(cardRequest);
|
||||||
|
todoLogger.logTodosUpdated(ctx, Collections.singletonList(todo));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("TodoWithCardWrapper#fireCardWhenPresetButtonPressedByTodo exception,request:{},todo:{}", JSON.toJSONString(request), JSON.toJSONString(todo),e);
|
log.warn("TodoWithCardWrapper#fireCardWhenPresetButtonPressedByTodo exception,request:{},todo:{}", JSON.toJSONString(request), JSON.toJSONString(todo),e);
|
||||||
|
ctx.addLogContent("exception", Throwables.getStackTraceAsString(e));
|
||||||
|
todoLogger.logTodosUpdated(ctx, Collections.singletonList(todo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,15 +146,17 @@ public class TodoWithCardWrapper {
|
|||||||
*/
|
*/
|
||||||
public void send(PendingMessagePushParam param,List<Todo> todos) {
|
public void send(PendingMessagePushParam param,List<Todo> todos) {
|
||||||
log.info("TodoWithCardWrapper#send start,param:{}", JSON.toJSONString(param));
|
log.info("TodoWithCardWrapper#send start,param:{}", JSON.toJSONString(param));
|
||||||
|
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardSend", param);
|
||||||
try {
|
try {
|
||||||
//1 构建对象
|
//1 构建对象
|
||||||
CardSendRequest cardSendRequest = this.buildCardSendRequest(param);
|
CardSendRequest cardSendRequest = this.buildCardSendRequest(param);
|
||||||
//2 发送
|
//2 发送
|
||||||
cardManager.send(cardSendRequest);
|
cardManager.send(cardSendRequest);
|
||||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardSend", param);
|
|
||||||
todoLogger.logTodosUpdated(ctx, todos);
|
todoLogger.logTodosUpdated(ctx, todos);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("TodoWithCardWrapper#send,param:{}", JSON.toJSONString(param), e);
|
log.warn("TodoWithCardWrapper#send,param:{}", JSON.toJSONString(param), e);
|
||||||
|
ctx.addLogContent("exception", Throwables.getStackTraceAsString(e));
|
||||||
|
todoLogger.logTodosUpdated(ctx, todos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,6 +197,9 @@ public class TodoWithCardWrapper {
|
|||||||
if (CollectionUtils.isEmpty(todoList)) {
|
if (CollectionUtils.isEmpty(todoList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardState", todoList);
|
||||||
|
ctx.addLogContent("bizState", bizState);
|
||||||
|
ctx.addLogContent("cardState", cardState);
|
||||||
try {
|
try {
|
||||||
for (Todo todo : todoList) {
|
for (Todo todo : todoList) {
|
||||||
//1 构建对象
|
//1 构建对象
|
||||||
@ -195,12 +207,11 @@ public class TodoWithCardWrapper {
|
|||||||
//2 更新状态
|
//2 更新状态
|
||||||
cardManager.updateState(updateStateRequest);
|
cardManager.updateState(updateStateRequest);
|
||||||
}
|
}
|
||||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardState", todoList);
|
|
||||||
ctx.addLogContent("bizState", bizState);
|
|
||||||
ctx.addLogContent("cardState", cardState);
|
|
||||||
todoLogger.logTodosUpdated(ctx, todoList);
|
todoLogger.logTodosUpdated(ctx, todoList);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("TodoWithCardWrapper#cardCompleteState,todoList:{}", JSON.toJSONString(todoList), e);
|
log.warn("TodoWithCardWrapper#cardCompleteState,todoList:{}", JSON.toJSONString(todoList), e);
|
||||||
|
ctx.addLogContent("exception", Throwables.getStackTraceAsString(e));
|
||||||
|
todoLogger.logTodosUpdated(ctx, todoList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -135,7 +135,7 @@ public class UpdateTemplateV3ChannelStyleVersionJob extends IJobHandler {
|
|||||||
.eq(MessageTemplateV3::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
.eq(MessageTemplateV3::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
.gt(MessageTemplateV3::getId, maxId.get())
|
.gt(MessageTemplateV3::getId, maxId.get())
|
||||||
.orderByAsc(MessageTemplateV3::getId)
|
.orderByAsc(MessageTemplateV3::getId)
|
||||||
.last("LIMIT 20")
|
.last("LIMIT 200")
|
||||||
.list();
|
.list();
|
||||||
if (!accounts.isEmpty()) {
|
if (!accounts.isEmpty()) {
|
||||||
maxId.set(accounts.get(accounts.size() - 1).getId());
|
maxId.set(accounts.get(accounts.size() - 1).getId());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user