diff --git a/src/main/java/com/mixi/common/tasks/MiTuExportScheduledTask.java b/src/main/java/com/mixi/common/tasks/MiTuExportScheduledTask.java index 6167599..834f103 100644 --- a/src/main/java/com/mixi/common/tasks/MiTuExportScheduledTask.java +++ b/src/main/java/com/mixi/common/tasks/MiTuExportScheduledTask.java @@ -98,7 +98,7 @@ public class MiTuExportScheduledTask { private TProductStockService tProductStockService; // 更新商品库存 - @Scheduled(cron = "0 * * * * ?") +// @Scheduled(cron = "0 * * * * ?") private void updateProductStock() { log.info(String.valueOf(LocalDateTime.now())); @@ -188,7 +188,7 @@ public class MiTuExportScheduledTask { } } - @Scheduled(cron = "0 0 1 * * ?") +// @Scheduled(cron = "0 0 1 * * ?") private void getBestSell1Day() { LocalDate today = LocalDate.now(); for (int i = 0; i < 1; i++) { @@ -358,7 +358,7 @@ public class MiTuExportScheduledTask { * Customer purchase report */ @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "0 0 23 28-31 * ?") +// @Scheduled(cron = "0 0 23 28-31 * ?") public void customerPurchaseReport() { final Calendar c = Calendar.getInstance(); // 如果是最后一天 则执行定时任务 @@ -481,7 +481,7 @@ public class MiTuExportScheduledTask { * New Join VIP report */ @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "0 0 23 ? * 7") +// @Scheduled(cron = "0 0 23 ? * 7") public void NewJoinVIPReport() { MiTuExport miTuExport = createMiTuExport("New join vip report", "week"); try { @@ -557,7 +557,7 @@ public class MiTuExportScheduledTask { * Weekly Sell Through Report */ @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "0 0 23 ? * 7") +// @Scheduled(cron = "0 0 23 ? * 7") public void weeklySellThrReport() { MiTuExport miTuExport = createMiTuExport("Weekly sell thr report", "week"); try { @@ -687,7 +687,7 @@ public class MiTuExportScheduledTask { * WeeklyHeavyStockReport */ @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "0 0 23 ? * 7") +// @Scheduled(cron = "0 0 23 ? * 7") public void WeeklyHeavyStockReport() { MiTuExport miTuExport = createMiTuExport("Weekly heavy stock report", "week"); try { @@ -833,7 +833,7 @@ public class MiTuExportScheduledTask { * Quarterly Product Grouping Report */ @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "#{@calculateLastDayOfQuarterCron}") +// @Scheduled(cron = "#{@calculateLastDayOfQuarterCron}") public void QuarterlyProductGroupingReport() { MiTuExport miTuExport = createMiTuExport("Quarterly product grouping report", "quarter"); try { @@ -2144,7 +2144,7 @@ public class MiTuExportScheduledTask { } @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000)) - @Scheduled(cron = "#{@calculateLastDayOfQuarterCron}") +// @Scheduled(cron = "#{@calculateLastDayOfQuarterCron}") public void customerTypeAnalysis() { try { // 根据近三个月购买记录获取顾客member_code @@ -2606,7 +2606,7 @@ public class MiTuExportScheduledTask { dailySalesIncentiveStatistics(today); } } - @Scheduled(cron = "0 0 23 * * ?") +// @Scheduled(cron = "0 0 23 * * ?") private void runDailySalesIncentiveStatistics() { LocalDate today = LocalDate.now(); for (int i = 0; i < 1; i++) { diff --git a/src/main/java/com/mixi/common/utils/MinioUtil.java b/src/main/java/com/mixi/common/utils/MinioUtil.java index c003280..289f21f 100644 --- a/src/main/java/com/mixi/common/utils/MinioUtil.java +++ b/src/main/java/com/mixi/common/utils/MinioUtil.java @@ -414,6 +414,9 @@ public class MinioUtil { public String getMinioPath(Long accountId, String itemGroup, String subGroup, String originalFilename) { return accountId + "/" + itemGroup+ "/" + subGroup; } + public String getMinioPath(Long accountId, String originalFilename) { + return accountId + ""; + } } diff --git a/src/main/java/com/mixi/service/TProductService.java b/src/main/java/com/mixi/service/TProductService.java index d2de203..869b666 100644 --- a/src/main/java/com/mixi/service/TProductService.java +++ b/src/main/java/com/mixi/service/TProductService.java @@ -100,12 +100,12 @@ public class TProductService extends ServiceImpl { @Resource private TStoreMapper tStoreMapper; // JDBC 驱动器名称以及数据库 URL - static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; - static final String DB_URL = "jdbc:sqlserver://118.142.0.178:1550;databaseName=Hayman_prod"; +// static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; +// static final String DB_URL = "jdbc:sqlserver://118.142.0.178:1550;databaseName=Hayman_prod"; // 数据库凭据 - static final String USER = "user01"; - static final String PASS = "haySIS-0522"; +// static final String USER = "user01"; +// static final String PASS = "haySIS-0522"; @Resource private MinioUtil minioUtil; @@ -787,232 +787,251 @@ public class TProductService extends ServiceImpl { if (originalFilename == null) { throw new BusinessException("file name is null."); } - String itemNameColorCode = originalFilename.substring(0, originalFilename.lastIndexOf('.')); +// String itemNameColorCode = originalFilename.substring(0, originalFilename.lastIndexOf('.')); // 根据itemName查询mi-tu商品信息 // 根据最后一个"_"分割itemNameColorCode - int lastUnderscoreIndex = itemNameColorCode.lastIndexOf("_"); +// int lastUnderscoreIndex = itemNameColorCode.lastIndexOf("_"); - String itemName = itemNameColorCode.substring(0, lastUnderscoreIndex); - String colorCode = itemNameColorCode.substring(lastUnderscoreIndex + 1); - List miTuProductList = getMiTuProductList(itemName, colorCode); +// String itemName = itemNameColorCode.substring(0, lastUnderscoreIndex); +// String colorCode = itemNameColorCode.substring(lastUnderscoreIndex + 1); +// List miTuProductList = getMiTuProductList(itemName, colorCode); int total = 0; // for (MiTuProduct miTuProduct : miTuProductList) { // total = total + miTuProduct.getQtyOnHand(); // } - if (CollectionUtils.isEmpty(miTuProductList)) { - throw new BusinessException("Mi-Tu Product not found."); - } - String minioPath = minioUtil.getMinioPath(accountId,miTuProductList.get(0).getItemGroup(), miTuProductList.get(0).getSubGroup(), originalFilename); +// if (CollectionUtils.isEmpty(miTuProductList)) { +// throw new BusinessException("Mi-Tu Product not found."); +// } + String minioPath = minioUtil.getMinioPath(accountId, originalFilename); String minioFullPath = minioUtil.upload(MI_TU_BUCKET_NAME, minioPath, file); TProduct saveProduct = new TProduct(); saveProduct.setAccountId(accountId); - saveProduct.setPrice(BigDecimal.valueOf(miTuProductList.get(0).getPriceSales())); + saveProduct.setPrice(BigDecimal.valueOf(1000.0d)); saveProduct.setOnSaleState(1); //上传中 saveProduct.setUploadState(0); saveProduct.setPictureUrl(minioFullPath); - saveProduct.setPictureName(itemNameColorCode); +// saveProduct.setPictureName(itemNameColorCode); saveProduct.setMd5(md5); //按时区计算 saveProduct.setCreateDate(DateUtil.getByTimeZone(timeZone)); - saveProduct.setColor(colorCode); +// saveProduct.setColor(colorCode); // 根据当前已有店铺查询商品店铺库存 - List miTuProductStock = new ArrayList<>(); - List storeList = storeService.list(); - HashMap storeMap = new HashMap<>(); - for (TStore tStore : storeList) { - storeMap.put(tStore.getName(), tStore.getId()); - } - List storeNameList = storeList.stream().map(TStore::getName).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(storeNameList)) { - miTuProductStock = getMiTuProductStock(miTuProductList.get(0).getPluCode(), miTuProductList.get(0).getColor()); - miTuProductStock = miTuProductStock.stream().filter(o -> storeNameList.contains(o.getWhCode())).collect(Collectors.toList()); - } - for (MiTuProductStock tuProductStock : miTuProductStock) { - total = total + tuProductStock.getNum(); - } - saveProduct.setTotal(total); +// List miTuProductStock = new ArrayList<>(); +// List storeList = storeService.list(); +// HashMap storeMap = new HashMap<>(); +// for (TStore tStore : storeList) { +// storeMap.put(tStore.getName(), tStore.getId()); +// } +// List storeNameList = storeList.stream().map(TStore::getName).collect(Collectors.toList()); +// if (!CollectionUtils.isEmpty(storeNameList)) { +// miTuProductStock = getMiTuProductStock(miTuProductList.get(0).getPluCode(), miTuProductList.get(0).getColor()); +// miTuProductStock = miTuProductStock.stream().filter(o -> storeNameList.contains(o.getWhCode())).collect(Collectors.toList()); +// } +// for (MiTuProductStock tuProductStock : miTuProductStock) { +// total = total + tuProductStock.getNum(); +// } + saveProduct.setTotal(10); tProductMapper.insert(saveProduct); // List productStockList = new ArrayList<>(); - HashMap> map = new HashMap<>(); - for (MiTuProductStock mituProductStock : miTuProductStock) { - if (map.containsKey(mituProductStock.getWhCode())) { - BatchUploadProductStoreStockDTO dto = new BatchUploadProductStoreStockDTO(); - dto.setSize(mituProductStock.getSize()); - dto.setNum(mituProductStock.getNum()); - map.get(mituProductStock.getWhCode()).add(dto); - }else { - List dtoList = new ArrayList<>(); - BatchUploadProductStoreStockDTO dto = new BatchUploadProductStoreStockDTO(); - dto.setSize(mituProductStock.getSize()); - dto.setNum(mituProductStock.getNum()); - dtoList.add(dto); - map.put(mituProductStock.getWhCode(), dtoList); - } - } - for (String whCode : map.keySet()) { - Long storeId = storeMap.get(whCode); - List batchUploadProductStoreStockDTOS = map.get(whCode); - String jsonString = JSON.toJSONString(batchUploadProductStoreStockDTOS); +// HashMap> map = new HashMap<>(); +// for (MiTuProductStock mituProductStock : miTuProductStock) { +// if (map.containsKey(mituProductStock.getWhCode())) { +// BatchUploadProductStoreStockDTO dto = new BatchUploadProductStoreStockDTO(); +// dto.setSize(mituProductStock.getSize()); +// dto.setNum(mituProductStock.getNum()); +// map.get(mituProductStock.getWhCode()).add(dto); +// }else { +// List dtoList = new ArrayList<>(); +// BatchUploadProductStoreStockDTO dto = new BatchUploadProductStoreStockDTO(); +// dto.setSize(mituProductStock.getSize()); +// dto.setNum(mituProductStock.getNum()); +// dtoList.add(dto); +// map.put(mituProductStock.getWhCode(), dtoList); +// } +// } +// for (String whCode : map.keySet()) { +//// Long storeId = storeMap.get(whCode); +//// List batchUploadProductStoreStockDTOS = map.get(whCode); +// String jsonString = "[{\"num\":4,\"size\":\"00F\"}]"; +// TProductStock tProductStock = TProductStock.builder() +// .productId(saveProduct.getId()) +// .storeId(25L) +// .stockContent(jsonString) +// .createDate(new Date()) +// .build(); +// tProductStockService.save(tProductStock); +// } + for (int i = 0; i < 1; i++) { + String jsonString = "[{\"num\":4,\"size\":\"00F\"}]"; TProductStock tProductStock = TProductStock.builder() .productId(saveProduct.getId()) - .storeId(storeId) + .storeId(25L) .stockContent(jsonString) .createDate(new Date()) .build(); tProductStockService.save(tProductStock); } - for (MiTuProduct miTuProduct : miTuProductList) { - miTuProduct.setProductId(saveProduct.getId()); - miTuProductMapper.insert(miTuProduct); - } - return new TProductSingleUploadVo(saveProduct.getId().toString(), minioUtil.getPresignedUrl(minioFullPath, 24 * 60), itemNameColorCode, md5); +// for (MiTuProduct miTuProduct : miTuProductList) { +// miTuProduct.setProductId(saveProduct.getId()); +// miTuProductMapper.insert(miTuProduct); +// } + return new TProductSingleUploadVo(saveProduct.getId().toString(), minioUtil.getPresignedUrl(minioFullPath, 24 * 60), "", md5); } public List getMiTuProductStock(String pluCode, String color) { List miTuProductStockList = new ArrayList<>(); - Connection conn = null; - Statement stmt = null; - try { - // 注册 JDBC 驱动器 - Class.forName(JDBC_DRIVER); - - // 打开一个连接 -// log.info("连接数据库..."); - conn = DriverManager.getConnection(DB_URL, USER, PASS); - - // 执行查询 -// log.info("创建声明..."); - stmt = conn.createStatement(); - String sql; - - // 构建完整的 SQL 查询语句 - sql = "SELECT\n" + - "WHCODE,\n" + - "SIZE,\n" + - "SUM(ONLINE_QTY) as num\n" + - "FROM v_MZG003A\n" + - "WHERE plu_code = '" + pluCode + "'\n" + - "AND COLOR = '" + color + "'\n" + - "GROUP BY WHCODE,SIZE\n" + - "ORDER BY WHCODE,SIZE"; - ResultSet rs = stmt.executeQuery(sql); - - // 处理结果集 - while (rs.next()) { +// Connection conn = null; +// Statement stmt = null; +// try { +// // 注册 JDBC 驱动器 +// Class.forName(JDBC_DRIVER); +// +// // 打开一个连接 +//// log.info("连接数据库..."); +// conn = DriverManager.getConnection(DB_URL, USER, PASS); +// +// // 执行查询 +//// log.info("创建声明..."); +// stmt = conn.createStatement(); +// String sql; +// +// // 构建完整的 SQL 查询语句 +// sql = "SELECT\n" + +// "WHCODE,\n" + +// "SIZE,\n" + +// "SUM(ONLINE_QTY) as num\n" + +// "FROM v_MZG003A\n" + +// "WHERE plu_code = '" + pluCode + "'\n" + +// "AND COLOR = '" + color + "'\n" + +// "GROUP BY WHCODE,SIZE\n" + +// "ORDER BY WHCODE,SIZE"; +// ResultSet rs = stmt.executeQuery(sql); +// +// // 处理结果集 +// while (rs.next()) { +// MiTuProductStock stock = new MiTuProductStock(); +// // 根据结果集设置 MiTuProduct 的属性 +// stock.setWhCode(rs.getString("WHCODE")); +// stock.setSize(rs.getString("SIZE")); +// stock.setNum(rs.getInt("num")); +// // 添加到列表中 +// miTuProductStockList.add(stock); +// } +// +// // 清理环境 +// rs.close(); +// stmt.close(); +// conn.close(); +// } catch (SQLException se) { +// // 处理 JDBC 错误 +// se.printStackTrace(); +// } catch (Exception e) { +// // 处理 Class.forName 错误 +// e.printStackTrace(); +// } finally { +// // 关闭资源 +// try { +// if (stmt != null) stmt.close(); +// } catch (SQLException se2) { +// se2.printStackTrace(); +// } +// try { +// if (conn != null) conn.close(); +// } catch (SQLException se) { +// se.printStackTrace(); +// } +// } +// System.out.println("mi-tu商品查询执行完成!"); + for (int i = 0; i < 2; i++) { MiTuProductStock stock = new MiTuProductStock(); // 根据结果集设置 MiTuProduct 的属性 - stock.setWhCode(rs.getString("WHCODE")); - stock.setSize(rs.getString("SIZE")); - stock.setNum(rs.getInt("num")); + stock.setWhCode("MAS "); + stock.setSize("L"); + stock.setNum(1); // 添加到列表中 miTuProductStockList.add(stock); - } - - // 清理环境 - rs.close(); - stmt.close(); - conn.close(); - } catch (SQLException se) { - // 处理 JDBC 错误 - se.printStackTrace(); - } catch (Exception e) { - // 处理 Class.forName 错误 - e.printStackTrace(); - } finally { - // 关闭资源 - try { - if (stmt != null) stmt.close(); - } catch (SQLException se2) { - se2.printStackTrace(); - } - try { - if (conn != null) conn.close(); - } catch (SQLException se) { - se.printStackTrace(); - } } -// System.out.println("mi-tu商品查询执行完成!"); return miTuProductStockList; } private List getMiTuProductList(String itemName, String colorCode) { List miTuProductList = new ArrayList<>(); - Connection conn = null; - Statement stmt = null; - try { - // 注册 JDBC 驱动器 - Class.forName(JDBC_DRIVER); - - // 打开一个连接 - log.info("连接数据库..."); - conn = DriverManager.getConnection(DB_URL, USER, PASS); - - // 执行查询 - log.info("创建声明..."); - stmt = conn.createStatement(); - String sql; - - // 构建完整的 SQL 查询语句 - sql = "SELECT * FROM v_item_1A\n" + - "WHERE item_name = '" + itemName + "'\n" + - "AND Color = '" + colorCode + "'"; - ResultSet rs = stmt.executeQuery(sql); - - // 处理结果集 - while (rs.next()) { - MiTuProduct miTuProduct = new MiTuProduct(); - // 根据结果集设置 MiTuProduct 的属性 - miTuProduct.setPluCode(rs.getString("plu_code")); - miTuProduct.setItemCode(rs.getString("item_code")); - miTuProduct.setItemName(rs.getString("item_name")); - miTuProduct.setItemBarcode(rs.getString("item_barcode")); - miTuProduct.setUnit(rs.getString("unit")); - miTuProduct.setItemType(rs.getString("item_type")); - miTuProduct.setQtyOnHand(rs.getInt("qty_on_hand")); - miTuProduct.setQtyOnOrd(rs.getInt("qty_on_ord")); - miTuProduct.setPriceSales(rs.getDouble("price_sales")); - miTuProduct.setBrand(rs.getString("Brand")); - miTuProduct.setGender(rs.getString("Gender")); - miTuProduct.setYear(rs.getString("Year")); - miTuProduct.setSeason(rs.getString("Season")); - miTuProduct.setSampleNon(rs.getString("Sample/non")); - miTuProduct.setItemGroup(rs.getString("Item_group")); - miTuProduct.setSubGroup(rs.getString("Sub_gruop")); - miTuProduct.setCountry(rs.getString("Country")); - miTuProduct.setSupplier(rs.getString("Supplier")); - miTuProduct.setSize(rs.getString("Size")); - miTuProduct.setColor(rs.getString("Color")); - miTuProduct.setImage(rs.getString("Image")); - // 添加到列表中 - miTuProductList.add(miTuProduct); - } - - // 清理环境 - rs.close(); - stmt.close(); - conn.close(); - } catch (SQLException se) { - // 处理 JDBC 错误 - se.printStackTrace(); - } catch (Exception e) { - // 处理 Class.forName 错误 - e.printStackTrace(); - } finally { - // 关闭资源 - try { - if (stmt != null) stmt.close(); - } catch (SQLException se2) { - se2.printStackTrace(); - } - try { - if (conn != null) conn.close(); - } catch (SQLException se) { - se.printStackTrace(); - } - } - System.out.println("mi-tu商品查询执行完成!"); +// Connection conn = null; +// Statement stmt = null; +// try { +// // 注册 JDBC 驱动器 +// Class.forName(JDBC_DRIVER); +// +// // 打开一个连接 +// log.info("连接数据库..."); +// conn = DriverManager.getConnection(DB_URL, USER, PASS); +// +// // 执行查询 +// log.info("创建声明..."); +// stmt = conn.createStatement(); +// String sql; +// +// // 构建完整的 SQL 查询语句 +// sql = "SELECT * FROM v_item_1A\n" + +// "WHERE item_name = '" + itemName + "'\n" + +// "AND Color = '" + colorCode + "'"; +// ResultSet rs = stmt.executeQuery(sql); +// +// // 处理结果集 +// while (rs.next()) { +// MiTuProduct miTuProduct = new MiTuProduct(); +// // 根据结果集设置 MiTuProduct 的属性 +// miTuProduct.setPluCode(rs.getString("plu_code")); +// miTuProduct.setItemCode(rs.getString("item_code")); +// miTuProduct.setItemName(rs.getString("item_name")); +// miTuProduct.setItemBarcode(rs.getString("item_barcode")); +// miTuProduct.setUnit(rs.getString("unit")); +// miTuProduct.setItemType(rs.getString("item_type")); +// miTuProduct.setQtyOnHand(rs.getInt("qty_on_hand")); +// miTuProduct.setQtyOnOrd(rs.getInt("qty_on_ord")); +// miTuProduct.setPriceSales(rs.getDouble("price_sales")); +// miTuProduct.setBrand(rs.getString("Brand")); +// miTuProduct.setGender(rs.getString("Gender")); +// miTuProduct.setYear(rs.getString("Year")); +// miTuProduct.setSeason(rs.getString("Season")); +// miTuProduct.setSampleNon(rs.getString("Sample/non")); +// miTuProduct.setItemGroup(rs.getString("Item_group")); +// miTuProduct.setSubGroup(rs.getString("Sub_gruop")); +// miTuProduct.setCountry(rs.getString("Country")); +// miTuProduct.setSupplier(rs.getString("Supplier")); +// miTuProduct.setSize(rs.getString("Size")); +// miTuProduct.setColor(rs.getString("Color")); +// miTuProduct.setImage(rs.getString("Image")); +// // 添加到列表中 +// miTuProductList.add(miTuProduct); +// } +// +// // 清理环境 +// rs.close(); +// stmt.close(); +// conn.close(); +// } catch (SQLException se) { +// // 处理 JDBC 错误 +// se.printStackTrace(); +// } catch (Exception e) { +// // 处理 Class.forName 错误 +// e.printStackTrace(); +// } finally { +// // 关闭资源 +// try { +// if (stmt != null) stmt.close(); +// } catch (SQLException se2) { +// se2.printStackTrace(); +// } +// try { +// if (conn != null) conn.close(); +// } catch (SQLException se) { +// se.printStackTrace(); +// } +// } +// System.out.println("mi-tu商品查询执行完成!"); return miTuProductList; }