package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.BisInspVill2021VillDao; import cn.com.goldenwater.dcproj.model.AttAdXBase; import cn.com.goldenwater.dcproj.model.BisInspVill2021Vill; import cn.com.goldenwater.dcproj.param.AttAdXBaseParam; import cn.com.goldenwater.dcproj.param.BisInspVill2021VillParam; import cn.com.goldenwater.dcproj.param.CountryParam; import cn.com.goldenwater.dcproj.service.AttAdXBaseService; import cn.com.goldenwater.dcproj.service.BisInspVill2021RgstrService; import cn.com.goldenwater.dcproj.service.BisInspVill2021VillService; import cn.com.goldenwater.dcproj.utils.Builder; import cn.com.goldenwater.id.util.UuidUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author lhc * @date 2021-6-16 */ @Service @Transactional public class BisInspVill2021VillServiceImpl extends AbstractCrudService implements BisInspVill2021VillService { @Autowired private BisInspVill2021VillDao bisInspVill2021VillDao; @Autowired private AttAdXBaseService attAdXBaseService; @Autowired private BisInspVill2021RgstrService bisInspVill2021RgstrService; public BisInspVill2021VillServiceImpl(BisInspVill2021VillDao bisInspVill2021VillDao) { super(bisInspVill2021VillDao); this.bisInspVill2021VillDao = bisInspVill2021VillDao; } @Override public int insert(BisInspVill2021Vill bisInspVill2021Vill) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspVill2021Vill.setId(uuid); bisInspVill2021Vill.setIntm(new Date()); bisInspVill2021Vill.setUptm(new Date()); bisInspVill2021Vill.setDataStat("0"); return this.bisInspVill2021VillDao.insert(bisInspVill2021Vill); } @Override public int update(BisInspVill2021Vill bisInspVill2021Vill) { bisInspVill2021Vill.setUptm(new Date()); return this.bisInspVill2021VillDao.update(bisInspVill2021Vill); } @Override public int delete(String id) { return this.bisInspVill2021VillDao.delete(id); } @Override public List addbatch(List countryParamList, String persId) { for (CountryParam countryParam : countryParamList) { if (StringUtils.isBlank(countryParam.getCodes())) { continue; } String[] arrays = countryParam.getCodes().split(SplitValue.FENHAO_SPLIT); for (String arr : arrays) { AttAdXBase attAdXBase = attAdXBaseService.getBy(Builder.of(AttAdXBaseParam::new) .with(AttAdXBaseParam::setAdCode, arr) .build()); // 判断 adCode 对应的基础表是否 存在 if (attAdXBase == null) { continue; } BisInspVill2021VillParam relVillParam = Builder.of(BisInspVill2021VillParam::new) .with(BisInspVill2021VillParam::setRgstrId, countryParam.getRegstrId()) .with(BisInspVill2021VillParam::setAdCode, attAdXBase.getAdCode()) .build(); BisInspVill2021Vill relVill = getBy(relVillParam); // 判断 村是否重复添加,已添加则跳过 if (relVill != null) { continue; } relVill = new BisInspVill2021Vill(); relVill.setAdCode(attAdXBase.getAdCode()); relVill.setAdName(attAdXBase.getAdName()); relVill.setRgstrId(countryParam.getRegstrId()); relVill.setPersId(persId); insert(relVill); } } // 更新登记表状态 Map map = new HashMap<>(3); map.put("rgstrId", countryParamList.get(0).getRegstrId()); map.put("param", "vill"); map.put("state", "1"); bisInspVill2021RgstrService.updateState(map); return countryParamList; } }