package com.muyu.enterprise.controller;

import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.enterprise.domain.CarMessageType;
import com.muyu.enterprise.service.CarMessageTypeService;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 报文类型--控制层
 * @ClassName CarMessageTypeController
 * @Description 报文类型 Controller 层
 * @author  MingWei.Zong
 * @Date 2024/9/28 16:52
 */
@RestController
@RequestMapping("carMessageType")
@Tag(name = "报文类型" ,description = "报文类型")
public class CarMessageTypeController extends BaseController {
    @Autowired
    private CarMessageTypeService sysCarMessageTypeService;

    /**
     * 查询报文类型
     * @return
     */
    @PostMapping("messageTypeList")
    public Result messageTypeList(){
        sysCarMessageTypeService.messageTypeList();
        List<CarMessageType> list = sysCarMessageTypeService.list();
        return Result.success(list);
    }

    @PostMapping("inserMessageType")
    public Result inserMessageType(@RequestBody CarMessageType carMessageType){
        /** id 检验 */
        if(carMessageType.getMessageTypeId()>0){
            return Result.error("添加要什么id");
        }
        /** token 检验 */
        if(SecurityUtils.getToken().isEmpty()){
            return Result.error("token不为空");
        }
        /** 报文类型 */
        if(StringUtils.isEmpty(carMessageType.getMessageType())){
            return Result.error("报文类型不能为空");
        }
        /** 报文 */
        if(StringUtils.isEmpty(carMessageType.getMessageName())){
            return Result.error("报文不能为空");
        }
        /** 报文编码 */
        if(StringUtils.isEmpty(carMessageType.getMessageCode())){
            return Result.error("报文编码不能为空");
        }
        /** 报文字段类型 */
        if(StringUtils.isEmpty(carMessageType.getMessageClass())){
            return Result.error("报文字段类型不能为空");
        }
        sysCarMessageTypeService.save(carMessageType);
        return Result.success("添加成功");
    }

    /**
     * 修改报文类型
     * @param carMessageType
     * @return
     */
    @PostMapping("updateMessageType")
    public Result updateMessageType(@RequestBody CarMessageType carMessageType){
        /** id */
        if(carMessageType.getMessageTypeId() < 0 ){
            return Result.error("修改需要id");
        }
        /** 报文编号 */
        if(StringUtils.isEmpty(carMessageType.getMessageCode())){
            return Result.error("");
        }
        sysCarMessageTypeService.updateById(carMessageType);
        return Result.success("修改成功");
    }



}
