package com.ruoyi.procurementrecord.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.procurementrecord.mapper.ProductDetailsMapper;
|
import com.ruoyi.procurementrecord.pojo.ProductDetails;
|
import com.ruoyi.procurementrecord.service.IProductDetailsService;
|
import lombok.AllArgsConstructor;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
@Service
|
@AllArgsConstructor
|
@Transactional(rollbackFor = Exception.class)
|
public class ProductDetailsServiceImpl extends ServiceImpl<ProductDetailsMapper, ProductDetails> implements IProductDetailsService {
|
|
private final ProductDetailsMapper productDetailsMapper;
|
|
@Override
|
public IPage<ProductDetails> listPage(Page<ProductDetails> page, ProductDetails productDetails) {
|
QueryWrapper<ProductDetails> queryWrapper = new QueryWrapper<>();
|
if (productDetails != null) {
|
if (StringUtils.isNotBlank(productDetails.getProductName())) {
|
queryWrapper.like("product_name", productDetails.getProductName());
|
}
|
}
|
return productDetailsMapper.selectPage(page, queryWrapper);
|
}
|
|
@Override
|
public boolean addOrUpdate(ProductDetails productDetails) {
|
if (productDetails == null) return false;
|
|
LocalDateTime now = LocalDateTime.now();
|
boolean isUpdate = productDetails.getId() != null;
|
|
if (!isUpdate) {
|
// 新增
|
productDetails.setCreateTime(now);
|
return productDetailsMapper.insert(productDetails) > 0;
|
} else {
|
// 更新
|
if (productDetailsMapper.selectById(productDetails.getId()) == null) {
|
return false;
|
}
|
productDetails.setUpdateTime(now);
|
return productDetailsMapper.updateById(productDetails) > 0;
|
}
|
}
|
|
@Override
|
public boolean deleteByIds(List<Long> ids) {
|
return productDetailsMapper.deleteBatchIds(ids) > 0;
|
}
|
}
|