package com.xzx.gc.order.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.xzx.gc.common.utils.BusinessUtil; import com.xzx.gc.entity.AddressLevelInfo; import com.xzx.gc.order.mapper.AddressLevelInfoMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import tk.mybatis.mapper.entity.Example; import java.util.ArrayList; import java.util.List; import java.util.Map; @Service @Transactional public class AddressLevelService { @Autowired private AddressLevelInfoMapper addressLevelMapper; public List findByTownIds(String townIds){ if(StrUtil.isNotBlank(townIds)) { Example example = new Example(AddressLevelInfo.class); Example.Criteria criteria = example.createCriteria(); criteria.andIn("level3Id", CollUtil.newArrayList(townIds.split(","))); List addressLevelInfos = addressLevelMapper.selectByExample(example); return addressLevelInfos; }else { return new ArrayList<>(); } } /** * TODO 根据区判断唯一是不对的 * @return */ public String findByLevle3Name(String level3Name){ AddressLevelInfo addressLevelInfo=new AddressLevelInfo(); addressLevelInfo.setLevel3Name(level3Name); AddressLevelInfo addressLevelInfo1 = addressLevelMapper.selectOne(addressLevelInfo); if(addressLevelInfo1!=null){ return addressLevelInfo1.getAdcode(); } return ""; } public AddressLevelInfo findByAdcode(String adcode){ Example example = new Example(AddressLevelInfo.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("adcode", adcode); AddressLevelInfo addressLevelInfos = addressLevelMapper.selectOneByExample(example); return addressLevelInfos; } public AddressLevelInfo find(String level1Id,String level2Id,String level3Id){ Example example = new Example(AddressLevelInfo.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("level3Id", level3Id); criteria.andEqualTo("level2Id",level2Id); criteria.andEqualTo("level1Id", level1Id); List addressLevelInfos = addressLevelMapper.selectByExample(example); if(CollUtil.isNotEmpty(addressLevelInfos)){ return addressLevelInfos.get(0); } return null; } public String queryAreaName(String type,String id){ Example example = new Example(AddressLevelInfo.class); Example.Criteria criteria = example.createCriteria(); if(type.equals("1")){ criteria.andEqualTo("level1Id", id); }else if(type.equals("2")){ criteria.andEqualTo("level2Id", id); }else{ criteria.andEqualTo("level3Id", id); } List addressLevelInfos = addressLevelMapper.selectByExample(example); if(CollUtil.isNotEmpty(addressLevelInfos)){ if(type.equals("1")){ return addressLevelInfos.get(0).getLevel1Name(); }else if(type.equals("2")){ return addressLevelInfos.get(0).getLevel2Name(); }else{ return addressLevelInfos.get(0).getLevel3Name(); } } return ""; } /** * TODO 根据区判断唯一是不对的 * @param type * @param name * @return */ public String findIdByName(String type,String name){ Example example = new Example(AddressLevelInfo.class); Example.Criteria criteria = example.createCriteria(); if(type.equals("1")){ criteria.andEqualTo("level1Name", name); }else if(type.equals("2")){ criteria.andEqualTo("level2Name", name); }else{ criteria.andEqualTo("level3Name", name); } List addressLevelInfos = addressLevelMapper.selectByExample(example); if(CollUtil.isNotEmpty(addressLevelInfos)){ if(type.equals("1")){ return addressLevelInfos.get(0).getLevel1Id(); }else if(type.equals("2")){ return addressLevelInfos.get(0).getLevel2Id(); }else{ return addressLevelInfos.get(0).getLevel3Id(); } } return ""; } }