publish 0.9.7
This commit is contained in:
@@ -17,7 +17,8 @@ import com.tiesheng.core.pojos.dao.CoreLogOperation;
|
||||
import com.tiesheng.core.pojos.dao.CoreLogProcess;
|
||||
import com.tiesheng.core.pojos.dao.CorePlatformUnique;
|
||||
import com.tiesheng.core.pojos.vo.ProcessDetailVo;
|
||||
import com.tiesheng.core.util.LogProcessConsumer;
|
||||
import com.tiesheng.core.util.ProcessListConsumer;
|
||||
import com.tiesheng.core.util.ProcessPageConsumer;
|
||||
import com.tiesheng.login.config.token.TsTokenConfig;
|
||||
import com.tiesheng.login.config.token.bean.TokenBean;
|
||||
import com.tiesheng.util.ServletKit;
|
||||
@@ -69,7 +70,7 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
|
||||
* @param type 类型 import-导入,sync-同步
|
||||
* @param list 要导入的数据
|
||||
*/
|
||||
public <T> CoreLogProcess addProcess(String title, String type, List<T> list, LogProcessConsumer consumer) {
|
||||
public <T> CoreLogProcess addProcess(String title, String type, List<T> list, ProcessListConsumer consumer) {
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
throw new ApiException("文件中不存在数据");
|
||||
}
|
||||
@@ -83,7 +84,7 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
|
||||
|
||||
ThreadUtil.execute(() -> {
|
||||
CollUtil.split(list, 100).forEach((it) -> {
|
||||
int accept = consumer.accept(coreLogProcess, it);
|
||||
int accept = consumer.accept(it);
|
||||
coreLogProcess.setSuccessNum(coreLogProcess.getSuccessNum() + accept);
|
||||
coreLogProcess.setFailNum(coreLogProcess.getFailNum() + 100 - accept);
|
||||
|
||||
@@ -100,6 +101,30 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
|
||||
return coreLogProcess;
|
||||
}
|
||||
|
||||
public CoreLogProcess addProcess(String title, String type, ProcessPageConsumer consumer) {
|
||||
CoreLogProcess coreLogProcess = new CoreLogProcess();
|
||||
coreLogProcess.setTitle(title);
|
||||
coreLogProcess.setTotal(0);
|
||||
coreLogProcess.setType(type);
|
||||
coreLogProcess.setSuccessNum(0);
|
||||
coreLogProcess.setFailNum(0);
|
||||
coreLogProcessMapper.insert(coreLogProcess);
|
||||
|
||||
ThreadUtil.execute(() -> {
|
||||
int pageSize = 1000;
|
||||
int pageNum = 1, lastCount = pageSize;
|
||||
while (lastCount == pageSize) {
|
||||
lastCount = consumer.accept(pageNum, pageSize);
|
||||
coreLogProcess.setSuccessNum(lastCount);
|
||||
if (lastCount != pageSize) {
|
||||
coreLogProcess.setStatus(1);
|
||||
}
|
||||
coreLogProcessMapper.updateById(coreLogProcess);
|
||||
}
|
||||
});
|
||||
|
||||
return coreLogProcess;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id 获取过程详情
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.tiesheng.core.pojos.dao.CoreLogProcess;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface LogProcessConsumer {
|
||||
public interface ProcessListConsumer {
|
||||
|
||||
|
||||
/**
|
||||
@@ -14,7 +14,7 @@ public interface LogProcessConsumer {
|
||||
* @param <T>
|
||||
* @return 返回成功的数量
|
||||
*/
|
||||
<T> int accept(CoreLogProcess process, List<T> list);
|
||||
<T> int accept(List<T> list);
|
||||
|
||||
|
||||
/**
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.tiesheng.core.util;
|
||||
|
||||
import com.tiesheng.core.pojos.dao.CoreLogProcess;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ProcessPageConsumer {
|
||||
|
||||
|
||||
/**
|
||||
* 分页数据
|
||||
*
|
||||
* @param pageNum
|
||||
* @param pageSize
|
||||
* @return 返回成功的数量
|
||||
*/
|
||||
int accept(Integer pageNum, Integer pageSize);
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user