HHWCloudSolutionlts功能优化
a5c479fe创建于 2023年3月6日历史提交
package lts

import (
	"encoding/json"
	"fleetmanager/api/common/log"
	"fleetmanager/api/model/lts"
	"fleetmanager/api/response"
	service "fleetmanager/api/service/lts"
	"fleetmanager/api/validator"
	"fleetmanager/logger"
	"net/http"

	"github.com/beego/beego/v2/server/web"
)

type UpdateLTSController struct {
	web.Controller
}

func (c *UpdateLTSController) UpdateAccessConfig() {
	tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "update_access_config")
	projectId := c.Ctx.Input.Param(":project_id")
	s := service.NewLtsService(c.Ctx, tLogger)
	config := lts.UpdateAccessConfigToDB{}
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &config); err != nil {
		response.InputError(c.Ctx)
		tLogger.WithField(logger.Error, err.Error()).Error("read request body error")
		return
	}
	if err := validator.Validate(&config); err != nil {
		tLogger.Error("validate request body err:%+v", err.Error())
		response.ParamsError(c.Ctx, err)
		return
	}
 	code, rsp, errNew := s.UpdateAccessConfig(projectId, config)
	if errNew != nil {
		tLogger.Error("update access config err:%s", errNew.Error())
		response.Error(c.Ctx, http.StatusInternalServerError, errNew.ErrD)
		return
	}
	if code < http.StatusOK || code >= http.StatusBadRequest {
		response.TransPort(c.Ctx, code, rsp)
	} else {
		response.Success(c.Ctx, http.StatusNoContent, nil)
	}
	tLogger.Info("update access config success")
}