| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.njuzr.eaibackend.service.impl;
- import com.baomidou.mybatisplus.core.toolkit.StringUtils;
- import com.njuzr.eaibackend.dto.CourseDTO;
- import com.njuzr.eaibackend.exception.MyException;
- import com.njuzr.eaibackend.mapper.CourseMapper;
- import com.njuzr.eaibackend.po.Course;
- import com.njuzr.eaibackend.service.CourseService;
- import com.njuzr.eaibackend.utils.ConvertUtil;
- import com.njuzr.eaibackend.utils.ModelMapperUtil;
- import com.njuzr.eaibackend.vo.CourseVO;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.http.HttpStatus;
- import org.springframework.stereotype.Service;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author: Leonezhurui
- * @Date: 2024/3/5 - 22:09
- * @Package: EAI-Backend
- */
- @Slf4j
- @Service
- public class CourseServiceImpl implements CourseService {
- private final CourseMapper courseMapper;
- @Autowired
- public CourseServiceImpl(CourseMapper courseMapper) {
- this.courseMapper = courseMapper;
- }
- @Override
- public CourseVO createCourse(CourseDTO courseDTO) {
- log.info("解析CourseDTO:"+courseDTO.toString());
- // 类型转换
- Course targetCourse = convertToPO(courseDTO);
- targetCourse.setCreateTime(new Date());
- log.info("类型转换后的targetCourse"+targetCourse);
- // 插入数据库
- int status = courseMapper.insert(targetCourse);
- if (status == 0) {
- log.error("创建课程失败,数据库插入错误!");
- throw new MyException(HttpStatus.INTERNAL_SERVER_ERROR.value(), HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase()+":"+"创建课程错误");
- }
- return convertToVO(targetCourse);
- }
- @Override
- public CourseVO findByCourseId(Long courseId) {
- Course res = courseMapper.selectById(courseId);
- return convertToVO(res);
- }
- /**
- * 将DTO转换成PO
- * @param courseDTO
- * @return
- */
- private Course convertToPO(CourseDTO courseDTO) {
- Course course = new Course();
- BeanUtils.copyProperties(courseDTO, course);
- course.setTeacherIds(ConvertUtil.listToString(courseDTO.getTeacherIds()));
- if (courseDTO.getCourseImages() != null)
- course.setCourseImages(ConvertUtil.listToString(courseDTO.getCourseImages()));
- return course;
- }
- /**
- * 将PO转换成VO
- * @param course
- * @return
- */
- private CourseVO convertToVO(Course course) {
- CourseVO res = new CourseVO();
- BeanUtils.copyProperties(course, res);
- res.setTeacherIds(ConvertUtil.stringToList(course.getTeacherIds(), Long::valueOf));
- if (course.getCourseImages() != null)
- res.setCourseImages(ConvertUtil.stringToList(course.getCourseImages(), String::valueOf));
- return res;
- }
- }
|