【发布时间】:2016-05-26 14:01:45
【问题描述】:
我有一个 Java API Crud,像“获取单个项目或项目列表”这样的简单查询效果很好,问题是当我需要执行更复杂的查询并将 api 的值列表传递给对从 mysql 表返回的数据应用更复杂的过滤器。
我有一个名为“小时”的表,其中包含如下数据:
[{"id":1,"hour":"08:00"},{"id":2,"hour":"08:05"},{"id":3,"hour":"08:10"},{"hour":4,"hora":"08:15"},{"id":5,"hour":"08:20"}]
还有一个名为“turns”的表格,其中包含如下数据:
[{"id":1,"solicitante":"asdasdas","telefono":null,"tipoDocumento":{"id":1,"tipodoc":"Dni"},"numeroDocumento":"32821535","email":null,"hours":{"id":1,"hour":"08:00"},"numeroTurno":"A1001","fecha":"2016-02-02","controlFecha":"2016-02-11 18:27:52.0","formatFecha":"2016-02-02"},{"id":10,"solicitante":"asddasdas asdasdas","telefono":null,"tipoDocumento":{"id":1,"tipodoc":"Dni"},"numeroDocumento":"2331312","email":null,"hours":{"id":2,"hour":"08:05"},"numeroTurno":"A1002","fecha":"2016-02-02","controlFecha":"2016-02-11 18:27:52.0","formatFecha":"2016-02-02"}]
我正在尝试做的是一个查询以返回特定日期未占用的“小时数”。 不太确定如何做到这一点,所以我尝试了这样的事情:
@RequestMapping(value = "/hours/{takenHours}", method = RequestMethod.GET)
@ResponseBody
public List<Hours> queryHours(@RequestParam(value = "takenHours") List<String> takenHours) {
List<Hours> hours = hoursService.getHours(takenHours);
return hours;
}
@Override
public List<Hours> getHours(List<String> takenHours) {
List<Hours> hours = hoursRepository.findByHourNotIn(takenHours);
return hours;
}
所以我查询了某一天,返回所有的小时数并尝试将数组发送到这个方法。 我稍后会添加日期过滤器(findByHoraNotInAndDate)。
不确定这是否是最好的方法,很乐意接受任何想法。
我正在使用 AngularJS 来处理前端。
【问题讨论】:
标签: javascript java mysql angularjs