Explorar o código

增加银豆逻辑

abiao %!s(int64=3) %!d(string=hai) anos
pai
achega
fe54e00565

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

@@ -2,6 +2,7 @@ package order_controller
 
 import (
 	"fmt"
+	"fohow.com/apps/helper"
 	"fohow.com/apps/helpers"
 	"fohow.com/apps/models/cent_model"
 	"fohow.com/apps/models/sys_config"
@@ -132,9 +133,14 @@ func (self *OrderController) Create() {
 	}
 
 	order.Save()
+
+	//抵扣银豆
+	var math = helper.NewMath()
+	userLeftSilver := balance_model.GetUserTotalSilver(wxUId)
+	paiedSilver, _ := math.Min(float64(userLeftSilver), float64(product.Silver*count))
+
 	//创建订单明细
-	new(order_model.OrderDetail).Create(order.OrderId, order.Id, product.Id, product.RelateProductId, product.Price, product.RoboBalancePrice, product.Name,
-		sizeName, colorName, count, wxUser.Depart)
+	new(order_model.OrderDetail).Create(order.OrderId, order.Id, product.Id, product.RelateProductId, product.Price, int64(paiedSilver), product.Name, sizeName, colorName, count, wxUser.Depart)
 
 	//发放赠品
 	helpers.SetOrderPromotionPro(order.OrderId, wxUser.Id)

+ 30 - 27
go/gopath/src/fohow.com/apps/controllers/test_controller/test_controller.go

@@ -2,11 +2,9 @@ package test_controller
 
 import (
 	"fmt"
+	"fohow.com/apps/helper"
 	"fohow.com/apps/models/order_model"
-	"fohow.com/apps/models/user_model"
-	"fohow.com/libs/lib_redis"
 	"fohow.com/libs/wx_mp"
-	"github.com/astaxie/beego"
 	"math/rand"
 	"strings"
 	"time"
@@ -51,35 +49,40 @@ func (self *TestController) TestOrderListen() {
 //测试redis 存储userInfo
 func (self *TestController) GetUserInfoFromRedis() {
 
-	//-------测试个人------------//
-	userId := int64(1458)
-	key := fmt.Sprintf("userinfo_%d", userId)
-	var user user_model.User
-	ok, resp := lib_redis.GetRedisValue(key, user)
-	if !ok {
-		//发送请求
-		resp = user_model.GetUserById(userId, false)
-		lib_redis.SetJsonEx(key, resp, 90*60)
+	////-------测试个人------------//
+	//userId := int64(1458)
+	//key := fmt.Sprintf("userinfo_%d", userId)
+	//var user user_model.User
+	//ok, resp := lib_redis.GetRedisValue(key, user)
+	//if !ok {
+	//	//发送请求
+	//	resp = user_model.GetUserById(userId, false)
+	//	lib_redis.SetJsonEx(key, resp, 90*60)
+	//
+	//}
+	//beego.BeeLogger.Warn("resp---%v", resp)
+	//
+	////-------测试数组------------//
+	//key_ar := fmt.Sprintf("array_userinfo_a")
+	//var users []user_model.User
+	//ok, resp_ar := lib_redis.GetRedisValue(key_ar, users)
+	//if !ok {
+	//	//发送请求
+	//	resp_ar = user_model.GetUserByIsRegistAndIsRegistBefore()
+	//	lib_redis.SetJsonEx(key_ar, resp_ar, 90*60)
+	//
+	//}
+	//beego.BeeLogger.Warn("resp_ar---%v", resp_ar)
+	var math = helper.NewMath()
+	userLeftSilver := float64(16)
+	paiedSilver, _ := math.Min(float64(userLeftSilver), float64(10.1), float64(9.8))
 
-	}
-	beego.BeeLogger.Warn("resp---%v", resp)
-
-	//-------测试数组------------//
-	key_ar := fmt.Sprintf("array_userinfo_a")
-	var users []user_model.User
-	ok, resp_ar := lib_redis.GetRedisValue(key_ar, users)
-	if !ok {
-		//发送请求
-		resp_ar = user_model.GetUserByIsRegistAndIsRegistBefore()
-		lib_redis.SetJsonEx(key_ar, resp_ar, 90*60)
-
-	}
-	beego.BeeLogger.Warn("resp_ar---%v", resp_ar)
 	type Ret struct {
 		Resp interface{} `json:"resp"`
 	}
 	ret := &Ret{}
-	ret.Resp = resp_ar
+	ret.Resp = paiedSilver
+
 	self.Data["json"] = ret
 	self.ServeJSON()
 }

+ 14 - 13
go/gopath/src/fohow.com/apps/models/order_model/order_detail.go

@@ -41,6 +41,7 @@ type OrderDetail struct {
 	Attrs                string         `orm:"-"                                                json:"attrs"` // decimal(10,2)
 	Depart               int64          `orm:"column(depart)" json:"-"`                                       // datetime
 	Pv                   int64          `orm:"column(pv)"            json:"pv"`                               // varchar(255)
+	Silver               int64          `orm:"column(silver)"        json:"silver"`                           // varchar(255)
 	Package              bool           `orm:"-"                                                json:"package"`
 	PacakageList         []*ProductItem `orm:"-"                                                json:"package_list"` // varchar(255)
 }
@@ -50,21 +51,21 @@ func (self *OrderDetail) TableName() string {
 }
 
 //创建订单项
-func (self *OrderDetail) Create(oId string, orderId, pId, relatePId, pPrice, unitRoboBalancePrice int64, pName, sizeName, colorName string,
+func (self *OrderDetail) Create(oId string, orderId, pId, relatePId, pPrice, silver int64, pName, sizeName, colorName string,
 	pCount, depart int64) *OrderDetail {
 	item := &OrderDetail{
-		OrderNo:              oId,
-		OrderId:              orderId,
-		Count:                pCount,
-		ProductId:            pId,
-		RelateProductId:      relatePId,
-		Price:                pPrice,
-		UnitRoboBalancePrice: unitRoboBalancePrice,
-		ProductName:          pName,
-		SizeName:             sizeName,
-		ColorName:            colorName,
-		Send:                 false,
-		Depart:               depart,
+		OrderNo:         oId,
+		OrderId:         orderId,
+		Count:           pCount,
+		ProductId:       pId,
+		RelateProductId: relatePId,
+		Price:           pPrice,
+		Silver:          silver,
+		ProductName:     pName,
+		SizeName:        sizeName,
+		ColorName:       colorName,
+		Send:            false,
+		Depart:          depart,
 	}
 	id, err := orm.NewOrm().Insert(item)
 	if err != nil {