48 lines
1.4 KiB
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 = ? 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)
|
|
})
|
|
}}
|
|
}
|