REQ-3502: 按钮排序

This commit is contained in:
yanglin 2025-01-15 17:01:37 +08:00
parent cb618ced63
commit 0f3e1c440f
2 changed files with 9 additions and 23 deletions

View File

@ -2,6 +2,7 @@ package cn.axzo.msg.center.message.service.todo.manage;
import cn.axzo.msg.center.dal.TodoBusinessDao; import cn.axzo.msg.center.dal.TodoBusinessDao;
import cn.axzo.msg.center.dal.TodoBusinesses; import cn.axzo.msg.center.dal.TodoBusinesses;
import cn.axzo.msg.center.dal.TodoDao;
import cn.axzo.msg.center.dal.TodoLogDao; import cn.axzo.msg.center.dal.TodoLogDao;
import cn.axzo.msg.center.domain.entity.Todo; import cn.axzo.msg.center.domain.entity.Todo;
import cn.axzo.msg.center.domain.entity.TodoBusiness; import cn.axzo.msg.center.domain.entity.TodoBusiness;
@ -19,6 +20,8 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import static java.util.stream.Collectors.toList;
/** /**
* @author yanglin * @author yanglin
*/ */
@ -28,6 +31,7 @@ public class TodoLogger {
private final TodoLogDao todoLogDao; private final TodoLogDao todoLogDao;
private final TodoBusinessDao todoBusinessDao; private final TodoBusinessDao todoBusinessDao;
private final TodoDao todoDao;
private final PendingMessageBizConfig cfg; private final PendingMessageBizConfig cfg;
void logBusinessUpdated(TodoRequestContext ctx, TodoBusiness business) { void logBusinessUpdated(TodoRequestContext ctx, TodoBusiness business) {
@ -67,7 +71,11 @@ public class TodoLogger {
if (CollectionUtils.isEmpty(todos)) return; if (CollectionUtils.isEmpty(todos)) return;
TodoBusinesses businesses = todoBusinessDao.getBusinesses(todos); TodoBusinesses businesses = todoBusinessDao.getBusinesses(todos);
ArrayList<TodoLog> logs = new ArrayList<>(); ArrayList<TodoLog> logs = new ArrayList<>();
for (Todo todo : todos) { List<String> todoCodes = todos.stream()
.map(Todo::getIdentityCode)
.distinct().collect(toList());
// reload to get the up-to-date update time
for (Todo todo : todoDao.getByCodes(todoCodes)) {
logs.add(createTodoLog(ctx, businesses, todo) logs.add(createTodoLog(ctx, businesses, todo)
.addLogContents(ctx.getLogContents())); .addLogContents(ctx.getLogContents()));
} }

View File

@ -17,9 +17,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
@ -157,24 +155,4 @@ public class TodoDao extends ServiceImpl<TodoMapper, Todo> {
.set(Todo::getState, PendingMessageStateEnum.PROCESSING) .set(Todo::getState, PendingMessageStateEnum.PROCESSING)
.update(); .update();
} }
public boolean setExecutableHide(String subBizCode, Date expireTime) {
return lambdaUpdate()
.eq(Todo::getType, TodoType.EXECUTABLE)
.eq(Todo::getSubBizCode, subBizCode)
.eq(Todo::getState, PendingMessageStateEnum.HAS_BEEN_SENT)
.set(Todo::getHideUntil, expireTime)
.update();
}
public List<Todo> findByCondition(String templateCode, String bizCode, String subBizCode, Long executorPersonId, Long ouId, Long workspaceId) {
return lambdaQuery()
.eq(StringUtils.isNotBlank(templateCode), Todo::getTemplateCode, templateCode)
.eq(StringUtils.isNotBlank(bizCode), Todo::getBizCode, bizCode)
.eq(StringUtils.isNotBlank(subBizCode), Todo::getSubBizCode, subBizCode)
.eq(Objects.nonNull(executorPersonId), Todo::getExecutorPersonId, executorPersonId)
.eq(Objects.nonNull(ouId), Todo::getOuId, ouId)
.eq(Objects.nonNull(workspaceId), Todo::getReceiverWorkspaceId, workspaceId)
.list();
}
} }