| | |
| | | package com.ruoyi.web.controller.init; |
| | | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.basic.dto.CoalFieldDto; |
| | | import com.ruoyi.basic.entity.City; |
| | | import com.ruoyi.basic.entity.CoalField; |
| | | 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.basic.mapper.*; |
| | | import com.ruoyi.basic.service.CoalFieldService; |
| | | import com.ruoyi.basic.service.CoalPlanService; |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.web.controller.init.dto.AreaDTO; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | @Slf4j |
| | | @Component |
| | |
| | | private CityMapper cityMapper; |
| | | @Autowired |
| | | private DistrictMapper districtMapper; |
| | | @Autowired |
| | | private CoalFieldService coalFieldService; |
| | | @Autowired |
| | | private CoalPlanService coalPlanService; |
| | | |
| | | /** |
| | | * 项目启动时需要执行的方法 |
| | |
| | | public void run(String... args) throws Exception { |
| | | // 初始化省市区 |
| | | initRegion(); |
| | | // 初始新增配煤计算器中的字段和方案 |
| | | initCoalFields(); |
| | | } |
| | | |
| | | private void initRegion() { |
| | |
| | | provinceMapper.insert(provinces); |
| | | cityMapper.insert(cities); |
| | | districtMapper.insert(districts); |
| | | |
| | | log.info("地区信息初始化结束"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void initCoalFields() { |
| | | |
| | | List<CoalFieldDto> fields = Stream.of("发热量", "硫分", "灰分", "水分") |
| | | .map(CoalFieldDto::from) |
| | | .toList(); |
| | | // 批量获取已存在的 fieldNames |
| | | Set<String> existingFieldNames = coalFieldService.getFieldNamesByNames( |
| | | fields.stream().map(CoalFieldDto::getFieldName).collect(Collectors.toSet()) |
| | | ); |
| | | |
| | | fields.forEach(field -> { |
| | | if (!existingFieldNames.contains(field.getFieldName())) { |
| | | coalFieldService.addOrEditCoalField(field); |
| | | } |
| | | }); |
| | | } |
| | | } |