From 1198ea43ca127f0a14968d5d57b544a7a2d0cde7 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 05 六月 2023 20:45:53 +0800 Subject: [PATCH] 修改Voc入库的id模式 --- src/main/java/com/yssh/entity/VocVals.java | 7 ++++--- src/main/resources/mapping/VocValsMapper.xml | 12 ++++++------ src/main/java/com/yssh/run/InitDataRunner.java | 10 +++++++++- src/main/resources/application-scheduled.yml | 2 +- src/main/java/com/yssh/scheduled/ReadCsvTask.java | 2 +- src/main/java/com/yssh/utils/VocParser.java | 24 ++++++++++++++++++++---- 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/yssh/entity/VocVals.java b/src/main/java/com/yssh/entity/VocVals.java index c5a6868..40c8db7 100644 --- a/src/main/java/com/yssh/entity/VocVals.java +++ b/src/main/java/com/yssh/entity/VocVals.java @@ -4,13 +4,14 @@ import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; +import java.math.BigInteger; import java.util.Date; public class VocVals implements Serializable { private static final long serialVersionUID = -20230605145412000L; @ApiModelProperty(value = "涓婚敭") - private Integer id; + private BigInteger id; @CsvProperty(index = 0) @ApiModelProperty(value = "X") @@ -30,11 +31,11 @@ public VocVals() { } - public Integer getId() { + public BigInteger getId() { return id; } - public void setId(Integer id) { + public void setId(BigInteger id) { this.id = id; } diff --git a/src/main/java/com/yssh/run/InitDataRunner.java b/src/main/java/com/yssh/run/InitDataRunner.java index 99aca83..12dc4f4 100644 --- a/src/main/java/com/yssh/run/InitDataRunner.java +++ b/src/main/java/com/yssh/run/InitDataRunner.java @@ -1,5 +1,6 @@ package com.yssh.run; +import com.yssh.scheduled.ReadCsvTask; import com.yssh.utils.CacheUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -13,6 +14,8 @@ import com.yssh.service.ICommonService; import com.yssh.service.IDictRecordService; +import javax.annotation.Resource; + @Component public class InitDataRunner implements ApplicationRunner { //protected final Log logger = LogFactory.getLog(this.getClass()); @@ -24,6 +27,9 @@ @Autowired private IDictRecordService dictRecordService; + @Resource + ReadCsvTask task; + @Override public void run(ApplicationArguments args) throws Exception { CacheUtils.init(); @@ -32,9 +38,11 @@ if (!tableExists) { dictRecordService.createDictRecoTable(); } - //璇诲彇dat鏁版嵁 + // 璇诲彇dat鏁版嵁 commonService.readDatData(); + //task.corpReserveDataSync(); + logger.info("***************** 绯荤粺鍚姩瀹屾瘯 *****************" + "\n"); } } diff --git a/src/main/java/com/yssh/scheduled/ReadCsvTask.java b/src/main/java/com/yssh/scheduled/ReadCsvTask.java index 97cf133..d4b0e51 100644 --- a/src/main/java/com/yssh/scheduled/ReadCsvTask.java +++ b/src/main/java/com/yssh/scheduled/ReadCsvTask.java @@ -71,7 +71,7 @@ int count = vocValsService.countByTime(time); if (count > 0) { - continue; + //continue; } EasyCsv.read(filePath, VocVals.class, new VocParser(vocValsService, calendar.getTime())).doRead(); diff --git a/src/main/java/com/yssh/utils/VocParser.java b/src/main/java/com/yssh/utils/VocParser.java index bd29fe3..a18645c 100644 --- a/src/main/java/com/yssh/utils/VocParser.java +++ b/src/main/java/com/yssh/utils/VocParser.java @@ -6,6 +6,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.math.BigInteger; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -18,20 +20,31 @@ public class VocParser extends AbstractCsvFileParser<VocVals> { protected final Log logger = LogFactory.getLog(this.getClass()); + private final SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH0000"); + /** * 姣忛殧5000鏉″叆搴撲竴娆� */ - public static final int BATCH_COUNT = 5000; + public static final int BATCH_COUNT = 100000; + + private BigInteger startId; private VocValsService vocValsService; private Date date; - private List<VocVals> list = new ArrayList<>(); + private List<VocVals> list = new ArrayList<>(BATCH_COUNT); public VocParser(VocValsService vocValsService, Date date) { this.vocValsService = vocValsService; this.date = date; + this.startId = new BigInteger(format.format(date)); + } + + public BigInteger getId() { + startId = startId.add(BigInteger.valueOf(1)); + + return startId; } @Override @@ -46,17 +59,20 @@ } vv.setCreateTime(this.date); + vv.setId(getId()); list.add(vv); if (list.size() >= BATCH_COUNT) { inserts(); - list = new ArrayList<>(); + list = new ArrayList<>(BATCH_COUNT); } } private void inserts() { try { - this.vocValsService.insertVocVals(list); + if (list.size() > 0) { + this.vocValsService.insertVocVals(list); + } } catch (Exception e) { logger.error(e.getMessage()); e.printStackTrace(); diff --git a/src/main/resources/application-scheduled.yml b/src/main/resources/application-scheduled.yml index 1844271..e2610dd 100644 --- a/src/main/resources/application-scheduled.yml +++ b/src/main/resources/application-scheduled.yml @@ -1,2 +1,2 @@ csv: - cron: '0 1 * * * ? ' + cron: '0 5 * * * ? ' diff --git a/src/main/resources/mapping/VocValsMapper.xml b/src/main/resources/mapping/VocValsMapper.xml index cad3a40..e522f24 100644 --- a/src/main/resources/mapping/VocValsMapper.xml +++ b/src/main/resources/mapping/VocValsMapper.xml @@ -26,15 +26,15 @@ where date_format(create_time, '%Y%m%d%H') = ${time}; </select> - <insert id="insert" parameterType="com.yssh.entity.VocVals" useGeneratedKeys="true" keyProperty="id"> - insert into voc_vals (x, y, val, create_time) values - (${x}, ${y}, ${val}, ${createTime}); + <insert id="insert" parameterType="com.yssh.entity.VocVals" useGeneratedKeys="false" keyProperty="id"> + insert into voc_vals (id, x, y, val, create_time) values + (${id}, ${x}, ${y}, ${val}, ${createTime}); </insert> - <insert id="inserts" parameterType="com.yssh.entity.VocVals" useGeneratedKeys="true" keyProperty="id"> - insert into voc_vals (x, y, val, create_time) values + <insert id="inserts" parameterType="com.yssh.entity.VocVals" useGeneratedKeys="false" keyProperty="id"> + insert into voc_vals (id, x, y, val, create_time) values <foreach collection="list" item="item" index="index" separator=","> - (#{item.x},#{item.y},#{item.val},#{item.createTime}) + (${item.id}, #{item.x},#{item.y},#{item.val},#{item.createTime}) </foreach> </insert> -- Gitblit v1.9.3