69 lines
1.7 KiB
Go
Executable File
69 lines
1.7 KiB
Go
Executable File
package nakedchatorderser
|
|
|
|
import (
|
|
"time"
|
|
|
|
"91porn-server/models/cache/nakedchatorderdata"
|
|
"91porn-server/models/commod"
|
|
"91porn-server/models/v/nakedchatordermod"
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
type WebListReq struct {
|
|
Uid *uint64 `json:"uid" form:"uid"` // 用户id
|
|
OrderId *string `json:"orderId" form:"orderId"` // 订单id
|
|
Nid *string `json:"nid" bson:"nid"` // 裸聊id
|
|
|
|
commod.Page
|
|
}
|
|
type WebListRes struct {
|
|
Total int64 `json:"total"`
|
|
HasNext bool `json:"hasNext"`
|
|
List []nakedchatordermod.NakedChatOrder `json:"list"`
|
|
}
|
|
|
|
// GetList 获取列表
|
|
func (q *WebListReq) GetList() (res WebListRes, err error) {
|
|
filter := bson.M{}
|
|
if q.OrderId != nil {
|
|
orderId, _ := primitive.ObjectIDFromHex(*q.OrderId)
|
|
filter["_id"] = orderId
|
|
}
|
|
if q.Uid != nil {
|
|
filter["uid"] = *q.Uid
|
|
}
|
|
if q.Nid != nil {
|
|
nid, _ := primitive.ObjectIDFromHex(*q.Nid)
|
|
filter["nid"] = nid
|
|
}
|
|
res.List, res.Total, res.HasNext, err = nakedchatordermod.GetList(filter, int64(q.Skip()), int64(q.Limit()), q.GetSort())
|
|
|
|
return
|
|
}
|
|
|
|
type WebUpdateReq struct {
|
|
ID primitive.ObjectID `json:"id" binding:"required"`
|
|
Status *int `json:"status"` // 0-已下单 1-已完成
|
|
}
|
|
|
|
// Update 更新数据
|
|
func (p *WebUpdateReq) Update() error {
|
|
_, err := nakedchatordermod.GetInfo(p.ID)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
data := make(map[string]interface{})
|
|
if p.Status != nil {
|
|
data["status"] = *p.Status
|
|
}
|
|
data["updatedAt"] = time.Now()
|
|
|
|
if _, err = nakedchatorderdata.UpdateData(nil, p.ID.Hex(), data); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|