update - 优化扩展任务实例表的数据处理

This commit is contained in:
wangli 2024-04-28 15:29:16 +08:00
parent c989172086
commit 22a8d55c77

View File

@ -1,7 +1,11 @@
package cn.axzo.workflow.server.xxljob;
import cn.axzo.framework.jackson.utility.JSON;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.task.ExtHiTaskSearchDTO;
import cn.axzo.workflow.core.repository.entity.ExtAxHiTaskInst;
import cn.axzo.workflow.core.repository.mapper.CommonMapper;
import cn.axzo.workflow.core.service.ExtAxHiTaskInstService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.XxlJob;
@ -9,11 +13,15 @@ import com.xxl.job.core.log.XxlJobLogger;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
/**
* 操作数据表
*
@ -26,12 +34,31 @@ import java.util.Map;
public class OperationDataJobHandler extends IJobHandler {
@Resource
private CommonMapper commonMapper;
@Resource
private ExtAxHiTaskInstService extAxHiTaskInstService;
@Override
@XxlJob("executeDynamicSql")
public ReturnT<String> execute(String s) throws Exception {
List<Map<String, Object>> maps = commonMapper.executeDynamicSQL(s);
XxlJobLogger.log("result: {}", JSON.toJSONString(maps));
if (StringUtils.hasText(s)) {
List<Map<String, Object>> maps = commonMapper.executeDynamicSQL(s);
XxlJobLogger.log("result: {}", JSON.toJSONString(maps));
} else {
repairData();
}
return ReturnT.SUCCESS;
}
private void repairData() {
ExtHiTaskSearchDTO searchDTO = new ExtHiTaskSearchDTO();
searchDTO.setTaskDefinitionKey("NODE_STARTER");
searchDTO.setStatus(BpmnProcessInstanceResultEnum.PROCESSING);
List<ExtAxHiTaskInst> extAxHiTaskInsts = extAxHiTaskInstService.queryList(searchDTO);
if (!CollectionUtils.isEmpty(extAxHiTaskInsts)) {
extAxHiTaskInsts.forEach(i -> {
i.setStatus(APPROVED.getStatus());
extAxHiTaskInstService.update(i);
});
}
}
}