publish 0.9.7

This commit is contained in:
曾文豪
2023-04-06 00:01:26 +08:00
parent dda5f64910
commit 47c9251389
3 changed files with 50 additions and 5 deletions

View File

@@ -17,7 +17,8 @@ import com.tiesheng.core.pojos.dao.CoreLogOperation;
import com.tiesheng.core.pojos.dao.CoreLogProcess; import com.tiesheng.core.pojos.dao.CoreLogProcess;
import com.tiesheng.core.pojos.dao.CorePlatformUnique; import com.tiesheng.core.pojos.dao.CorePlatformUnique;
import com.tiesheng.core.pojos.vo.ProcessDetailVo; 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.TsTokenConfig;
import com.tiesheng.login.config.token.bean.TokenBean; import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.util.ServletKit; import com.tiesheng.util.ServletKit;
@@ -69,7 +70,7 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
* @param type 类型 import-导入sync-同步 * @param type 类型 import-导入sync-同步
* @param list 要导入的数据 * @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)) { if (CollUtil.isEmpty(list)) {
throw new ApiException("文件中不存在数据"); throw new ApiException("文件中不存在数据");
} }
@@ -83,7 +84,7 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
ThreadUtil.execute(() -> { ThreadUtil.execute(() -> {
CollUtil.split(list, 100).forEach((it) -> { CollUtil.split(list, 100).forEach((it) -> {
int accept = consumer.accept(coreLogProcess, it); int accept = consumer.accept(it);
coreLogProcess.setSuccessNum(coreLogProcess.getSuccessNum() + accept); coreLogProcess.setSuccessNum(coreLogProcess.getSuccessNum() + accept);
coreLogProcess.setFailNum(coreLogProcess.getFailNum() + 100 - accept); coreLogProcess.setFailNum(coreLogProcess.getFailNum() + 100 - accept);
@@ -100,6 +101,30 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
return coreLogProcess; 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 获取过程详情 * 根据id 获取过程详情

View File

@@ -4,7 +4,7 @@ import com.tiesheng.core.pojos.dao.CoreLogProcess;
import java.util.List; import java.util.List;
public interface LogProcessConsumer { public interface ProcessListConsumer {
/** /**
@@ -14,7 +14,7 @@ public interface LogProcessConsumer {
* @param <T> * @param <T>
* @return 返回成功的数量 * @return 返回成功的数量
*/ */
<T> int accept(CoreLogProcess process, List<T> list); <T> int accept(List<T> list);
/** /**

View File

@@ -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);
}