package com.luozhihui.project.controller;
import com.luozhihui.project.common.ApiResponse;
import com.luozhihui.project.entity.Pact;
import com.luozhihui.project.mapper.PactShowMapper;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/api")
@CrossOrigin
public class PactShowController {
    @Resource
    PactShowMapper pactShowMapper;

    //查询所有车辆信息
    @PostMapping("/AllPact")
    public ApiResponse AllCar() {
        try {
            // 查询所有订单
            List<Pact> pact = pactShowMapper.FindAllPact();
            if (pact != null) {
                return new ApiResponse(pact, 200, "查询成功");
            } else {
                return new ApiResponse(null, 404, "未找到合同信息"); // 如果未找到订单，返回适当的状态码和消息
            }
        } catch (Exception e) {
            e.printStackTrace();
            return new ApiResponse(null, 500, "服务器内部错误"); // 捕获任何异常并返回服务器内部错误
        }
    }

    //通过userid查询信息
    @PostMapping("/FindPactById")
    public ApiResponse FindCarById(Pact pact) {
        try {
            // 查询所有合同信息
            List<Pact> pacts = pactShowMapper.FindPactById(pact.getUserId());

            if (pacts != null && !pacts.isEmpty()) {
                return new ApiResponse(pacts, 200, "查询成功");
            } else {
                return new ApiResponse(null, 404, "未找到合同信息"); // 如果未找到订单，返回适当的状态码和消息
            }
        } catch (Exception e) {
            e.printStackTrace();
            return new ApiResponse(null, 500, "服务器内部错误"); // 捕获任何异常并返回服务器内部错误
        }
    }
    //通过pcatid查询信息
    @PostMapping("/FindPactByPactId")
    public ApiResponse FindPactById(Pact pact) {
        try {
            // 查询所有合同信息
            List<Pact> pacts = pactShowMapper.FindPactByPactId(String.valueOf(pact.getPactId()));

            if (pacts != null && !pacts.isEmpty()) {
                return new ApiResponse(pacts, 200, "查询成功");
            } else {
                return new ApiResponse(null, 404, "未找到合同信息"); // 如果未找到订单，返回适当的状态码和消息
            }
        } catch (Exception e) {
            e.printStackTrace();
            return new ApiResponse(null, 500, "服务器内部错误"); // 捕获任何异常并返回服务器内部错误
        }
    }

}
