package com.agentdriving.driver.modular.system.service.impl;
|
|
import com.agentdriving.driver.modular.system.dao.AgentMapper;
|
import com.agentdriving.driver.modular.system.model.Agent;
|
import com.agentdriving.driver.modular.system.service.IAgentService;
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.agentdriving.driver.modular.system.warpper.OpenCityWarpper;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author zhibing.pu
|
* @Date 2023/3/22 22:52
|
*/
|
@Service
|
public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements IAgentService {
|
|
|
/**
|
* 获取开通省市数据
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<OpenCityWarpper> queryOpenCity() throws Exception {
|
List<Agent> branchOffices = this.selectList(new EntityWrapper<Agent>().eq("status", 1));
|
List<OpenCityWarpper> province = new ArrayList<>();
|
|
//遍历处理省级数据
|
List<String> provinceCodes = new ArrayList<>();
|
for (Agent branchOffice : branchOffices) {
|
String provinceCode = branchOffice.getProvinceCode();
|
if(!provinceCodes.contains(provinceCode)){
|
provinceCodes.add(provinceCode);
|
|
OpenCityWarpper openCityWarpper = new OpenCityWarpper();
|
openCityWarpper.setCode(provinceCode);
|
openCityWarpper.setName(branchOffice.getProvinceName());
|
province.add(openCityWarpper);
|
}
|
}
|
|
//遍历处理省级对应的市级数据
|
for (OpenCityWarpper openCityWarpper : province) {
|
String code = openCityWarpper.getCode();
|
|
List<OpenCityWarpper> city = new ArrayList<>();
|
List<String> cityCodes = new ArrayList<>();
|
for (Agent branchOffice : branchOffices) {
|
String provinceCode1 = branchOffice.getProvinceCode();
|
String cityCode = branchOffice.getCityCode();
|
|
if(code.equals(provinceCode1) && !cityCodes.contains(cityCode)){
|
cityCodes.add(cityCode);
|
|
OpenCityWarpper openCityWarpper1 = new OpenCityWarpper();
|
openCityWarpper1.setCode(cityCode);
|
openCityWarpper1.setName(branchOffice.getCityName());
|
city.add(openCityWarpper1);
|
}
|
}
|
openCityWarpper.setSublevel(city);
|
}
|
return province;
|
}
|
|
}
|