Commit a21efce1 by jiangxuming

加日志并优化速度

parent ac589cb9
...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.hmhj.service; ...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.commons.toolkit.TimeWatch;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord; import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate; import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
...@@ -25,7 +26,7 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> { ...@@ -25,7 +26,7 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> {
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file); OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file, TimeWatch timeWatch);
OriginalRecord uploadExpGenerate(Map<Long,List<Long>> entrustItemIdMap, OriginalTemplate template, Account account, String remark, File file); OriginalRecord uploadExpGenerate(Map<Long,List<Long>> entrustItemIdMap, OriginalTemplate template, Account account, String remark, File file);
......
...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.toolkit.MapUtils; ...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.toolkit.MapUtils;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.commons.toolkit.TimeWatch;
import com.patzn.cloud.oss.starter.OssClient; import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult; import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
...@@ -31,6 +32,9 @@ import java.io.File; ...@@ -31,6 +32,9 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -48,6 +52,8 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap ...@@ -48,6 +52,8 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
@Autowired @Autowired
private OssClient ossClient; private OssClient ossClient;
private static final ThreadPoolExecutor pool = new ThreadPoolExecutor(8, 20, 10, TimeUnit.MINUTES, new LinkedBlockingQueue<>(5000));
@Override @Override
public Page<OriginalRecord> page(Page<OriginalRecord> page, OriginalRecord originalRecord) { public Page<OriginalRecord> page(Page<OriginalRecord> page, OriginalRecord originalRecord) {
...@@ -97,7 +103,7 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap ...@@ -97,7 +103,7 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file) { public OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file, TimeWatch timeWatch) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择试验项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择试验项目");
RestAssert.fail(null == entrust.getId(), "试验委托单ID不能为空"); RestAssert.fail(null == entrust.getId(), "试验委托单ID不能为空");
...@@ -113,7 +119,9 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap ...@@ -113,7 +119,9 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
return null; return null;
} }
originalRecord.setObjectKey(obsFileResult.getObjectKey()); originalRecord.setObjectKey(obsFileResult.getObjectKey());
logger.info("7-1阶段耗时:{} ms", timeWatch.pointTime());
if (save(originalRecord)) { if (save(originalRecord)) {
logger.info("7-2阶段耗时:{} ms", timeWatch.pointTime());
List<ItemRelOriginalRecord> saveList = new ArrayList<>(); List<ItemRelOriginalRecord> saveList = new ArrayList<>();
for (Long id : ids) { for (Long id : ids) {
ItemRelOriginalRecord relOriginalRecord = new ItemRelOriginalRecord(); ItemRelOriginalRecord relOriginalRecord = new ItemRelOriginalRecord();
...@@ -121,10 +129,17 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap ...@@ -121,10 +129,17 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
relOriginalRecord.setRecordId(originalRecord.getId()); relOriginalRecord.setRecordId(originalRecord.getId());
saveList.add(relOriginalRecord); saveList.add(relOriginalRecord);
} }
logger.info("7-3阶段耗时:{} ms", timeWatch.pointTime());
if (CollectionUtils.isNotEmpty(saveList)) { if (CollectionUtils.isNotEmpty(saveList)) {
pool.execute(() -> {
itemRelOriginalRecordService.saveBatch(saveList); itemRelOriginalRecordService.saveBatch(saveList);
});
} }
// if (CollectionUtils.isNotEmpty(saveList)) {
// itemRelOriginalRecordService.saveBatch(saveList);
// }
} }
logger.info("7-4阶段耗时:{} ms", timeWatch.pointTime());
return originalRecord; return originalRecord;
} }
......
...@@ -445,6 +445,18 @@ ...@@ -445,6 +445,18 @@
END) then 1 else 0 end) "END_INDEX" END) then 1 else 0 end) "END_INDEX"
FROM entrust_sample_item_index ii FROM entrust_sample_item_index ii
WHERE ii.deleted = 0 WHERE ii.deleted = 0
<if test="null != vo.ids">
and ii.entrust_sample_item_id in
<foreach collection="vo.ids" index="index" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
<if test="null != vo.nonIds">
and ii.entrust_sample_item_id not in
<foreach collection="vo.nonIds" index="index" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
GROUP BY ii.entrust_sample_item_id GROUP BY ii.entrust_sample_item_id
) ii on ii.entrust_sample_item_id = i.id ) ii on ii.entrust_sample_item_id = i.id
where e.deleted = 0 and s.deleted = 0 and i.deleted = 0 and s.type = 0 where e.deleted = 0 and s.deleted = 0 and i.deleted = 0 and s.type = 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment