|
@@ -29,6 +29,10 @@ type CygxOrderAddReq struct {
|
|
|
SourceId int `description:"资源ID"`
|
|
|
}
|
|
|
|
|
|
+type CygxOrderCancelReq struct {
|
|
|
+ OrderCode string `comment:"订单编号"`
|
|
|
+}
|
|
|
+
|
|
|
type CygxOrder struct {
|
|
|
OrderId int `orm:"column(order_id);pk";comment:"订单id"`
|
|
|
OrderCode string `comment:"订单编号"`
|
|
@@ -153,6 +157,9 @@ func AddCygxOrder(item *CygxOrder) (err error) {
|
|
|
o.Rollback()
|
|
|
}
|
|
|
}()
|
|
|
+
|
|
|
+ item.OrderStatus = 1 // 初始状态待支付
|
|
|
+
|
|
|
itemOrderAction := new(CygxOrderAction)
|
|
|
|
|
|
itemOrderAction.Action = "创建订单"
|
|
@@ -182,6 +189,57 @@ func AddCygxOrder(item *CygxOrder) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// 添加
|
|
|
+func CancelCygxOrder(item *CygxOrder) (err error) {
|
|
|
+ o, err := orm.NewOrm().Begin()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ fmt.Println(err)
|
|
|
+ if err == nil {
|
|
|
+ o.Commit()
|
|
|
+ } else {
|
|
|
+ o.Rollback()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ itemOrderAction := new(CygxOrderAction)
|
|
|
+ itemOrderAction.Action = "取消订单"
|
|
|
+ itemOrderAction.OrderStatus = 0
|
|
|
+ itemOrderAction.OrderStatusText = "已取消"
|
|
|
+ itemOrderAction.OrderCode = item.OrderCode
|
|
|
+ itemOrderAction.UserId = item.UserId
|
|
|
+ itemOrderAction.Mobile = item.Mobile
|
|
|
+ itemOrderAction.Email = item.Email
|
|
|
+ itemOrderAction.CompanyId = item.CompanyId
|
|
|
+ itemOrderAction.CompanyName = item.CompanyName
|
|
|
+ itemOrderAction.RealName = item.RealName
|
|
|
+ itemOrderAction.SellerName = item.SellerName
|
|
|
+ itemOrderAction.CreateTime = time.Now()
|
|
|
+ itemOrderAction.ModifyTime = time.Now()
|
|
|
+ itemOrderAction.RegisterPlatform = item.RegisterPlatform
|
|
|
+
|
|
|
+ _, err = o.Insert(itemOrderAction) // 写入订单操作信息
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ updateParams := make(map[string]interface{})
|
|
|
+ updateParams["OrderStatus"] = 0
|
|
|
+ updateParams["ModifyTime"] = item.ModifyTime
|
|
|
+ ptrStructOrTableName := "cygx_order"
|
|
|
+ whereParam := map[string]interface{}{"order_code": item.OrderCode}
|
|
|
+ qs := o.QueryTable(ptrStructOrTableName)
|
|
|
+ for expr, exprV := range whereParam {
|
|
|
+ qs = qs.Filter(expr, exprV)
|
|
|
+ }
|
|
|
+ _, err = qs.Update(updateParams)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// 根据订单编号修改
|
|
|
func UpdateCygxOrder(item *CygxOrder, oldOrderCode string) (err error) {
|
|
|
o := orm.NewOrm()
|