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.BisInspSvwtqhDao; import cn.com.goldenwater.dcproj.dto.BisInspSvwtqhDto; import cn.com.goldenwater.dcproj.model.AttAdXBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspSvwtqh; import cn.com.goldenwater.dcproj.param.BisInspSvwtqhParam; 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.BisInspSvwtqhService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.Constant; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections.MapUtils; 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.Map; import java.util.Optional; /** * @author lhc * @date 2021-6-23 */ @Service @Transactional public class BisInspSvwtqhServiceImpl extends AbstractCrudService implements BisInspSvwtqhService, BisInspObjStrategy { @Autowired private BisInspSvwtqhDao bisInspSvwtqhDao; @Autowired private AttAdXBaseService attAdXBaseService; public BisInspSvwtqhServiceImpl(BisInspSvwtqhDao bisInspSvwtqhDao) { super(bisInspSvwtqhDao); this.bisInspSvwtqhDao = bisInspSvwtqhDao; } @Override public BisInspSvwtqh get(String key) { BisInspSvwtqh svwtqh = super.get(key); Optional.ofNullable(svwtqh).map(BisInspSvwtqh::getAdCode).ifPresent(adCode -> { AttAdXBase base = attAdXBaseService.get(adCode); svwtqh.setAdFullName(base.getAdFullName()); }); return svwtqh; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { BisInspSvwtqh b = new BisInspSvwtqh(); AttAdXBase base = attAdXBaseService.get(bisInspAllObj.getCode()); BeanUtils.copyProperties(base, b); b.setObjId(bisInspAllObj.getObjId()); b.setNm(base.getAdName()); insert(b); } @Override public int insert(BisInspSvwtqh bisInspSvwtqh) { String uuid = UuidUtil.uuid(); bisInspSvwtqh.setId(uuid); bisInspSvwtqh.setIntm(new Date()); bisInspSvwtqh.setUptm(new Date()); bisInspSvwtqh.setDataStat("0"); bisInspSvwtqh.setState("0"); return this.bisInspSvwtqhDao.insert(bisInspSvwtqh); } @Override public int update(BisInspSvwtqh bisInspSvwtqh) { bisInspSvwtqh.setUptm(new Date()); return this.bisInspSvwtqhDao.update(bisInspSvwtqh); } @Override public int delete(String id) { return this.bisInspSvwtqhDao.delete(id); } @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.bisInspSvwtqhDao.findPageList(typeParam); return new PageInfo(list); } @Override public String getType() { return BisInspEnum.SVWTQH.getValue(); } @Override public void cleanObjData(String objId) { BisInspSvwtqhParam svwtqhParam = new BisInspSvwtqhParam(); svwtqhParam.setObjId(objId); List list = this.bisInspSvwtqhDao.findList(svwtqhParam); if (list.size() > 0) { String id = list.get(0).getId(); this.bisInspSvwtqhDao.delete(id); } } @Override public void updateState(Map map) { BisInspSvwtqh rgstr = get(MapUtils.getString(map, "rgstrId")); if (Constant.STRING_TWO.equals(rgstr.getState())) { return; } if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) { rgstr.setChkState(MapUtils.getString(map, "state")); } rgstr.setUptm(new Date()); rgstr.setState(Constant.STRING_ONE); update(rgstr); } @Override public Object findObjListByType(TypeParam typeParam) { return this.bisInspSvwtqhDao.findPageList(typeParam); } }