aa
This commit is contained in:
@@ -13,8 +13,8 @@ func CreateOrder(c *gin.Context) {
|
|||||||
param = &struct {
|
param = &struct {
|
||||||
OrderType string `json:"order_type" form:"order_type" binding:"required"` //订单类型,流量充值等
|
OrderType string `json:"order_type" form:"order_type" binding:"required"` //订单类型,流量充值等
|
||||||
Origin string `json:"origin" form:"origin" binding:"required"` //订单来源,小程序,开放后台
|
Origin string `json:"origin" form:"origin" binding:"required"` //订单来源,小程序,开放后台
|
||||||
ThingID string `json:"thing_id" form:"thing_id" binding:"required"` //订单充值项目ID,充流量就是iccid
|
ThingID string `json:"thing_id" form:"thing_id" binding:"required"` //订单充值项目ID,充流量,有效期就是iccid
|
||||||
TypeID string `json:"type_id" form:"type_id" binding:"required"` //类型ID,充流量就是套餐对应的id
|
TypeID string `json:"type_id" form:"type_id" binding:"required"` //类型ID,充流量就是套餐对应的id,有效期就是充几个月
|
||||||
}{}
|
}{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
OrderTypeFlow = "flow"
|
OrderTypeFlow = "flow" //充流量
|
||||||
|
OrderTypeCardValid = "cardValid" //卡有效期
|
||||||
|
|
||||||
OrderOriginWxMini = "weixinmini"
|
OrderOriginWxMini = "weixinmini"
|
||||||
OrderOriginOpenAPI = "openAPI"
|
OrderOriginOpenAPI = "openAPI"
|
||||||
|
|||||||
@@ -32,6 +32,18 @@ var (
|
|||||||
}
|
}
|
||||||
return payPrice, err
|
return payPrice, err
|
||||||
},
|
},
|
||||||
|
model.OrderTypeCardValid: func(db *sqlx.DB, typeID string) (payPrice int64, err error) {
|
||||||
|
var (
|
||||||
|
avgPrice int64
|
||||||
|
count = utils.Str2Int(typeID) //充卡有效期代表几个月
|
||||||
|
)
|
||||||
|
if config, err2 := dao.GetConfig(db, model.ConfigTypeSys, model.OrderTypeCardValid); err2 == nil && config != nil {
|
||||||
|
avgPrice = utils.Str2Int64(config.Value)
|
||||||
|
} else {
|
||||||
|
err = err2
|
||||||
|
}
|
||||||
|
return avgPrice * int64(count), err
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
payFunc = map[string]func(db *sqlx.DB, order *model.PayOrder, vendorPayType string) (err error){
|
payFunc = map[string]func(db *sqlx.DB, order *model.PayOrder, vendorPayType string) (err error){
|
||||||
@@ -77,7 +89,7 @@ var (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = FlowIncome(db, iccID, flow, unit)
|
err = FlowIncome(db, iccID, flow, unit, model.FlowIncomeTypeUser)
|
||||||
//冲进去之后重新计算流量超标
|
//冲进去之后重新计算流量超标
|
||||||
sumIncome, _ := dao.GetSimFlowIncomeSum(db, iccID, monthBegin, monthEnd)
|
sumIncome, _ := dao.GetSimFlowIncomeSum(db, iccID, monthBegin, monthEnd)
|
||||||
sumExpend, _ := dao.GetSimFlowExpendSum(db, iccID, monthBegin, monthEnd)
|
sumExpend, _ := dao.GetSimFlowExpendSum(db, iccID, monthBegin, monthEnd)
|
||||||
@@ -91,6 +103,10 @@ var (
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
},
|
},
|
||||||
|
model.OrderTypeCardValid: func(db *sqlx.DB, order *model.PayOrder) (err error) {
|
||||||
|
_, err = api.TibiotAPI.Submit(order.ThingID, utils.Str2Int(order.TypeID))
|
||||||
|
return err
|
||||||
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -166,5 +182,9 @@ func OnPayFinished(order *model.PayOrder) (err error) {
|
|||||||
db = globals.GetDB()
|
db = globals.GetDB()
|
||||||
)
|
)
|
||||||
err = payFinishedFunc[order.OrderType](db, order)
|
err = payFinishedFunc[order.OrderType](db, order)
|
||||||
|
if err != nil {
|
||||||
|
order.Comment = err.Error()
|
||||||
|
dao.Update(db, order, "Comment")
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,12 +92,12 @@ func SimFlowMonthSettle() {
|
|||||||
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0)
|
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0)
|
||||||
for _, v := range printers {
|
for _, v := range printers {
|
||||||
if v.IccID != "" {
|
if v.IccID != "" {
|
||||||
FlowIncome(db, v.IccID, 30, "MB")
|
FlowIncome(db, v.IccID, 30, "MB", model.FlowIncomeTypeJX)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func FlowIncome(db *sqlx.DB, iccID string, flow float64, unit string) (err error) {
|
func FlowIncome(db *sqlx.DB, iccID string, flow float64, unit string, incomeType int) (err error) {
|
||||||
var (
|
var (
|
||||||
now = time.Now()
|
now = time.Now()
|
||||||
)
|
)
|
||||||
@@ -106,9 +106,9 @@ func FlowIncome(db *sqlx.DB, iccID string, flow float64, unit string) (err error
|
|||||||
CreatedAt: &now,
|
CreatedAt: &now,
|
||||||
UpdatedAt: &now,
|
UpdatedAt: &now,
|
||||||
LastOperator: "jxadmin",
|
LastOperator: "jxadmin",
|
||||||
IncomeType: model.FlowIncomeTypeJX,
|
|
||||||
Flow: 30,
|
Flow: 30,
|
||||||
FlowUnit: "MB",
|
FlowUnit: "MB",
|
||||||
|
IncomeType: incomeType,
|
||||||
}
|
}
|
||||||
dao.Insert(db, flowIncome)
|
dao.Insert(db, flowIncome)
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user