Просмотр исходного кода

Merge branch 'develop' into feature/app_dev

* develop:
  增加导入订单佣金计算
abiao лет назад: 4
Родитель
Сommit
7fb51015a8

+ 42 - 0
go/gopath/src/fohow.com/apps/controllers/railsadmin_controller/order_award_controller.go

@@ -0,0 +1,42 @@
+package railsadmin_controller
+
+import (
+	"fohow.com/apps"
+	"fohow.com/apps/helpers"
+	"fohow.com/apps/models/order_model"
+	"fohow.com/apps/models/user_model"
+	"github.com/astaxie/beego"
+	"strconv"
+	"sync"
+)
+
+var orderAwardLock sync.Mutex
+
+//订单发货
+func (self *RailsadminController) OrderAward() {
+
+	_id := self.Ctx.Input.Param(":id")
+	id, _ := strconv.ParseInt(_id, 10, 64)
+
+	beego.BeeLogger.Warn("OrderAward id:(%d)", id)
+
+	defer orderAwardLock.Unlock()
+	orderAwardLock.Lock()
+	o := order_model.GetOrderByIntId(id)
+	if o == nil {
+		self.ReturnError(404, apps.OrderNotExist, "", nil)
+	}
+	//只能处理待发货订单
+	if o.Status != order_model.STATUS_PROCESSING && !o.HasCommission {
+		self.ReturnError(403, apps.OrderStatusNotSuit, "", nil)
+	}
+
+	o.HasCommission = true
+	if !o.Save() {
+		beego.BeeLogger.Error("user[%d]", id)
+	}
+	wxUser := user_model.GetWxUserById(o.WxUserId, true)
+	go helpers.NewSendInviterBenefit(wxUser, o.OrderId, user_model.SOURCE_PRODUCT_BENEFIT)
+
+	self.ServeJSON()
+}

+ 4 - 2
go/gopath/src/fohow.com/apps/models/order_model/order.go

@@ -118,10 +118,12 @@ type Order struct {
 	DispatchTime   time.Time          `orm:"column(dispatch_time);null;type(datetime)"           json:"dispatch_time"`
 	ReceiveTime    time.Time          `orm:"column(receive_time);null;type(datetime)"            json:"receive_time"`
 	PaiedTime      time.Time          `orm:"column(paied_time);null;type(datetime)"              json:"paied_time"` // int(11)
-	CreatedAt      time.Time          `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"`          // datetime
-	UpdatedAt      time.Time          `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"`          // datetime
+	HasCommission  bool               `orm:"has_commission"                                      json:"-"`
+	CreatedAt      time.Time          `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"` // datetime
+	UpdatedAt      time.Time          `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"` // datetime
 	WxUser         *user_model.WxUser `orm:"-"                                 json:"wx_user"`
 	ProductList    []*OrderDetail     `orm:"-"                                 json:"product_list"` // varchar(255)
+
 }
 
 func (self *Order) TableName() string {

+ 1 - 0
go/gopath/src/fohow.com/routers/routes.go

@@ -238,6 +238,7 @@ func init() {
 	beego.Router("/railsadmin/live/award/:id([0-9]+)", &railsadmin_controller.RailsadminController{}, "get:LiveAward")
 	beego.Router("/railsadmin/recharge/award/:id([0-9]+)", &railsadmin_controller.RailsadminController{}, "get:PatchCashAward")
 	beego.Router("/railsadmin/balance_order/confirm/:id([0-9]+)", &railsadmin_controller.RailsadminController{}, "get:ConfirmBalanceOrder")
+	beego.Router("/railsadmin/order/award/:id([0-9]+)", &railsadmin_controller.RailsadminController{}, "get:OrderAward")
 
 	//设置群主
 	beego.Router("/railsadmin/update/intro/:id([0-9]+)", &railsadmin_controller.RailsadminController{}, "get:UpdateIntroUser")