From 8515b4a431fc02b868b4dcbffff82a1ac2b4959b Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 21 Jan 2022 18:29:57 +0800 Subject: [PATCH] 年前PC适配开发 --- src/main/java/com/subsidy/controller/ClassDictController.java | 2 +- src/main/java/com/subsidy/controller/ClassNoticeController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/controller/ClassTypeDictController.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/controller/CourseFieldMappingController.java | 22 ++++++++++++++++++++++ src/main/java/com/subsidy/controller/FieldDictController.java | 22 ++++++++++++++++++++++ src/main/java/com/subsidy/controller/MemberController.java | 2 +- src/main/java/com/subsidy/dto/classDict/AddClassDTO.java | 6 ++++++ src/main/java/com/subsidy/dto/classDict/ClassTypeDTO.java | 12 ++++++++++++ src/main/java/com/subsidy/dto/member/MyCoursesDTO.java | 4 ---- src/main/java/com/subsidy/mapper/ClassNoticeMapper.java | 18 ++++++++++++++++++ src/main/java/com/subsidy/mapper/ClassTypeDictMapper.java | 18 ++++++++++++++++++ src/main/java/com/subsidy/mapper/CourseFieldMappingMapper.java | 27 +++++++++++++++++++++++++++ src/main/java/com/subsidy/mapper/FieldDictMapper.java | 18 ++++++++++++++++++ src/main/java/com/subsidy/mapper/MemberMapper.java | 8 +++++++- src/main/java/com/subsidy/model/ClassDictDO.java | 16 ++++++++++++++++ src/main/java/com/subsidy/model/ClassNoticeDO.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/model/ClassTypeDictDO.java | 39 +++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/model/CourseFieldMappingDO.java | 33 +++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/model/FieldDictDO.java | 34 ++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/model/OprMemDictDO.java | 10 ++++++++++ src/main/java/com/subsidy/model/VodDictDO.java | 5 +++++ src/main/java/com/subsidy/service/ClassNoticeService.java | 25 +++++++++++++++++++++++++ src/main/java/com/subsidy/service/ClassTypeDictService.java | 27 +++++++++++++++++++++++++++ src/main/java/com/subsidy/service/CourseFieldMappingService.java | 16 ++++++++++++++++ src/main/java/com/subsidy/service/FieldDictService.java | 16 ++++++++++++++++ src/main/java/com/subsidy/service/MemberService.java | 2 +- src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++------ src/main/java/com/subsidy/service/impl/ClassDictServiceImpl.java | 31 ++++++++++++++++++++----------- src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/service/impl/ClassTypeDictServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/service/impl/CourseFieldMappingServiceImpl.java | 20 ++++++++++++++++++++ src/main/java/com/subsidy/service/impl/FieldDictServiceImpl.java | 20 ++++++++++++++++++++ src/main/java/com/subsidy/service/impl/MemberServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++----------------- src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java | 24 +++++++++++++----------- src/main/java/com/subsidy/vo/administer/UserRoleVO.java | 1 + src/main/java/com/subsidy/vo/member/MemberVodVO.java | 4 ++-- src/main/java/com/subsidy/vo/member/MyCoursesVO.java | 18 ++++++++++++++++++ src/main/resources/application.properties | 2 +- src/main/resources/mapper/ClassNoticeMapper.xml | 24 ++++++++++++++++++++++++ src/main/resources/mapper/ClassTypeDictMapper.xml | 23 +++++++++++++++++++++++ src/main/resources/mapper/CourseContentMapper.xml | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ src/main/resources/mapper/CourseFieldMappingMapper.xml | 37 +++++++++++++++++++++++++++++++++++++ src/main/resources/mapper/FieldDictMapper.xml | 22 ++++++++++++++++++++++ src/main/resources/mapper/MemberMapper.xml | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- src/main/resources/mapper/VodPlayHistoryMapper.xml | 4 ++-- src/main/resources/mybatis-plus.properties | 2 +- 46 files changed, 1104 insertions(+), 91 deletions(-) create mode 100644 src/main/java/com/subsidy/controller/ClassNoticeController.java create mode 100644 src/main/java/com/subsidy/controller/ClassTypeDictController.java create mode 100644 src/main/java/com/subsidy/controller/CourseFieldMappingController.java create mode 100644 src/main/java/com/subsidy/controller/FieldDictController.java create mode 100644 src/main/java/com/subsidy/dto/classDict/ClassTypeDTO.java create mode 100644 src/main/java/com/subsidy/mapper/ClassNoticeMapper.java create mode 100644 src/main/java/com/subsidy/mapper/ClassTypeDictMapper.java create mode 100644 src/main/java/com/subsidy/mapper/CourseFieldMappingMapper.java create mode 100644 src/main/java/com/subsidy/mapper/FieldDictMapper.java create mode 100644 src/main/java/com/subsidy/model/ClassNoticeDO.java create mode 100644 src/main/java/com/subsidy/model/ClassTypeDictDO.java create mode 100644 src/main/java/com/subsidy/model/CourseFieldMappingDO.java create mode 100644 src/main/java/com/subsidy/model/FieldDictDO.java create mode 100644 src/main/java/com/subsidy/service/ClassNoticeService.java create mode 100644 src/main/java/com/subsidy/service/ClassTypeDictService.java create mode 100644 src/main/java/com/subsidy/service/CourseFieldMappingService.java create mode 100644 src/main/java/com/subsidy/service/FieldDictService.java create mode 100644 src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java create mode 100644 src/main/java/com/subsidy/service/impl/ClassTypeDictServiceImpl.java create mode 100644 src/main/java/com/subsidy/service/impl/CourseFieldMappingServiceImpl.java create mode 100644 src/main/java/com/subsidy/service/impl/FieldDictServiceImpl.java create mode 100644 src/main/resources/mapper/ClassNoticeMapper.xml create mode 100644 src/main/resources/mapper/ClassTypeDictMapper.xml create mode 100644 src/main/resources/mapper/CourseFieldMappingMapper.xml create mode 100644 src/main/resources/mapper/FieldDictMapper.xml diff --git a/src/main/java/com/subsidy/controller/ClassDictController.java b/src/main/java/com/subsidy/controller/ClassDictController.java index fb31158..e486a7a 100644 --- a/src/main/java/com/subsidy/controller/ClassDictController.java +++ b/src/main/java/com/subsidy/controller/ClassDictController.java @@ -50,7 +50,7 @@ public class ClassDictController { } @PostMapping("addClass") - @ApiOperation("添加课程 userId:登录人id companyId courseId className startDate endDate") + @ApiOperation("添加课程 userId:登录人id companyId courseId classType className startDate endDate memberId [] 班级学员 classNoticeDOS[noticeType isAuto noticeTime]") @LoginRequired(value = {ConstantUtils.ADMINISTER_TERMINATE}) public ResponseVO addClass(@RequestBody AddClassDTO addClassDTO){ return ResponseData.generateCreatedResponse(0,classDictService.addClass(addClassDTO)); diff --git a/src/main/java/com/subsidy/controller/ClassNoticeController.java b/src/main/java/com/subsidy/controller/ClassNoticeController.java new file mode 100644 index 0000000..bbe911f --- /dev/null +++ b/src/main/java/com/subsidy/controller/ClassNoticeController.java @@ -0,0 +1,60 @@ +package com.subsidy.controller; + + +import com.subsidy.common.ResponseData; +import com.subsidy.common.ResponseVO; +import com.subsidy.model.ClassNoticeDO; +import com.subsidy.service.ClassNoticeService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.Api; + +/** + *

+ * 前端控制器 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@RestController +@Api(tags = "") +@RequestMapping("/classNotice") +public class ClassNoticeController { + + @Autowired + private ClassNoticeService classNoticeService; + + @PostMapping("addNotice") + @ApiOperation("新增一个通知 classId noticeType isAuto noticeTime") + public ResponseVO addNotice(@RequestBody ClassNoticeDO classNoticeDO){ + return ResponseData.generateCreatedResponse(0,classNoticeService.addNotice(classNoticeDO)); + } + + @PostMapping("updateNotice") + @ApiOperation("修改一个通知 id noticeType isAuto noticeTime") + public ResponseVO updateNotice(@RequestBody ClassNoticeDO classNoticeDO){ + return ResponseData.generateCreatedResponse(0,classNoticeService.updateNotice(classNoticeDO)); + } + + @PostMapping("deleteNotice") + @ApiOperation("删除一个通知 id") + public ResponseVO deleteNotice(@RequestBody ClassNoticeDO classNoticeDO){ + return ResponseData.generateCreatedResponse(0,classNoticeService.deleteNotice(classNoticeDO)); + } + + @PostMapping("queryClassNotices") + @ApiOperation("查看某个课程的通知提醒 classId 课程id") + public ResponseVO queryClassNotices(ClassNoticeDO classNoticeDO){ + return ResponseData.generateCreatedResponse(0,classNoticeService.queryClassNotices(classNoticeDO)); + } + + + + +} diff --git a/src/main/java/com/subsidy/controller/ClassTypeDictController.java b/src/main/java/com/subsidy/controller/ClassTypeDictController.java new file mode 100644 index 0000000..adaff58 --- /dev/null +++ b/src/main/java/com/subsidy/controller/ClassTypeDictController.java @@ -0,0 +1,58 @@ +package com.subsidy.controller; + + +import com.subsidy.common.ResponseData; +import com.subsidy.common.ResponseVO; +import com.subsidy.dto.classDict.ClassTypeDTO; +import com.subsidy.model.ClassTypeDictDO; +import com.subsidy.service.ClassTypeDictService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.Api; + +/** + *

+ * 班级类型字典表 前端控制器 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@RestController +@Api(tags = "班级类型字典表") +@RequestMapping("/classType") +public class ClassTypeDictController { + + @Autowired + private ClassTypeDictService classTypeDictService; + + @PostMapping("addClassType") + @ApiOperation("添加课程类型 companyId 运营者公司id不传 classType") + public ResponseVO addClassType(@RequestBody ClassTypeDictDO classTypeDictDO){ + return ResponseData.generateCreatedResponse(0,classTypeDictService.addClassType(classTypeDictDO)); + } + + @PostMapping("updateClassType") + @ApiOperation("修改课程类型 id companyId classType") + public ResponseVO updateClassType(@RequestBody ClassTypeDictDO classTypeDictDO){ + return ResponseData.generateCreatedResponse(0,classTypeDictService.updateClassType(classTypeDictDO)); + } + + @PostMapping("deleteClassType") + @ApiOperation("删除课程类型 id") + public ResponseVO deleteClassType(@RequestBody ClassTypeDictDO classTypeDictDO){ + return ResponseData.generateCreatedResponse(0,classTypeDictService.deleteClassType(classTypeDictDO)); + } + + @PostMapping("queryClassTypes") + @ApiOperation("查询某个公司的班级类型 userId 登录人id companyId") + public ResponseVO queryClassTypes(@RequestBody ClassTypeDTO classTypeDTO){ + return ResponseData.generateCreatedResponse(0,classTypeDictService.queryClassTypes(classTypeDTO)); + } + +} diff --git a/src/main/java/com/subsidy/controller/CourseFieldMappingController.java b/src/main/java/com/subsidy/controller/CourseFieldMappingController.java new file mode 100644 index 0000000..830b0a4 --- /dev/null +++ b/src/main/java/com/subsidy/controller/CourseFieldMappingController.java @@ -0,0 +1,22 @@ +package com.subsidy.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.Api; + +/** + *

+ * 前端控制器 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@RestController +@Api(tags = "") +@RequestMapping("/courseField") +public class CourseFieldMappingController { + +} diff --git a/src/main/java/com/subsidy/controller/FieldDictController.java b/src/main/java/com/subsidy/controller/FieldDictController.java new file mode 100644 index 0000000..729e7d3 --- /dev/null +++ b/src/main/java/com/subsidy/controller/FieldDictController.java @@ -0,0 +1,22 @@ +package com.subsidy.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.Api; + +/** + *

+ * 行业字典表 前端控制器 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@RestController +@Api(tags = "行业字典表") +@RequestMapping("/field-dict-do") +public class FieldDictController { + +} diff --git a/src/main/java/com/subsidy/controller/MemberController.java b/src/main/java/com/subsidy/controller/MemberController.java index 2616a63..e3249d6 100644 --- a/src/main/java/com/subsidy/controller/MemberController.java +++ b/src/main/java/com/subsidy/controller/MemberController.java @@ -92,7 +92,7 @@ public class MemberController { } @PostMapping("myCourses") - @ApiOperation("手机端:我的学习--课程 id 学员id status 状态 0:全部 1:进行中 2:待开始 3:已完成 ") + @ApiOperation("手机端:我的学习--课程 memberId 学员id status 状态 0:全部 1:进行中 2:待开始 3:已完成 ") public ResponseVO myCourses(@RequestBody MyCoursesDTO myCoursesDTO){ return ResponseData.generateCreatedResponse(0,memberService.myCourses(myCoursesDTO)); } diff --git a/src/main/java/com/subsidy/dto/classDict/AddClassDTO.java b/src/main/java/com/subsidy/dto/classDict/AddClassDTO.java index 4736d2c..9933f04 100644 --- a/src/main/java/com/subsidy/dto/classDict/AddClassDTO.java +++ b/src/main/java/com/subsidy/dto/classDict/AddClassDTO.java @@ -1,11 +1,17 @@ package com.subsidy.dto.classDict; import com.subsidy.model.ClassDictDO; +import com.subsidy.model.ClassNoticeDO; import lombok.Data; +import java.util.List; + @Data public class AddClassDTO extends ClassDictDO { private Long userId; + private List memberIds; + + private List classNoticeDOS; } diff --git a/src/main/java/com/subsidy/dto/classDict/ClassTypeDTO.java b/src/main/java/com/subsidy/dto/classDict/ClassTypeDTO.java new file mode 100644 index 0000000..25e412c --- /dev/null +++ b/src/main/java/com/subsidy/dto/classDict/ClassTypeDTO.java @@ -0,0 +1,12 @@ +package com.subsidy.dto.classDict; + +import lombok.Data; + +@Data +public class ClassTypeDTO { + + private Long userId; + + private Long companyId; + +} diff --git a/src/main/java/com/subsidy/dto/member/MyCoursesDTO.java b/src/main/java/com/subsidy/dto/member/MyCoursesDTO.java index dfd07b4..40b9523 100644 --- a/src/main/java/com/subsidy/dto/member/MyCoursesDTO.java +++ b/src/main/java/com/subsidy/dto/member/MyCoursesDTO.java @@ -9,8 +9,4 @@ public class MyCoursesDTO { private Integer status; - private Integer pageSize; - - private Integer pageNum; - } diff --git a/src/main/java/com/subsidy/mapper/ClassNoticeMapper.java b/src/main/java/com/subsidy/mapper/ClassNoticeMapper.java new file mode 100644 index 0000000..1c4491a --- /dev/null +++ b/src/main/java/com/subsidy/mapper/ClassNoticeMapper.java @@ -0,0 +1,18 @@ +package com.subsidy.mapper; + +import com.subsidy.model.ClassNoticeDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * Mapper 接口 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ + @Repository +public interface ClassNoticeMapper extends BaseMapper { + +} diff --git a/src/main/java/com/subsidy/mapper/ClassTypeDictMapper.java b/src/main/java/com/subsidy/mapper/ClassTypeDictMapper.java new file mode 100644 index 0000000..80f845c --- /dev/null +++ b/src/main/java/com/subsidy/mapper/ClassTypeDictMapper.java @@ -0,0 +1,18 @@ +package com.subsidy.mapper; + +import com.subsidy.model.ClassTypeDictDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 班级类型字典表 Mapper 接口 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ + @Repository +public interface ClassTypeDictMapper extends BaseMapper { + +} diff --git a/src/main/java/com/subsidy/mapper/CourseFieldMappingMapper.java b/src/main/java/com/subsidy/mapper/CourseFieldMappingMapper.java new file mode 100644 index 0000000..cd24adc --- /dev/null +++ b/src/main/java/com/subsidy/mapper/CourseFieldMappingMapper.java @@ -0,0 +1,27 @@ +package com.subsidy.mapper; + +import com.subsidy.model.CourseFieldMappingDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.subsidy.model.FieldDictDO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@Repository +public interface CourseFieldMappingMapper extends BaseMapper { + + + /** + * 查看某个课程设计的行业 + */ + List courseFields(Long courseId); + +} diff --git a/src/main/java/com/subsidy/mapper/FieldDictMapper.java b/src/main/java/com/subsidy/mapper/FieldDictMapper.java new file mode 100644 index 0000000..356bccf --- /dev/null +++ b/src/main/java/com/subsidy/mapper/FieldDictMapper.java @@ -0,0 +1,18 @@ +package com.subsidy.mapper; + +import com.subsidy.model.FieldDictDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 行业字典表 Mapper 接口 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ + @Repository +public interface FieldDictMapper extends BaseMapper { + +} diff --git a/src/main/java/com/subsidy/mapper/MemberMapper.java b/src/main/java/com/subsidy/mapper/MemberMapper.java index d964d49..3dc662f 100644 --- a/src/main/java/com/subsidy/mapper/MemberMapper.java +++ b/src/main/java/com/subsidy/mapper/MemberMapper.java @@ -7,6 +7,7 @@ import com.subsidy.model.DepartmentDictDO; import com.subsidy.model.MemberDO; import com.subsidy.vo.administer.UserRoleVO; import com.subsidy.vo.member.GetAllVO; +import com.subsidy.vo.member.MyCoursesVO; import com.subsidy.vo.member.StudyPageVO; import org.springframework.stereotype.Repository; @@ -30,11 +31,16 @@ public interface MemberMapper extends BaseMapper { /** - * 查看学生的课程 + * 查看学生的课程[废弃] */ List studyPage(MemberDO memberDO); /** + * 查看学生的课程 + */ + List myCourses(Long memberId,Integer status); + + /** * 查询学生所在部门 */ List getDepartments(Long memberId); diff --git a/src/main/java/com/subsidy/model/ClassDictDO.java b/src/main/java/com/subsidy/model/ClassDictDO.java index ec59e43..f5ab4c6 100644 --- a/src/main/java/com/subsidy/model/ClassDictDO.java +++ b/src/main/java/com/subsidy/model/ClassDictDO.java @@ -48,9 +48,25 @@ public class ClassDictDO extends BaseModel { */ private Long courseId; + /** + * 开始时间 + */ private String startDate; + /** + * 结束时间 + */ private String endDate; + /** + * 是否按照顺序播放 + */ + private Integer isOrder; + + /** + * 是否允许快进 + */ + private Integer isFastPlay; + } diff --git a/src/main/java/com/subsidy/model/ClassNoticeDO.java b/src/main/java/com/subsidy/model/ClassNoticeDO.java new file mode 100644 index 0000000..520016e --- /dev/null +++ b/src/main/java/com/subsidy/model/ClassNoticeDO.java @@ -0,0 +1,50 @@ +package com.subsidy.model; + +import com.subsidy.util.BaseModel; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("class_notice") +public class ClassNoticeDO extends BaseModel { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 课程id + */ + private Long classId; + + /** + * 通知类型 + */ + private String noticeType; + + /** + * 是否自动通知 + */ + private Integer isAuto; + + /** + * 通知时间 + */ + private LocalDateTime noticeTime; + + +} diff --git a/src/main/java/com/subsidy/model/ClassTypeDictDO.java b/src/main/java/com/subsidy/model/ClassTypeDictDO.java new file mode 100644 index 0000000..96fbd9a --- /dev/null +++ b/src/main/java/com/subsidy/model/ClassTypeDictDO.java @@ -0,0 +1,39 @@ +package com.subsidy.model; + +import com.subsidy.util.BaseModel; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 班级类型字典表 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("class_type_dict") +public class ClassTypeDictDO extends BaseModel { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 公司id + */ + private Long companyId; + + /** + * 课程类型 + */ + private String classType; + + +} diff --git a/src/main/java/com/subsidy/model/CourseFieldMappingDO.java b/src/main/java/com/subsidy/model/CourseFieldMappingDO.java new file mode 100644 index 0000000..c05f6b9 --- /dev/null +++ b/src/main/java/com/subsidy/model/CourseFieldMappingDO.java @@ -0,0 +1,33 @@ +package com.subsidy.model; + +import com.subsidy.util.BaseModel; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("course_field_mapping") +public class CourseFieldMappingDO extends BaseModel { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private Long courseId; + + private Long fieldMapping; + + +} diff --git a/src/main/java/com/subsidy/model/FieldDictDO.java b/src/main/java/com/subsidy/model/FieldDictDO.java new file mode 100644 index 0000000..245ed24 --- /dev/null +++ b/src/main/java/com/subsidy/model/FieldDictDO.java @@ -0,0 +1,34 @@ +package com.subsidy.model; + +import com.subsidy.util.BaseModel; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 行业字典表 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("field_dict") +public class FieldDictDO extends BaseModel { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 行业名称 + */ + private String fieldName; + + +} diff --git a/src/main/java/com/subsidy/model/OprMemDictDO.java b/src/main/java/com/subsidy/model/OprMemDictDO.java index 3bbc3a7..1e05c47 100644 --- a/src/main/java/com/subsidy/model/OprMemDictDO.java +++ b/src/main/java/com/subsidy/model/OprMemDictDO.java @@ -26,6 +26,16 @@ public class OprMemDictDO { private Long userId; /** + * 公司id + */ + private Long companyId; + + /** + * 公司名称 + */ + private String companyName; + + /** * 操作类型 */ private String oprType; diff --git a/src/main/java/com/subsidy/model/VodDictDO.java b/src/main/java/com/subsidy/model/VodDictDO.java index 3661321..8f4937c 100644 --- a/src/main/java/com/subsidy/model/VodDictDO.java +++ b/src/main/java/com/subsidy/model/VodDictDO.java @@ -70,4 +70,9 @@ public class VodDictDO extends BaseModel { */ private String coverPage; + /** + * 排序 + */ + private Integer orderNo; + } diff --git a/src/main/java/com/subsidy/service/ClassNoticeService.java b/src/main/java/com/subsidy/service/ClassNoticeService.java new file mode 100644 index 0000000..98d24cf --- /dev/null +++ b/src/main/java/com/subsidy/service/ClassNoticeService.java @@ -0,0 +1,25 @@ +package com.subsidy.service; + +import com.subsidy.model.ClassNoticeDO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +public interface ClassNoticeService extends IService { + + String addNotice(ClassNoticeDO classNoticeDO); + + String updateNotice(ClassNoticeDO classNoticeDO); + + String deleteNotice(ClassNoticeDO classNoticeDO); + + List queryClassNotices(ClassNoticeDO classNoticeDO); +} diff --git a/src/main/java/com/subsidy/service/ClassTypeDictService.java b/src/main/java/com/subsidy/service/ClassTypeDictService.java new file mode 100644 index 0000000..caf118d --- /dev/null +++ b/src/main/java/com/subsidy/service/ClassTypeDictService.java @@ -0,0 +1,27 @@ +package com.subsidy.service; + +import com.subsidy.dto.classDict.ClassTypeDTO; +import com.subsidy.model.ClassTypeDictDO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 班级类型字典表 服务类 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +public interface ClassTypeDictService extends IService { + + String addClassType(ClassTypeDictDO classTypeDictDO); + + String updateClassType(ClassTypeDictDO classTypeDictDO); + + String deleteClassType(ClassTypeDictDO classTypeDictDO); + + List queryClassTypes(ClassTypeDTO classTypeDTO); + +} diff --git a/src/main/java/com/subsidy/service/CourseFieldMappingService.java b/src/main/java/com/subsidy/service/CourseFieldMappingService.java new file mode 100644 index 0000000..e581a28 --- /dev/null +++ b/src/main/java/com/subsidy/service/CourseFieldMappingService.java @@ -0,0 +1,16 @@ +package com.subsidy.service; + +import com.subsidy.model.CourseFieldMappingDO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +public interface CourseFieldMappingService extends IService { + +} diff --git a/src/main/java/com/subsidy/service/FieldDictService.java b/src/main/java/com/subsidy/service/FieldDictService.java new file mode 100644 index 0000000..7771935 --- /dev/null +++ b/src/main/java/com/subsidy/service/FieldDictService.java @@ -0,0 +1,16 @@ +package com.subsidy.service; + +import com.subsidy.model.FieldDictDO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 行业字典表 服务类 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +public interface FieldDictService extends IService { + +} diff --git a/src/main/java/com/subsidy/service/MemberService.java b/src/main/java/com/subsidy/service/MemberService.java index 73586d4..662c197 100644 --- a/src/main/java/com/subsidy/service/MemberService.java +++ b/src/main/java/com/subsidy/service/MemberService.java @@ -50,7 +50,7 @@ public interface MemberService extends IService { MemberStudyPageVO studyPage(MemberDO memberDO); - IPage myCourses(MyCoursesDTO myCoursesDTO); + List myCourses(MyCoursesDTO myCoursesDTO); ContentVodNewVO contentVod(ContentMemberDTO contentVodDTO); diff --git a/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java b/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java index 0ea2229..073e41d 100644 --- a/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java @@ -6,7 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.subsidy.common.RedisPrefixConstant; import com.subsidy.common.exception.HttpException; -import com.subsidy.dto.administer.*; +import com.subsidy.dto.administer.ClassDailyInfoDTO; +import com.subsidy.dto.administer.ClassDetailDTO; +import com.subsidy.dto.administer.ClassVodDailyInfoDTO; +import com.subsidy.dto.administer.ClassVodInfoDTO; +import com.subsidy.dto.administer.MemberStudyLogDTO; +import com.subsidy.dto.administer.OperatorsDTO; import com.subsidy.dto.member.ImportMemberDTO; import com.subsidy.mapper.AdministerMapper; import com.subsidy.mapper.AnsweringQuestionMapper; @@ -18,11 +23,24 @@ import com.subsidy.mapper.DepartmentDictMapper; import com.subsidy.mapper.ExerciseDoneResultMapper; import com.subsidy.mapper.MemberDepartmentMappingMapper; import com.subsidy.mapper.MemberMapper; -import com.subsidy.mapper.OprAdmDictMapper; import com.subsidy.mapper.RoleAdministerMappingMapper; import com.subsidy.mapper.VodDictMapper; import com.subsidy.mapper.VodPlayHistoryMapper; -import com.subsidy.model.*; +import com.subsidy.model.AdministerDO; +import com.subsidy.model.AnsweringQuestionDO; +import com.subsidy.model.ClassDictDO; +import com.subsidy.model.ClassMemberMappingDO; +import com.subsidy.model.CompanyDictDO; +import com.subsidy.model.CourseDictDO; +import com.subsidy.model.DepartmentDictDO; +import com.subsidy.model.ExerciseDoneHistoryDO; +import com.subsidy.model.ExerciseDoneResultDO; +import com.subsidy.model.MemberDO; +import com.subsidy.model.MemberDepartmentMappingDO; +import com.subsidy.model.RoleAdministerMappingDO; +import com.subsidy.model.SignInRecordDO; +import com.subsidy.model.VodDictDO; +import com.subsidy.model.VodPlayHistoryDO; import com.subsidy.mongodb.OprAdmDictDO; import com.subsidy.service.AdministerService; import com.subsidy.util.ConstantUtils; @@ -33,7 +51,18 @@ import com.subsidy.util.Localstorage; import com.subsidy.util.MathUtil; import com.subsidy.util.RedisUtil; import com.subsidy.util.excel.ExcelUtil; -import com.subsidy.vo.administer.*; +import com.subsidy.vo.administer.AdministerPermissionVO; +import com.subsidy.vo.administer.ClassDailyInfoVO; +import com.subsidy.vo.administer.ClassSummaryVO; +import com.subsidy.vo.administer.ClassVodDailyInfoItemVO; +import com.subsidy.vo.administer.ClassVodInfoVO; +import com.subsidy.vo.administer.ExerciseTestVO; +import com.subsidy.vo.administer.GetMemberPapersVO; +import com.subsidy.vo.administer.GetPaperDetailVO; +import com.subsidy.vo.administer.LoginVO; +import com.subsidy.vo.administer.MemberStudyLogVO; +import com.subsidy.vo.administer.OperatorsVO; +import com.subsidy.vo.administer.PermissionsVO; import com.subsidy.vo.classdict.ClassDetailVO; import com.subsidy.vo.done.GetMaxScoreVO; import com.subsidy.vo.done.TestScoreInfoVO; @@ -42,7 +71,6 @@ import com.subsidy.vo.sign.AnswerRecordVO; import com.subsidy.vo.vod.ClassVodCompleteInfoVO; import com.subsidy.vo.vod.DayInfoItemVO; import com.subsidy.vo.vod.GetMemberStudyInfoVO; -import net.bytebuddy.description.modifier.SynchronizationState; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; @@ -89,7 +117,13 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; diff --git a/src/main/java/com/subsidy/service/impl/ClassDictServiceImpl.java b/src/main/java/com/subsidy/service/impl/ClassDictServiceImpl.java index b1caad6..dfb6d5d 100644 --- a/src/main/java/com/subsidy/service/impl/ClassDictServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/ClassDictServiceImpl.java @@ -7,11 +7,13 @@ import com.subsidy.dto.classDict.AddMemberToClassDTO; import com.subsidy.dto.classDict.GetSpareMembersDTO; import com.subsidy.mapper.ClassDictMapper; import com.subsidy.mapper.ClassMemberMappingMapper; +import com.subsidy.mapper.ClassNoticeMapper; import com.subsidy.mapper.CompanyDictMapper; import com.subsidy.mapper.CourseDictMapper; import com.subsidy.mapper.RoleAdministerMappingMapper; import com.subsidy.model.ClassDictDO; import com.subsidy.model.ClassMemberMappingDO; +import com.subsidy.model.ClassNoticeDO; import com.subsidy.model.CompanyDictDO; import com.subsidy.model.CourseDictDO; import com.subsidy.model.MemberDO; @@ -43,14 +45,14 @@ public class ClassDictServiceImpl extends ServiceImpl getAllClasses(ClassDictDO classDictDO) { return this.baseMapper.getAllClasses(classDictDO); @@ -68,18 +70,25 @@ public class ClassDictServiceImpl extends ServiceImpl() - .lambda() - .eq(RoleAdministerMappingDO::getAdministerId,addClassDTO.getUserId()) - .eq(RoleAdministerMappingDO::getRoleId,1)); - + //新建一个班级 ClassDictDO classDictDO = new ClassDictDO(); BeanUtils.copyProperties(addClassDTO,classDictDO); + this.baseMapper.insert(classDictDO); - classDictDO.setClassType(count>0?"平台支持":"企业自建"); + //班级里添加成员 + List memberIds = addClassDTO.getMemberIds(); + for (Long lg : memberIds){ + ClassMemberMappingDO classMemberMappingDO = new ClassMemberMappingDO(); + classMemberMappingDO.setMemberId(lg); + classMemberMappingDO.setClassId(classDictDO.getId()); + } - this.baseMapper.insert(classDictDO); + //添加通知 + List classNoticeDOS = addClassDTO.getClassNoticeDOS(); + for (ClassNoticeDO classNoticeDO :classNoticeDOS){ + classNoticeDO.setClassId(classDictDO.getId()); + classNoticeMapper.insert(classNoticeDO); + } return ConstantUtils.ADD_SUCCESS; } diff --git a/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java b/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java new file mode 100644 index 0000000..9391ae3 --- /dev/null +++ b/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java @@ -0,0 +1,45 @@ +package com.subsidy.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.subsidy.model.ClassNoticeDO; +import com.subsidy.mapper.ClassNoticeMapper; +import com.subsidy.service.ClassNoticeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.subsidy.util.ConstantUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@Service +public class ClassNoticeServiceImpl extends ServiceImpl implements ClassNoticeService { + + public String addNotice(ClassNoticeDO classNoticeDO) { + this.baseMapper.insert(classNoticeDO); + return ConstantUtils.ADD_SUCCESS; + } + + public String updateNotice(ClassNoticeDO classNoticeDO) { + this.baseMapper.updateById(classNoticeDO); + return ConstantUtils.SET_SUCCESS; + } + + public String deleteNotice(ClassNoticeDO classNoticeDO) { + this.baseMapper.deleteById(classNoticeDO.getId()); + return ConstantUtils.DELETE_SUCCESS; + } + + public List queryClassNotices(ClassNoticeDO classNoticeDO){ + return this.baseMapper.selectList(new QueryWrapper() + .lambda() + .eq(ClassNoticeDO::getClassId,classNoticeDO.getClassId())); + } + +} diff --git a/src/main/java/com/subsidy/service/impl/ClassTypeDictServiceImpl.java b/src/main/java/com/subsidy/service/impl/ClassTypeDictServiceImpl.java new file mode 100644 index 0000000..e83a42a --- /dev/null +++ b/src/main/java/com/subsidy/service/impl/ClassTypeDictServiceImpl.java @@ -0,0 +1,75 @@ +package com.subsidy.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.subsidy.dto.classDict.ClassTypeDTO; +import com.subsidy.mapper.RoleAdministerMappingMapper; +import com.subsidy.model.ClassDictDO; +import com.subsidy.model.ClassTypeDictDO; +import com.subsidy.mapper.ClassTypeDictMapper; +import com.subsidy.model.RoleAdministerMappingDO; +import com.subsidy.service.ClassTypeDictService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.subsidy.util.ConstantUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 班级类型字典表 服务实现类 + *

+ * + * @author DengMin + * @since 2022-01-21 + */ +@Service +public class ClassTypeDictServiceImpl extends ServiceImpl implements ClassTypeDictService { + + @Autowired + private RoleAdministerMappingMapper roleAdministerMappingMapper; + + public String addClassType(ClassTypeDictDO classTypeDictDO) { + this.baseMapper.insert(classTypeDictDO); + return ConstantUtils.ADD_SUCCESS; + } + + public String updateClassType(ClassTypeDictDO classTypeDictDO) { + this.baseMapper.updateById(classTypeDictDO); + return ConstantUtils.SET_SUCCESS; + } + + public String deleteClassType(ClassTypeDictDO classTypeDictDO) { + this.baseMapper.deleteById(classTypeDictDO.getId()); + return ConstantUtils.DELETE_SUCCESS; + } + + public List queryClassTypes(ClassTypeDTO classTypeDTO) { + + List classTypeDictDOS = new ArrayList<>(); + + //查看当前登录人的角色 + int count = roleAdministerMappingMapper.selectCount(new QueryWrapper() + .lambda() + .eq(RoleAdministerMappingDO::getAdministerId,classTypeDTO.getUserId()) + .eq(RoleAdministerMappingDO::getRoleId,1)); + + if (count>0){ + //平台支持 + ClassTypeDictDO classTypeDictDO = this.baseMapper.selectById(1); + classTypeDictDOS.add(classTypeDictDO); + } + + //企业自己的班级类型 + List classTypeDictDOList = this.baseMapper.selectList(new QueryWrapper() + .lambda() + .eq(ClassTypeDictDO::getCompanyId,classTypeDTO.getCompanyId())); + + classTypeDictDOS.addAll(classTypeDictDOList); + + return classTypeDictDOList; + } + +} diff --git a/src/main/java/com/subsidy/service/impl/CourseFieldMappingServiceImpl.java b/src/main/java/com/subsidy/service/impl/CourseFieldMappingServiceImpl.java new file mode 100644 index 0000000..cd364ed --- /dev/null +++ b/src/main/java/com/subsidy/service/impl/CourseFieldMappingServiceImpl.java @@ -0,0 +1,20 @@ +package com.subsidy.service.impl; + +import com.subsidy.model.CourseFieldMappingDO; +import com.subsidy.mapper.CourseFieldMappingMapper; +import com.subsidy.service.CourseFieldMappingService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@Service +public class CourseFieldMappingServiceImpl extends ServiceImpl implements CourseFieldMappingService { + +} diff --git a/src/main/java/com/subsidy/service/impl/FieldDictServiceImpl.java b/src/main/java/com/subsidy/service/impl/FieldDictServiceImpl.java new file mode 100644 index 0000000..8482a95 --- /dev/null +++ b/src/main/java/com/subsidy/service/impl/FieldDictServiceImpl.java @@ -0,0 +1,20 @@ +package com.subsidy.service.impl; + +import com.subsidy.model.FieldDictDO; +import com.subsidy.mapper.FieldDictMapper; +import com.subsidy.service.FieldDictService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 行业字典表 服务实现类 + *

+ * + * @author DengMin + * @since 2022-01-20 + */ +@Service +public class FieldDictServiceImpl extends ServiceImpl implements FieldDictService { + +} diff --git a/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java b/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java index 15f6d3f..e9360d6 100644 --- a/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java @@ -17,6 +17,7 @@ import com.subsidy.mapper.ClassDictMapper; import com.subsidy.mapper.ClassMemberMappingMapper; import com.subsidy.mapper.CompanyDictMapper; import com.subsidy.mapper.CourseContentMapper; +import com.subsidy.mapper.CourseFieldMappingMapper; import com.subsidy.mapper.ExerciseDoneResultMapper; import com.subsidy.mapper.FileDictMapper; import com.subsidy.mapper.MemberDepartmentMappingMapper; @@ -30,6 +31,7 @@ import com.subsidy.model.CompanyDictDO; import com.subsidy.model.CourseContentDO; import com.subsidy.model.DepartmentDictDO; import com.subsidy.model.ExerciseDoneResultDO; +import com.subsidy.model.FieldDictDO; import com.subsidy.model.FileDictDO; import com.subsidy.model.MemberDO; import com.subsidy.model.MemberDepartmentMappingDO; @@ -101,9 +103,6 @@ public class MemberServiceImpl extends ServiceImpl imple private ClassDictMapper classDictMapper; @Autowired - private CompanyDictMapper companyDictMapper; - - @Autowired private MemberDepartmentMappingMapper memberDepartmentMappingMapper; @Autowired @@ -112,6 +111,12 @@ public class MemberServiceImpl extends ServiceImpl imple @Autowired private MongoTemplate mongoTemplate; + @Autowired + private CourseFieldMappingMapper courseFieldMappingMapper; + + @Autowired + private CompanyDictMapper companyDictMapper; + public IPage getAll(GetAllDTO getAllDTO) { Page pager = new Page(getAllDTO.getPageNum(), getAllDTO.getPageSize()); IPage iPage = this.baseMapper.getMembers(pager, getAllDTO.getDepartmentId(), getAllDTO.getUserName(), getAllDTO.getStatus()); @@ -225,6 +230,8 @@ public class MemberServiceImpl extends ServiceImpl imple @Transactional(rollbackFor = Exception.class) public UserRoleVO login(VerifyCodeDTO verifyCodeDTO) { UserRoleVO userRoleVO = new UserRoleVO(); + + //TODO 先从redis里拿 ??? MemberDO memberDO = this.baseMapper.selectOne(new QueryWrapper() .lambda() .eq(MemberDO::getTelephone, verifyCodeDTO.getTelephone())); @@ -232,14 +239,18 @@ public class MemberServiceImpl extends ServiceImpl imple throw new HttpException(10010); } + CompanyDictDO companyDictDO = companyDictMapper.selectById(memberDO.getCompanyId()); + if ("冻结".equals(memberDO.getStatus())) { OprMemDictDO oprMemDictDO = new OprMemDictDO(); oprMemDictDO.setUserId(memberDO.getId()); oprMemDictDO.setOprType("登录"); oprMemDictDO.setResult(0); oprMemDictDO.setUserName(memberDO.getUserName()); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); + oprMemDictDO.setCompanyId(companyDictDO.getId()); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); mongoTemplate.insert(oprMemDictDO); //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + memberDO.getUserName() + ":" + companyDictDO.getCompanyName() + ":" + LocalDateTime.now(), oprMemDictDO); throw new HttpException(10013); @@ -261,10 +272,11 @@ public class MemberServiceImpl extends ServiceImpl imple oprMemDictDO.setOprType("登录"); oprMemDictDO.setResult(0); oprMemDictDO.setUserName(memberDO.getUserName()); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); + oprMemDictDO.setCompanyId(companyDictDO.getId()); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); mongoTemplate.insert(oprMemDictDO); - //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + LocalDateTime.now(), oprMemDictDO); throw new HttpException(70010); } //审计日志 @@ -273,9 +285,10 @@ public class MemberServiceImpl extends ServiceImpl imple oprMemDictDO.setOprType("登录"); oprMemDictDO.setUserName(memberDO.getUserName()); oprMemDictDO.setResult(1); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); - //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + LocalDateTime.now(), oprMemDictDO); + oprMemDictDO.setCompanyId(companyDictDO.getId()); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); mongoTemplate.insert(oprMemDictDO); return userRoleVO; } @@ -298,6 +311,8 @@ public class MemberServiceImpl extends ServiceImpl imple } } + CompanyDictDO companyDictDO = companyDictMapper.selectById(memberDO.getCompanyId()); + if (memberDO.getPassword().equals(passwordLoginDTO.getPassword()) && 1 == memberDO.getFirstLogin() && !"冻结".equals(memberDO.getStatus())) { MemberVO memberVO = new MemberVO(); BeanUtils.copyProperties(memberDO, memberVO); @@ -306,8 +321,10 @@ public class MemberServiceImpl extends ServiceImpl imple oprMemDictDO.setOprType("登录"); oprMemDictDO.setResult(1); oprMemDictDO.setUserName(memberDO.getUserName()); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); + oprMemDictDO.setCompanyId(companyDictDO.getId()); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); mongoTemplate.insert(oprMemDictDO); //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + System.currentTimeMillis(), 1); return memberVO; @@ -318,8 +335,10 @@ public class MemberServiceImpl extends ServiceImpl imple oprMemDictDO.setOprType("登录"); oprMemDictDO.setResult(0); oprMemDictDO.setUserName(memberDO.getUserName()); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); + oprMemDictDO.setCompanyId(companyDictDO.getId()); mongoTemplate.insert(oprMemDictDO); //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + System.currentTimeMillis(), oprMemDictDO); throw new HttpException(10016); @@ -330,8 +349,10 @@ public class MemberServiceImpl extends ServiceImpl imple oprMemDictDO.setOprType("登录"); oprMemDictDO.setResult(0); oprMemDictDO.setUserName(memberDO.getUserName()); - oprMemDictDO.setCreateDate(System.currentTimeMillis()+""); + oprMemDictDO.setCreateDate(System.currentTimeMillis() + ""); oprMemDictDO.setLoginDateFormat(DateFormatUtil.format(new Date(), "yyyyMMdd")); + oprMemDictDO.setCompanyName(companyDictDO.getCompanyName()); + oprMemDictDO.setCompanyId(companyDictDO.getId()); mongoTemplate.insert(oprMemDictDO); //redisUtil.set(RedisPrefixConstant.SUBSIDY_MEMBER_LOGIN_PREFIX + memberDO.getId() + ":" + System.currentTimeMillis(), 0); throw new HttpException(10015); @@ -389,10 +410,13 @@ public class MemberServiceImpl extends ServiceImpl imple return new AsyncResult<>(studyPageVO); } - public IPage myCourses(MyCoursesDTO myCoursesDTO){ - - - return null; + public List myCourses(MyCoursesDTO myCoursesDTO) { + List myCoursesVOS = this.baseMapper.myCourses(myCoursesDTO.getMemberId(),myCoursesDTO.getStatus()); + for (MyCoursesVO myCoursesVO : myCoursesVOS){ + List fieldDictDOS = courseFieldMappingMapper.courseFields(myCoursesVO.getCourseId()); + myCoursesVO.setFieldDictDOS(fieldDictDOS); + } + return myCoursesVOS; } public ContentVodNewVO contentVod(ContentMemberDTO contentVodDTO) { @@ -468,9 +492,9 @@ public class MemberServiceImpl extends ServiceImpl imple Integer cnt = paperDictMapper.completeCount(queryPapersVO.getId()); queryPapersVO.setCompleteCnt(cnt); //自己成绩 - ExerciseDoneResultDO exerciseDoneResultDO = exerciseDoneResultMapper.getMaxScorePaper(queryPapersVO.getId(),memberId); + ExerciseDoneResultDO exerciseDoneResultDO = exerciseDoneResultMapper.getMaxScorePaper(queryPapersVO.getId(), memberId); - if (null!=exerciseDoneResultDO) { + if (null != exerciseDoneResultDO) { queryPapersVO.setRightCounts(exerciseDoneResultDO.getRightCounts()); queryPapersVO.setTotalCount(exerciseDoneResultDO.getTotalCounts()); queryPapersVO.setResult(exerciseDoneResultDO.getResult()); diff --git a/src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java b/src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java index 2415615..351c417 100644 --- a/src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java @@ -71,7 +71,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl classIds = Arrays.asList(new String[]{dataFixDTO.getClassId()}); + String[] classIds = new String[]{dataFixDTO.getClassId()}; for (String str : classIds) { @@ -237,7 +237,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl classIds = Arrays.asList(new String[]{signDatePlaysDTO.getClassId()}); + String[] classIds = new String[]{signDatePlaysDTO.getClassId()}; for (String str : classIds) { @@ -275,7 +275,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl 11 || i < 5) { - System.out.println("error"); - } - } + //while (true) { + // int i = getRandom(); + // System.out.println(i + "============"); + // if (i > 11 || i < 5) { + // System.out.println("error"); + // } + //} } public static Integer getRandom() { diff --git a/src/main/java/com/subsidy/vo/administer/UserRoleVO.java b/src/main/java/com/subsidy/vo/administer/UserRoleVO.java index 50b084b..6e2a9f5 100644 --- a/src/main/java/com/subsidy/vo/administer/UserRoleVO.java +++ b/src/main/java/com/subsidy/vo/administer/UserRoleVO.java @@ -19,5 +19,6 @@ public class UserRoleVO { private String password; + private String companyName; } diff --git a/src/main/java/com/subsidy/vo/member/MemberVodVO.java b/src/main/java/com/subsidy/vo/member/MemberVodVO.java index 0abb10b..453b952 100644 --- a/src/main/java/com/subsidy/vo/member/MemberVodVO.java +++ b/src/main/java/com/subsidy/vo/member/MemberVodVO.java @@ -9,8 +9,6 @@ public class MemberVodVO { private Integer vodLength; - private String teacherName; - private Integer percent; private Boolean status; @@ -21,4 +19,6 @@ public class MemberVodVO { private Integer playRecord; + private Integer leftLength; + } diff --git a/src/main/java/com/subsidy/vo/member/MyCoursesVO.java b/src/main/java/com/subsidy/vo/member/MyCoursesVO.java index 22ca5a9..99ba946 100644 --- a/src/main/java/com/subsidy/vo/member/MyCoursesVO.java +++ b/src/main/java/com/subsidy/vo/member/MyCoursesVO.java @@ -1,10 +1,28 @@ package com.subsidy.vo.member; +import com.subsidy.model.FieldDictDO; import lombok.Data; +import java.util.List; + @Data public class MyCoursesVO { + private Long courseId; + + private Long classId; + + private String courseName; + + private String endDate; + + private Integer totalCnt; + + private Integer studyCnt; + + private Integer diffDate; + private Integer ttlMember; + private List fieldDictDOS; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 6a755f2..33a6e52 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,7 @@ # 环境配置 spring.profiles.active=dev # 端口号 -spring.server.port=23460 +spring.server.port=23457 #嵌入tomcat配置 #和CPU数 spring.server.acceptorThreadCount=600 diff --git a/src/main/resources/mapper/ClassNoticeMapper.xml b/src/main/resources/mapper/ClassNoticeMapper.xml new file mode 100644 index 0000000..c4f205b --- /dev/null +++ b/src/main/resources/mapper/ClassNoticeMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + create_date, + update_date, + delete_date, + id, course_id, notice_type, notice_time + + + diff --git a/src/main/resources/mapper/ClassTypeDictMapper.xml b/src/main/resources/mapper/ClassTypeDictMapper.xml new file mode 100644 index 0000000..5a7fa2c --- /dev/null +++ b/src/main/resources/mapper/ClassTypeDictMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + create_date, + update_date, + delete_date, + id, company_id, class_type + + + diff --git a/src/main/resources/mapper/CourseContentMapper.xml b/src/main/resources/mapper/CourseContentMapper.xml index 03921b6..fc16137 100644 --- a/src/main/resources/mapper/CourseContentMapper.xml +++ b/src/main/resources/mapper/CourseContentMapper.xml @@ -45,30 +45,70 @@ + SELECT + t2.id, + t2.field_name, + t2.create_date + FROM + course_field_mapping t + LEFT JOIN field_dict t2 ON t.field_id = t2.id + WHERE + t.delete_date IS NULL + AND t2.delete_date IS NULL + AND t.course_id = #{courseId} + + + diff --git a/src/main/resources/mapper/FieldDictMapper.xml b/src/main/resources/mapper/FieldDictMapper.xml new file mode 100644 index 0000000..18df649 --- /dev/null +++ b/src/main/resources/mapper/FieldDictMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + create_date, + update_date, + delete_date, + id, field_name + + + diff --git a/src/main/resources/mapper/MemberMapper.xml b/src/main/resources/mapper/MemberMapper.xml index 72edbc5..f9df845 100644 --- a/src/main/resources/mapper/MemberMapper.xml +++ b/src/main/resources/mapper/MemberMapper.xml @@ -24,7 +24,8 @@ id, user_name, telephone, password, gender, image, id_card - SELECT t.id, t.telephone, @@ -59,6 +60,90 @@ AND t.member_id = #{id} + + SELECT - t2.id, - t2.user_name, - t2.account_name, - t2.telephone, - t2.gender, - t2.id_card, - t2.status + t2.id, + t2.user_name, + t2.account_name, + t2.telephone, + t2.gender, + t2.id_card, + t2.status FROM member_department_mapping t LEFT JOIN member t2 ON t.member_id = t2.id diff --git a/src/main/resources/mapper/VodPlayHistoryMapper.xml b/src/main/resources/mapper/VodPlayHistoryMapper.xml index 075d78b..13a3c03 100644 --- a/src/main/resources/mapper/VodPlayHistoryMapper.xml +++ b/src/main/resources/mapper/VodPlayHistoryMapper.xml @@ -149,7 +149,7 @@ vod_play_history t WHERE t.delete_date IS NULL - AND t.class_id = 17 + AND t.class_id = #{classId} ) t LEFT JOIN ( SELECT @@ -162,7 +162,7 @@ t.member_id, t.vod_id, IF - ( max( t.play_length )>= t2.vod_length * 0.8, 1, 0 ) AS cnt + ( sum( t.play_length )>= t2.vod_length, 1, 0 ) AS cnt FROM vod_play_history t LEFT JOIN vod_dict t2 ON t.vod_id = t2.id diff --git a/src/main/resources/mybatis-plus.properties b/src/main/resources/mybatis-plus.properties index 6e7ce56..b25caa2 100644 --- a/src/main/resources/mybatis-plus.properties +++ b/src/main/resources/mybatis-plus.properties @@ -6,7 +6,7 @@ setParent=com.subsidy # mapper.xml文件生成路径 mapperPath=/src/main/resources/mapper/ # 数据库地址 -url=jdbc:mysql://116.62.57.92:3306/subsidy_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&useAffectedRows=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true +url=jdbc:mysql://47.97.19.66:3306/subsidy_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&useAffectedRows=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true driverName=com.mysql.cj.jdbc.Driver userName=devloper password=dev@1553$ \ No newline at end of file -- libgit2 0.25.0