diff --git a/src/main/java/top/xinsin/service/OrderService.java b/src/main/java/top/xinsin/service/OrderService.java index 60ef6a8..1442c4e 100644 --- a/src/main/java/top/xinsin/service/OrderService.java +++ b/src/main/java/top/xinsin/service/OrderService.java @@ -17,7 +17,6 @@ import top.xinsin.enums.OrderStatus; import top.xinsin.enums.SearchType; import top.xinsin.mapper.CommissionMapper; import top.xinsin.mapper.OrderMapper; -import top.xinsin.mapper.StoreMapper; import top.xinsin.pojo.Commission; import top.xinsin.pojo.Order; import top.xinsin.pojo.OrderByExcel; @@ -37,6 +36,7 @@ import java.util.Date; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; /** * @author xinsin @@ -47,7 +47,7 @@ import java.util.concurrent.atomic.AtomicInteger; @Slf4j public class OrderService extends ServiceImpl implements OrderServiceInter { @Autowired - private StoreMapper storeMapper; + private StoreService storeMapper; @Autowired private CommissionMapper commissionMapper; @@ -63,7 +63,7 @@ public class OrderService extends ServiceImpl implements Orde orderPage1.getRecords().forEach(e -> { LambdaQueryWrapper orderVOLambdaQueryWrapper = new LambdaQueryWrapper<>(); orderVOLambdaQueryWrapper.eq(Store::getId,e.getStoreId()); - Store store = storeMapper.selectOne(orderVOLambdaQueryWrapper); + Store store = storeMapper.getOne(orderVOLambdaQueryWrapper); e.setStoreName(store.getName()); LambdaQueryWrapper commissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -182,9 +182,10 @@ public class OrderService extends ServiceImpl implements Orde list.remove(0); total.addAndGet(list.size()); List orders = new ArrayList<>(); + AtomicReference order = new AtomicReference<>(); list.forEach(e -> { try { - orders.add(new Order() + order.set(new Order() .setOrderNo(e.getOrderNo()) .setOrderTime(e.getOrderTime() != null ? fmt.parse(e.getOrderTime()) : null) .setOrderStatus(e.getOrderStatus()) @@ -192,7 +193,6 @@ public class OrderService extends ServiceImpl implements Orde .setWechatNo(e.getWechatNo()) .setAlipayNo(e.getAlipayNo()) .setPayAmt(e.getPayAmt() != null ? Double.parseDouble(e.getPayAmt()) : null) - .setStoreId(e.getStoreId() != null ? Integer.parseInt(e.getStoreId()) : null) .setCommission(e.getCommission() != null ? Double.parseDouble(e.getCommission()) : null) .setAlipayName(e.getAlipayName()) .setRpName(e.getRpName()) @@ -204,13 +204,25 @@ public class OrderService extends ServiceImpl implements Orde .setFlagRemark(e.getFlagRemark()) .setPayTime(e.getPayTime() != null ? fmt.parse(e.getPayTime()) : null) .setAddress(e.getAddress()) - .setShopId(e.getShopId() != null ? Integer.parseInt(e.getStoreId()) : null) - .setSku(e.getSku()) - ); + .setShopId(e.getShopId() != null ? Integer.parseInt(e.getShopId()) : null) + .setSku(e.getSku())); } catch (ParseException ex) { throw new RuntimeException(ex); } log.info(" ==> 解析一条数据: {}", JSONObject.toJSONString(e)); + if (e.getStoreId() != null){ + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(Store::getName, e.getStoreId()); + Store one = storeMapper.getOne(eq); + if (one != null){ + order.get().setStoreId(one.getId()); + }else{ + Store store = new Store(); + store.setName(e.getStoreId()); + storeMapper.save(store); + order.get().setStoreId(store.getId()); + } + orders.add(order.get()); + } }); log.info(" ==> 共全部数据: {}",total.get()); status.set(this.saveBatch(orders)); diff --git a/src/main/java/top/xinsin/service/StoreService.java b/src/main/java/top/xinsin/service/StoreService.java index d5fdbef..1845580 100644 --- a/src/main/java/top/xinsin/service/StoreService.java +++ b/src/main/java/top/xinsin/service/StoreService.java @@ -2,6 +2,7 @@ package top.xinsin.service; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,7 +26,7 @@ import java.util.List; */ @Service @Slf4j -public class StoreService { +public class StoreService extends ServiceImpl implements StoreServiceInter { @Autowired private StoreMapper storeMapper; diff --git a/src/main/java/top/xinsin/service/StoreServiceInter.java b/src/main/java/top/xinsin/service/StoreServiceInter.java new file mode 100644 index 0000000..16e5d59 --- /dev/null +++ b/src/main/java/top/xinsin/service/StoreServiceInter.java @@ -0,0 +1,13 @@ +package top.xinsin.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import top.xinsin.pojo.Order; +import top.xinsin.pojo.Store; + +/** + * @author xinsin + * Created On 2023/6/20 21:14 + * @version 1.0 + */ +public interface StoreServiceInter extends IService { +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1b5e6d0..0665193 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,13 +1,13 @@ server: - port: 8081 + port: 8001 spring: datasource: -# username: commerce -# password: Jix656dzD6St4YCn_ - username: commerce_system - password: Jix656dzD6St4YCn -# url: jdbc:mysql://localhost:3306/commerce_system?serverTimezone=UTC-8 - url: jdbc:mysql://wzpmc.cn:3306/commerce_system?serverTimezone=UTC-8 + username: commerce + password: Jix656dzD6St4YCn_ +# username: commerce_system +# password: Jix656dzD6St4YCn + url: jdbc:mysql://8.134.138.255:3306/commerce_system?serverTimezone=Asia/Shanghai +# url: jdbc:mysql://wzpmc.cn:3306/commerce_system?serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver # druid配置 type: com.alibaba.druid.pool.DruidDataSource diff --git a/src/main/resources/log4j-spring.properties b/src/main/resources/log4j-spring.properties deleted file mode 100644 index 5766690..0000000 --- a/src/main/resources/log4j-spring.properties +++ /dev/null @@ -1,58 +0,0 @@ -#?????log?????? -property.filename = ./logs -#????? -appender.console.type = Console -appender.console.name = console -#?????? -appender.console.layout.type = PatternLayout -#?????? -appender.console.layout.pattern = %-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %c %m%n -#???? -appender.console.filter.threshold.type = ThresholdFilter -#??????? -appender.console.filter.threshold.level = info -#===================???????==================== -appender.infoFile.type = RollingFile -appender.infoFile.name = infoLogFile -#???????? -appender.infoFile.fileName=${filename}/info.log -#??????????????? -appender.infoFile.filePattern = ${filename}/info-%d{MM-dd-yy-HH-mm-ss}-%i.log -appender.infoFile.layout.type = PatternLayout -#?????? -appender.infoFile.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} [%t] - %msg%n -appender.infoFile.policies.type = Policies -#????????????? -appender.infoFile.policies.size.type = SizeBasedTriggeringPolicy -#???????100MB???? -appender.infoFile.policies.size.size=100MB -appender.infoFile.strategy.type = DefaultRolloverStrategy -appender.infoFile.strategy.max = 5 -#INFO??????INFO.log??????????????????????????????????????????? -appender.infoFile.filter.threshold.type = infoLogFile -appender.infoFile.filter.threshold.level = INFO -appender.infoFile.filter.threshold.onMatch = ACCEPT -appender.infoFile.filter.threshold.onMisMatch=DENY -#?????error??????info??????????? -appender.errorFile.type = RollingFile -appender.errorFile.name = errorLogFile -appender.errorFile.fileName=${filename}/error.log -appender.errorFile.filePattern = ${filename}/error-%d{MM-dd-yy-HH-mm-ss}-%i.log -appender.errorFile.layout.type = PatternLayout -appender.errorFile.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} [%t] - %msg%n -appender.errorFile.policies.type = Policies -appender.errorFile.policies.size.type = SizeBasedTriggeringPolicy -appender.errorFile.policies.size.size=100MB -appender.errorFile.strategy.type = DefaultRolloverStrategy -appender.errorFile.strategy.max = 5 -appender.errorFile.filter.threshold.type = errorLogFile -appender.errorFile.filter.threshold.level = INFO -appender.errorFile.filter.threshold.onMatch = ACCEPT -appender.errorFile.filter.threshold.onMisMatch=DENY -#???? -rootLogger.level = info -rootLogger.appenderRef.stdout.ref = console -rootLogger.appenderRef.errorFile.ref = errorLogFile -rootLogger.appenderRef.errorFile.level = error -rootLogger.appenderRef.infoFile.ref = infoLogFile -rootLogger.appenderRef.infoFile.level = info \ No newline at end of file diff --git a/src/test/java/top/xinsin/MainTest.java b/src/test/java/top/xinsin/MainTest.java index 82dd4c2..50902a2 100644 --- a/src/test/java/top/xinsin/MainTest.java +++ b/src/test/java/top/xinsin/MainTest.java @@ -28,6 +28,12 @@ public class MainTest { System.out.println(new String(s.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1)); } + @Test + public void test03(){ + Integer integer = new Integer(10); + double v = Double.parseDouble(integer.toString()); + System.out.println(v); + } @Test @SneakyThrows public void test01(){