package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspVillgdVillDao; import cn.com.goldenwater.dcproj.model.BisInspVillgd; import cn.com.goldenwater.dcproj.model.BisInspVillgdVill; import cn.com.goldenwater.dcproj.model.BisInspVillgdVillUsr; import cn.com.goldenwater.dcproj.model.BisInspVillgdVillWtsp; import cn.com.goldenwater.dcproj.param.BisInspVillgdNvillParam; import cn.com.goldenwater.dcproj.param.BisInspVillgdVillParam; import cn.com.goldenwater.dcproj.param.BisInspVillgdVillUsrParam; import cn.com.goldenwater.dcproj.param.BisInspVillgdVillWtspParam; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.dcproj.utils.Builder; import cn.com.goldenwater.id.util.UuidUtil; 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.Map; import java.util.Optional; /** * @author lhc * @date 2021-4-23 */ @Service @Transactional public class BisInspVillgdVillServiceImpl extends AbstractCrudService implements BisInspVillgdVillService { @Autowired private BisInspVillgdVillDao bisInspVillgdVillDao; @Autowired private BisInspVillgdVillUsrService bisInspVillgdVillUsrService; @Autowired private BisInspVillgdVillWtspService bisInspVillgdVillWtspService; @Autowired private BisInspVillgdNvillService bisInspVillgdNvillService; @Autowired private BisInspVillgdService bisInspVillgdService; public BisInspVillgdVillServiceImpl(BisInspVillgdVillDao bisInspVillgdVillDao) { super(bisInspVillgdVillDao); this.bisInspVillgdVillDao = bisInspVillgdVillDao; } @Override public int insert(BisInspVillgdVill bisInspVillgdVill) { String uuid = UuidUtil.uuid(); bisInspVillgdVill.setId(uuid); bisInspVillgdVill.setIntm(new Date()); bisInspVillgdVill.setUptm(new Date()); bisInspVillgdVill.setDataStat("0"); int ret = this.bisInspVillgdVillDao.insert(bisInspVillgdVill); // 更新登记表状态 Map map = new HashMap<>(1); map.put("rgstrId", bisInspVillgdVill.getRgstrId()); bisInspVillgdService.updateState(map); return ret; } @Override public BisInspVillgdVill get(String key) { BisInspVillgdVill bisInspVillgdVill = super.get(key); Optional.ofNullable(bisInspVillgdVill).ifPresent(vill -> { BisInspVillgd villgd = bisInspVillgdService.get(vill.getRgstrId()); Optional.ofNullable(villgd).map(BisInspVillgd::getObjId).ifPresent(vill::setObjId); // vill.setNvillCount(bisInspVillgdNvillService.selectCount(Builder.of(BisInspVillgdNvill::new).with(BisInspVillgdNvill::setVillId, key).build())); vill.setVillUsrCount(bisInspVillgdVillUsrService.selectCount(Builder.of(BisInspVillgdVillUsr::new).with(BisInspVillgdVillUsr::setVillId, vill.getId()).build())); vill.setVillWtspCount(bisInspVillgdVillWtspService.selectCount(Builder.of(BisInspVillgdVillWtsp::new).with(BisInspVillgdVillWtsp::setVillId, vill.getId()).build())); }); return bisInspVillgdVill; } @Override public int update(BisInspVillgdVill bisInspVillgdVill) { bisInspVillgdVill.setUptm(new Date()); return this.bisInspVillgdVillDao.update(bisInspVillgdVill); } @Override public int delete(String id) { bisInspVillgdVillUsrService.deleteBy(Builder.of(BisInspVillgdVillUsrParam::new).with(BisInspVillgdVillUsrParam::setVillId, id).build()); bisInspVillgdVillWtspService.deleteBy(Builder.of(BisInspVillgdVillWtspParam::new).with(BisInspVillgdVillWtspParam::setVillId, id).build()); bisInspVillgdNvillService.deleteBy(Builder.of(BisInspVillgdNvillParam::new).with(BisInspVillgdNvillParam::setVillId, id).build()); return this.bisInspVillgdVillDao.delete(id); } @Override public int selectCount(BisInspVillgdVill bisInspVillgdVill) { return bisInspVillgdVillDao.selectCount(bisInspVillgdVill); } }