From 536b618c8ff3ce8bb523930b1dfd6c194637e643 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 03 六月 2025 13:34:43 +0800
Subject: [PATCH] 自动插入更新时间
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 100 insertions(+), 2 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java
index 9129ba7..696543f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java
@@ -1,11 +1,109 @@
package com.ruoyi.web.controller.init;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.basic.entity.City;
+import com.ruoyi.basic.entity.District;
+import com.ruoyi.basic.entity.Province;
+import com.ruoyi.basic.mapper.CityMapper;
+import com.ruoyi.basic.mapper.DistrictMapper;
+import com.ruoyi.basic.mapper.ProvinceMapper;
+import com.ruoyi.web.controller.init.dto.AreaDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
+import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
@Component
-public class MyStartupRunner implements CommandLineRunner{
+public class MyStartupRunner implements CommandLineRunner {
+ @Autowired
+ private ProvinceMapper provinceMapper;
+ @Autowired
+ private CityMapper cityMapper;
+ @Autowired
+ private DistrictMapper districtMapper;
+
+ /**
+ * 椤圭洰鍚姩鏃堕渶瑕佹墽琛岀殑鏂规硶
+ *
+ * @param args
+ * @throws Exception
+ */
@Override
public void run(String... args) throws Exception {
- System.out.println("锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛�");
+ // 鍒濆鍖栫渷甯傚尯
+ initRegion();
+ }
+
+ private void initRegion() {
+ // 鍒ゆ柇鏄槸鍚︽湁鐪佸競鍖轰俊鎭�
+ List<Province> olds = provinceMapper.selectList(null);
+ if (olds.isEmpty()) {
+ // 璇诲彇鍦板尯json鏂囦欢
+ List<AreaDTO> areaDTOS = null;
+ try {
+ // 浠� resources/doc/ 鍔犺浇 JSON 鏂囦欢
+ ClassPathResource resource = new ClassPathResource("doc/area.json");
+
+ ObjectMapper objectMapper = new ObjectMapper();
+ areaDTOS = objectMapper.readValue(
+ resource.getInputStream(),
+ objectMapper.getTypeFactory().constructCollectionType(List.class, AreaDTO.class)
+ );
+ } catch (Exception e) {
+ log.error("璇诲彇鍦板尯json鏂囦欢澶辫触:" + e);
+ }
+
+ List<Province> provinces = new ArrayList<>();
+ List<City> cities = new ArrayList<>();
+ List<District> districts = new ArrayList<>();
+
+ if (!areaDTOS.isEmpty()) {
+ log.info("鍦板尯淇℃伅鍒濆鍖栧紑濮�");
+
+ // 鐪�
+ areaDTOS.forEach(areaDTO -> {
+ Province province = new Province();
+ province.setId(Long.parseLong(areaDTO.getNo()));
+ province.setName(areaDTO.getName());
+ provinces.add(province);
+
+ if (!areaDTO.getChildren().isEmpty()) {
+ // 甯�
+ areaDTO.getChildren().forEach(cityDTO -> {
+ City city = new City();
+ city.setId(Long.parseLong(cityDTO.getNo()));
+ city.setName(cityDTO.getName());
+ city.setProvinceId(Long.valueOf(areaDTO.getNo()));
+ cities.add(city);
+
+ if (!cityDTO.getChildren().isEmpty()) {
+ // 鍖�
+ cityDTO.getChildren().forEach(districtDTO -> {
+ District district = new District();
+ district.setId(Long.parseLong(districtDTO.getNo()));
+ district.setName(districtDTO.getName());
+ district.setCityId(Long.valueOf(cityDTO.getNo()));
+ districts.add(district);
+ });
+ }
+ });
+ }
+ });
+
+
+ provinceMapper.insert(provinces);
+ cityMapper.insert(cities);
+ districtMapper.insert(districts);
+
+ log.info("鍦板尯淇℃伅鍒濆鍖栫粨鏉�");
+ }
+ }
+
+
}
}
--
Gitblit v1.9.3