package com.gkhy.safePlatform.specialWork.service.baseService.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.specialWork.entity.ApprovalRuleStep; import com.gkhy.safePlatform.specialWork.enums.RuleStatusEnum; import com.gkhy.safePlatform.specialWork.enums.RuleStepStatusEnum; import com.gkhy.safePlatform.specialWork.model.query.db.ApprovalRuleStepListDbQuery; import com.gkhy.safePlatform.specialWork.repository.ApprovalRuleStepRepository; import com.gkhy.safePlatform.specialWork.service.baseService.ApprovalRuleStepService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.List; @Service("ApprovalRuleStepService") public class ApprovalRuleStepServiceImpl extends ServiceImpl implements ApprovalRuleStepService { @Autowired private ApprovalRuleStepRepository approvalRuleStepRepository; @Override public int saveOneStep(ApprovalRuleStep step) { step.setStatus(RuleStepStatusEnum.VALID.getCode()); step.setGmtCreate(LocalDateTime.now()); return baseMapper.insert(step); } /** * 更新 */ @Override public int updateOneStep(ApprovalRuleStep step) { step.setGmtModified(LocalDateTime.now()); return baseMapper.updateById(step); } /** * 批量删除 * @param stepIds 主键 * @return */ @Override public int updateStatusByStepIds(List stepIds) { return baseMapper.updateStatusByStepIds(stepIds,RuleStepStatusEnum.ABANDONED.getCode()); } /** * 单挑删除 * @param stepId * @return */ @Override public int updateStatusByStepId(Long stepId) { return baseMapper.updateStatusByStepId(stepId,RuleStepStatusEnum.ABANDONED.getCode()); } /** * 根据规则 ruleIds 删除层级数据 * @param ruleIds 规则ids * @return */ @Override public int updateStatusByRuleIds(List ruleIds) { return baseMapper.updateStatusByRuleIds(ruleIds,RuleStepStatusEnum.ABANDONED.getCode()); } /** * 根据规则 ruleId 删除层级数据 * @param ruleId 规则id * @return */ @Override public int updateStatusByRuleId(Long ruleId) { return baseMapper.updateStatusByRuleId(ruleId,RuleStepStatusEnum.ABANDONED.getCode()); } /** * 根据规则id获取集合 * @param ruleId * @return */ @Override public List listByRuleId(Long ruleId) { return baseMapper.listByRuleId(ruleId,RuleStepStatusEnum.VALID.getCode()); } /** * 根据规则id获取层级集合id * @param ruleId * @return */ @Override public List listStepIdByRuleId(Long ruleId) { return baseMapper.listStepIdByRuleId(ruleId,RuleStatusEnum.VALID.getCode()); } @Override public List listStep(ApprovalRuleStepListDbQuery query){ query.setStatus(RuleStatusEnum.VALID.getCode()); return baseMapper.listByConditions(query); } @Override public List listStepByNoConditions() { return baseMapper.selectList(new LambdaQueryWrapper() .eq(ApprovalRuleStep::getStatus,RuleStepStatusEnum.VALID.getCode()) ); } @Override public List listApprovalRuleStepByRuleId(Long ruleId) { if (ruleId == null) { throw new BusinessException(ResultCodes.SERVER_PARAM_NULL); } return approvalRuleStepRepository.selectList(new LambdaQueryWrapper() // 规则id .eq(ApprovalRuleStep::getRuleId,ruleId) // 状态 .eq(ApprovalRuleStep::getStatus,RuleStepStatusEnum.VALID.getCode()) ); } /** * 更新一条数据(将pre_step_id置空) */ @Override public int updateStepAndEmptyPreStepId(ApprovalRuleStep step) { return baseMapper.updateStepAndEmptyPreStepId(step); } @Override public int saveStepList(List saveStepList) { return baseMapper.saveStepList( saveStepList); } /** * 批量更新 * @param updateStepList * @return */ @Override public int updateBatchStep(List updateStepList) { return baseMapper.updateBatchStep(updateStepList); } }