123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- package ordersrv
- import (
- "Cold_Logistic/internal/pkg/common/constant"
- "Cold_Logistic/internal/pkg/common/global"
- "Cold_Logistic/internal/server/infra/models"
- validation "github.com/go-ozzo/ozzo-validation/v4"
- "gogs.baozhida.cn/Cold_Logistic_libs/pkg/contrib/core"
- )
- type AddressVO struct {
- AddressId int `json:"addressId"`
- Name string `json:"name"`
- Phone string `json:"phone"`
- ProvinceId int `json:"provinceId"`
- ProvinceName string `json:"provinceName"`
- CityId int `json:"cityId"`
- CityName string `json:"cityName"`
- RegionId int `json:"regionId"`
- RegionName string `json:"regionName"`
- Address string `json:"address"`
- IsDefault int `json:"isDefault"`
- }
- func (r *AddressVO) Validate() error {
- if r.AddressId > 0 {
- return nil
- }
- return validation.ValidateStruct(r,
- validation.Field(&r.Name, validation.Required),
- validation.Field(&r.Phone, validation.Required),
- validation.Field(&r.ProvinceId, validation.Required),
- validation.Field(&r.CityId, validation.Required),
- validation.Field(&r.Address, validation.Required),
- validation.Field(&r.IsDefault, validation.In(constant.YES, constant.NO)),
- )
- }
- func ConvertAddressReqVO(ent models.AddressBook) (ret AddressVO) {
- ret.AddressId = ent.Id
- ret.Name = ent.Name
- ret.Phone = ent.Phone
- ret.ProvinceId = ent.ProvinceId
- ret.ProvinceName = ent.ProvinceName
- ret.CityId = ent.CityId
- ret.CityName = ent.CityName
- ret.RegionId = ent.RegionId
- ret.RegionName = ent.RegionName
- ret.Address = ent.Address
- ret.IsDefault = ent.IsDefault
- return ret
- }
- type PlaceOrderReqVO struct {
- LogisticId int `json:"logisticId"`
- LogisticPid int `json:"logisticPid"`
- LogisticPidName string `json:"LogisticPidName"`
- Sender AddressVO `json:"sender"`
- Consignee AddressVO `json:"consignee"`
- CargoType string `json:"cargoType"`
- TemperatureInterval string `json:"temperatureInterval"`
- CargoNumber int `json:"cargoNumber"`
- DeliveryCondition string `json:"deliveryCondition"`
- DeliveryRemark string `json:"deliveryRemark"`
- TimeLimit int `json:"timeLimit"`
- PickupTime models.MyTime `json:"pickupTime"`
- IsWeekendPickup int `json:"isWeekendPickup"`
- IsInsuredValue int `json:"isInsuredValue"`
- }
- func (r *PlaceOrderReqVO) Validate() error {
- return validation.ValidateStruct(r,
- validation.Field(&r.LogisticId, validation.When(r.LogisticPid <= 0, validation.Required)),
- validation.Field(&r.LogisticPid, validation.When(r.LogisticId <= 0, validation.Required)),
- validation.Field(&r.LogisticPidName, validation.When(r.LogisticPid > 0, validation.Required)),
- validation.Field(&r.Sender),
- validation.Field(&r.Consignee),
- validation.Field(&r.CargoType, validation.Required),
- validation.Field(&r.TemperatureInterval, validation.Required),
- validation.Field(&r.DeliveryCondition, validation.Required),
- validation.Field(&r.TimeLimit, validation.Required),
- validation.Field(&r.PickupTime, validation.Required),
- )
- }
- type PlaceOrderRespVO struct {
- OrderNo string
- PlaceOrderTime models.MyTime
- }
- type OrderDetailReqVO struct {
- OrderId int `json:"orderId"`
- }
- func (r *OrderDetailReqVO) Validate() error {
- return validation.ValidateStruct(r, validation.Field(&r.OrderId, validation.Required))
- }
- type OrderDetailRespVO struct {
- OrderId int `json:"orderId"`
- OrderNo string `json:"orderNo"`
- LogisticName string `json:"logisticName"`
- OrderStatus int `json:"orderStatus"`
- Sender AddressVO `json:"sender"`
- Consignee AddressVO `json:"consigneeAddressId"`
- CargoType string `json:"cargoType"`
- TemperatureInterval string `json:"temperatureInterval"`
- CargoNumber int `json:"cargoNumber"`
- DeliveryCondition string `json:"deliveryCondition"`
- DeliveryRemark string `json:"deliveryRemark"`
- TimeLimit int `json:"timeLimit"`
- PickupTime models.MyTime `json:"pickupTime"`
- IsWeekendPickup int `json:"isWeekendPickup"`
- IsInsuredValue int `json:"isInsuredValue"`
- }
- type OrderLogisticDetailReqVO struct {
- OrderId int `json:"orderId"`
- }
- func (r *OrderLogisticDetailReqVO) Validate() error {
- return validation.ValidateStruct(r, validation.Field(&r.OrderId, validation.Required))
- }
- type QueryExpressOrderReqVO struct {
- OrderNo string `json:"orderNo"`
- }
- func (r *QueryExpressOrderReqVO) Validate() error {
- return validation.ValidateStruct(r, validation.Field(&r.OrderNo, validation.Required, validation.RuneLength(1, 30)))
- }
- type QueryExpressOrderRespVO struct {
- OrderId int `json:"orderId"`
- OrderNo string `json:"orderNo"`
- OrderStatus int `json:"orderStatus"`
- LogisticName string `json:"logisticName"`
- LatestLocation LocationInfoVO `json:"LatestLocation"`
- }
- type OrderLogisticDetailRespVO struct {
- OrderId int `json:"orderId"`
- LogisticLink []LocationInfoVO `json:"logisticLink"`
- Sender AddressVO `json:"sender"`
- Consignee AddressVO `json:"consignee"`
- }
- type LocationInfoVO struct {
- LocationTime models.MyTime `json:"locationTime"`
- Location string `json:"location"`
- ContactPerson string `json:"contactPerson"`
- ContactPhone string `json:"contactPhone"`
- Extend string `json:"extend"`
- SnCode string `json:"snCode"`
- }
- type ManageOrderPageReqVO struct {
- Page core.Page `json:"page"`
- Search struct {
- OrderNo string `json:"orderNo"`
- OrderStatus int `json:"orderStatus"`
- } `json:"search"`
- }
- type AssignOrderReqVO struct {
- OrderId int `json:"orderId"`
- Freight int `json:"freight"`
- Driver global.ClodAccount `json:"driver"`
- Destination string `json:"destination"`
- }
- func (r *AssignOrderReqVO) Validate() error {
- return validation.ValidateStruct(r,
- validation.Field(&r.OrderId, validation.Required),
- validation.Field(&r.Destination, validation.Required),
- validation.Field(&r.Driver),
- )
- }
- type AssignOrderRespVO struct {
- OrderId int `json:"orderId"`
- }
- type WarehousePageReqVO struct {
- Page core.Page `json:"page"`
- Search struct {
- Name string `json:"name"`
- SnCode string `json:"snCode"`
- } `json:"search"`
- }
|