package com.fdkankan.task.jobhandler.zfb; import com.fdkankan.task.entity.TbScene; import com.fdkankan.task.entity.TbScene3dNumNew; import com.fdkankan.task.entity.TbSceneNum; import com.fdkankan.task.entity.TbScenePro; import com.fdkankan.task.mapper.TbScene3dNumNewMapper; import com.fdkankan.task.mapper.TbSceneMapper; import com.fdkankan.task.mapper.TbSceneNumMapper; import com.fdkankan.task.mapper.TbSceneProMapper; import com.fdkankan.task.service.TbSceneService; import com.mybatisflex.annotation.UseDataSource; import com.mybatisflex.core.query.QueryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.logging.SimpleFormatter; @Service public class GenSceneNumService { private static Logger logger = LoggerFactory.getLogger(GenSceneNumService.class); @Autowired TbSceneNumMapper tbSceneNumMapper; @Autowired TbSceneMapper tbSceneMapper; @Autowired TbScene3dNumNewMapper tbScene3dNumNewMapper; @Autowired TbSceneProMapper tbSceneProMapper; public void genOldCode(Integer count){ QueryWrapper queryWrapper = QueryWrapper.create() .where("used =0"); List tbSceneNumList = tbSceneNumMapper.selectListByQuery(queryWrapper); String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); logger.info("旧指房未使用场景码数量是:{},阈值:{}",tbSceneNumList.size(),count); if(tbSceneNumList.size() strings = GenerateZfbCode.generateOldZfbCode(count); for (String code : strings) { QueryWrapper queryWrapper2 = QueryWrapper.create() .where("code = '" +code+"'"); List dbCodes = tbSceneNumMapper.selectListByQuery(queryWrapper2); if(!dbCodes.isEmpty()){ continue; } QueryWrapper queryWrapper3 = QueryWrapper.create() .where("num = '" +code+"'"); List tbScenes = tbSceneMapper.selectListByQuery(queryWrapper3); if(!tbScenes.isEmpty()){ continue; } TbSceneNum tbSceneNum = new TbSceneNum(); tbSceneNum.setUsed(0); tbSceneNum.setCreateTime(new Date()); tbSceneNum.setCode(code); tbSceneNum.setFolderName(time); tbSceneNumMapper.insert(tbSceneNum); } logger.info("旧指房生成数量:{}",strings.size()); } } public void genNewCode(Integer count) { QueryWrapper queryWrapper = QueryWrapper.create() .where("used =0"); List tbSceneNumList = tbScene3dNumNewMapper.selectListByQuery(queryWrapper); String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); logger.info("新指房未使用场景码数量是:{},阈值:{}",tbSceneNumList.size(),count); if(tbSceneNumList.size() strings = GenerateZfbCode.generateOldZfbCode(count); for (String code : strings) { QueryWrapper queryWrapper2 = QueryWrapper.create() .where("code = '" +code+"'"); List dbCodes = tbScene3dNumNewMapper.selectListByQuery(queryWrapper2); if(!dbCodes.isEmpty()){ continue; } QueryWrapper queryWrapper3 = QueryWrapper.create() .where("num = '" +code+"'"); List tbScenes = tbSceneProMapper.selectListByQuery(queryWrapper3); if(!tbScenes.isEmpty()){ continue; } TbScene3dNumNew tbSceneNum = new TbScene3dNumNew(); tbSceneNum.setUsed(0); tbSceneNum.setCode(code); tbSceneNum.setFolderName(time); tbSceneNum.setRecStatus("A"); tbSceneNum.setUpdateTime(new Date()); tbSceneNum.setCreateTime(new Date()); tbScene3dNumNewMapper.insert(tbSceneNum); } logger.info("新指房生成数量:{}",strings.size()); } } }