pet-house/business/api/admin.go

48 lines
1.4 KiB
Go

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 = ?", 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)
})
}}
}