diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/SkuToCsvJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/SkuToCsvJob.java new file mode 100644 index 000000000..307cdbd74 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/SkuToCsvJob.java @@ -0,0 +1,50 @@ +package org.jeecg.modules.business.domain.job; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.business.entity.Sku; +import org.jeecg.modules.business.service.ISkuService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + + +@Slf4j +public class SkuToCsvJob implements Job { + + @Autowired + private ISkuService skuService; + + @Value("${jeecg.path.skuCsvPath}") + private String FILE_PATH; + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + log.info("SkuToCsv Job is running ..."); + List skus = new ArrayList<>(); + Sku firstLine = new Sku(); + firstLine.setId("#"); + firstLine.setErpCode("erp_code"); + firstLine.setImageSource("image_source"); + skus.add(firstLine); + skus.addAll(skuService.listImgUrls()); + List csvLines = skus.stream() + .map(sku -> String.format("%s,%s,%s", sku.getId(), sku.getErpCode(), sku.getImageSource())).collect(Collectors.toList()); + File csvFile = new File(FILE_PATH); + + try (PrintWriter writer = new PrintWriter(csvFile)) { + csvLines.forEach(writer::println); + } catch (FileNotFoundException e) { + log.error("Error writing to file", e); + } + log.info("SkuToCsv Job is done."); + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java index 1047e8685..efe8c8304 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java @@ -68,4 +68,6 @@ public interface SkuMapper extends BaseMapper { List getInventoryByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); List listByClientId(@Param("clientId") String clientId); + + List listImgUrls(); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml index f01af9170..eb5ff6e20 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml @@ -413,4 +413,11 @@ JOIN product p ON s.product_id = p.id WHERE client_sku.client_id = #{clientId}; + diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java index c981cee02..d11e8cd91 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java @@ -104,4 +104,6 @@ public interface ISkuService extends IService { void updateBatchStockByIds(List skuToUpdate); List getInventoryByInvoiceNumber(String invoiceNumber); List listByClientId(String clientId); + + List listImgUrls(); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuServiceImpl.java index 5be3da6e3..f426385d5 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuServiceImpl.java @@ -480,4 +480,9 @@ public class SkuServiceImpl extends ServiceImpl implements ISkuS return skuMapper.listByClientId(clientId); } + @Override + public List listImgUrls() { + return skuMapper.listImgUrls(); + } + } \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index efd1a8a4b..236848880 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -233,6 +233,8 @@ jeecg: shippingInvoiceDetailDir: /wia/invoices/shippingDetail shippingInvoicePdfDir: /wia/invoices/pdf/shipping shippingInvoiceDetailPdfDir: /wia/invoices/pdf/shippingDetail + # sku csv file for image search + skuCsvPath: /mnt/wia/products/sku.csv # CDG location CGS: /wia/files/WIASourcingCGCVF_mai.pdf #webapp文件路径