courseObjectivesFList);
}
diff --git a/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java b/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java
index 98d2b90..1222d1a 100644
--- a/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java
@@ -3,6 +3,8 @@ package com.teaching.backend.mapper.courses;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.teaching.backend.model.entity.courses.ObjectiveContentKnow;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -13,4 +15,5 @@ import com.teaching.backend.model.entity.courses.ObjectiveContentKnow;
*/
public interface ObjectiveContentKnowMapper extends BaseMapper {
+ void insertBatchSomeColumn(List objectiveContentKnowList);
}
diff --git a/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java b/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java
index ea9cb28..b6042f9 100644
--- a/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java
@@ -1,8 +1,11 @@
package com.teaching.backend.mapper.courses;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.teaching.backend.model.entity.courses.ObjectiveContentKnow;
import com.teaching.backend.model.entity.courses.StudentCourses;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -13,4 +16,5 @@ import com.teaching.backend.model.entity.courses.StudentCourses;
*/
public interface StudentCoursesMapper extends BaseMapper {
+ void insertBatchSomeColumn(List studentCoursesList);
}
diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java
index af4498b..c2f056d 100644
--- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java
@@ -2,8 +2,19 @@ package com.teaching.backend.mapper.umsAdmin;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.teaching.backend.model.entity.umsAdmin.UmsAdmin;
+import com.teaching.backend.model.entity.umsAdmin.UmsRole;
+import com.teaching.backend.model.entity.umsAdmin.UmsTeacher;
+import com.teaching.backend.model.vo.umsAdmin.UmsStudentVO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UmsAdminMapper extends BaseMapper {
+
+ boolean updateUserInformation(UmsAdmin umsadmin);
+
+ UmsRole getByIdRoleInfo(String id);
+
+ UmsTeacher getByIdTeacher(String id);
+
+ UmsStudentVO getByIdStudent(String id);
}
diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java
index 402bcbf..a077cba 100644
--- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java
@@ -15,10 +15,10 @@ import java.util.List;
*/
@Mapper
public interface UmsAdminRoleRelationMapper extends BaseMapper {
-// /**
-// * 批量插入用户角色关系
-// */
-// int insertList(@Param("list") List adminRoleRelationList);
+ /**
+ * 插入用户角色关系
+ */
+ boolean insert(@Param("adminId") Long adminId, @Param("roleId") Long roleId);
/**
* 获取用于所有角色
diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java
index 18cf8e3..146dfab 100644
--- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java
@@ -12,5 +12,6 @@ import com.teaching.backend.model.entity.umsAdmin.UmsStudent;
* @since 2024-06-12
*/
public interface UmsStudentMapper extends BaseMapper {
+ boolean updateStudentInfo(UmsStudent umsStudent);
}
diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java
index 357ede7..acbf47d 100644
--- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java
+++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java
@@ -12,5 +12,6 @@ import com.teaching.backend.model.entity.umsAdmin.UmsTeacher;
* @since 2024-06-12
*/
public interface UmsTeacherMapper extends BaseMapper {
+ boolean updateTeacherInfo(UmsTeacher umsTeacher);
}
diff --git a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java
index 64c3277..ed35d48 100644
--- a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java
+++ b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java
@@ -18,7 +18,7 @@ public class ResourceFavourAddRequest implements Serializable {
/**
* 知识点 id
*/
- private String resourceId;
+ private Integer resourceId;
/**
* user id
diff --git a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java
new file mode 100644
index 0000000..2d894b7
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java
@@ -0,0 +1,28 @@
+package com.teaching.backend.model.dto.favour.resourceFavour;
+
+import com.teaching.backend.common.PageRequest;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 资源收藏请求
+ */
+@Data
+public class ResourceFavourQueryRequest extends PageRequest implements Serializable {
+
+ /**
+ * 用户 id
+ */
+ private String userId;
+
+ /**
+ * type
+ */
+ private Integer type;
+
+
+
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java b/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java
new file mode 100644
index 0000000..812fe34
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java
@@ -0,0 +1,121 @@
+package com.teaching.backend.model.dto.umsAdmin;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author zjh
+ * @since 2024-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class UmsStudentAndTeacherDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Integer id;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 民族
+ */
+ private String nationality;
+
+ /**
+ * 学号
+ */
+ private String number;
+
+ /**
+ * 生日
+ */
+ private LocalDateTime birthday;
+
+ /**
+ * 手机号
+ */
+ private String phone;
+
+ /**
+ * 院系
+ */
+ private String faculty;
+
+ /**
+ * 专业
+ */
+ private String major;
+
+ /**
+ * 入学年份
+ */
+ private LocalDate yearAge;
+
+ /**
+ * 班级
+ */
+ private String className;
+
+ /**
+ * 专业
+ */
+ private String profession;
+
+ /**
+ * 学历
+ */
+ private String education;
+
+ /**
+ * 学位
+ */
+ private String degree;
+
+ /**
+ * 职称
+ */
+ private String professionalTitle;
+
+ /**
+ * 手机号
+ */
+ private String emergencyContact;
+
+ /**
+ * 参加工作时间
+ */
+ private LocalDateTime joinWorkTime;
+
+ /**
+ * 政治面貌
+ */
+ private String politicalStatus;
+
+ /**
+ * role_id
+ */
+ private Integer roleId;
+}
diff --git a/src/main/java/com/teaching/backend/model/entity/FileTable.java b/src/main/java/com/teaching/backend/model/entity/CourseResources.java
similarity index 59%
rename from src/main/java/com/teaching/backend/model/entity/FileTable.java
rename to src/main/java/com/teaching/backend/model/entity/CourseResources.java
index c33d09a..40809da 100644
--- a/src/main/java/com/teaching/backend/model/entity/FileTable.java
+++ b/src/main/java/com/teaching/backend/model/entity/CourseResources.java
@@ -1,5 +1,7 @@
package com.teaching.backend.model.entity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -21,12 +23,14 @@ import java.util.stream.Stream;
@ToString
@NoArgsConstructor
@AllArgsConstructor
-@TableName("filetable")
-public class FileTable {
+@TableName("Resource")
+public class CourseResources {
+ @TableId(value = "id", type = IdType.AUTO)
private int id;
- private String courseId;
- private String fileName;
- private String filePath;
-
+ private String name;
+ private int type;
+ private int status;
+ private String tags;
+ private String path;
}
diff --git a/src/main/java/com/teaching/backend/model/entity/User.java b/src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java
similarity index 57%
rename from src/main/java/com/teaching/backend/model/entity/User.java
rename to src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java
index 3aa2e7b..e8d9cad 100644
--- a/src/main/java/com/teaching/backend/model/entity/User.java
+++ b/src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java
@@ -6,21 +6,24 @@ import lombok.NoArgsConstructor;
import lombok.ToString;
/**
- * ClassName: User
+ * ClassName: ResourcesRelationship
* Package: com.teaching.backend.model.entity
* Description:
*
* @Author 姜钧瀚
- * @Create 2024/6/3 17:42
+ * @Create 2024/6/12 21:03
* @Version 1.0
*/
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
-public class User {
- private int id;
- private int userid;
- private int bokeid;
- private int type;
+public class ResourceRelationship {
+ private String Id;
+ private String courseid;
+ private String chapterid;
+ private String knowid;
+ private String resourceid;
+
+
}
diff --git a/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java b/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java
index b49a21c..fb91204 100644
--- a/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java
+++ b/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -24,8 +27,13 @@ public class ObjectiveContentKnow implements Serializable {
private static final long serialVersionUID = 1L;
- @TableId(value = "id", type = IdType.ASSIGN_UUID)
- private String id;
+ @ApiModelProperty(value = "雪花算法生成的主键")
+ @JsonFormat(shape = JsonFormat.Shape.STRING)//此句为问题关键相当于吧Long转换为String
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Long id;
+
+// @TableId(value = "id", type = IdType.NONE)
+// private Long id;
/**
* 分项目标或内容 的 id
diff --git a/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java b/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java
index acc0c54..b3125f7 100644
--- a/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java
+++ b/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -24,8 +26,9 @@ public class StudentCourses implements Serializable {
private static final long serialVersionUID = 1L;
- @TableId(value = "id", type = IdType.ASSIGN_UUID)
- private String id;
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ @JsonFormat(shape = JsonFormat.Shape.STRING)//此句为问题关键相当于吧Long转换为String
+ private Long id;
/**
* 学生的username
diff --git a/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java b/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java
index c58f88e..75a188e 100644
--- a/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java
+++ b/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java
@@ -28,7 +28,7 @@ public class SeResourceFavour implements Serializable {
/**
* 创建知识点 id
*/
- private String resourceId;
+ private Integer resourceId;
/**
* 创建用户 id
diff --git a/src/main/java/com/teaching/backend/model/query/CourseQuery.java b/src/main/java/com/teaching/backend/model/query/CourseQuery.java
index d091993..13dbc8b 100644
--- a/src/main/java/com/teaching/backend/model/query/CourseQuery.java
+++ b/src/main/java/com/teaching/backend/model/query/CourseQuery.java
@@ -14,4 +14,16 @@ public class CourseQuery extends PageQuery {
@ApiModelProperty(value = "用户的username",required = true)
private String username;
+
+ @ApiModelProperty("课程任课教师")
+ private String teacher;
+
+ @ApiModelProperty("课程类别")
+ private String category;
+
+ @ApiModelProperty("课程性质")
+ private String nature;
+
+ @ApiModelProperty("课程考核类型")
+ private String assessmenttype;
}
diff --git a/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java b/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java
new file mode 100644
index 0000000..66a317e
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java
@@ -0,0 +1,22 @@
+package com.teaching.backend.model.vo.courses;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(description = "教师具体信息VO实体")
+public class TeacherInfVO {
+
+ /**
+ * 教师username
+ */
+ @ApiModelProperty("教师username")
+ private String username;
+ /**
+ * 课程封面
+ */
+ @ApiModelProperty("教师name")
+ private String name;
+}
diff --git a/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java
new file mode 100644
index 0000000..0c43b64
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java
@@ -0,0 +1,88 @@
+package com.teaching.backend.model.vo.umsAdmin;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author zjh
+ * @since 2024-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("ums_student")
+public class UmsStudentVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Integer id;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 民族
+ */
+ private String nationality;
+
+ /**
+ * 学号
+ */
+ private String number;
+
+ /**
+ * 生日
+ */
+ private LocalDateTime birthday;
+
+ /**
+ * 手机号
+ */
+ private String phone;
+
+ /**
+ * 院系
+ */
+ private String faculty;
+
+ /**
+ * 专业
+ */
+ private String major;
+
+ /**
+ * 入学年份
+ */
+ private LocalDate yearAge;
+
+ /**
+ * 班级
+ */
+ private String className;
+
+ /**
+ * role_id
+ */
+ private Integer roleId;
+
+}
diff --git a/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java
new file mode 100644
index 0000000..cba0af8
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java
@@ -0,0 +1,87 @@
+package com.teaching.backend.model.vo.umsAdmin;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author zjh
+ * @since 2024-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("ums_teacher")
+public class UmsTeacherVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 民族
+ */
+ private String nationality;
+
+ /**
+ * 专业
+ */
+ private String profession;
+
+ /**
+ * 学历
+ */
+ private String education;
+
+ /**
+ * 学位
+ */
+ private String degree;
+
+ /**
+ * 职称
+ */
+ private String professionalTitle;
+
+ /**
+ * 手机号
+ */
+ private String emergencyContact;
+
+ /**
+ * 参加工作时间
+ */
+ private LocalDateTime joinWorkTime;
+
+ /**
+ * 政治面貌
+ */
+ private String politicalStatus;
+
+ /**
+ * role_id
+ */
+ private Integer roleId;
+
+}
diff --git a/src/main/java/com/teaching/backend/service/CourseResourcesService.java b/src/main/java/com/teaching/backend/service/CourseResourcesService.java
new file mode 100644
index 0000000..72a5082
--- /dev/null
+++ b/src/main/java/com/teaching/backend/service/CourseResourcesService.java
@@ -0,0 +1,27 @@
+package com.teaching.backend.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.teaching.backend.model.entity.CourseResources;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * ClassName: FileTableService
+ * Package: com.teaching.backend.service
+ * Description:
+ *
+ * @Author 姜钧瀚
+ * @Create 2024/6/4 11:49
+ * @Version 1.0
+ */
+public interface CourseResourcesService extends IService {
+ void updateFile(Integer type, String fileName, String filePath);
+
+ void download(String id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException;
+
+
+ Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize);
+}
diff --git a/src/main/java/com/teaching/backend/service/FileTableService.java b/src/main/java/com/teaching/backend/service/FileTableService.java
deleted file mode 100644
index f00933f..0000000
--- a/src/main/java/com/teaching/backend/service/FileTableService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.teaching.backend.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.teaching.backend.model.entity.FileTable;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * ClassName: FileTableService
- * Package: com.teaching.backend.service
- * Description:
- *
- * @Author 姜钧瀚
- * @Create 2024/6/4 11:49
- * @Version 1.0
- */
-public interface FileTableService extends IService {
- void updateFile(String courseId, String fileName, String filePath);
-
-
- void download(String courseId, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException;
-}
diff --git a/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java b/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java
new file mode 100644
index 0000000..0ffd16b
--- /dev/null
+++ b/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java
@@ -0,0 +1,17 @@
+package com.teaching.backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.teaching.backend.model.entity.ResourceRelationship;
+
+
+/**
+ * ClassName: ResourcesRelationshipService
+ * Package: com.teaching.backend.service
+ * Description:
+ *
+ * @Author 姜钧瀚
+ * @Create 2024/6/12 21:04
+ * @Version 1.0
+ */
+public interface ResourcesRelationshipService extends IService {
+}
diff --git a/src/main/java/com/teaching/backend/service/UserService.java b/src/main/java/com/teaching/backend/service/UserService.java
deleted file mode 100644
index 13e2052..0000000
--- a/src/main/java/com/teaching/backend/service/UserService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.teaching.backend.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.teaching.backend.model.entity.User;
-
-/**
- * ClassName: UserService
- * Package: com.teaching.backend.service
- * Description:
- *
- * @Author 姜钧瀚
- * @Create 2024/6/3 17:48
- * @Version 1.0
- */
-public interface UserService extends IService {
-}
diff --git a/src/main/java/com/teaching/backend/service/courses/ICoursesService.java b/src/main/java/com/teaching/backend/service/courses/ICoursesService.java
index c69b060..ad37b32 100644
--- a/src/main/java/com/teaching/backend/service/courses/ICoursesService.java
+++ b/src/main/java/com/teaching/backend/service/courses/ICoursesService.java
@@ -36,4 +36,5 @@ public interface ICoursesService extends IService {
void updateCourse(CoursesDTO coursesDTO);
void down(HttpServletResponse response, String id) throws Exception;
+
}
diff --git a/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java b/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java
index c3a75d1..b031659 100644
--- a/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java
+++ b/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java
@@ -14,4 +14,6 @@ import com.teaching.backend.model.entity.courses.ObjectiveContents;
*/
public interface IObjectiveContentsService extends IService {
+
+ String deleteById(String id);
}
diff --git a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java
index 20a763c..943ab25 100644
--- a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java
+++ b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java
@@ -1,12 +1,10 @@
package com.teaching.backend.service.favour;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
-import com.teaching.backend.model.entity.courses.Courses;
+import com.teaching.backend.model.entity.CourseResources;
import com.teaching.backend.model.entity.favour.SeResourceFavour;
-import com.teaching.backend.model.vo.favour.CourseFavourDetailVO;
/**
* @Author:youhang
@@ -22,16 +20,10 @@ public interface SeResourceFavourService extends IService {
* @param userId
* @return
*/
- BaseResponse doResourceFavour(String courseId, String resourceId, String userId);
+ BaseResponse doResourceFavour(String courseId, Integer resourceId, String userId);
- /**
- * 某个用户资源列表全部信息
- *
- * @param page
- * @param queryWrapper
- * @return
- */
- public Page listCourseFavourByPage(Page page, Wrapper queryWrapper);
+
+ public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize);
}
diff --git a/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java
new file mode 100644
index 0000000..50479c6
--- /dev/null
+++ b/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java
@@ -0,0 +1,121 @@
+package com.teaching.backend.service.impl;
+
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.aliyun.oss.model.OSSObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.teaching.backend.mapper.CourseResourcesMapper;
+import com.teaching.backend.model.entity.CourseResources;
+import com.teaching.backend.model.entity.ResourceRelationship;
+import com.teaching.backend.service.CourseResourcesService;
+import com.teaching.backend.service.ResourcesRelationshipService;
+import org.apache.commons.io.FileUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * ClassName: FileTableImpl
+ * Package: com.teaching.backend.service.impl
+ * Description:
+ *
+ * @Author 姜钧瀚
+ * @Create 2024/6/4 11:50
+ * @Version 1.0
+ */
+@Service
+public class CourseResourcesServiceImpl extends ServiceImpl implements CourseResourcesService {
+ @Resource
+ ResourcesRelationshipService resourcesRelationshipService;
+ @Override
+ public void updateFile(Integer type, String fileName, String filePath) {
+
+ CourseResources courseResources = new CourseResources();
+
+ courseResources.setName(fileName);
+ courseResources.setPath(filePath);
+ courseResources.setType(type);
+
+ this.save(courseResources);
+
+ int resourceId=courseResources.getId();
+ System.out.println(resourceId);
+
+ ResourceRelationship resourcesRelationship=new ResourceRelationship();
+
+ resourcesRelationship.setResourceid(String.valueOf(resourceId));
+
+ resourcesRelationshipService.save(resourcesRelationship);
+ }
+
+ @Override
+ public void download(String Id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException {
+
+
+
+ CourseResources courseResources=getById(Id);
+
+
+ System.out.println(courseResources);
+
+
+ // 创建OSS客户端
+ OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+
+ String key = extractKeyFromFullPath(courseResources.getPath());
+ OSSObject object = ossClient.getObject(bucketName, key);
+
+ String fileName = courseResources.getName();
+
+ // 设置保存文件的路径
+ String savePath = path + "/" + fileName;
+
+ // 获取文件的输入流
+ InputStream inputStream = object.getObjectContent();
+
+ // 设置响应头
+ response.setContentType("application/octet-stream");
+ response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+
+ // 创建保存文件
+ File saveFile = new File(savePath);
+
+ // 将文件内容复制到保存文件中
+ FileUtils.copyInputStreamToFile(inputStream, saveFile);
+
+ // 关闭输入流和OSS客户端
+ inputStream.close();
+ ossClient.shutdown();
+ }
+
+ @Override
+ public Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize) {
+ Page pageInfo=new Page<>(page,pageSize);
+
+ LambdaQueryWrapperlambdaQueryWrapper=new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.in(CourseResources::getId,resourceIdList);
+ lambdaQueryWrapper.eq(CourseResources::getType,type);
+
+ return this.page(pageInfo,lambdaQueryWrapper);
+
+ }
+
+
+ private String extractKeyFromFullPath(String filePath) {
+ // 提取存储桶名称
+ String key = filePath.substring(filePath.indexOf("com") + 4, filePath.indexOf("?"));
+ return key;
+ }
+
+}
+
+
+
diff --git a/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java
deleted file mode 100644
index cecf46d..0000000
--- a/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.teaching.backend.service.impl;
-
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.aliyun.oss.model.OSSObject;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.teaching.backend.mapper.FileTableMapper;
-import com.teaching.backend.model.entity.FileTable;
-import com.teaching.backend.service.FileTableService;
-import org.apache.commons.io.FileUtils;
-import org.springframework.stereotype.Service;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * ClassName: FileTableImpl
- * Package: com.teaching.backend.service.impl
- * Description:
- *
- * @Author 姜钧瀚
- * @Create 2024/6/4 11:50
- * @Version 1.0
- */
-@Service
-public class FileTableServiceImpl extends ServiceImpl implements FileTableService {
- @Override
- public void updateFile(String courseId, String fileName, String filePath) {
- System.out.println("执行了service中的方法");
- System.out.println(courseId);
- System.out.println(fileName);
- System.out.println(filePath);
-
- FileTable fileTable = new FileTable();
-
- fileTable.setFileName(fileName);
- fileTable.setFilePath(filePath);
-// fileTable.setCourseId(courseId); // 设置主键值
-//
-// this.save(fileTable); // 使用save方法来添加新的记录
-
- UpdateWrapper fileTableUpdateWrapper = new UpdateWrapper<>();
- fileTableUpdateWrapper.eq("course_id", courseId);
-
- this.update(fileTable, fileTableUpdateWrapper);
-
- }
-
- @Override
- public void download(String courseId, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException {
-
-
- FileTable fileTable = this.getById(courseId);
- System.out.println(fileTable);
-
- // 创建OSS客户端
- OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-
- String key = extractKeyFromFullPath(fileTable.getFilePath());
- OSSObject object = ossClient.getObject(bucketName, key);
-
- String fileName = fileTable.getFileName();
-
- // 设置保存文件的路径
- String savePath = path + "/" + fileName;
-
- // 获取文件的输入流
- InputStream inputStream = object.getObjectContent();
-
- // 设置响应头
- response.setContentType("application/octet-stream");
- response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
-
- // 创建保存文件
- File saveFile = new File(savePath);
-
- // 将文件内容复制到保存文件中
- FileUtils.copyInputStreamToFile(inputStream, saveFile);
-
- // 关闭输入流和OSS客户端
- inputStream.close();
- ossClient.shutdown();
- }
-
- private String extractKeyFromFullPath(String filePath) {
- // 提取存储桶名称
- String key = filePath.substring(filePath.indexOf("com") + 4, filePath.indexOf("?"));
- return key;
- }
-
-}
-
-
-
diff --git a/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java
new file mode 100644
index 0000000..15804b8
--- /dev/null
+++ b/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java
@@ -0,0 +1,21 @@
+package com.teaching.backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.teaching.backend.mapper.ResourcesRelationshipMapper;
+import com.teaching.backend.model.entity.ResourceRelationship;
+import com.teaching.backend.service.ResourcesRelationshipService;
+import org.springframework.stereotype.Service;
+
+/**
+ * ClassName: ResourcesRelationshipServiceImpl
+ * Package: com.teaching.backend.service.impl
+ * Description:
+ *
+ * @Author 姜钧瀚
+ * @Create 2024/6/12 21:05
+ * @Version 1.0
+ */
+@Service
+public class ResourcesRelationshipServiceImpl extends ServiceImpl implements ResourcesRelationshipService {
+
+}
diff --git a/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java
deleted file mode 100644
index 507883c..0000000
--- a/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.teaching.backend.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.teaching.backend.mapper.UserMapper;
-import com.teaching.backend.model.entity.User;
-import com.teaching.backend.service.UserService;
-import org.springframework.stereotype.Service;
-
-/**
- * ClassName: UserServiceImpl
- * Package: com.teaching.backend.service.impl
- * Description:
- *
- * @Author 姜钧瀚
- * @Create 2024/6/3 17:48
- * @Version 1.0
- */
-@Service
-public class UserServiceImpl extends ServiceImpl implements UserService {
-
-
-
-
-}
diff --git a/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java
index 88c4816..a1d58f4 100644
--- a/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java
@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.teaching.backend.common.ErrorCode;
import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CourseObjectivesMapper;
+import com.teaching.backend.mapper.courses.ObjectiveContentKnowMapper;
import com.teaching.backend.mapper.courses.ObjectiveContentsMapper;
import com.teaching.backend.model.dto.courses.CourseObjectivesDTO;
import com.teaching.backend.model.entity.courses.CourseObjectives;
+import com.teaching.backend.model.entity.courses.ObjectiveContentKnow;
import com.teaching.backend.model.entity.courses.ObjectiveContents;
import com.teaching.backend.model.vo.courses.CourseObjectivesTreeVO;
import com.teaching.backend.service.courses.ICourseObjectivesService;
@@ -39,6 +41,8 @@ public class CourseObjectivesServiceImpl extends ServiceImpl()
+ .eq(ObjectiveContentKnow::getObjectiveOrContent, id));
+ if(count > CourseCode.KNOWS_EXIT.getValue()){
+ throw new BusinessException(ErrorCode.KNOWS_EXIT);
+ }
String pid = courseObjectives.getPid();
if (type.equals(CourseCode.SI_ZHENG_TYPE.getValue())){
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
diff --git a/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java
index 23bf545..f5157b6 100644
--- a/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java
@@ -3,25 +3,22 @@ package com.teaching.backend.service.impl.courses;
import cn.afterturn.easypoi.word.WordExportUtil;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.teaching.backend.common.ErrorCode;
import com.teaching.backend.exception.BusinessException;
-import com.teaching.backend.mapper.courses.CourseObjectivesMapper;
-import com.teaching.backend.mapper.courses.CoursesMapper;
-import com.teaching.backend.mapper.courses.ObjectiveContentsMapper;
-import com.teaching.backend.mapper.courses.ObjectivesTypeMapper;
+import com.teaching.backend.mapper.courses.*;
import com.teaching.backend.mapper.umsAdmin.UmsAdminMapper;
+import com.teaching.backend.mapper.umsAdmin.UmsAdminRoleRelationMapper;
import com.teaching.backend.mapper.umsAdmin.UmsTeacherMapper;
import com.teaching.backend.model.dto.courses.CoursesDTO;
import com.teaching.backend.model.dto.courses.PageDTO;
-import com.teaching.backend.model.entity.courses.CourseObjectives;
-import com.teaching.backend.model.entity.courses.Courses;
-import com.teaching.backend.model.entity.courses.ObjectiveContents;
-import com.teaching.backend.model.entity.courses.ObjectivesType;
+import com.teaching.backend.model.entity.courses.*;
import com.teaching.backend.model.entity.umsAdmin.UmsAdmin;
+import com.teaching.backend.model.entity.umsAdmin.UmsAdminRoleRelation;
import com.teaching.backend.model.entity.umsAdmin.UmsTeacher;
import com.teaching.backend.model.query.CourseQuery;
import com.teaching.backend.model.vo.courses.CourseObjectivesTreeVO;
@@ -38,6 +35,7 @@ import org.springframework.util.ResourceUtils;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -53,6 +51,9 @@ import java.util.stream.Collectors;
@Service
public class CoursesServiceImpl extends ServiceImpl implements ICoursesService {
+ @Autowired
+ private CourseObjectivesServiceImpl objectivesService;
+
@Autowired
CoursesMapper coursesMapper;
@@ -66,6 +67,10 @@ public class CoursesServiceImpl extends ServiceImpl impl
UmsAdminMapper umsAdminMapper;
@Autowired
UmsTeacherMapper umsTeacherMapper;
+ @Autowired
+ UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+ @Autowired
+ StudentCoursesMapper studentCoursesMapper;
@Override
@@ -73,12 +78,15 @@ public class CoursesServiceImpl extends ServiceImpl impl
public String saveCourseWithObjective(CoursesDTO coursesDTO) {
String teacher = coursesDTO.getTeacher();
if (teacher == null || teacher.equals("")) {
- throw new BusinessException(ErrorCode.TEACHER_NOT_EXIT);
+ throw new BusinessException(ErrorCode.USERNAME_NOT_EXIT);
}
Courses courses = new Courses();
+ String courseId = UUID.randomUUID().toString().replace("-", "");
+
CourseObjectives courseObjectives = new CourseObjectives();
BeanUtils.copyProperties(coursesDTO, courses);
courses.setCreateTime(LocalDateTime.now());
+ courses.setId(courseId);
String code = coursesDTO.getCode();
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code", code);
@@ -86,24 +94,27 @@ public class CoursesServiceImpl extends ServiceImpl impl
if (count == 0) {
int insert = coursesMapper.insert(courses);
if (insert > 0) {
- Courses coursesNew = coursesMapper.selectOne(queryWrapper);
- courseObjectives.setCourseId(coursesNew.getId());
+ Courses coursesNew = coursesMapper.selectById(courseId);
+ courseObjectives.setCourseId(courseId);
courseObjectives.setName(coursesNew.getName() + "课程总体目标");
int insertTotal = courseObjectivesMapper.insert(courseObjectives);
if (insertTotal>0){
CourseObjectives courseTotalObjectives = courseObjectivesMapper.selectOne
- (new LambdaQueryWrapper().eq(CourseObjectives::getCourseId, coursesNew.getId()));
+ (new LambdaQueryWrapper().eq(CourseObjectives::getCourseId, courseId));
String courseTotalObjectivesId = courseTotalObjectives.getId();
List objectivesTypes = objectivesTypeMapper.selectList(new LambdaQueryWrapper());
+ ArrayList courseObjectivesFList = new ArrayList<>();
+ CourseObjectives courseObjectivesF = null;
for (ObjectivesType objectivesType : objectivesTypes) {
Integer typeId = objectivesType.getId();
String typeName = objectivesType.getTypeName();
- CourseObjectives courseObjectivesF = new CourseObjectives();
+ courseObjectivesF = new CourseObjectives();
courseObjectivesF.setType(typeId);
courseObjectivesF.setName(typeName);
courseObjectivesF.setPid(courseTotalObjectivesId);
- courseObjectivesMapper.insert(courseObjectivesF);
+ courseObjectivesFList.add(courseObjectivesF);
}
+ courseObjectivesMapper.insertBatch(courseObjectivesFList);
courseTotalObjectives.setHasChild(1);
courseObjectivesMapper.updateById(courseTotalObjectives);
}
@@ -118,44 +129,91 @@ public class CoursesServiceImpl extends ServiceImpl impl
@Override
public PageDTO queryCourses(CourseQuery courseQuery) {
String username = courseQuery.getUsername();
- if (username==null || username.equals("")){
- throw new BusinessException(ErrorCode.TEACHER_NOT_EXIT);
+ if (username == null || username.isEmpty()) {
+ throw new BusinessException(ErrorCode.USERNAME_NOT_EXIT);
}
- //要搜索的课程名字
- String name = courseQuery.getName();
- // 1.1构建分页条件
+
+ UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper()
+ .eq(UmsAdmin::getUsername, username));
+ UmsAdminRoleRelation umsAdminRoleRelation = umsAdminRoleRelationMapper.selectOne(new LambdaQueryWrapper()
+ .eq(UmsAdminRoleRelation::getAdminId, umsAdmin.getId()));
+
+ int roleId = Math.toIntExact(umsAdminRoleRelation.getRoleId());
+ PageDTO coursesVOPageDTO;
+
+ switch (roleId) {
+ case 1:
+ coursesVOPageDTO = queryForTeacher(courseQuery, username);
+ break;
+ case 2:
+ coursesVOPageDTO = queryForStudent(courseQuery, username);
+ break;
+ case 3:
+ coursesVOPageDTO = queryForAdmin(courseQuery);
+ break;
+ default:
+ throw new BusinessException(ErrorCode.INVALID_ROLE);
+ }
+
+ populateTeacherNames(coursesVOPageDTO.getList());
+ return coursesVOPageDTO;
+ }
+
+ private PageDTO queryForTeacher(CourseQuery courseQuery, String username) {
Page page = courseQuery.toMpPageDefaultSortByCreateTime();
- // 2.分页查询
Page p = lambdaQuery()
- .like(name != null, Courses::getName, name)
-// .eq(Courses::getTeacher,teacherId)
-// .apply("JSON_CONTAINS(teacher, JSON_QUOTE({0}))", teacherId)
+ .like(courseQuery.getName() != null, Courses::getName, courseQuery.getName())
.apply("FIND_IN_SET({0}, teacher)", username)
.page(page);
- PageDTO coursesVOPageDTO = PageDTO.of(p, CoursesVO.class);
- List pageDTOList = coursesVOPageDTO.getList();
- List teachers = null;
+ return PageDTO.of(p, CoursesVO.class);
+ }
+
+ private PageDTO queryForStudent(CourseQuery courseQuery, String username) {
+ List studentCourses = studentCoursesMapper.selectList(new LambdaQueryWrapper()
+ .eq(StudentCourses::getStudent, username));
+ List coursesList = studentCourses.stream()
+ .map(StudentCourses::getCourse)
+ .collect(Collectors.toList());
+
+ Page page = courseQuery.toMpPageDefaultSortByCreateTime();
+ Page p = lambdaQuery()
+ .like(courseQuery.getName() != null, Courses::getName, courseQuery.getName())
+ .in(Courses::getId, coursesList)
+ .page(page);
+ return PageDTO.of(p, CoursesVO.class);
+ }
+
+ private PageDTO queryForAdmin(CourseQuery courseQuery) {
+ Page page = courseQuery.toMpPageDefaultSortByCreateTime();
+ Page p = lambdaQuery()
+ .like(courseQuery.getName() != null && !courseQuery.getName().isEmpty(), Courses::getName, courseQuery.getName())
+ .eq(courseQuery.getCategory() != null && !courseQuery.getCategory().isEmpty(), Courses::getCategory, courseQuery.getCategory())
+ .eq(courseQuery.getNature() != null && !courseQuery.getNature().isEmpty(), Courses::getNature, courseQuery.getNature())
+ .eq(courseQuery.getAssessmenttype() != null &&!courseQuery.getAssessmenttype().isEmpty(), Courses::getAssessmenttype, courseQuery.getAssessmenttype())
+ .apply(courseQuery.getTeacher() != null && !courseQuery.getTeacher().isEmpty(), "FIND_IN_SET({0}, teacher)", courseQuery.getTeacher())
+ .page(page);
+ return PageDTO.of(p, CoursesVO.class);
+ }
- for (CoursesVO coursesVO : pageDTOList) {
+ private void populateTeacherNames(List courseList) {
+ for (CoursesVO coursesVO : courseList) {
List teacherNameList = new ArrayList<>();
- String teacherIds = coursesVO.getTeacher();
- teachers = new ArrayList<>(Arrays.asList(teacherIds.split(",")));
- for (String teacher : teachers) {
- UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper().
- eq(UmsAdmin::getUsername, teacher));
- if (umsAdmin==null){
+ String[] teacherIds = coursesVO.getTeacher().split(",");
+ for (String teacherId : teacherIds) {
+ UmsAdmin umsAdminTea = umsAdminMapper.selectOne(new LambdaQueryWrapper()
+ .eq(UmsAdmin::getUsername, teacherId));
+ if (umsAdminTea == null) {
throw new BusinessException(ErrorCode.OPERATION_ERROR);
}
- Long adminId = umsAdmin.getId();
UmsTeacher umsTeacher = umsTeacherMapper.selectOne(new LambdaQueryWrapper()
- .eq(UmsTeacher::getUserId, adminId));
+ .eq(UmsTeacher::getUserId, umsAdminTea.getId()));
teacherNameList.add(umsTeacher.getName());
}
coursesVO.setTeacher(String.join(",", teacherNameList));
}
- return coursesVOPageDTO;
}
+
@Override
public void deleteBatchByIds(String id) {
if(id==null){
@@ -267,15 +325,70 @@ public class CoursesServiceImpl extends ServiceImpl impl
//查询课程通过课程id查--课程简介
Courses courses = this.getById(id);
System.out.println("课程:"+courses);
- Map params = new HashMap();
- params.put("name",courses.getName());
- params.put("code",courses.getCode());
- params.put("nature",courses.getNature());
- params.put("credit",courses.getCredit());
- params.put("classhour",courses.getClasshours());
- params.put("description",courses.getDescription());
+ //准备数据
+ String course_name = courses.getName();
+ String course_code = courses.getCode();
+ String course_nature = courses.getNature();
+ BigDecimal course_credit = courses.getCredit();
+ Integer course_classhour = courses.getClasshours();
+ String course_description = courses.getDescription();
+
//查询课程目标
+ List courseObjectivesTreeVO = objectivesService.queryCourseObjectivesTree(id);
+ System.out.println("课程目标:"+courseObjectivesTreeVO);
+ //准备数据
+ //总目标
+ StringBuilder overall_goal = new StringBuilder();
+ for (ObjectiveContents content : courseObjectivesTreeVO.get(0).getContents()) {
+ overall_goal.append(content.getContent());
+ }
+ System.out.println(overall_goal);
+
+ //分项目标
+ //知识目标
+ StringBuilder knowledge_goals = new StringBuilder();
+ StringBuilder political_goals = new StringBuilder();
+ StringBuilder value_goals = new StringBuilder();
+ for (int i = 0; i < courseObjectivesTreeVO.get(0).getCourseObjectivesTrees().size(); i++){
+ CourseObjectivesTreeVO content = courseObjectivesTreeVO.get(0).getCourseObjectivesTrees().get(i);
+ //知识目标
+ if (i == 0){
+ for (ObjectiveContents c : content.getContents()) {
+ knowledge_goals.append(c.getContent()).append("\n");
+ }
+ }
+ //思政目标
+ if (i == 1){
+ for (ObjectiveContents c : content.getContents()) {
+ political_goals.append(c.getContent()).append("\n");
+ }
+ }
+ //价值目标
+ if (i == 2){
+ for (ObjectiveContents c : content.getContents()) {
+ value_goals.append(c.getContent()).append("\n");
+ }
+ }
+ }
+ System.out.println("知识目标:"+knowledge_goals);
+ System.out.println("思政目标:"+political_goals);
+ System.out.println("价值目标:"+value_goals);
+
+ Map params = new HashMap();
+ params.put("course_name",course_name);
+ params.put("course_code",course_code);
+ params.put("course_nature",course_nature);
+ params.put("course_credit",course_credit);
+ params.put("course_classhour",course_classhour);
+ params.put("course_description",course_description);
+
+ //课程目标
+ params.put("overall_goal", overall_goal);
+ params.put("knowledge_goals", knowledge_goals);
+ params.put("political_goals", political_goals);
+ params.put("value_goals", value_goals);
+
//根据模板+数据 导出文档
XWPFDocument xwpfDocument = WordExportUtil.exportWord07(templatePath.getPath(), params);
diff --git a/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java
index 6b42b66..3f1f99f 100644
--- a/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java
@@ -1,5 +1,6 @@
package com.teaching.backend.service.impl.courses;
+import cn.hutool.core.lang.generator.SnowflakeGenerator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.teaching.backend.common.ErrorCode;
@@ -26,6 +27,7 @@ import java.sql.SQLIntegrityConstraintViolationException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import java.util.stream.Collectors;
/**
@@ -49,6 +51,8 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl knowIds = new ArrayList<>(Arrays.asList(knows.split(",")));
- ObjectiveContentKnow objectiveContentKnow = null;
+ List objectiveContentKnowList = new ArrayList<>();
+ for (String knowId : knowIds) {
+ ObjectiveContentKnow objectiveContentKnow = new ObjectiveContentKnow();
+// objectiveContentKnow.setId(snowflakeGenerator.next());
+ objectiveContentKnow.setObjectiveOrContent(objectiveOrContent);
+ objectiveContentKnow.setKnow(knowId);
+ objectiveContentKnowList.add(objectiveContentKnow);
+ }
+
try {
- for (String knowId : knowIds) {
- objectiveContentKnow = new ObjectiveContentKnow();
- objectiveContentKnow.setObjectiveOrContent(objectiveOrContent);
- objectiveContentKnow.setKnow(knowId);
- objectiveContentKnowMapper.insert(objectiveContentKnow);
- }
+ objectiveContentKnowMapper.insertBatchSomeColumn(objectiveContentKnowList);
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException(ErrorCode.OBJECTIVE_OR_CONTENT_EXIT);
}
+
return "添加成功";
}
@@ -118,7 +126,7 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl {
BigDecimal contentPercentage = calculatePercentage(contentKnowVO.getKnowsTime(), classhours);
contentKnowVO.setPersent(contentPercentage + "%");
@@ -161,8 +169,8 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl implements IObjectiveContentsService {
+ @Autowired
+ ObjectiveContentKnowMapper objectiveContentKnowMapper;
+ @Autowired
+ ObjectiveContentsMapper objectiveContentsMapper;
+ @Override
+ public String deleteById(String id) {
+ if (id == null){
+ throw new BusinessException(ErrorCode.CONTENT_NOT_EXIT);
+ }
+ Long count = objectiveContentKnowMapper.selectCount(new LambdaQueryWrapper()
+ .eq(ObjectiveContentKnow::getObjectiveOrContent, id));
+ if(count > CourseCode.KNOWS_EXIT.getValue()){
+ throw new BusinessException(ErrorCode.KNOWS_EXIT);
+ }
+ int delete = objectiveContentsMapper.deleteById(id);
+ return delete>0 ? "删除成功!" : "删除失败!";
+ }
}
diff --git a/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java
index 63e6b64..c975735 100644
--- a/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java
@@ -1,6 +1,7 @@
package com.teaching.backend.service.impl.courses;
+import cn.hutool.core.lang.generator.SnowflakeGenerator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,6 +21,7 @@ import com.teaching.backend.model.entity.umsAdmin.UmsAdmin;
import com.teaching.backend.model.entity.umsAdmin.UmsTeacher;
import com.teaching.backend.model.query.CourseQuery;
import com.teaching.backend.model.vo.courses.CoursesVO;
+import com.teaching.backend.service.courses.ICoursesService;
import com.teaching.backend.service.courses.IStudentCoursesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -49,6 +51,11 @@ public class StudentCoursesServiceImpl extends ServiceImpl coursesIds = new ArrayList<>(Arrays.asList(courses.split(",")));
+ List studentCoursesList = new ArrayList<>();
StudentCourses studentCourses = null;
+
+ for (String course : coursesIds) {
+ studentCourses = new StudentCourses();
+ studentCourses.setStudent(studentId);
+ studentCourses.setCourse(course);
+ studentCoursesList.add(studentCourses);
+ }
try {
- for (String course : coursesIds) {
- studentCourses = new StudentCourses();
- studentCourses.setStudent(studentId);
- studentCourses.setCourse(course);
- studentCoursesMapper.insert(studentCourses);
- }
+ studentCoursesMapper.insertBatchSomeColumn(studentCoursesList);
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException(ErrorCode.OBJECTIVE_OR_CONTENT_EXIT);
@@ -76,10 +86,11 @@ public class StudentCoursesServiceImpl extends ServiceImpl queryCourses(CourseQuery courseQuery) {
String username = courseQuery.getUsername();
- if (username==null || username.equals("")){
+ if (username == null || username.equals("")) {
throw new BusinessException(ErrorCode.STUDENT_NOT_EXIT);
}
List studentCourses = studentCoursesMapper.selectList(new LambdaQueryWrapper()
@@ -99,26 +110,9 @@ public class StudentCoursesServiceImpl extends ServiceImpl p = this.coursesMapper.selectPage(page, queryWrapper);
PageDTO coursesVOPageDTO = PageDTO.of(p, CoursesVO.class);
- List pageDTOList = coursesVOPageDTO.getList();
- List teachers = null;
- for (CoursesVO coursesVO : pageDTOList) {
- List teacherNameList = new ArrayList<>();
- String teacherIds = coursesVO.getTeacher();
- teachers = new ArrayList<>(Arrays.asList(teacherIds.split(",")));
- for (String teacher : teachers) {
- UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper().
- eq(UmsAdmin::getUsername, teacher));
- if (umsAdmin==null){
- throw new BusinessException(ErrorCode.OPERATION_ERROR);
- }
- Long adminId = umsAdmin.getId();
- UmsTeacher umsTeacher = umsTeacherMapper.selectOne(new LambdaQueryWrapper()
- .eq(UmsTeacher::getUserId, adminId));
- teacherNameList.add(umsTeacher.getName());
- }
- coursesVO.setTeacher(String.join(",", teacherNameList));
- }
+// coursesService.populateTeacherNames(coursesVOPageDTO.getList());
+
return coursesVOPageDTO;
}
}
diff --git a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java
index 3d48f55..9b2c2b3 100644
--- a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java
@@ -1,6 +1,7 @@
package com.teaching.backend.service.impl.favour;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.common.ErrorCode;
@@ -8,14 +9,18 @@ import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.favour.SeResourceFavourMapper;
+import com.teaching.backend.model.entity.CourseResources;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeResourceFavour;
+import com.teaching.backend.service.CourseResourcesService;
import com.teaching.backend.service.favour.SeResourceFavourService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Collectors;
/**
@@ -30,8 +35,11 @@ public class SeResourceFavourServiceImpl extends ServiceImpl doResourceFavour(String courseId, String resourceId, String userId) {
+ public BaseResponse doResourceFavour(String courseId, Integer resourceId, String userId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
@@ -76,5 +84,15 @@ public class SeResourceFavourServiceImpl extends ServiceImpl listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize) {
+ QueryWrapper resourceQueryWrapper = new QueryWrapper<>();
+ resourceQueryWrapper.eq("user_id",userId);
+ List ids = this.list(resourceQueryWrapper).stream().map(SeResourceFavour::getResourceId).collect(Collectors.toList());
+ return courseResourcesService.getresourceRecords(type,ids,page,pageSize);
+ }
+
+
+
}
diff --git a/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java b/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java
index 8e90b61..9a9ff4a 100644
--- a/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java
+++ b/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java
@@ -3,9 +3,11 @@ package com.teaching.backend.service.umsAdmin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.model.dto.UmsAdminParam;
import com.teaching.backend.model.dto.UpdateAdminPasswordParam;
+import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO;
import com.teaching.backend.model.entity.umsAdmin.UmsAdmin;
import com.teaching.backend.model.entity.umsAdmin.UmsResource;
import com.teaching.backend.model.entity.umsAdmin.UmsRole;
+import com.teaching.backend.model.vo.courses.TeacherInfVO;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.List;
@@ -76,4 +78,16 @@ public interface UmsAdminService extends IService {
* 手机号登录
*/
String phoneLogin(String phone);
+
+ /**
+ * 获取指定个人信息
+ */
+ Object getByIdPersonalInfo(String id);
+
+ /**
+ * 修改指定个人信息
+ */
+ boolean updatePersonalInfo(UmsStudentAndTeacherDTO umsStudentAndTeacherDTO);
+
+ List getTeacherInfList();
}
diff --git a/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java b/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java
index 0eeb61f..93649da 100644
--- a/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java
+++ b/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java
@@ -4,18 +4,23 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.gson.Gson;
import com.teaching.backend.exception.Asserts;
+import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.exception.LyException;
import com.teaching.backend.mapper.umsAdmin.UmsAdminMapper;
import com.teaching.backend.mapper.umsAdmin.UmsAdminRoleRelationMapper;
+import com.teaching.backend.mapper.umsAdmin.UmsStudentMapper;
+import com.teaching.backend.mapper.umsAdmin.UmsTeacherMapper;
import com.teaching.backend.model.dto.UmsAdminParam;
import com.teaching.backend.model.dto.UpdateAdminPasswordParam;
-import com.teaching.backend.model.entity.umsAdmin.AdminUserDetails;
-import com.teaching.backend.model.entity.umsAdmin.UmsAdmin;
-import com.teaching.backend.model.entity.umsAdmin.UmsResource;
-import com.teaching.backend.model.entity.umsAdmin.UmsRole;
+import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO;
+import com.teaching.backend.model.entity.umsAdmin.*;
+import com.teaching.backend.model.vo.courses.TeacherInfVO;
+import com.teaching.backend.model.vo.umsAdmin.UmsStudentVO;
+import com.teaching.backend.model.vo.umsAdmin.UmsTeacherVO;
import com.teaching.backend.service.umsAdmin.UmsAdminService;
import com.teaching.backend.utils.JwtTokenUtil;
import com.teaching.backend.utils.RegexUtils;
@@ -40,6 +45,7 @@ import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@@ -55,9 +61,11 @@ public class UmsAdminServiceImpl extends ServiceImpl i
@Autowired
private UmsAdminRoleRelationMapper adminRoleRelation;
@Autowired
- private AmqpTemplate amqpTemplate;
+ private UmsStudentMapper umsStudentMapper;
@Autowired
- private StringRedisTemplate redisTemplate;
+ UmsTeacherMapper umsTeacherMapper;
+ @Autowired
+ UmsAdminMapper umsAdminMapper;
@Override
@@ -71,12 +79,22 @@ public class UmsAdminServiceImpl extends ServiceImpl i
.eq(UmsAdmin::getUsername, umsAdmin.getUsername())
.list();
if (umsAdminList.size() > 0) {
- return null;
+ throw new BusinessException(500,"用户已存在");
}
//将密码进行加密操作
String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
umsAdmin.setPassword(encodePassword);
save(umsAdmin);
+
+ //创建学生信息(默认是学生)
+ UmsAdmin byUsername = lambdaQuery().eq(UmsAdmin::getUsername, umsAdmin.getUsername())
+ .one();
+ UmsStudent umsStudent = new UmsStudent();
+ umsStudent.setUserId(Math.toIntExact(byUsername.getId()));
+ umsStudentMapper.insert(umsStudent);
+
+ //分配角色(学生)
+ adminRoleRelation.insert(byUsername.getId(), 2L);
return umsAdmin;
}
@@ -87,10 +105,10 @@ public class UmsAdminServiceImpl extends ServiceImpl i
try {
UserDetails userDetails = loadUserByUsername(username);
if(!passwordEncoder.matches(password,userDetails.getPassword())){
- Asserts.fail("密码不正确");
+ throw new BusinessException(400,"密码错误");
}
if(!userDetails.isEnabled()){
- Asserts.fail("帐号已被禁用");
+ throw new BusinessException(400,"帐号已被禁用");
}
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
@@ -104,7 +122,7 @@ public class UmsAdminServiceImpl extends ServiceImpl i
@Override
public String phoneLogin(String phone) {
if (phone == null){
- return null;
+ throw new BusinessException(400,"手机号为空");
}
String token = null;
//密码需要客户端加密后传递
@@ -112,12 +130,12 @@ public class UmsAdminServiceImpl extends ServiceImpl i
UmsAdmin phoneAdmin = lambdaQuery().eq(UmsAdmin::getPhone, phone)
.one();
if (phoneAdmin == null){
- return null;
+ throw new BusinessException(400,"手机号未注册");
}
UserDetails userDetails = loadUserByUsername(phoneAdmin.getUsername());
if(!userDetails.isEnabled()){
- Asserts.fail("帐号已被禁用");
+ throw new BusinessException(400,"帐号已被禁用");
}
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
@@ -128,15 +146,61 @@ public class UmsAdminServiceImpl extends ServiceImpl i
return token;
}
+ @Override
+ public Object getByIdPersonalInfo(String id) {
+ UmsRole umsRole = umsAdminMapper.getByIdRoleInfo(id);
+ if (umsRole == null){
+ throw new BusinessException(500,"用户未分配角色");
+ }
+ if(umsRole.getStatus()==0){
+ throw new BusinessException(500,"角色被禁用");
+ }
+ if (umsRole.getId() == 1){
+ UmsTeacher teacher = umsAdminMapper.getByIdTeacher(id);
+ UmsTeacherVO umsTeacherVO = new UmsTeacherVO();
+ BeanUtils.copyProperties(teacher,umsTeacherVO);
+ umsTeacherVO.setRoleId(Math.toIntExact(umsRole.getId()));
+ return umsTeacherVO;
+ }else if (umsRole.getId() == 2){
+ UmsStudentVO student = umsAdminMapper.getByIdStudent(id);
+ UmsStudentVO umsStudentVO = new UmsStudentVO();
+ BeanUtils.copyProperties(student,umsStudentVO);
+ umsStudentVO.setRoleId(Math.toIntExact(umsRole.getId()));
+ return umsStudentVO;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean updatePersonalInfo(UmsStudentAndTeacherDTO umsStudentAndTeacherDTO) {
+
+ if (umsStudentAndTeacherDTO.getRoleId() == 1){
+ UmsTeacher umsTeacher = new UmsTeacher();
+ BeanUtils.copyProperties(umsStudentAndTeacherDTO,umsTeacher);
+ System.out.println(umsTeacher);
+ return umsTeacherMapper.updateTeacherInfo(umsTeacher);
+ } else if (umsStudentAndTeacherDTO.getRoleId() == 2) {
+ UmsStudent umsStudent = new UmsStudent();
+ BeanUtils.copyProperties(umsStudentAndTeacherDTO,umsStudent);
+ return umsStudentMapper.updateStudentInfo(umsStudent);
+ }
+ return false;
+ }
+
@Override
public boolean updateUms(UmsAdmin umsadmin) {
- if (umsadmin.getPassword().length() > 0){
- Asserts.fail("修改操作错误1");
+ List adminList = lambdaQuery().eq(UmsAdmin::getUsername, umsadmin.getUsername())
+ .list();
+ if (adminList.size() > 0){
+ throw new BusinessException(400,"用户名已存在");
+ }
+ if (!StrUtil.isEmpty(umsadmin.getPassword())){
+ throw new BusinessException(400,"修改操作错误1");
}
if (umsadmin.getCreateTime() != null){
- Asserts.fail("修改操作错误2");
+ throw new BusinessException(400,"修改操作错误2");
}
- return updateById(umsadmin);
+ return umsAdminMapper.updateUserInformation(umsadmin);
}
@Override
@@ -144,17 +208,17 @@ public class UmsAdminServiceImpl extends ServiceImpl i
if(StrUtil.isEmpty(param.getUsername())
||StrUtil.isEmpty(param.getOldPassword())
||StrUtil.isEmpty(param.getNewPassword())){
- return -1;
+ throw new BusinessException(400,"修改密码操作错误");
}
List adminList = lambdaQuery()
.eq(UmsAdmin::getUsername, param.getUsername())
.list();
if(CollUtil.isEmpty(adminList)){
- return -2;
+ throw new BusinessException(400,"用户名不存在");
}
UmsAdmin umsAdmin = adminList.get(0);
if(!passwordEncoder.matches(param.getOldPassword(),umsAdmin.getPassword())){
- return -3;
+ throw new BusinessException(400,"密码重复");
}
umsAdmin.setPassword(passwordEncoder.encode(param.getNewPassword()));
updateById(umsAdmin);
@@ -164,7 +228,7 @@ public class UmsAdminServiceImpl extends ServiceImpl i
@Override
public String sendVerifyCode(String phone) {
if (!RegexUtils.isPhone(phone)) {
- throw new LyException(400, "手机号格式错误");
+ throw new BusinessException(400, "手机号格式错误");
}
// UmsAdmin admin = lambdaQuery()
@@ -199,8 +263,6 @@ public class UmsAdminServiceImpl extends ServiceImpl i
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
}
-// //存入,redis,存5min
-// this.redisTemplate.opsForValue().set(KEY_PREFIX + phone, code, 5, TimeUnit.MINUTES);
return code;
}
@@ -215,13 +277,23 @@ public class UmsAdminServiceImpl extends ServiceImpl i
.eq(UmsAdmin::getPhone,umsAdminParam.getPhone())
.list();
if (umsAdminList.size() > 0 ) {
- return null;
+ throw new BusinessException(400,"手机号已存在");
}
//将密码进行加密操作
String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
umsAdmin.setUsername(randomUsername());
umsAdmin.setPassword(encodePassword);
save(umsAdmin);
+
+ //创建学生信息(默认是学生)
+ UmsAdmin byUsername = lambdaQuery().eq(UmsAdmin::getPhone, umsAdmin.getPhone())
+ .one();
+ UmsStudent umsStudent = new UmsStudent();
+ umsStudent.setUserId(Math.toIntExact(byUsername.getId()));
+ umsStudentMapper.insert(umsStudent);
+
+ //分配角色(学生)
+ adminRoleRelation.insert(byUsername.getId(), 2L);
return umsAdmin;
}
@@ -280,4 +352,20 @@ public class UmsAdminServiceImpl extends ServiceImpl i
throw new UsernameNotFoundException("用户名或密码错误");
}
+ @Override
+ public List getTeacherInfList() {
+ List umsTeachers = umsTeacherMapper.selectList(new LambdaQueryWrapper());
+ TeacherInfVO teacherInfVO = null;
+ List teacherInfList = new ArrayList<>();;
+ for (UmsTeacher umsTeacher : umsTeachers) {
+ teacherInfVO = new TeacherInfVO();
+ UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper()
+ .eq(UmsAdmin::getId, umsTeacher.getUserId()));
+ teacherInfVO.setName(umsTeacher.getName());
+ teacherInfVO.setUsername(umsAdmin.getUsername());
+ teacherInfList.add(teacherInfVO);
+ }
+ return teacherInfList;
+ }
+
}
diff --git a/src/main/java/com/teaching/backend/utils/CourseCode.java b/src/main/java/com/teaching/backend/utils/CourseCode.java
index 18f50fb..0c9fc7b 100644
--- a/src/main/java/com/teaching/backend/utils/CourseCode.java
+++ b/src/main/java/com/teaching/backend/utils/CourseCode.java
@@ -7,6 +7,8 @@ public enum CourseCode {
CONTENT_EXIT(1, "存在内容"),
SI_ZHENG_TYPE(1, "思政目标类型"),
SI_ZHENG_EXIT(1, "思政目标存在"),
+ KNOWS_EXIT(0, "存在关联的知识点"),
+ TEACHER_ROLE_ID(1, "教师的角色id是1"),
Total_EXIT(0, "课程总目标"),
COURSE_UODATING(1, "课程正在修改中");
diff --git a/src/main/java/com/teaching/backend/utils/WordUtil.java b/src/main/java/com/teaching/backend/utils/WordUtil.java
index 51d84dc..7e275cf 100644
--- a/src/main/java/com/teaching/backend/utils/WordUtil.java
+++ b/src/main/java/com/teaching/backend/utils/WordUtil.java
@@ -7,7 +7,6 @@ import lombok.Data;
import java.io.*;
-import java.net.URLDecoder;
import java.util.Map;
import java.util.Random;
@@ -20,65 +19,53 @@ import java.util.Random;
public class WordUtil {
private Configuration configuration = null;
-
- /*
- * 模板文件存放的目录
- */
private String baseDir;
-
- /*
- * 模板文件名称
- */
private String templateFile;
-
- /*
- * word生成的输出目录
- */
private String outputDir;
+ private InputStream templateInputStream; // 模板文件输入流
- public WordUtil(){
+ public WordUtil() {
configuration = new Configuration();
configuration.setDefaultEncoding("UTF-8");
}
- /*
- * 转换成word
- */
- public String createWord(Map dataMap){
+ public void setTemplateInputStream(InputStream templateStream) {
+ this.templateInputStream = templateStream;
+ }
- configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径
+ public String createWord(Map dataMap) {
+ configuration.setClassForTemplateLoading(this.getClass(), "");
Template t = null;
-
try {
- //得到模板文件
- configuration.setDirectoryForTemplateLoading(new File(baseDir));
- t = configuration.getTemplate(templateFile);
+ t = new Template(templateFile, new InputStreamReader(templateInputStream, "UTF-8"), configuration);
} catch (IOException e) {
e.printStackTrace();
}
- //随机生成
- Random random=new Random();
-
- File outFile = new File(outputDir+ random.nextInt(200) + ".docx"); //导出文件
-
+ Random random = new Random();
+ File outFile = new File(outputDir + random.nextInt(200) + ".docx");
Writer out = null;
+
try {
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- try {
- t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件
+
+ t.process(dataMap, out);
+
return outFile.getPath();
- } catch (TemplateException e) {
- e.printStackTrace();
- } catch (IOException e) {
+
+ } catch (TemplateException | IOException e) {
e.printStackTrace();
+ } finally {
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
+
return "文档生成失败";
}
-
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/teaching/backend/utils/textceshi.java b/src/main/java/com/teaching/backend/utils/textceshi.java
new file mode 100644
index 0000000..e69de29
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 27c1ff9..2e0abe0 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -2,4 +2,4 @@ aliyun.oss.endpoint=oss-cn-wuhan-lr.aliyuncs.com
aliyun.oss.accessKeyId=LTAI5tFkdu3y5WddxbjgaG2F
aliyun.oss.accessKeySecret=1xUchxUTlmUBoTV5JQIrKsVjSkmsLF
aliyun.oss.bucketName=ceshi132132
-
+filename=123.ftl
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 9a96929..80e93a1 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -3,32 +3,36 @@ server:
spring:
application:
name: teaching-backend
+ servlet:
+ multipart:
+ max-file-size: 10MB
+ max-request-size: 10MB
mvc:
pathmatch:
matching-strategy: ant_path_matcher
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/teaching_db
- username: root
- password: root
+ url: jdbc:mysql://rm-bp189rd5595301145do.mysql.rds.aliyuncs.com:3306/teaching_db
+ username: root123
+ password: Zjh@111111
mybatis:
configuration:
map-underscore-to-camel-case: true
mapper-locations:
- classpath:mapper/*.xml
- classpath*:com/**/mapper/*.xml
-# 自定义jwt key
+
jwt:
- tokenHeader: Authorization #JWT存储的请求头
- secret: mySecret #JWT加解密使用的密钥
- expiration: 604800 #JWT的超期限时间(60*60*24)一天
- tokenHead: Bearer #JWT负载中拿到开头
+ tokenHeader: Authorization
+ secret: mySecret
+ expiration: 604800
+ tokenHead: Bearer
knife4j:
enable: true
openapi:
- title: 用户管理接口文档
- description: "用户管理接口文档"
+ title: 111
+ description: "123"
concat: zjh
version: v1.0.0
group:
@@ -39,7 +43,7 @@ knife4j:
- com.teaching.backend.controller
secure:
ignored:
- urls: #安全路径白名单
+ urls:
#- /swagger-ui/
- /**
# - /swagger-resources/**
diff --git a/src/main/resources/mapper/CourseObjectivesMapper.xml b/src/main/resources/mapper/CourseObjectivesMapper.xml
index 1204030..91dd5a0 100644
--- a/src/main/resources/mapper/CourseObjectivesMapper.xml
+++ b/src/main/resources/mapper/CourseObjectivesMapper.xml
@@ -12,4 +12,13 @@
select * from t1
order by t1.pid
+
+
+ INSERT INTO course_objectives (id, type, name, pid)
+ VALUES
+
+ (#{item.id}, #{item.type}, #{item.name},#{item.pid})
+
+
+
diff --git a/src/main/resources/mapper/ObjectiveContentKnowMapper.xml b/src/main/resources/mapper/ObjectiveContentKnowMapper.xml
index b764958..9ae17ca 100644
--- a/src/main/resources/mapper/ObjectiveContentKnowMapper.xml
+++ b/src/main/resources/mapper/ObjectiveContentKnowMapper.xml
@@ -2,4 +2,12 @@
+
+ INSERT INTO objective_content_know (objective_or_content, know)
+ VALUES
+
+ (#{item.objectiveOrContent}, #{item.know})
+
+
+
diff --git a/src/main/resources/mapper/StudentCoursesMapper.xml b/src/main/resources/mapper/StudentCoursesMapper.xml
index 6b5568e..dfd2bba 100644
--- a/src/main/resources/mapper/StudentCoursesMapper.xml
+++ b/src/main/resources/mapper/StudentCoursesMapper.xml
@@ -2,4 +2,11 @@
+
+ INSERT INTO student_courses (student, course)
+ VALUES
+
+ (#{item.student}, #{item.course})
+
+
diff --git a/src/main/resources/mapper/UmsAdminMapper.xml b/src/main/resources/mapper/UmsAdminMapper.xml
new file mode 100644
index 0000000..b1f7b5c
--- /dev/null
+++ b/src/main/resources/mapper/UmsAdminMapper.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+ update ums_admin
+
+
+ username = #{username,jdbcType=VARCHAR},
+
+
+ password = #{password},
+
+
+ phone = #{phone,jdbcType=VARCHAR},
+
+
+ nick_name = #{nickName,jdbcType=VARCHAR},
+
+
+ icon = #{icon,jdbcType=VARCHAR},
+
+
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+
+
+ status = #{status,jdbcType=INTEGER},
+
+
+ where id = #{id,jdbcType=BIGINT}
+
+
+
+
+
diff --git a/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml b/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml
index b09f07c..1c49f99 100644
--- a/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml
+++ b/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml
@@ -1,14 +1,10 @@
-
-
-
-
-
-
-
-
+
+ INSERT INTO ums_admin_role_relation (admin_id, role_id) VALUES (#{adminId,jdbcType=BIGINT},
+ #{roleId,jdbcType=BIGINT})
+