package com.example.fms.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.fms.common.model.dto.SystemFileDTO; import com.example.fms.common.model.dto.SystemFileUpdateDTO; import com.example.fms.common.model.vo.SystemFileVO; import com.example.fms.domain.SystemFile; import com.example.fms.exception.XiaoShiException; import com.example.fms.mapper.SystemFileMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * @Author xiexiang * @Date 2023/8/9 */ @Slf4j @Service @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class SystemFileService extends ServiceImpl { /** * 新增系统文件(批量) * * @param systemFileDTOS */ public List add(List systemFileDTOS, Integer sourceId) { //判断传入列表不为空 if (systemFileDTOS != null && systemFileDTOS.size() > 0) { List insertIds = new ArrayList<>(); //遍历传入列表 for (int i = 0; i < systemFileDTOS.size(); i++) { SystemFile systemFile = new SystemFile(); //取集合中的dto对象,并赋值给实体类 SystemFileDTO systemFileDTO = systemFileDTOS.get(i); BeanUtils.copyProperties(systemFileDTO, systemFile); //获取当前登陆人的信息 // PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId()); //给实体类赋值登陆人id // systemFile.setCreateId(personnelVO.getId()); systemFile.setCreateId(1); systemFile.setPType(sourceId); //插入数据 systemFile.insert(); insertIds.add(systemFile.getId()); } return insertIds; } else { throw new XiaoShiException("传入数据不能为空"); } } /** * 更新系统文件(批量) * * @param systemFileUpdateDTOS */ public void update(List systemFileUpdateDTOS) { //判断传入对象不为空 if (systemFileUpdateDTOS != null && systemFileUpdateDTOS.size() > 0) { //遍历传入列表 for (int i = 0; i < systemFileUpdateDTOS.size(); i++) { //取集合中的dto对象,并赋值给实体类 SystemFileUpdateDTO systemFileUpdateDTO = systemFileUpdateDTOS.get(i); SystemFile systemFile = this.getById(systemFileUpdateDTO.getId()); BeanUtils.copyProperties(systemFileUpdateDTO, systemFile); //数据入表 systemFile.updateById(); } } else { throw new XiaoShiException("传入数据不能为空"); } } /** * 查询系统文件 * * @param id * @return */ public SystemFileVO query(Integer id) { //id不为空且id不等于0 if (id != null && id != 0) { SystemFileVO systemFileVO = new SystemFileVO(); SystemFile systemFile = this.getById(id); BeanUtils.copyProperties(systemFile, systemFileVO); return systemFileVO; } else { String mes = "传入id不可以为空"; throw new XiaoShiException(mes); } } }