package com.vci.web.dao.impl; import com.vci.constant.FrameWorkBusLangCodeConstant; import com.vci.model.WFWorkflowNodeFavDO; import com.vci.pagemodel.BatchCBO; import com.vci.web.dao.WFWorkflowNodeFavDaoI; import com.vci.web.service.WebBoServiceI; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 流程负责人收藏数据操作层实现类 * * @author: KangDong * @date: Created on 2022/4/29 */ @Repository public class WFWorkflowNodeFavDaoImpl implements WFWorkflowNodeFavDaoI { /** * 业务类型操作的服务 */ @Autowired private WebBoServiceI boService; /** * 使用主键删除 * @param oid 数据主键 * @return 执行结果 */ @Override public BatchCBO deleteByPrimaryKey(String oid) { VciBaseUtil.alertNotNull(oid,"主键"); WFWorkflowNodeFavDO wfWorkflowNodeFavDO = selectByPrimaryKey(oid); return boService.delete(wfWorkflowNodeFavDO); } /** * 添加数据 * @param record 流程负责人收藏数据对象 * @return 执行结果 */ @Override public BatchCBO insert(WFWorkflowNodeFavDO record) { VciBaseUtil.alertNotNull(record,"要添加的数据"); return boService.addSave(record); } /** * 批量添加数据 * @param records 流程负责人收藏数据对象集合 * @return 执行结果数 */ @Override public BatchCBO batchInsert(List records) { VciBaseUtil.alertNotNull(records,"要添加的数据"); BatchCBO batchCBO = boService.batchAddSave(records); return batchCBO; } /** * 根据主键查询 * @param oid 数据主键 * @return 数据对象 */ @Override public WFWorkflowNodeFavDO selectByPrimaryKey(String oid) { VciBaseUtil.alertNotNull(oid,"主键"); WFWorkflowNodeFavDO record = boService.selectByOid(oid, WFWorkflowNodeFavDO.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),WFWorkflowNodeFavDO.class); } /** * 根据主键批量查询对象 * @param oids 对象主键,使用逗号分隔,但是不能超过1000 * @return 业务对象 */ @Override public List selectByPrimaryKeyCollection(Collection oids) { VciBaseUtil.alertNotNull(oids,"主键集合"); return boService.selectByOidCollection(oids,WFWorkflowNodeFavDO.class); } /** * 查询所有分类 * @return 查询结果 */ @Override public List selectAll() { return boService.queryObject(WFWorkflowNodeFavDO.class,null); } /** * 更新对象 * @param record 流程负责人收藏数据对象 * @return 执行结果 */ @Override public BatchCBO updateByPrimaryKey(WFWorkflowNodeFavDO record) { VciBaseUtil.alertNotNull(record,"要修改的对象",record.getOid(),"主键"); return boService.editSave(record); } /** * 批量更新 * @param records 流程负责人收藏数据对象集合 * @return 执行结果行数 */ @Override public BatchCBO batchUpdate(List records) { VciBaseUtil.alertNotNull(records,"要修改的对象"); BatchCBO batchCBO = boService.batchEditSave(records); return batchCBO; } /** * 根据查询条件查询数据 * @param wrapper 查询条件,包括分页,排序 * @return 数据对象列表 */ @Override public List selectByWrapper(VciQueryWrapperForDO wrapper) { return boService.selectByQueryWrapper(wrapper,WFWorkflowNodeFavDO.class); } /** * 根据查询条件来查询总数 * @param wrapper 查询条件 * @return 总数 */ @Override public Long countByWrapper(VciQueryWrapperForDO wrapper) { return VciBaseUtil.getLong(String.valueOf(boService.countByQueryWrapper(wrapper,WFWorkflowNodeFavDO.class))); } /** * 根据主键获取名称 * @param oid 主键 * @return 中文名称 */ @Override public String selectNameByOid(String oid) { return selectByPrimaryKey(oid).getName(); } /** * 批量删除对象 * @param oids 对象的主键集合 * @return 受影响的行数 */ @Override public BatchCBO batchDeleteByOids(Collection oids) { VciBaseUtil.alertNotNull(oids,"主键"); List dos = boService.selectByOidCollection(oids, WFWorkflowNodeFavDO.class); BatchCBO batchCBO = boService.batchDelete(dos); return batchCBO; } /** * 使用名称查询 * @param name 方案的名称 * @param userId 用户名 * @param templateRev 模板的版本 * @param id 模板的主键 * @return 数据对象 */ @Override public WFWorkflowNodeFavDO selectByName(String name, String userId, String id, String templateRev) { VciBaseUtil.alertNotNull(name,"方案名称",userId,"用户名"); Map conditionMap = new HashMap<>(); conditionMap.put("name",name); conditionMap.put("userid",userId); if (StringUtils.isNotBlank(id)){ conditionMap.put("id",id); } if (StringUtils.isNotBlank(templateRev)) { conditionMap.put("wfTemplateRev", templateRev); } List dos = boService.queryObject(WFWorkflowNodeFavDO.class, conditionMap); if (dos.size() == 0){ return null; } return dos.get(0); } }