package com.vci.web.dao.impl; import com.vci.constant.FrameWorkBusLangCodeConstant; import com.vci.model.BdHomeConfigDO; import com.vci.pagemodel.BatchCBO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.PageHelper; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.dao.HomeConfigDaoI; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.Collection; import java.util.List; import java.util.Map; /** * @Description 首页配置数据服务 * @Author dangsn * @Date 2024/12/24 15:47 */ @Repository public class HomeConfigDaoImpl implements HomeConfigDaoI { /** * 业务类型操作的服务 */ @Resource private WebBoServiceI boService; /** * 添加数据 * * @param record 数据对象 * @return 执行结果 */ @Override public BatchCBO insert(BdHomeConfigDO record) { VciBaseUtil.alertNotNull(record,"要添加的数据"); return boService.addSave(record); } /** * 批量添加数据 * * @param records 数据对象集合 * @return 执行结果数 */ @Override public BatchCBO batchInsert(List records) { VciBaseUtil.alertNotNull(records,"要添加的数据"); return boService.batchAddSave(records); } /** * 更新对象 * * @param record 产品谈价计划数据对象 * @return 执行结果 */ @Override public BatchCBO update(BdHomeConfigDO record) { VciBaseUtil.alertNotNull(record,"要修改的对象",record.getOid(),"数据主键"); return boService.editSave(record); } /** * 批量更新 * * @param records 数据对象集合 * @return 执行结果行数 */ @Override public BatchCBO batchUpdate(List records) { VciBaseUtil.alertNotNull(records,"要修改的对象"); return boService.batchEditSave(records); } /** * 使用主键删除 * * @param oid 数据主键 * @return 执行结果 */ @Override public BatchCBO deleteByPrimaryKey(String oid) { WebUtil.alertNotNull(oid, "数据主键"); BdHomeConfigDO record = selectByPrimaryKey(oid); return boService.delete(record); } /** * 使用主键删除 * * @param oidCollection 数据主键集合 * @return 执行结果 */ @Override public BatchCBO deleteByPrimaryKeys(Collection oidCollection) { WebUtil.alertNotNull(oidCollection, "数据主键集合"); List homeConfigDOList = selectByPrimaryKeyCollection(oidCollection); return boService.batchDelete(homeConfigDOList); } /** * 删除业务通知 * * @param record 业务通知对象 * @return 执行结果 */ @Override public BatchCBO delete(BdHomeConfigDO record) { return boService.delete(record); } /** * 批量删除数据 * * @param recordList 数据集合 */ @Override public BatchCBO batchDelete(List recordList) { BatchCBO batchCBO = new BatchCBO(); if(!CollectionUtils.isEmpty(recordList)){ batchCBO.copyFromOther(boService.batchDelete(recordList)); } return batchCBO; } /** * 根据主键查询 * * @param oid 数据主键 * @return 数据对象 */ @Override public BdHomeConfigDO selectByPrimaryKey(String oid) { VciBaseUtil.alertNotNull(oid,"数据主键"); BdHomeConfigDO record = boService.selectByOid(oid, BdHomeConfigDO.class); if(record == null || StringUtils.isBlank(record.getOid())){ throw new VciBaseException(FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST); } return record; } /** * 根据主键批量获取对象 * * @param oids 主键,包含单引号,但是不能超过1000 * @return 数据对象列表 */ @Override public List selectByPrimaryKeys(String oids) { VciBaseUtil.alertNotNull(oids,"数据主键集合"); return boService.selectByOidCollection(VciBaseUtil.str2List(oids), BdHomeConfigDO.class); } /** * 根据主键批量查询对象 * * @param oids 对象主键,使用逗号分隔,但是不能超过1000 * @return 业务对象 */ @Override public List selectByPrimaryKeyCollection(Collection oids) { VciBaseUtil.alertNotNull(oids,"数据主键集合"); return boService.selectByOidCollection(oids, BdHomeConfigDO.class); } /** * 根据查询条件查询数据 * * @param conditionMap 查询条件, * @param pageHelper 包括分页,排序 * @return 数据对象列表 */ @Override public List selectByCondition(Map conditionMap, PageHelper pageHelper) { return boService.queryObject(BdHomeConfigDO.class,conditionMap,pageHelper); } /** * 根据查询条件来查询总数 * * @param conditionMap 查询条件 * @return 总数 */ @Override public Long countByCondition(Map conditionMap) { return VciBaseUtil.getLong(String.valueOf(boService.queryCount(BdHomeConfigDO.class,conditionMap))); } /** * 使用查询封装器来查询 * * @param queryWrapper 查询封装器 * @return 数据对象列表 */ @Override public List selectByWrapper(VciQueryWrapperForDO queryWrapper) { return boService.selectByQueryWrapper(queryWrapper,BdHomeConfigDO.class); } /** * 根据查询封装器来查询总数 * * @param queryWrapper 查询封装器 * @return 总数 */ @Override public Long countByWrapper(VciQueryWrapperForDO queryWrapper) { return VciBaseUtil.getLong(String.valueOf(boService.countByQueryWrapper(queryWrapper,BdHomeConfigDO.class))); } }