package com.vci.ubcs.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.system.mapper.ValueRangeMapper; import com.vci.ubcs.system.service.IValueRangeService; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.utils.Func; import com.vci.ubcs.system.entity.ValueRange; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; /** * (PlSysValueRange)表服务实现类 * * @author makejava * @since 2023-03-20 15:23:59 */ @Service public class ValueRangeServiceImpl extends ServiceImpl implements IValueRangeService { @Resource private ValueRangeMapper valueRangeMapper; /** * 全查询 * * @return 查询结果 */ @Override public List queryByAll() { return valueRangeMapper.selectList(null); } /** * 分页查询 * * @param valueRange 筛选条件 * @param pageRequest 分页对象 * @return 查询结果 */ @Override public Page queryByPage(ValueRange valueRange, PageRequest pageRequest) { long total = this.valueRangeMapper.count(valueRange); return new PageImpl<>(this.valueRangeMapper.queryAllByLimit(valueRange, pageRequest), pageRequest, total); } /** * 新增数据 * * @param valueRange 实例对象 * @return 实例对象 */ @Override public boolean submit(ValueRange valueRange) { //判断是否携带id if(Func.isEmpty(valueRange.getId())){ //新增 ValueRange dbValueRange = this.getOne(Wrappers.query().lambda() .eq(ValueRange::getCombinationId,valueRange.getCombinationId()) .eq(ValueRange::getValue, valueRange.getValue())); //同一组合方式下不能出现相同的取值范围 if(!Func.isEmpty(dbValueRange)){ throw new ServiceException("该组合方式下已存在相同取值范围!"); } if(Func.isEmpty(valueRange.getCreateTime())){ valueRange.setCreateTime(new Date()); } if(Func.isEmpty(valueRange.getUpdateTime())){ valueRange.setUpdateTime(new Date()); } boolean temp = saveOrUpdate(valueRange); return temp; }else { if(Func.isEmpty(valueRange.getUpdateTime())){ valueRange.setUpdateTime(new Date()); } CacheUtil.clear(SYS_CACHE, Boolean.FALSE); return saveOrUpdate(valueRange); } } /** * 通过主键删除数据 * * @param ids 主键 * @return 是否成功 */ @Override public boolean deleteByIds(List ids) { boolean tenantTemp = this.removeBatchByIds(ids); return tenantTemp; } /** * 获取取值 * * @return 是否成功 */ @Override public List getByAllString(List combinationIds) { List list = valueRangeMapper.queryByCombinationIds(combinationIds); return list; } }