diff --git a/java/pom.xml b/java/pom.xml index 364a3d9..4738488 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -68,7 +68,11 @@ easyexcel 1.1.2-beta5 - + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.1 + org.junit.jupiter junit-jupiter diff --git a/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java b/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java index baac990..405e55b 100644 --- a/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java +++ b/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java @@ -4,6 +4,7 @@ package com.hzu.bookingsystem.controller; import com.hzu.bookingsystem.VO.ResultVO; import com.hzu.bookingsystem.bean.LabRecordBean; import com.hzu.bookingsystem.converter.Map2Object; +import com.hzu.bookingsystem.dto.LabRecordDTO; import com.hzu.bookingsystem.service.LabRecordService; import com.hzu.bookingsystem.utils.ResultVOUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +22,8 @@ public class LabRecordController { @Autowired private LabRecordService labrecordService; + @Autowired + private UserController userController; // 根据id查看实验室记录 @GetMapping(value = "/findlabrecord/{lr_id}") public ResultVO> FindLabRecordId(@PathVariable("lr_id") Integer lr_id) { @@ -73,4 +76,13 @@ public class LabRecordController { return ResultVOUtil.success(); } + /** + * author 吴志岳 + * 通过uid查询预约记录 + */ + @GetMapping("/getRecordBySelf") + public ResultVO getRecordBySelf(HttpServletRequest request){ + List labRecordDTOList = labrecordService.findRecordListByUId(userController.getUIdByCookie(request)); + return ResultVOUtil.success(labRecordDTOList); + } } diff --git a/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java b/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java new file mode 100644 index 0000000..88278cc --- /dev/null +++ b/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java @@ -0,0 +1,38 @@ +package com.hzu.bookingsystem.dto; + + +import lombok.Data; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Data +public class LabRecordDTO { + // 学年 + private String year; + + // 学期 + private Integer semester; + + // 几周 + private Integer week; + + // 周几 + private Integer day; + + // 第几节课 + private Integer time; + + private Integer status; + + //UC + private String course_name; + private Integer population; + private String classes; + + //LAB + private String lab_name; + + private String position; + +} diff --git a/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java new file mode 100644 index 0000000..b190b0d --- /dev/null +++ b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java @@ -0,0 +1,46 @@ +package com.hzu.bookingsystem.repository; + +import com.hzu.bookingsystem.dto.LabRecordDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface LabRecordDTOMapper { + @Select("SELECT " + + " tb_lab_time.`year`, " + + " tb_lab_time.semester, " + + "COUNT(tb_lab_time.`week`) AS `week`,"+ + " tb_lab_time.`day`, " + + " tb_lab_time.time, " + + " tb_lab_record.`status`, " + + " tb_user_course.`name` AS course_name, " + + " tb_user_course.population, " + + " tb_user_course.classes, " + + " tb_lab.`name` AS lab_name, " + + " tb_lab.position " + + "FROM " + + " tb_lab_time " + + " INNER JOIN " + + " tb_lab_record " + + " ON " + + " tb_lab_time.lt_id = tb_lab_record.lt_id " + + " INNER JOIN " + + " tb_lab " + + " ON " + + " tb_lab_time.lab_id = tb_lab.lab_id, " + + " tb_user_course " + + "WHERE " + + " tb_lab_time.lt_id = tb_lab_record.lt_id AND " + + " tb_lab_record.uc_id = tb_user_course.uc_id AND " + + " tb_lab_time.lab_id = tb_lab.lab_id AND " + + " tb_user_course.u_id = #{uId} " + + "GROUP BY " + + " tb_lab_time.`year`, " + + " tb_lab_time.semester, " + + " tb_lab_time.`day`, " + + " tb_lab_time.time, " + + " tb_lab_record.`status`") + List getRecordListByUId(Integer uId); +} diff --git a/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java b/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java index 43a11b1..3770553 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java @@ -2,6 +2,7 @@ package com.hzu.bookingsystem.service; import com.hzu.bookingsystem.bean.LabRecordBean; +import com.hzu.bookingsystem.dto.LabRecordDTO; import java.util.List; @@ -65,6 +66,11 @@ public interface LabRecordService { String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) ; + /** + * author 吴志岳 + * 查看自己的审核记录 + */ + public List findRecordListByUId(Integer uId); diff --git a/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java b/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java index 6ee5a38..3baf3f3 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java @@ -4,15 +4,23 @@ import com.hzu.bookingsystem.bean.LabRecordBean; import com.hzu.bookingsystem.bean.LabTimeBean; import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserCourseBean; +import com.hzu.bookingsystem.dto.LabRecordDTO; +import com.hzu.bookingsystem.dto.LabTimeDTO; +import com.hzu.bookingsystem.repository.LabRecordDTOMapper; import com.hzu.bookingsystem.repository.LabRecordRepository; import com.hzu.bookingsystem.service.LabRecordService; import com.hzu.bookingsystem.service.LabTimeService; import com.hzu.bookingsystem.service.UserCourseService; import com.hzu.bookingsystem.service.UserService; +import org.hibernate.SQLQuery; +import org.hibernate.transform.Transformers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; import javax.transaction.Transactional; import java.util.List; @@ -27,6 +35,11 @@ public class LabRecordServiceImpl implements LabRecordService{ @Resource private UserService userservice ; + @Resource + private LabRecordDTOMapper labRecordDTOMapper; + + @PersistenceContext + private EntityManager entityManager; @Override public LabRecordBean add(LabRecordBean labrcecord) { labrcecord.setLrId(null); @@ -147,4 +160,16 @@ public class LabRecordServiceImpl implements LabRecordService{ } return value_name ; } + + /** + * 通过uid查询审核记录 + * author 吴志岳 + */ + + @Override + public List findRecordListByUId(Integer uId) { + return labRecordDTOMapper.getRecordListByUId(13); + } + + } diff --git a/java/src/main/resources/application.yml b/java/src/main/resources/application.yml index 62da168..99e9ee3 100644 --- a/java/src/main/resources/application.yml +++ b/java/src/main/resources/application.yml @@ -23,4 +23,6 @@ spring: useGlobalDataourceStat: true connectionProperties: druid.stat.mergeSql=true:druid.stat.slowSqlMillis=500 - +mybatis: + # 指定sql映射文件位置 + mapper-locations: classpath:mybatis/mapper/*.xml