package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.http.HttpStatus;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.oa.domain.BsRules;
import com.ruoyi.oa.domain.BsTemplate;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.oa.domain.bo.BsManualBo;
import com.ruoyi.oa.domain.vo.BsManualVo;
import com.ruoyi.oa.domain.BsManual;
import com.ruoyi.oa.mapper.BsManualMapper;
import com.ruoyi.oa.service.IBsManualService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 手册管ç†Service业务层处ç†
*
* @author ruoyi
* @date 2022-08-15
*/
@Service
public class BsManualServiceImpl extends ServicePlusImpl<BsManualMapper, BsManual, BsManualVo> implements IBsManualService {
@Override
public BsManualVo queryById(Long id){
return getVoById(id);
}
@Override
public TableDataInfo<BsManualVo> queryPageList(BsManualBo bo) {
PagePlus<BsManual, BsManualVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<BsManualVo> queryList(BsManualBo bo) {
return listVo(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<BsManual> buildQueryWrapper(BsManualBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BsManual> lqw = Wrappers.lambdaQuery();
lqw.like(bo.getManual() != null, BsManual::getManual, bo.getManual());
return lqw;
}
@Override
public Boolean insertByBo(BsManualBo bo) {
List<BsManual> list = baseMapper.selectList(new LambdaQueryWrapper<BsManual>().eq(BsManual::getManual, bo.getManual()));
if (list.size() > 0) {
throw new ServiceException("手册é‡å¤", HttpStatus.HTTP_PARTIAL);
}
// List<BsManual> vList = baseMapper.selectList(new LambdaQueryWrapper<BsManual>().eq(BsManual::getVersionCode, bo.getVersionCode()));
// if (vList.size() > 0) {
// throw new ServiceException("å‘布版本é‡å¤", HttpStatus.HTTP_PARTIAL);
// }
BsManual add = BeanUtil.toBean(bo, BsManual.class);
validEntityBeforeSave(add);
boolean flag = save(add);
if (flag) {
bo.setId(add.getId());
}
return flag;
}
@Override
public Boolean updateByBo(BsManualBo bo) {
List<BsManual> list = baseMapper.selectList(new LambdaQueryWrapper<BsManual>()
.eq(BsManual::getManual, bo.getManual())
.ne(BsManual::getId, bo.getId()));
if (list.size() > 0) {
throw new ServiceException("手册é‡å¤", HttpStatus.HTTP_PARTIAL);
}
// List<BsManual> vList = baseMapper.selectList(new LambdaQueryWrapper<BsManual>()
// .eq(BsManual::getVersionCode, bo.getVersionCode())
// .ne(BsManual::getId, bo.getId()));
// if (vList.size() > 0) {
// throw new ServiceException("å‘布版本é‡å¤", HttpStatus.HTTP_PARTIAL);
// }
BsManual update = BeanUtil.toBean(bo, BsManual.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* ä¿å˜å‰çš„æ•°æ®æ ¡éªŒ
*
* @param entity 实体类数æ®
*/
private void validEntityBeforeSave(BsManual entity){
//TODO åšä¸€äº›æ•°æ®æ ¡éªŒ,如唯一约æŸ
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO åšä¸€äº›ä¸šåŠ¡ä¸Šçš„æ ¡éªŒ,åˆ¤æ–æ˜¯å¦éœ€è¦æ ¡éªŒ
}
return removeByIds(ids);
}
}