[feat][M]: 增加更改选课时间段接口

master
Romesum 5 years ago
parent e23bb33b15
commit c686061831

@ -1,6 +1,7 @@
package com.hzu.bookingsystem.bean; package com.hzu.bookingsystem.bean;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.*; import javax.persistence.*;
@ -10,6 +11,7 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Entity @Entity
@Builder
@Table(name = "tb_lab_record") @Table(name = "tb_lab_record")
public class LabRecordBean { public class LabRecordBean {
@Id @Id

@ -3,14 +3,17 @@ package com.hzu.bookingsystem.controller;
import com.hzu.bookingsystem.VO.ResultVO; import com.hzu.bookingsystem.VO.ResultVO;
import com.hzu.bookingsystem.bean.LabRecordBean; import com.hzu.bookingsystem.bean.LabRecordBean;
import com.hzu.bookingsystem.bean.LabTimeBean;
import com.hzu.bookingsystem.converter.Map2Object; import com.hzu.bookingsystem.converter.Map2Object;
import com.hzu.bookingsystem.dto.LabRecordDTO; import com.hzu.bookingsystem.dto.LabRecordDTO;
import com.hzu.bookingsystem.service.LabRecordService; import com.hzu.bookingsystem.service.LabRecordService;
import com.hzu.bookingsystem.service.LabTimeService;
import com.hzu.bookingsystem.utils.ResultVOUtil; import com.hzu.bookingsystem.utils.ResultVOUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -22,18 +25,22 @@ public class LabRecordController {
@Autowired @Autowired
private LabRecordService labrecordService; private LabRecordService labrecordService;
@Autowired
private LabTimeService labTimeService;
@Autowired @Autowired
private UserController userController; private UserController userController;
// 根据id查看实验室记录
// 根据id查看实验室记录
@GetMapping(value = "/findlabrecord/{lr_id}") @GetMapping(value = "/findlabrecord/{lr_id}")
public ResultVO<Map<String, LabRecordBean>> FindLabRecordId(@PathVariable("lr_id") Integer lr_id) { public ResultVO<Map<String, LabRecordBean>> FindLabRecordId(@PathVariable("lr_id") Integer lr_id) {
LabRecordBean labrecord = labrecordService.findById( lr_id) ; LabRecordBean labrecord = labrecordService.findById(lr_id);
return ResultVOUtil.success(labrecord); return ResultVOUtil.success(labrecord);
} }
// 查找所有记录列表 // 查找所有记录列表
@GetMapping(value = "/getlabrecordlist") @GetMapping(value = "/getlabrecordlist")
public ResultVO getLabRecordList(){ public ResultVO getLabRecordList() {
List<LabRecordBean> labrecordList = labrecordService.findAll(); List<LabRecordBean> labrecordList = labrecordService.findAll();
return ResultVOUtil.success(labrecordList); return ResultVOUtil.success(labrecordList);
@ -49,27 +56,27 @@ public class LabRecordController {
// 增加申请记录 // 增加申请记录
@PostMapping(value = "/addlabrecord", consumes = "application/json") @PostMapping(value = "/addlabrecord", consumes = "application/json")
public ResultVO addLabRecord(@RequestBody Map<String,Object> map) { public ResultVO addLabRecord(@RequestBody Map<String, Object> map) {
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map,LabRecordBean.class); LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map, LabRecordBean.class);
labrecordService.add(labrecord); labrecordService.add(labrecord);
return ResultVOUtil.success(); return ResultVOUtil.success();
} }
//更新记录 //更新记录
@PostMapping(value = "/updatelabrecord", consumes = "application/json") @PostMapping(value = "/updatelabrecord", consumes = "application/json")
public ResultVO updateLabRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){ public ResultVO updateLabRecord(@RequestBody Map<String, Object> map, HttpServletRequest request) {
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map,LabRecordBean.class); LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map, LabRecordBean.class);
LabRecordBean labrecordnew = labrecordService.update(labrecord) ; LabRecordBean labrecordnew = labrecordService.update(labrecord);
return ResultVOUtil.success(labrecordnew); return ResultVOUtil.success(labrecordnew);
} }
// 通过lr_id删除记录 // 通过lr_id删除记录
@PostMapping(value = "/deletelabrecord/{lr_id}", consumes = "application/json") @PostMapping(value = "/deletelabrecord/{lr_id}", consumes = "application/json")
public ResultVO deleteLabRecord(@PathVariable("lr_id") Integer lr_id){ public ResultVO deleteLabRecord(@PathVariable("lr_id") Integer lr_id) {
// 查找该用户看是否存在 // 查找该用户看是否存在
LabRecordBean labrecord = labrecordService.findById(lr_id); LabRecordBean labrecord = labrecordService.findById(lr_id);
if (labrecord == null){ if (labrecord == null) {
return ResultVOUtil.error(-1,"记录不存在"); return ResultVOUtil.error(-1, "记录不存在");
} }
// 删除记录 // 删除记录
labrecordService.deleteById(lr_id); labrecordService.deleteById(lr_id);
@ -81,8 +88,59 @@ public class LabRecordController {
* uid * uid
*/ */
@GetMapping("/getRecordBySelf") @GetMapping("/getRecordBySelf")
public ResultVO getRecordBySelf(HttpServletRequest request){ public ResultVO getRecordBySelf(HttpServletRequest request) {
List<LabRecordDTO> labRecordDTOList = labrecordService.findRecordListByUId(userController.getUIdByCookie(request)); List<LabRecordDTO> labRecordDTOList = labrecordService.findRecordListByUId(userController.getUIdByCookie(request));
return ResultVOUtil.success(labRecordDTOList); return ResultVOUtil.success(labRecordDTOList);
} }
/**
*
*/
@PostMapping(value = "/updateWeeks", consumes = "application/json")
public ResultVO updateWeeks(@RequestBody Map<String, Object> map, HttpServletRequest request) {
//1. 转换对象
LabTimeBean labTime = (LabTimeBean) Map2Object.map2Object(map, LabTimeBean.class);
Integer uc_id = (Integer)map.get("uc_id");
List<Integer> weeks = (List<Integer>)map.get("weeks");
System.out.println(labTime);
System.out.println(uc_id);
System.out.println(weeks);
//2. 定义对象
LabRecordBean labRecordBean = new LabRecordBean();
labRecordBean.setStatus(0);
labRecordBean.setUcId(uc_id);
//3. DAO
List<Integer> weekAble = labTimeService.findWeeksAble(labTime.getLabId(),labTime.getYear(),labTime.getSemester(),labTime.getDay(),labTime.getTime(),uc_id);
//判断是否选择不可选周数
for (Integer i :weeks){
if (!weekAble.contains(i))
return ResultVOUtil.error(-1,"选择了不可选的周数");
}
List<LabTimeBean> labTimeBeanList = labTimeService.findTimes(labTime.getLabId(),labTime.getYear(),labTime.getSemester(),labTime.getDay(),labTime.getTime());
//过滤不可选取
for (LabTimeBean labTimeBean: labTimeBeanList){
if (!weekAble.contains(labTimeBean.getWeek()))
labTimeBeanList.remove(labTime);
}
//4. 删除record
for (LabTimeBean labTimeBean: labTimeBeanList){
labrecordService.deleteByLtIdAndUcId(labTimeBean.getLtId(),uc_id);
}
//5. 插入record
for (LabTimeBean labTimeBean: labTimeBeanList){
if (weeks.contains(labTimeBean.getWeek())){
LabRecordBean labRecordBean1 = new LabRecordBean().builder()
.ltId(labTimeBean.getLtId())
.ucId(uc_id)
.status(0)
.build();
labrecordService.add(labRecordBean1);
}
}
return ResultVOUtil.success();
}
} }

@ -26,6 +26,8 @@ public interface LabRecordRepository extends JpaRepository<LabRecordBean,String>
List<LabRecordBean> findByUcIdAndStatus(Integer uc_id , Integer status); List<LabRecordBean> findByUcIdAndStatus(Integer uc_id , Integer status);
void deleteByLtIdAndUcId(Integer lt_id,Integer uc_id);
} }

@ -70,7 +70,13 @@ public interface LabRecordService {
* author * author
* *
*/ */
public List<LabRecordDTO> findRecordListByUId(Integer uId); List<LabRecordDTO> findRecordListByUId(Integer uId);
/**
* author
* LTidUCidLR
*/
void deleteByLtIdAndUcId(Integer LtId,Integer UcId);

@ -171,5 +171,11 @@ public class LabRecordServiceImpl implements LabRecordService{
return labRecordDTOMapper.getRecordListByUId(13); return labRecordDTOMapper.getRecordListByUId(13);
} }
@Transactional
@Override
public void deleteByLtIdAndUcId(Integer ltId, Integer ucId) {
labrecordRepository.deleteByLtIdAndUcId(ltId,ucId);
}
} }

Loading…
Cancel
Save