Переглянути джерело

edit base details function

abiao 4 роки тому
батько
коміт
9552e13287

+ 49 - 0
go/gopath/src/fohow.com/apps/controllers/product_controller/product_controller.go

@@ -70,8 +70,20 @@ func (self *ProductController) Latest() {
 		if pd.Package {
 			pd.PackageList = product_model.GetPackageList(pd.Id, true)
 		}
+		//判断是否预售
+		pd.IsDeliver = false
 		pd.DeliverStartTime = pd.DeliverStartAt.Unix()
 		pd.DeliverStopTime = pd.DeliverStopAt.Unix()
+		if pd.DeliverStartTime > 0 {
+			pd.IsDeliver = true
+			if time.Now().Unix() <= pd.DeliverStartTime {
+				pd.DeliverState = product_model.DELIVER_STATE_1
+			} else if time.Now().Unix() > pd.DeliverStopTime {
+				pd.DeliverState = product_model.DELIVER_STATE_3
+			} else {
+				pd.DeliverState = product_model.DELIVER_STATE_2
+			}
+		}
 		pd.HaveSize = false
 		//店铺列表专区商品增加规格显示
 		if ptype == product_model.SHOP_SALE && product_model.GetProductAttrConfig(pd.RelateProductId) != nil {
@@ -162,8 +174,21 @@ func (self *ProductController) Get() {
 		pd.HaveSize = true
 	}
 
+	//判断是否预售
+	pd.IsDeliver = false
 	pd.DeliverStartTime = pd.DeliverStartAt.Unix()
 	pd.DeliverStopTime = pd.DeliverStopAt.Unix()
+	if pd.DeliverStartTime > 0 {
+		pd.IsDeliver = true
+		if time.Now().Unix() <= pd.DeliverStartTime {
+			pd.DeliverState = product_model.DELIVER_STATE_1
+		} else if time.Now().Unix() > pd.DeliverStopTime {
+			pd.DeliverState = product_model.DELIVER_STATE_3
+		} else {
+			pd.DeliverState = product_model.DELIVER_STATE_2
+		}
+	}
+
 	// ret.Product = pd
 	self.Data["json"] = pd
 	self.ServeJSON()
@@ -219,8 +244,20 @@ func (self *ProductController) GetPdDetail() {
 		if pd.Package {
 			pd.PackageList = product_model.GetPackageList(pd.Id, true)
 		}
+		//判断是否预售
+		pd.IsDeliver = false
 		pd.DeliverStartTime = pd.DeliverStartAt.Unix()
 		pd.DeliverStopTime = pd.DeliverStopAt.Unix()
+		if pd.DeliverStartTime > 0 {
+			pd.IsDeliver = true
+			if time.Now().Unix() <= pd.DeliverStartTime {
+				pd.DeliverState = product_model.DELIVER_STATE_1
+			} else if time.Now().Unix() > pd.DeliverStopTime {
+				pd.DeliverState = product_model.DELIVER_STATE_3
+			} else {
+				pd.DeliverState = product_model.DELIVER_STATE_2
+			}
+		}
 	}
 	ret := &Ret{}
 	ret.Product = pd
@@ -289,8 +326,20 @@ func (self *ProductController) GetProductsByCat() {
 		if pd.Package {
 			pd.PackageList = product_model.GetPackageList(pd.Id, true)
 		}
+		//判断是否预售
+		pd.IsDeliver = false
 		pd.DeliverStartTime = pd.DeliverStartAt.Unix()
 		pd.DeliverStopTime = pd.DeliverStopAt.Unix()
+		if pd.DeliverStartTime > 0 {
+			pd.IsDeliver = true
+			if time.Now().Unix() <= pd.DeliverStartTime {
+				pd.DeliverState = product_model.DELIVER_STATE_1
+			} else if time.Now().Unix() > pd.DeliverStopTime {
+				pd.DeliverState = product_model.DELIVER_STATE_3
+			} else {
+				pd.DeliverState = product_model.DELIVER_STATE_2
+			}
+		}
 	}
 	self.Data["json"] = &Ret{List: list, ListCount: count}
 	self.ServeJSON()

+ 8 - 0
go/gopath/src/fohow.com/apps/models/product_model/product.go

@@ -35,6 +35,12 @@ const (
 	//规格类型
 	SIZE_TYPE_1 = "size"  //类型
 	SIZE_TYPE_2 = "color" //颜色
+
+	//预售状态
+	DELIVER_STATE_1 = int64(1) //未开始
+	DELIVER_STATE_2 = int64(2) //进行中
+	DELIVER_STATE_3 = int64(3) //已结束
+
 )
 
 func (self *Product) TableName() string {
@@ -83,6 +89,8 @@ type Product struct {
 	DeliverStartAt   time.Time `orm:"column(deliver_start_at);null;auto_now_add;type(datetime)" json:"-"` // datetime
 	DeliverStopTime  int64     `orm:"-" json:"deliver_stop_time"`                                         // datetime
 	DeliverStartTime int64     `orm:"-" json:"deliver_start_time"`                                        // datetime
+	IsDeliver        bool      `orm:"-"                                        json:"is_deliver"`
+	DeliverState     int64     `orm:"-" json:"deliver_state"` // datetime
 
 	IsOnlyNew  bool  `orm:"column(is_only_new)"                                        json:"is_only_new"`
 	OrderCount int64 `orm:"-"                                   json:"order_count"` // int(11)