package api import ( "encoding/json" "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/context" "io" "pet-house.com/business/models" "pet-house.com/core/server/database" "pet-house.com/core/server/web/web_iris" ) type DispatchOrderRequest struct { OrderId string //订单号 CarId int //车辆ID Remark string //派单备注 } // 派单 func (p DefParty) dispatchOrder() web_iris.Party { return web_iris.Party{Prefix: p.Prefix, PartyFunc: func(index iris.Party) { index.Post(Admin+"/dispatchOrder", func(ctx *context.Context) { body, _ := io.ReadAll(ctx.Request().Body) var dispatchOrderRequest DispatchOrderRequest json.Unmarshal(body, &dispatchOrderRequest) var orderMain models.OrderMain database.Instance().Model(&models.OrderMain{}).Where("order_id = ? and status = 1", dispatchOrderRequest.OrderId).Find(&orderMain) if orderMain.Id == 0 { OrderExistError.Fail(ctx, dispatchOrderRequest) return } car := CarMap[dispatchOrderRequest.CarId] if car.Id == 0 { CarNotExistError.Fail(ctx, dispatchOrderRequest) return } carOrder := models.CarOrder{ CarId: car.Id, OrderId: orderMain.OrderId, Remark: dispatchOrderRequest.Remark, PredictionServiceTime: orderMain.ProjectionServiceTime, } database.Instance().Model(&models.CarOrder{}).Create(&carOrder) Success(ctx, dispatchOrderRequest, nil) }) }} }