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.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/07
|
||||
* @desc 群聊创建MQ消费
|
||||
* @desc 卡片预设MQ消费
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@ -67,7 +65,7 @@ public class CardChangeStateSyncTodoEventHandler implements EventHandler, Initia
|
||||
if (!CommonConstants.TODO_SYSN_CARD_APP_CODE.equalsIgnoreCase(payload.getCardInfo().getAppCode())) {
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
@ -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.TodoRequestContext;
|
||||
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.PersonDTO;
|
||||
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 com.alibaba.excel.util.StringUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
@ -64,9 +65,12 @@ public class TodoWithCardWrapper {
|
||||
return;
|
||||
}
|
||||
log.info("TodoWithCardWrapper#fireTodoWhenPresetButtonPressedByCard start,presetButtonType:{},cardInfo:{}", presetButtonType, JSON.toJSONString(cardInfo));
|
||||
try {
|
||||
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 {
|
||||
if (CollectionUtils.isEmpty(todoList)) {
|
||||
return;
|
||||
}
|
||||
@ -75,12 +79,11 @@ public class TodoWithCardWrapper {
|
||||
PresetButtonPressedRequest presetButtonPressedRequest = this.buildPresetButtonPressedRequest(todo.getIdentityCode(), presetButtonType, operatorId);
|
||||
todoManager.firePresetButtonPressed( presetButtonPressedRequest, false);
|
||||
}
|
||||
TodoRequestContext ctx = TodoRequestContext.create("cardPresetTodo", cardInfo);
|
||||
ctx.addLogContent("presetButtonType", presetButtonType);
|
||||
ctx.addLogContent("operatorId", operatorId);
|
||||
todoLogger.logTodosUpdated(ctx, todoList);
|
||||
} catch (Exception 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;
|
||||
}
|
||||
log.info("TodoWithCardWrapper#fireCardWhenPresetButtonPressedByTodo start,request:{},todo:{}", JSON.toJSONString(request), JSON.toJSONString(todo));
|
||||
TodoRequestContext ctx = TodoRequestContext.create("todoPresetCard", request);
|
||||
try {
|
||||
//1 构建对象
|
||||
CardUpdatePresetButtonRequest cardRequest = this.buildCardUpdatePresetButtonRequest(request, todo);
|
||||
//2 同步卡片
|
||||
cardManager.firePresetButtonPressed(cardRequest);
|
||||
todoLogger.logTodosUpdated(ctx, Collections.singletonList(todo));
|
||||
} catch (Exception 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) {
|
||||
log.info("TodoWithCardWrapper#send start,param:{}", JSON.toJSONString(param));
|
||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardSend", param);
|
||||
try {
|
||||
//1 构建对象
|
||||
CardSendRequest cardSendRequest = this.buildCardSendRequest(param);
|
||||
//2 发送
|
||||
cardManager.send(cardSendRequest);
|
||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardSend", param);
|
||||
todoLogger.logTodosUpdated(ctx, todos);
|
||||
} catch (Exception 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)) {
|
||||
return;
|
||||
}
|
||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardState", todoList);
|
||||
ctx.addLogContent("bizState", bizState);
|
||||
ctx.addLogContent("cardState", cardState);
|
||||
try {
|
||||
for (Todo todo : todoList) {
|
||||
//1 构建对象
|
||||
@ -195,12 +207,11 @@ public class TodoWithCardWrapper {
|
||||
//2 更新状态
|
||||
cardManager.updateState(updateStateRequest);
|
||||
}
|
||||
TodoRequestContext ctx = TodoRequestContext.create("todoSyncCardState", todoList);
|
||||
ctx.addLogContent("bizState", bizState);
|
||||
ctx.addLogContent("cardState", cardState);
|
||||
todoLogger.logTodosUpdated(ctx, todoList);
|
||||
} catch (Exception 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)
|
||||
.gt(MessageTemplateV3::getId, maxId.get())
|
||||
.orderByAsc(MessageTemplateV3::getId)
|
||||
.last("LIMIT 20")
|
||||
.last("LIMIT 200")
|
||||
.list();
|
||||
if (!accounts.isEmpty()) {
|
||||
maxId.set(accounts.get(accounts.size() - 1).getId());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user