package com.ruoyi.integration.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
/**
*
* 前端控制器
*
*
* @author xiaochen
* @since 2024-08-07
*/
@RestController
@RequestMapping("/uploadRealTimeMonitoringData")
public class UploadRealTimeMonitoringDataController {
@Resource
private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
/**
* 远程调用 通过订单流水号 查询订单详情
* @param orderId
* @return
*/
@PostMapping(value = "/getOrderInfoByCode")
public R chargingOrderInfo(@RequestParam("orderId") String orderId){
List dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(orderId);
if(dataByOrderCode.size() > 0){
UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
return R.ok(uploadRealTimeMonitoringData);
}
return R.ok();
}
/**
* 批量查询
* @return
*/
@GetMapping(value = "/getOrderInfoByCodes/{ids}")
public R> getOrderInfoByCodes(@PathVariable("ids") String ids){
List res = new ArrayList<>();
for (String s : ids.split(",")) {
List dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s);
if(dataByOrderCode.size() > 0){
UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
res.add(uploadRealTimeMonitoringData);
}
}
return R.ok(res);
}
/**
* 根据订单编号获取所有监测数据
* @param code
* @return
*/
@PostMapping(value = "/getDataByOrderCode")
public R> getDataByOrderCode(@RequestParam("code") String code){
List list = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
return R.ok(list);
}
@PostMapping(value = "/getAll")
public R getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
UploadRealTimeMonitoringPageData list = uploadRealTimeMonitoringDataService.getDataAll(mongoChargingOrderQuery);
return R.ok(list);
}
@PostMapping(value = "/delete")
public R delete(@RequestParam String id) throws ParseException {
uploadRealTimeMonitoringDataService.delete(id);
return R.ok();
}
}