QuYueTing 1 месяц назад
Родитель
Сommit
75687b89d6

+ 20 - 15
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/controller/CourseInfoController.java

@@ -1,30 +1,24 @@
 package com.management.platform.controller;
 
-
 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.management.platform.entity.CourseInfo;
-import com.management.platform.entity.User;
+import com.management.platform.entity.CourseType;
 import com.management.platform.entity.dto.CourseInfoDto;
+import com.management.platform.mapper.CourseTypeMapper;
 import com.management.platform.service.CourseInfoService;
 import com.management.platform.service.UserService;
 import com.management.platform.util.HttpRespMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.HashMap;
-import java.util.UUID;
+import java.util.List;
 
 /**
  * <p>
@@ -44,6 +38,8 @@ public class CourseInfoController {
 
     @Resource
     private CourseInfoService courseInfoService ;
+    @Autowired
+    private CourseTypeMapper courseTypeMapper;
 
 
     /**
@@ -55,11 +51,11 @@ public class CourseInfoController {
     @RequestMapping(value="/saveOrUpdate")
     public HttpRespMsg saveOrUpdate(CourseInfo courseInfo, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("Token");
-        User user = userService.getById(token);
+//        String token = request.getHeader("Token");
+//        User user = userService.getById(token);
         //新增
         if (courseInfo.getId() == null) {
-            courseInfo.setCompanyId(user.getCompanyId());
+//            courseInfo.setCompanyId(user.getCompanyId());
             courseInfoService.save(courseInfo);
         }
         //修改
@@ -103,16 +99,25 @@ public class CourseInfoController {
     public HttpRespMsg list(CourseInfoDto courseInfoDto) {
         HttpRespMsg msg = new HttpRespMsg();
         QueryWrapper<CourseInfo> wrapper = new QueryWrapper<>();
+        List<CourseType> courseTypeList = courseTypeMapper.selectList(new QueryWrapper<CourseType>());
         if(StringUtils.isNotEmpty(courseInfoDto.getCourseName())){
             wrapper.like("course_name", courseInfoDto.getCourseName());
         }
-        if (StringUtils.isNotEmpty(courseInfoDto.getCourseName())){
+        if (StringUtils.isNotEmpty(courseInfoDto.getCourseInstructor())){
             wrapper.like("course_instructor", courseInfoDto.getCourseInstructor());
         }
         if(courseInfoDto.getCourseType()!=null){
-            wrapper.eq("course_type", courseInfoDto.getCourseType());
+            wrapper.eq("course_type_id", courseInfoDto.getCourseType());
         }
         IPage<CourseInfo> page = courseInfoService.page(new Page<CourseInfo>(courseInfoDto.getPage(), courseInfoDto.getSize()), wrapper);
+        //设置每条数据的courseTypeName
+        for (CourseInfo courseInfo : page.getRecords()) {
+            for (CourseType courseType : courseTypeList) {
+                if (courseInfo.getCourseTypeId().equals(courseType.getId())) {
+                    courseInfo.setCourseTypeName(courseType.getTypeName());
+                }
+            }
+        }
         HashMap<String, Object> map = new HashMap<>();
         map.put("records", page.getRecords());
         map.put("total", page.getTotal());

+ 52 - 1
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/controller/CourseTypeController.java

@@ -9,13 +9,20 @@ import com.management.platform.service.CourseInfoService;
 import com.management.platform.service.CourseTypeService;
 import com.management.platform.util.HttpRespMsg;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.List;
+import java.util.UUID;
 
 /**
  * <p>
@@ -28,6 +35,11 @@ import java.util.List;
 @RestController
 @RequestMapping("/course-type")
 public class CourseTypeController {
+    @Value(value = "${upload.path}")
+    private String path;
+
+    @Value(value = "${logging.path}")
+    private String logPath;
     @Resource
     private CourseTypeService courseTypeService;
 
@@ -83,7 +95,7 @@ public class CourseTypeController {
         }
     }
 
-    @RequestMapping(value="/typeList")
+    @RequestMapping(value="/list")
     public HttpRespMsg typeList() {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         List<CourseType> courseTypeList = courseTypeService.list();
@@ -91,5 +103,44 @@ public class CourseTypeController {
         return httpRespMsg;
     }
 
+    @RequestMapping(value="uploadCover")
+    public HttpRespMsg uploadCover(Integer id, MultipartFile coverImage, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+
+        //然后处理文件
+        String fileName = coverImage.getOriginalFilename();
+        String[] split = fileName.split("\\.");
+        String serverName = UUID.randomUUID().toString().replaceAll("-", "") + "."+split[split.length-1];
+
+        //检查目录
+        File dir = new File(path);
+        if (!dir.exists()) {
+            dir.mkdir();
+        }
+        File file = new File(dir, serverName);
+        InputStream inputStream = null;
+        OutputStream outputStream = null;
+        try {
+            inputStream = coverImage.getInputStream();
+            outputStream = new FileOutputStream(file);
+            byte[] buffer = new byte[4096];
+            int temp = 0;
+            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
+                outputStream.write(buffer, 0, temp);
+            }
+            inputStream.close();
+            outputStream.close();
+            //保存封面
+            CourseType courseType = new CourseType();
+            courseType.setId(id);
+            courseType.setCoverImage("/upload/"+serverName);
+            courseTypeService.saveOrUpdate(courseType);
+            msg.data = serverName;
+        } catch (Exception exception) {
+            exception.printStackTrace();
+        }
+        return msg;
+    }
+
 }
 

+ 12 - 12
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/entity/CourseInfo.java

@@ -4,16 +4,12 @@ import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.time.LocalDate;
+import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -21,7 +17,7 @@ import org.springframework.format.annotation.DateTimeFormat;
  * </p>
  *
  * @author Seyason
- * @since 2025-04-14
+ * @since 2025-04-17
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -60,6 +56,12 @@ public class CourseInfo extends Model<CourseInfo> {
     @TableField("course_price")
     private BigDecimal coursePrice;
 
+    /**
+     * 课程时长:单位分钟
+     */
+    @TableField("course_duration")
+    private Integer courseDuration;
+
     /**
      * 课程是否上架 0未上架,1已上架
      */
