Преглед изворни кода

Merge branch 'develop' into feature/app_dev

* develop:
  双十二促销
abiao пре 4 година
родитељ
комит
c606487299

+ 2 - 0
go/gopath/src/fohow.com/apps/controllers/order_controller/order_controller.go

@@ -129,6 +129,7 @@ func (self *OrderController) Create() {
 	if specialPromotion {
 		order.Promotions = specialstr
 	}
+
 	order.Save()
 	//创建订单明细
 	new(order_model.OrderDetail).Create(order.OrderId, order.Id, product.Id, product.RelateProductId, product.Price, product.RoboBalancePrice, product.Name,
@@ -527,6 +528,7 @@ func (self *OrderController) Detail() {
 	}
 
 	o.StatusCn = order_model.STATUS_CN_TEXT[o.Status]
+	o.ShutWechat = sys_config.GetShutWechatPromotion()
 	o.CTime = o.CreatedAt.Unix()
 	o.DTime = o.DispatchTime.Unix()
 	if o.DTime < 0 {

+ 10 - 1
go/gopath/src/fohow.com/apps/controllers/pay_controller/pay_exchange_controller.go

@@ -195,13 +195,22 @@ func (self *PayController) payExchange(oId, payWay, returnUrl, source, remark st
 		tp += freight
 		total_quan += freight
 		if useCoupon {
+			//特殊促销期间券不够不允许支付
+			if sys_config.GetShutWechatPromotion() && userLeftBalanceCount < total_quan {
+				self.ReturnError(403, apps.NotEnoughPay, "", nil)
+			}
 			if userLeftBalanceCount < total_quan {
 				totalCoupon = userLeftBalanceCount
 			} else {
 				totalCoupon = total_quan
 			}
 		}
-		total_weixin = tp - totalCoupon
+		//特殊促销关闭微信支付
+		if sys_config.GetShutWechatPromotion() {
+			total_weixin = 0
+		} else {
+			total_weixin = tp - totalCoupon
+		}
 		if total_weixin > 0 {
 			needWx = true
 		}

+ 1 - 0
go/gopath/src/fohow.com/apps/init.go

@@ -117,6 +117,7 @@ var (
 	UploadUserHeadError = []string{"uploadUserHeadError", "上传头像错误"}
 	AddressNotMatch     = []string{"addressNotMatch", "地址不匹配"}
 	NotUnPay            = []string{"notUnPay", "无法支付,该订单已支付或者已过期"}
+	NotEnoughPay        = []string{"notEnouphPay", "无法支付,提货券余额不足"}
 	NotRightPayWay      = []string{"notRightPayWay", "无法支付,该订单只支持微信支付"}
 	HasAlreadyPay       = []string{"hasAlreadyPay", "该订单已支付过"}
 	NotPayInTime        = []string{"notPayInTime", "没在规定时间内完成支付"}

+ 1 - 0
go/gopath/src/fohow.com/apps/models/order_model/order.go

@@ -126,6 +126,7 @@ type Order struct {
 	UpdatedAt      time.Time          `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"` // datetime
 	Promotions     string             `orm:"column(promotions);null"                           json:"-"`   // varchar(255)
 	SpecialPro     bool               `orm:"-"                                 json:"special_promotion"`   // int(11)
+	ShutWechat     bool               `orm:"-"                                 json:"shut_wechat"`         // int(11)
 	WxUser         *user_model.WxUser `orm:"-"                                 json:"wx_user"`
 	ProductList    []*OrderDetail     `orm:"-"                                 json:"product_list"` // varchar(255)
 }

+ 21 - 0
go/gopath/src/fohow.com/apps/models/sys_config/sys_config.go

@@ -23,6 +23,7 @@ const (
 	CODE_AGENT_APPLY_RET  = "AGENT_APPLY_RET"
 	CODE_AGENT_APPLY_QUAN = "AGENT_APPLY_QUAN"
 	SPECIAL_PROMOTION     = "SPECIAL_PROMOTION"
+	SHUT_WECHAT           = "SHUT_WECHAT"
 	CODE_FOHOW_OUBIAO     = "oubiao"
 	CODE_FOHOW            = "fohow"
 	sys_configs_tablename = "sys_configs"
@@ -263,3 +264,23 @@ func GetSpetialPromotion() (bool, string) {
 	}
 	return false, ""
 }
+
+//关闭微信支付时间段
+func GetShutWechatPromotion() bool {
+	sysConfig := SysConfig{}
+	if err := orm.NewOrm().QueryTable(sysConfig).Filter("code", SHUT_WECHAT).Limit(1).One(&sysConfig); err != nil {
+		beego.BeeLogger.Error("get sysConfig by  err=%s", err)
+		return false
+	}
+	promotionArr := helper.NewStr(sysConfig.CodeValue).Explode("_")
+	if len(promotionArr) == 2 {
+		beginTime := helper.NewStr(promotionArr[0]).ToInt64()
+		endTime := helper.NewStr(promotionArr[1]).ToInt64()
+		nowTime := time.Now().Unix()
+		if nowTime >= beginTime && nowTime <= endTime {
+			beego.BeeLogger.Warn("GetShutWechatPromotion----%v", promotionArr)
+			return true
+		}
+	}
+	return false
+}