package com.cloudroam.service.impl;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
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.cloudroam.common.LocalUser;
import com.cloudroam.common.enumeration.DeletedEnum;
import com.cloudroam.dto.supplier.CreateOrUpdateSupplierCompanyDTO;
import com.cloudroam.dto.supplier.QuerySupplerCompanyDTO;
import com.cloudroam.mapper.SupplierCompanyInfoMapperCustom;
import com.cloudroam.model.CompanyInfoDO;
import com.cloudroam.model.SupplierCompanyInfoDO;
import com.cloudroam.mapper.SupplierCompanyInfoMapper;
import com.cloudroam.model.UserDO;
import com.cloudroam.service.SupplierCompanyInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author generator@TaoJie
* @since 2024-07-16
*/
@Service
public class SupplierCompanyInfoServiceImpl extends ServiceImpl implements SupplierCompanyInfoService {
@Autowired
private SupplierCompanyInfoMapperCustom supplierCompanyInfoMapperCustom;
@Override
public boolean createSupplierCompanyInfo(CreateOrUpdateSupplierCompanyDTO validator) {
UserDO user = LocalUser.getLocalUser();
SupplierCompanyInfoDO supplierCompanyInfoDO=new SupplierCompanyInfoDO();
BeanUtils.copyProperties(validator,supplierCompanyInfoDO);
supplierCompanyInfoDO.setId(IdUtil.simpleUUID());
supplierCompanyInfoDO.setCreateTime(new Date());
supplierCompanyInfoDO.setCreateUserId(String.valueOf(user.getId()));
supplierCompanyInfoDO.setCreateUserName(user.getNickname());
supplierCompanyInfoDO.setUpdateTime(new Date());
supplierCompanyInfoDO.setUpdateUserId(String.valueOf(user.getId()));
supplierCompanyInfoDO.setUpdateUserName(user.getNickname());
supplierCompanyInfoDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
return baseMapper.insert(supplierCompanyInfoDO)>0;
}
@Override
public boolean updateSupplierCompanyInfo(CreateOrUpdateSupplierCompanyDTO validator) {
UserDO user = LocalUser.getLocalUser();
SupplierCompanyInfoDO supplierCompanyInfoDO=new SupplierCompanyInfoDO();
BeanUtils.copyProperties(validator,supplierCompanyInfoDO);
supplierCompanyInfoDO.setUpdateTime(new Date());
supplierCompanyInfoDO.setUpdateUserId(String.valueOf(user.getId()));
supplierCompanyInfoDO.setUpdateUserName(user.getNickname());
supplierCompanyInfoDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
return baseMapper.updateById(supplierCompanyInfoDO)>0;
}
@Override
public boolean removeByIdLogic(String id) {
UserDO user = LocalUser.getLocalUser();
SupplierCompanyInfoDO supplierCompanyInfoDO=new SupplierCompanyInfoDO();
supplierCompanyInfoDO.setId(id);
supplierCompanyInfoDO.setIsDeleted(DeletedEnum.DELETED_YES.getCode());
supplierCompanyInfoDO.setDeleteTime(new Date());
supplierCompanyInfoDO.setDeleteUserId(String.valueOf(user.getId()));
supplierCompanyInfoDO.setDeleteUserName(user.getNickname());
return baseMapper.updateById(supplierCompanyInfoDO)>0;
}
@Override
public IPage getSupplierCompanyPage(QuerySupplerCompanyDTO dto) {
Page page=new Page(dto.getPage(),dto.getCount());
return supplierCompanyInfoMapperCustom.getSupplierCompanyInfoPage(page,dto.getKeyword());
}
@Override
public List getSupplierCompanyList(QuerySupplerCompanyDTO dto) {
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("is_deleted", DeletedEnum.DELETED_NO.getCode());
if(StrUtil.isNotBlank(dto.getShortName())){
wrapper.like("short_name",dto.getShortName());
}
if(StrUtil.isNotBlank(dto.getName())){
wrapper.like("name",dto.getName());
}
if(StrUtil.isNotBlank(dto.getAddress())){
wrapper.like("address",dto.getAddress());
}
return baseMapper.selectList(wrapper);
}
}