update 优化批量生成充电桩数据

This commit is contained in:
2023-03-29 15:31:47 +08:00
parent c65583b1a0
commit 0d686bf09f

View File

@@ -4,6 +4,8 @@ import com.google.common.collect.Lists;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.domain.PileConnectorInfo;
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
@@ -22,6 +24,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
@@ -58,16 +61,38 @@ public class TransactionService {
*/
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public int doCreatePileTransaction(PileTransactionDTO dto) {
int maxNum = 100;
int result = 0;
if (CollectionUtils.isNotEmpty(dto.getPileBasicInfoList())) {
result = pileBasicInfoMapper.batchInsertPileBasicInfo(dto.getPileBasicInfoList());
List<PileBasicInfo> pileBasicInfoList = dto.getPileBasicInfoList();
if (CollectionUtils.isNotEmpty(pileBasicInfoList)) {
List<List<PileBasicInfo>> partition = Lists.partition(pileBasicInfoList, maxNum);
for (List<PileBasicInfo> basicInfoList : partition) {
result += pileBasicInfoMapper.batchInsertPileBasicInfo(basicInfoList);
}
}
if (CollectionUtils.isNotEmpty(dto.getPileConnectorInfoList())) {
pileConnectorInfoMapper.batchInsertConnectorInfo(dto.getPileConnectorInfoList());
List<PileConnectorInfo> pileConnectorInfoList = dto.getPileConnectorInfoList();
if (CollectionUtils.isNotEmpty(pileConnectorInfoList)) {
List<List<PileConnectorInfo>> partition = Lists.partition(pileConnectorInfoList, maxNum);
for (List<PileConnectorInfo> connectorInfoList : partition) {
pileConnectorInfoMapper.batchInsertConnectorInfo(connectorInfoList);
}
}
return result;
}
public static void main(String[] args) {
List<String> list = Lists.newArrayList();
for (int i = 0; i < 555; i++) {
list.add(String.valueOf(i + 1));
}
System.out.println("原list" + list);
int maxNum = 100;
List<List<String>> partition = Lists.partition(list, maxNum);
for (int i = 0; i < partition.size(); i++) {
System.out.println("" + (i + 1) +"批次:" + partition.get(i));
}
}
/**
* 新增计费模板和详情
*/