REQ-2453: fix set processing issue
This commit is contained in:
parent
6c6d9e0346
commit
0fc83d0ed9
@ -20,7 +20,6 @@ import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.broadcast.TodoBroadcaster;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.broadcast.TodoMqBroadcaster;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.event.HandoverEvent;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.broadcast.TodoBroadcaster;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.event.NewTodoEvent;
|
||||
import cn.axzo.msg.center.mq.MqMessageRecord;
|
||||
import cn.axzo.msg.center.mq.MqMessageType;
|
||||
@ -45,7 +44,6 @@ import cn.axzo.msg.center.service.util.JSONUtils;
|
||||
import cn.axzo.msg.center.utils.DateFormatUtil;
|
||||
import cn.axzo.msg.center.utils.QueryFormatter;
|
||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.google.common.base.Supplier;
|
||||
@ -68,7 +66,6 @@ import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
import static java.util.stream.Collectors.toSet;
|
||||
@ -465,14 +462,19 @@ public class TodoManager {
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean batchSetProcessing(List<String> identityCodes, List<String> subBizCodes) {
|
||||
log.info("batch set processing...,request:{}", JSONUtil.toJsonStr(identityCodes));
|
||||
BizAssertions.assertTrue(CollectionUtils.isNotEmpty(identityCodes), "identityCodes列表不能为空");
|
||||
BizAssertions.assertTrue(
|
||||
CollectionUtils.isNotEmpty(identityCodes) || CollectionUtils.isNotEmpty(subBizCodes) ,
|
||||
"identityCodes或subBizCodes列表不能为空");
|
||||
List<Todo> todos;
|
||||
if (CollectionUtils.isNotEmpty(identityCodes))
|
||||
todos = todoDao.getByIdentityCodes(identityCodes);
|
||||
else
|
||||
todos = todoDao.getBySubBizCodes(subBizCodes, true);
|
||||
Boolean updated = todoDao.batchSetExecutableProcessing(identityCodes, subBizCodes);
|
||||
if (updated) {
|
||||
List<Todo> updatedTodos = todoDao.getByIdentityCodes(identityCodes);
|
||||
TodoRequestContext ctx = TodoRequestContext.create("batchSetProcessing", identityCodes);
|
||||
todoLogger.logSetTodoProcessing(ctx, updatedTodos);
|
||||
todoBroadcaster.fireTodoUpdates("batchSetProcessing", updatedTodos);
|
||||
todoLogger.logSetTodoProcessing(ctx, todos);
|
||||
todoBroadcaster.fireTodoUpdates("batchSetProcessing", todos);
|
||||
}
|
||||
return updated;
|
||||
}
|
||||
|
||||
@ -61,6 +61,17 @@ public class TodoDao extends ServiceImpl<TodoMapper, Todo> {
|
||||
return Optional.ofNullable(todo);
|
||||
}
|
||||
|
||||
public List<Todo> getBySubBizCodes(List<String> subBizCodes, boolean toBeDoneOnly) {
|
||||
if (CollectionUtils.isEmpty(subBizCodes))
|
||||
return Collections.emptyList();
|
||||
return lambdaQuery()
|
||||
.in(Todo::getSubBizCode, subBizCodes)
|
||||
.in(toBeDoneOnly, Todo::getState,
|
||||
PendingMessageStateEnum.HAS_BEEN_SENT, PendingMessageStateEnum.PROCESSING)
|
||||
.eq(Todo::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.list();
|
||||
}
|
||||
|
||||
public List<Todo> getBySubBizCode(String subBizCode) {
|
||||
return lambdaQuery()
|
||||
.eq(Todo::getSubBizCode, subBizCode)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user