@@ -88,9 +90,7 @@ public class CourseInfo extends Model<CourseInfo> {
      * 上传日期
      */
     @TableField("create_date")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private LocalDate createDate;
+    private LocalDateTime createDate;
 
     /**
      * 公司id
@@ -105,10 +105,10 @@ public class CourseInfo extends Model<CourseInfo> {
     private Integer courseTypeId;
 
     /**
-     * 附件url
+     * 课程封面url
      */
-    @TableField("attachment_url")
-    private String attachmentUrl;
+    @TableField("cover_image")
+    private String coverImage;
 
     /**
      * 课程url

+ 9 - 2
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/entity/CourseType.java

@@ -1,5 +1,6 @@
 package com.management.platform.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -14,7 +15,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2025-04-14
+ * @since 2025-04-17
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -23,7 +24,7 @@ public class CourseType extends Model<CourseType> {
 
     private static final long serialVersionUID=1L;
 
-    @TableId("id")
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
@@ -32,6 +33,12 @@ public class CourseType extends Model<CourseType> {
     @TableField("type_name")
     private String typeName;
 
+    /**
+     * 课程分类封面图
+     */
+    @TableField("cover_image")
+    private String coverImage;
+
 
     @Override
     protected Serializable pkVal() {

+ 12 - 1
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -1,12 +1,18 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.SysUser;
 import com.management.platform.entity.User;
+import com.management.platform.mapper.SysUserMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MD5Util;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  *  服务实现类
@@ -18,11 +24,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
+    @Resource
+    private SysUserMapper sysUserMapper;
     //登录网页端
     @Override
     public HttpRespMsg loginAdmin(String username, String password) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
-        if ("admin".equals(username) && "admin".equals(password)) {
+        String encodePassword = MD5Util.getPassword(password);
+        SysUser user = sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("username", username).eq("pwd", encodePassword));
+        if (user != null) {
+            httpRespMsg.setData(user);
             return httpRespMsg;
         }else {
             httpRespMsg.setError("账号或密码错误");

+ 1 - 1
fhKeeper/formulahousekeeper/course-manager/src/main/java/com/management/platform/util/MD5Util.java

@@ -22,7 +22,7 @@ public class MD5Util {
     }
 
     public static void main(String[] args) throws ParseException {
-        System.out.println(getPassword("工时管家"));
+        System.out.println(getPassword("000000"));
 
     }
 

+ 3 - 2
fhKeeper/formulahousekeeper/course-manager/src/main/resources/mapper/CourseInfoMapper.xml

@@ -9,6 +9,7 @@
         <result column="course_desc" property="courseDesc" />
         <result column="course_instructor" property="courseInstructor" />
         <result column="course_price" property="coursePrice" />
+        <result column="course_duration" property="courseDuration" />
         <result column="course_status" property="courseStatus" />
         <result column="instructor_type" property="instructorType" />
         <result column="instructor_img" property="instructorImg" />
@@ -16,13 +17,13 @@
         <result column="create_date" property="createDate" />
         <result column="company_id" property="companyId" />
         <result column="course_type_id" property="courseTypeId" />
-        <result column="attachment_url" property="attachmentUrl" />
+        <result column="cover_image" property="coverImage" />
         <result column="course_url" property="courseUrl" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, course_name, course_desc, course_instructor, course_price, course_status, instructor_type, instructor_img, instructor_desc, create_date, company_id, course_type_id, attachment_url, course_url
+        id, course_name, course_desc, course_instructor, course_price, course_duration, course_status, instructor_type, instructor_img, instructor_desc, create_date, company_id, course_type_id, cover_image, course_url
     </sql>
 
 </mapper>

+ 2 - 1
fhKeeper/formulahousekeeper/course-manager/src/main/resources/mapper/CourseTypeMapper.xml

@@ -6,11 +6,12 @@
     <resultMap id="BaseResultMap" type="com.management.platform.entity.CourseType">
         <id column="id" property="id" />
         <result column="type_name" property="typeName" />
+        <result column="cover_image" property="coverImage" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, type_name
+        id, type_name, cover_image
     </sql>
 
 </mapper>