CourseTableServiceImpl.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package com.ruoyi.system.service.impl;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import com.ruoyi.common.core.domain.AjaxResult;
  6. import com.ruoyi.common.core.domain.entity.SysUser;
  7. import com.ruoyi.common.utils.DateUtils;
  8. import com.ruoyi.common.utils.SecurityUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.system.domain.CourseTableTime;
  11. import com.ruoyi.system.mapper.CourseTableTimeMapper;
  12. import lombok.SneakyThrows;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import com.ruoyi.system.mapper.CourseTableMapper;
  16. import com.ruoyi.system.domain.CourseTable;
  17. import com.ruoyi.system.service.ICourseTableService;
  18. /**
  19. * 课程Service业务层处理
  20. *
  21. * @author ruoyi
  22. * @date 2023-05-24
  23. */
  24. @Service
  25. public class CourseTableServiceImpl implements ICourseTableService
  26. {
  27. @Autowired
  28. private CourseTableMapper courseTableMapper;
  29. @Autowired
  30. private CourseTableTimeMapper courseTableTimeMapper;
  31. /**
  32. * 查询课程
  33. *
  34. * @param id 课程主键
  35. * @return 课程
  36. */
  37. @Override
  38. public CourseTable selectCourseTableById(Long id)
  39. {
  40. return courseTableMapper.selectCourseTableById(id);
  41. }
  42. /**
  43. * 查询课程列表
  44. *
  45. * @param courseTable 课程
  46. * @return 课程
  47. */
  48. @Override
  49. public List<CourseTable> selectCourseTableList(CourseTable courseTable)
  50. {
  51. return courseTableMapper.selectCourseTableList(courseTable);
  52. }
  53. /**
  54. * 新增课程
  55. *
  56. * @param courseTable 课程
  57. * @return 结果
  58. */
  59. @Override
  60. public int insertCourseTable(CourseTable courseTable)
  61. {
  62. courseTable.setCreateTime(DateUtils.getNowDate());
  63. return courseTableMapper.insertCourseTable(courseTable);
  64. }
  65. /**
  66. * 修改课程
  67. *
  68. * @param courseTable 课程
  69. * @return 结果
  70. */
  71. @Override
  72. public int updateCourseTable(CourseTable courseTable)
  73. {
  74. courseTable.setUpdateTime(DateUtils.getNowDate());
  75. return courseTableMapper.updateCourseTable(courseTable);
  76. }
  77. /**
  78. * 批量删除课程
  79. *
  80. * @param ids 需要删除的课程主键
  81. * @return 结果
  82. */
  83. @Override
  84. public int deleteCourseTableByIds(Long[] ids)
  85. {
  86. return courseTableMapper.deleteCourseTableByIds(ids);
  87. }
  88. /**
  89. * 删除课程信息
  90. *
  91. * @param id 课程主键
  92. * @return 结果
  93. */
  94. @Override
  95. public int deleteCourseTableById(Long id)
  96. {
  97. return courseTableMapper.deleteCourseTableById(id);
  98. }
  99. @SneakyThrows
  100. @Override
  101. public AjaxResult now(Long schoolId,Long classId) {
  102. //SysUser user = SecurityUtils.getLoginUser().getUser();
  103. Map<String,Object> map = new HashMap<>();
  104. map.put("teacher","");
  105. map.put("subject","");
  106. //获取当前时间
  107. String nowTime = DateUtils.getTime();
  108. //判断当天是周几
  109. int dayForWeek = DateUtils.dayForWeek(nowTime);
  110. if(dayForWeek==6 || dayForWeek==7){
  111. return AjaxResult.success(map);
  112. }
  113. //获取当前账号所属学校时间表
  114. CourseTableTime courseTableTime = courseTableTimeMapper.selectCourseTableTimeBySchoolId(schoolId);
  115. //判断当前时间是第几节课
  116. int index = isClass(courseTableTime);
  117. if(index == 0){
  118. return AjaxResult.success(map);
  119. }
  120. //获取当前班级课程
  121. CourseTable courseTable = courseTableMapper.selectCourseTableByClassIdAndWeek(classId,dayForWeek);
  122. if(courseTable == null){
  123. return AjaxResult.success(map);
  124. }
  125. if(index == 1){
  126. map.put("teacher",courseTable.getOneTeacher());
  127. map.put("subject",courseTable.getOneClass());
  128. }else if(index == 2){
  129. map.put("teacher",courseTable.getTwoTeacher());
  130. map.put("subject",courseTable.getTwoClass());
  131. }else if(index == 3){
  132. map.put("teacher",courseTable.getThreeTeacher());
  133. map.put("subject",courseTable.getThreeClass());
  134. }else if(index == 4){
  135. map.put("teacher",courseTable.getFourTeacher());
  136. map.put("subject",courseTable.getFourClass());
  137. }else if(index == 5){
  138. map.put("teacher",courseTable.getFiveTeacher());
  139. map.put("subject",courseTable.getFiveClass());
  140. }else if(index == 6){
  141. map.put("teacher",courseTable.getSixTeacher());
  142. map.put("subject",courseTable.getSixClass());
  143. }else if(index == 7){
  144. map.put("teacher",courseTable.getSevenTeacher());
  145. map.put("subject",courseTable.getSevenClass());
  146. }else if(index == 8){
  147. map.put("teacher",courseTable.getEightTeacher());
  148. map.put("subject",courseTable.getEightClass());
  149. }
  150. return AjaxResult.success(map);
  151. }
  152. @SneakyThrows
  153. private int isClass(CourseTableTime courseTableTime) {
  154. //获取当前时间
  155. String nowTime = DateUtils.getNowTime();
  156. int index = 0;
  157. if(StringUtils.isNotEmpty(courseTableTime.getOneStartTime()) && DateUtils.isClass(courseTableTime.getOneStartTime(),courseTableTime.getOneEndTime(),nowTime,"HH:mm")){
  158. index = 1;
  159. }else if(StringUtils.isNotEmpty(courseTableTime.getTwoStartTime()) && DateUtils.isClass(courseTableTime.getTwoStartTime(),courseTableTime.getTwoEndTime(),nowTime,"HH:mm")){
  160. index = 2;
  161. }else if(StringUtils.isNotEmpty(courseTableTime.getThreeStartTime()) && DateUtils.isClass(courseTableTime.getThreeStartTime(),courseTableTime.getThreeEndTime(),nowTime,"HH:mm")){
  162. index = 3;
  163. }else if(StringUtils.isNotEmpty(courseTableTime.getFourStartTime()) && DateUtils.isClass(courseTableTime.getFourStartTime(),courseTableTime.getFourEndTime(),nowTime,"HH:mm")){
  164. index = 4;
  165. }else if(StringUtils.isNotEmpty(courseTableTime.getFiveStartTime()) && DateUtils.isClass(courseTableTime.getFiveStartTime(),courseTableTime.getFiveEndTime(),nowTime,"HH:mm")){
  166. index = 5;
  167. }else if(StringUtils.isNotEmpty(courseTableTime.getSixStartTime()) && DateUtils.isClass(courseTableTime.getSixStartTime(),courseTableTime.getSixEndTime(),nowTime,"HH:mm")){
  168. index = 6;
  169. }else if(StringUtils.isNotEmpty(courseTableTime.getSevenStartTime()) && DateUtils.isClass(courseTableTime.getSevenStartTime(),courseTableTime.getSevenEndTime(),nowTime,"HH:mm")){
  170. index = 7;
  171. }else if(StringUtils.isNotEmpty(courseTableTime.getEightStartTime()) && DateUtils.isClass(courseTableTime.getEightStartTime(),courseTableTime.getEightEndTime(),nowTime,"HH:mm")){
  172. index = 8;
  173. }
  174. return index;
  175. }
  176. }