Преглед на файлове

MongoDB数据库对应类,代码容积未删除

luyanwen преди 4 години
родител
ревизия
717c84ca7b

+ 0 - 35
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrDataController.java

@@ -1,35 +0,0 @@
-package com.abi.qms.platform.controller.console;
-
-import com.abi.qms.platform.dto.req.ImportQrDataReq;
-import com.abi.qms.platform.service.QrDataService;
-import com.abi.task.common.api.base.BaseResponse;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * 码数据 Controller
- *
- * @author WeiganCai
- * @date 2021-05-11
- */
-@Slf4j
-@RestController
-@Api(tags = "码数据管理")
-@RequestMapping("/qrData")
-public class QrDataController {
-    @Autowired
-    private QrDataService qrDataService;
-
-    @ApiOperation("/导入码数据")
-    @PostMapping("/importQrData")
-    public BaseResponse importQrData(@Validated ImportQrDataReq importQrDataReq) {
-        qrDataService.importQrData(importQrDataReq);
-        return BaseResponse.create();
-    }
-
-}

+ 222 - 222
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrDataServiceImpl.java

@@ -40,227 +40,227 @@ import java.util.List;
  */
 @Service
 @Slf4j
-public class QrDataServiceImpl implements QrDataService {
-
+public class QrDataServiceImpl {
+//
+////	@Autowired
+////	private MongoTemplate mongoTemplate;
+//
 //	@Autowired
-//	private MongoTemplate mongoTemplate;
-
-	@Autowired
-	private QrPackageMapper qrPackageMapper;
-
-	@Autowired
-	private QrRepertoryMapper qrRepertoryMapper;
-
-	@Autowired
-	private QrPackageService qrPackageService;
-
-	/**
-	 * 根据批次号查询码数量
-	 */
-	@Override
-	public long selectCountByBatchNumber(String batchNumber) {
-//		Query query = new Query();
-//		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
-//		return mongoTemplate.count(query, QrData.class);
-		return 0L;
-	}
-
-	/**
-	 * 根据批次号删除码
-	 */
-	@Override
-	public void deleteCodeByBatchNumber(String batchNumber) {
-//		Query query = new Query();
-//		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
-//		mongoTemplate.remove(query, QrData.class);
-	}
-
-	/**
-	 * 根据批次号查询码
-	 */
-	@Override
-	public List<QrData> selectCodeByBatch(String batchNumber) {
-//		Query query = new Query();
-//		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
-//		return mongoTemplate.find(query, QrData.class);
-		return null;
-	}
-
-	/**
-	 * 批量插入
-	 */
-	@Override
-	public void batchInsert(List<QrData> qrDataList) {
-//		mongoTemplate.insert(qrDataList, QrData.class);
-	}
-
-	/**
-	 * 导入码数据
-	 */
-	@Override
-	public void importQrData(ImportQrDataReq req) {
-		// 校验txt文件
-		MultipartFile file = req.getFile();
-		checkTxtFile(file);
-
-		// 查询码包
-		QrPackageVO qrPackageVo = qrPackageMapper.selectQrPackageDetailById(req.getQrPackageId());
-
-		List<QrData> qrDataList = new LinkedList<>();
-
-		// 从txt中提取码数据
-		txtToQrData(file, qrPackageVo, qrDataList);
-
-		try {
-			// 插入文本中的数据
-			insertImportData(qrPackageVo, qrDataList);
-
-			// 压缩文件
-			zipFile(file, qrPackageVo);
-
-			// 更改生成状态为已生成
-			QrPackage update = new QrPackage().setId(qrPackageVo.getId()).setGenerateStatus(QrPackageGenerateStatusEnum.GENERATE_SUCCESS.getCode());
-			qrPackageMapper.updateById(update);
-
-		} catch (Exception e) {
-			log.error("导入码失败", e);
-			qrPackageService.failedRollback(new QrPackage().setId(qrPackageVo.getId()).setBatchNumber(qrPackageVo.getBatchNumber()));
-		}
-	}
-
-	/**
-	 * 压缩文件
-	 */
-	private void zipFile(MultipartFile file, QrPackageVO qrPackageVo) {
-		try {
-			File txtFile = File.createTempFile(qrPackageVo.getBatchNumber(), "txt");
-			file.transferTo(txtFile);
-			// 按照批次号.txt的方式重命名
-			txtFile = FileUtil.rename(txtFile, qrPackageVo.getBatchNumber() + ".txt", true, true);
-
-			// 压缩文件
-			File zipFile = ZipUtil.zip(txtFile);
-
-			// 删除生成的临时文件,上传阿里云,并更新码包的下载路径
-			qrPackageService.delFileAndUpdatePath(txtFile, zipFile, qrPackageVo.getId());
-		} catch (IOException e) {
-			log.error("IOException", e);
-			throw new BusinessException("压缩文件错误");
-		}
-	}
-
-	/**
-	 * 从txt中提取码数据
-	 * @param file txt文件
-	 * @param qrPackageVo 码包
-	 * @param qrDataList 码数据
-	 */
-	private void txtToQrData(MultipartFile file, QrPackageVO qrPackageVo, List<QrData> qrDataList) {
-		// 码库 & 码库的列
-		QrRepertoryVO qrRepertory = qrRepertoryMapper.selectQrRepertoryDetailById(qrPackageVo.getQrRepertoryId());
-		List<QrRepertoryColumnVO> qrRepertoryColumnList = qrRepertory.getQrRepertoryColumnList();
-
-		// 用于比较申请数量和txt中的数量是否一致
-		Long qrNumber = qrPackageVo.getQrNumber();
-		long txtCodeNumber = 0;
-
-		BufferedReader br = null;
-		try {
-			br = new BufferedReader(new InputStreamReader(file.getInputStream()));
-			LocalDateTime localDateTime = LocalDateTime.now();
-			String line = null;
-			while ((line = br.readLine()) != null) {
-				if (StringUtils.isBlank(line)) {
-					continue;
-				}
-
-				line = line.replace(",", ",");
-				// 跳过特殊字符
-				if (!line.matches("[0-9a-zA-Z\\.\\,\\:\\-/]*")) {
-					continue;
-				}
-
-				String[] codeArr = line.split(",");
-				// 验证导入的码列数是否与定义的码库列数一致
-				if (codeArr.length != qrRepertoryColumnList.size()) {
-					throw new BusinessException("导入文件的码列数与码库定义的码列数不一致,导入失败");
-				}
-
-				txtCodeNumber++;
-				QrData qrData = new QrData();
-				List<QrInnerData> qrInnerDataList = new LinkedList<>();
-
-				for (int i = 0; i < codeArr.length; i++) {
-					String urlCode = codeArr[i];
-					// 分离url与code
-					int urlIndex = urlCode.lastIndexOf("/") + 1;
-					QrInnerData qrInnerData = new QrInnerData();
-					qrInnerData.setUrl(urlCode.substring(0, urlIndex));
-					qrInnerData.setCode(urlCode.substring(urlIndex));
-					qrInnerData.setQrRepertoryColumnId(qrRepertoryColumnList.get(i).getId());
-					qrInnerData.setSortNumber(i);
-
-					qrInnerDataList.add(qrInnerData);
-				}
-
-				qrData.setQrRepertoryId(qrRepertory.getId());
-				qrData.setBatchNumber(qrPackageVo.getBatchNumber());
-				qrData.setQrRepertoryType(qrRepertory.getType());
-				qrData.setInnerDataList(qrInnerDataList);
-				qrData.setCreateTime(localDateTime);
-
-				qrDataList.add(qrData);
-			}
-		} catch (IOException e) {
-			log.error("读取码文件出错", e);
-			throw new BusinessException("读取码文件出错");
-		} finally {
-			IoUtil.close(br);
-		}
-
-		if (qrNumber.longValue() != txtCodeNumber) {
-			throw new BusinessException("申请数量与导入数量不一致,无法导入");
-		}
-	}
-
-	/**
-	 * 校验txt文件
-	 * @param file
-	 */
-	private void checkTxtFile(MultipartFile file) {
-		if (file != null && file.getSize() > 0) {
-			String fileName = file.getOriginalFilename();
-			String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
-			if (!"txt".equals(suffix)) {
-				throw new BusinessException("上传文件格式不正确");
-			}
-		} else {
-			throw new BusinessException("上传文件为空");
-		}
-	}
-
-	/**
-	 * 插入文本中的数据
-	 * @param qrPackageVo 码包
-	 * @param qrDataList 码数据List
-	 */
-	private void insertImportData(QrPackageVO qrPackageVo, List<QrData> qrDataList) {
-		try {
-			List<QrData> batchInsertList = new ArrayList<>();
-			for (int i = 0; i < qrDataList.size(); i++) {
-				batchInsertList.add(qrDataList.get(i));
-				// 每5000个插入一次
-				if (i > 0 && i % GenerateCodeConsumer.ONCE_GENERATE_NUMBER == 0) {
-					batchInsert(batchInsertList);
-					batchInsertList.clear();
-				}
-			}
-			if (!batchInsertList.isEmpty()) {
-				batchInsert(batchInsertList);
-			}
-		} catch (Exception e) {
-			log.error("导入的码插入mongodb失败", e);
-			throw new BusinessException("导入的码重复或与系统中的码重复,导入失败");
-		}
-	}
+//	private QrPackageMapper qrPackageMapper;
+//
+//	@Autowired
+//	private QrRepertoryMapper qrRepertoryMapper;
+//
+//	@Autowired
+//	private QrPackageService qrPackageService;
+//
+//	/**
+//	 * 根据批次号查询码数量
+//	 */
+//	@Override
+//	public long selectCountByBatchNumber(String batchNumber) {
+////		Query query = new Query();
+////		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
+////		return mongoTemplate.count(query, QrData.class);
+//		return 0L;
+//	}
+//
+//	/**
+//	 * 根据批次号删除码
+//	 */
+//	@Override
+//	public void deleteCodeByBatchNumber(String batchNumber) {
+////		Query query = new Query();
+////		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
+////		mongoTemplate.remove(query, QrData.class);
+//	}
+//
+//	/**
+//	 * 根据批次号查询码
+//	 */
+//	@Override
+//	public List<QrData> selectCodeByBatch(String batchNumber) {
+////		Query query = new Query();
+////		query.addCriteria(Criteria.where("batchNumber").is(batchNumber));
+////		return mongoTemplate.find(query, QrData.class);
+//		return null;
+//	}
+//
+//	/**
+//	 * 批量插入
+//	 */
+//	@Override
+//	public void batchInsert(List<QrData> qrDataList) {
+////		mongoTemplate.insert(qrDataList, QrData.class);
+//	}
+//
+//	/**
+//	 * 导入码数据
+//	 */
+//	@Override
+//	public void importQrData(ImportQrDataReq req) {
+//		// 校验txt文件
+//		MultipartFile file = req.getFile();
+//		checkTxtFile(file);
+//
+//		// 查询码包
+//		QrPackageVO qrPackageVo = qrPackageMapper.selectQrPackageDetailById(req.getQrPackageId());
+//
+//		List<QrData> qrDataList = new LinkedList<>();
+//
+//		// 从txt中提取码数据
+//		txtToQrData(file, qrPackageVo, qrDataList);
+//
+//		try {
+//			// 插入文本中的数据
+//			insertImportData(qrPackageVo, qrDataList);
+//
+//			// 压缩文件
+//			zipFile(file, qrPackageVo);
+//
+//			// 更改生成状态为已生成
+//			QrPackage update = new QrPackage().setId(qrPackageVo.getId()).setGenerateStatus(QrPackageGenerateStatusEnum.GENERATE_SUCCESS.getCode());
+//			qrPackageMapper.updateById(update);
+//
+//		} catch (Exception e) {
+//			log.error("导入码失败", e);
+//			qrPackageService.failedRollback(new QrPackage().setId(qrPackageVo.getId()).setBatchNumber(qrPackageVo.getBatchNumber()));
+//		}
+//	}
+//
+//	/**
+//	 * 压缩文件
+//	 */
+//	private void zipFile(MultipartFile file, QrPackageVO qrPackageVo) {
+//		try {
+//			File txtFile = File.createTempFile(qrPackageVo.getBatchNumber(), "txt");
+//			file.transferTo(txtFile);
+//			// 按照批次号.txt的方式重命名
+//			txtFile = FileUtil.rename(txtFile, qrPackageVo.getBatchNumber() + ".txt", true, true);
+//
+//			// 压缩文件
+//			File zipFile = ZipUtil.zip(txtFile);
+//
+//			// 删除生成的临时文件,上传阿里云,并更新码包的下载路径
+//			qrPackageService.delFileAndUpdatePath(txtFile, zipFile, qrPackageVo.getId());
+//		} catch (IOException e) {
+//			log.error("IOException", e);
+//			throw new BusinessException("压缩文件错误");
+//		}
+//	}
+//
+//	/**
+//	 * 从txt中提取码数据
+//	 * @param file txt文件
+//	 * @param qrPackageVo 码包
+//	 * @param qrDataList 码数据
+//	 */
+//	private void txtToQrData(MultipartFile file, QrPackageVO qrPackageVo, List<QrData> qrDataList) {
+//		// 码库 & 码库的列
+//		QrRepertoryVO qrRepertory = qrRepertoryMapper.selectQrRepertoryDetailById(qrPackageVo.getQrRepertoryId());
+//		List<QrRepertoryColumnVO> qrRepertoryColumnList = qrRepertory.getQrRepertoryColumnList();
+//
+//		// 用于比较申请数量和txt中的数量是否一致
+//		Long qrNumber = qrPackageVo.getQrNumber();
+//		long txtCodeNumber = 0;
+//
+//		BufferedReader br = null;
+//		try {
+//			br = new BufferedReader(new InputStreamReader(file.getInputStream()));
+//			LocalDateTime localDateTime = LocalDateTime.now();
+//			String line = null;
+//			while ((line = br.readLine()) != null) {
+//				if (StringUtils.isBlank(line)) {
+//					continue;
+//				}
+//
+//				line = line.replace(",", ",");
+//				// 跳过特殊字符
+//				if (!line.matches("[0-9a-zA-Z\\.\\,\\:\\-/]*")) {
+//					continue;
+//				}
+//
+//				String[] codeArr = line.split(",");
+//				// 验证导入的码列数是否与定义的码库列数一致
+//				if (codeArr.length != qrRepertoryColumnList.size()) {
+//					throw new BusinessException("导入文件的码列数与码库定义的码列数不一致,导入失败");
+//				}
+//
+//				txtCodeNumber++;
+//				QrData qrData = new QrData();
+//				List<QrInnerData> qrInnerDataList = new LinkedList<>();
+//
+//				for (int i = 0; i < codeArr.length; i++) {
+//					String urlCode = codeArr[i];
+//					// 分离url与code
+//					int urlIndex = urlCode.lastIndexOf("/") + 1;
+//					QrInnerData qrInnerData = new QrInnerData();
+//					qrInnerData.setUrl(urlCode.substring(0, urlIndex));
+//					qrInnerData.setCode(urlCode.substring(urlIndex));
+//					qrInnerData.setQrRepertoryColumnId(qrRepertoryColumnList.get(i).getId());
+//					qrInnerData.setSortNumber(i);
+//
+//					qrInnerDataList.add(qrInnerData);
+//				}
+//
+//				qrData.setQrRepertoryId(qrRepertory.getId());
+//				qrData.setBatchNumber(qrPackageVo.getBatchNumber());
+//				qrData.setQrRepertoryType(qrRepertory.getType());
+//				qrData.setInnerDataList(qrInnerDataList);
+//				qrData.setCreateTime(localDateTime);
+//
+//				qrDataList.add(qrData);
+//			}
+//		} catch (IOException e) {
+//			log.error("读取码文件出错", e);
+//			throw new BusinessException("读取码文件出错");
+//		} finally {
+//			IoUtil.close(br);
+//		}
+//
+//		if (qrNumber.longValue() != txtCodeNumber) {
+//			throw new BusinessException("申请数量与导入数量不一致,无法导入");
+//		}
+//	}
+//
+//	/**
+//	 * 校验txt文件
+//	 * @param file
+//	 */
+//	private void checkTxtFile(MultipartFile file) {
+//		if (file != null && file.getSize() > 0) {
+//			String fileName = file.getOriginalFilename();
+//			String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
+//			if (!"txt".equals(suffix)) {
+//				throw new BusinessException("上传文件格式不正确");
+//			}
+//		} else {
+//			throw new BusinessException("上传文件为空");
+//		}
+//	}
+//
+//	/**
+//	 * 插入文本中的数据
+//	 * @param qrPackageVo 码包
+//	 * @param qrDataList 码数据List
+//	 */
+//	private void insertImportData(QrPackageVO qrPackageVo, List<QrData> qrDataList) {
+//		try {
+//			List<QrData> batchInsertList = new ArrayList<>();
+//			for (int i = 0; i < qrDataList.size(); i++) {
+//				batchInsertList.add(qrDataList.get(i));
+//				// 每5000个插入一次
+//				if (i > 0 && i % GenerateCodeConsumer.ONCE_GENERATE_NUMBER == 0) {
+//					batchInsert(batchInsertList);
+//					batchInsertList.clear();
+//				}
+//			}
+//			if (!batchInsertList.isEmpty()) {
+//				batchInsert(batchInsertList);
+//			}
+//		} catch (Exception e) {
+//			log.error("导入的码插入mongodb失败", e);
+//			throw new BusinessException("导入的码重复或与系统中的码重复,导入失败");
+//		}
+//	}
 }