package com.fdkankan.tools.service.impl; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.tools.entity.TbSceneNum; import com.fdkankan.tools.generate.GenerateZfbCode; import com.fdkankan.tools.mapper.ITbSceneNumMapper; import com.fdkankan.tools.service.ITbSceneNumService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.util.HashSet; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2023-04-19 */ @Service public class TbSceneNumServiceImpl extends ServiceImpl implements ITbSceneNumService { public static final Logger log = LoggerFactory.getLogger("timeLogger"); @Override public void genDb1(Integer count) { Long noUsedCount = this.checkGen(); if(noUsedCount >10000){ log.info("task-genOld--未使用的场景码数大于1W,退出生成"); return; } HashSet strings = GenerateZfbCode.generateOldZfbCode(count); for (String code : strings) { List dbCodes = this.getByCode(code); if(dbCodes.size() >0){ continue; } TbSceneNum tbSceneNum = new TbSceneNum(); tbSceneNum.setUsed(0); tbSceneNum.setCreateTime(new Date()); tbSceneNum.setCode(code); this.save(tbSceneNum); } log.info("task-genOld--生成数量:{}",strings.size()); } private Long checkGen() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TbSceneNum::getUsed,0); return this.count(wrapper); } private List getByCode(String code) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TbSceneNum::getCode,code); return this.list(wrapper); } }