package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.dto.DeviceDto; import com.yuanchu.mom.pojo.Reservation; import com.yuanchu.mom.service.DeviceService; import com.yuanchu.mom.service.ReservationService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.Arrays; import java.util.Map; /** *

* 资源预定新建预定表 前端控制器 *

* * @author baomidou * @since 2024-09-14 */ @RestController @RequestMapping("/reservation") public class ReservationController { @Autowired private ReservationService reservationService; @Resource private DeviceService deviceService; @PostMapping("/selectDeviceParameter") public Result selectDeviceParameter(@RequestBody Map data, @RequestParam(value = "laboratoryNameIsNull", required = false) Boolean laboratoryNameIsNull,@RequestParam(value = "starttime", required = false)String starttime,@RequestParam(value = "endtime", required = false) String endtime) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); DeviceDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class); Map map = reservationService.selectDeviceParameter(page, itemParameter, laboratoryNameIsNull,starttime,endtime); return Result.success(map); } @PostMapping("/selectReservationParameterPage") public Result selectReservationParameterPage(@RequestParam String deviceId,@RequestParam String reservationTime,@RequestParam String specificTime){ return Result.success(reservationService.selectReservationParameterPage(deviceId,reservationTime,specificTime)); } @GetMapping("/{id}") public Result getList(@PathVariable Integer id) { LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(Reservation::getDeviceId,id); return Result.success(reservationService.list(lambdaQueryWrapper)); } @PostMapping("save") public Result save(Reservation reservation){ reservation.setCreateDate(LocalDateTime.now()); reservationService.save(reservation); return Result.success(); } @DeleteMapping("/delete/{ids}") public Result deleteReservation(@PathVariable String ids) { String[] idArray = ids.split(","); reservationService.removeBatchByIds(Arrays.asList(idArray)); return Result.success(); } }