package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.BisInspWtgovRgstrDao; import cn.com.goldenwater.dcproj.dto.BisInspWtgovRgstrDto; import cn.com.goldenwater.dcproj.model.AttAdXBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspWtgovRgstr; import cn.com.goldenwater.dcproj.param.BisInspWtgovRgstrParam; import cn.com.goldenwater.dcproj.param.TypeParam; import cn.com.goldenwater.dcproj.service.AttAdXBaseService; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspWtgovRgstrService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; import java.util.Optional; import java.util.function.Function; /** * @author lhc * @date 2021-5-11 */ @Service @Transactional public class BisInspWtgovRgstrServiceImpl extends AbstractCrudService implements BisInspWtgovRgstrService, BisInspObjStrategy { @Autowired private BisInspWtgovRgstrDao bisInspWtgovRgstrDao; @Autowired private AttAdXBaseService attAdXBaseService; public BisInspWtgovRgstrServiceImpl(BisInspWtgovRgstrDao bisInspWtgovRgstrDao) { super(bisInspWtgovRgstrDao); this.bisInspWtgovRgstrDao = bisInspWtgovRgstrDao; } @Override public int insert(BisInspWtgovRgstr bisInspWtgovRgstr) { String uuid = UuidUtil.uuid(); bisInspWtgovRgstr.setId(uuid); bisInspWtgovRgstr.setIntm(new Date()); bisInspWtgovRgstr.setUptm(new Date()); bisInspWtgovRgstr.setDataStat("0"); bisInspWtgovRgstr.setState("0"); return this.bisInspWtgovRgstrDao.insert(bisInspWtgovRgstr); } @Override public int update(BisInspWtgovRgstr bisInspWtgovRgstr) { bisInspWtgovRgstr.setUptm(new Date()); return this.bisInspWtgovRgstrDao.update(bisInspWtgovRgstr); } @Override public BisInspWtgovRgstr get(String key) { BisInspWtgovRgstr rgstr = super.get(key); Optional.ofNullable(rgstr).map(BisInspWtgovRgstr::getAdCode).ifPresent(adcode -> { AttAdXBase base = attAdXBaseService.get(adcode); rgstr.setAdFullName(base.getAdFullName()); }); return rgstr; } @Override public int delete(String id) { return this.bisInspWtgovRgstrDao.delete(id); } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { BisInspWtgovRgstr b = new BisInspWtgovRgstr(); AttAdXBase base = attAdXBaseService.get(bisInspAllObj.getCode()); BeanUtils.copyProperties(base, b); b.setObjId(bisInspAllObj.getObjId()); /* 添加 登记表 */ insert(b); } @Override public String getType() { return BisInspEnum.WTGOV.getValue(); } @Override public void cleanObjData(String objId) { BisInspWtgovRgstrParam rgstrParam = new BisInspWtgovRgstrParam(); rgstrParam.setObjId(objId); List list = this.bisInspWtgovRgstrDao.findList(rgstrParam); if (list.size() > 0) { String id = list.get(0).getId(); // 删除登记表 this.bisInspWtgovRgstrDao.delete(id); } } @Override public Object findObjListByType(TypeParam typeParam) { return this.bisInspWtgovRgstrDao.findPageList(typeParam); } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } PageHelper.startPage(typeParam); List list = this.bisInspWtgovRgstrDao.findPageList(typeParam); return new PageInfo<>(list); } }