package com.finance.system.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.finance.common.basic.PageDTO;
import com.finance.common.exception.ServiceException;
import com.finance.common.utils.BeanUtils;
import com.finance.common.utils.StringUtils;
import com.finance.system.domain.TbBasicDataCategory;
import com.finance.system.dto.BasicDataCategoryDTO;
import com.finance.system.dto.ShowHideDTO;
import com.finance.system.dto.update.BasicDataCategoryUpdateDTO;
import com.finance.system.mapper.TbBasicDataCategoryMapper;
import com.finance.system.query.BasicDataCategoryQuery;
import com.finance.system.service.TbBasicDataCategoryService;
import com.finance.system.vo.BasicDataCategoryVO;
import org.springframework.stereotype.Service;
import java.util.Objects;
/**
*
* 基础数据分类表 服务实现类
*
*
* @author mitao
* @since 2024-03-13
*/
@Service
public class TbBasicDataCategoryServiceImpl extends ServiceImpl implements TbBasicDataCategoryService {
@Override
public void add(BasicDataCategoryDTO dto) {
TbBasicDataCategory tbBasicDataCategory = BeanUtils.copyBean(dto, TbBasicDataCategory.class);
this.save(tbBasicDataCategory);
}
@Override
public void update(BasicDataCategoryUpdateDTO dto) {
TbBasicDataCategory tbBasicDataCategory = BeanUtils.copyBean(dto, TbBasicDataCategory.class);
this.updateById(tbBasicDataCategory);
}
@Override
public PageDTO queryPage(BasicDataCategoryQuery query) {
Page page = this.lambdaQuery()
.like(StringUtils.isNotEmpty(query.getBasicDataCategoryName()), TbBasicDataCategory::getBasicDataCategoryName, query.getBasicDataCategoryName())
.eq(Objects.nonNull(query.getStatus()), TbBasicDataCategory::getStatus, query.getStatus())
.page(new Page<>(query.getPageNum(), query.getPageSize()));
return PageDTO.of(page,BasicDataCategoryVO.class);
}
@Override
public void showHide(ShowHideDTO dto) {
TbBasicDataCategory basicDataCategory = this.getById(dto.getId());
if (Objects.isNull(basicDataCategory)) {
throw new ServiceException("非法参数");
}
this.lambdaUpdate().set( TbBasicDataCategory::getStatus, dto.getStatus()).eq(TbBasicDataCategory::getId, dto.getId()).update();
}
}