|
@@ -14,38 +14,26 @@ import (
|
|
"util"
|
|
"util"
|
|
)
|
|
)
|
|
|
|
|
|
-func DisWordRecode(order_id, sale_money int, product_name, disWord string) {
|
|
|
|
|
|
+func DisWordRecode(order_id, sale_money int, product_name, disWord, userId string) {
|
|
//redis 获取分销者信息
|
|
//redis 获取分销者信息
|
|
- redisDis := redis.GetStr("other", "DIS_"+disWord[1:])
|
|
|
|
|
|
+ log.Println("佣金计算")
|
|
|
|
+ redisDis := redis.GetStr("other", "DIS_"+disWord[1:len(disWord)])
|
|
log.Println("redisDis:", redisDis)
|
|
log.Println("redisDis:", redisDis)
|
|
if redisDis != "" {
|
|
if redisDis != "" {
|
|
//分销者id
|
|
//分销者id
|
|
shareUId := strings.Split(redisDis, "##")[1]
|
|
shareUId := strings.Split(redisDis, "##")[1]
|
|
- /*//查询用户是企业还是个人账户
|
|
|
|
- parentList := util.Mysql.SelectBySql("select * from dis_partner where uid=? ", shareUId)
|
|
|
|
- parentType := 1
|
|
|
|
- if len(*parentList) > 0 {
|
|
|
|
- parentTypeInt, _ := strconv.Atoi(fmt.Sprint((*parentList)[0]["type"]))
|
|
|
|
- parentType = parentTypeInt
|
|
|
|
- }*/
|
|
|
|
- //if (parentType == 2) {
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
//查询产品信息 获取 rate 佣金比例
|
|
//查询产品信息 获取 rate 佣金比例
|
|
var c_rate float64 = 0
|
|
var c_rate float64 = 0
|
|
if p_data, ok := util.MQFW.Find("dis_product", nil, `{"l_createdate":1}`, nil, false, -1, -1); ok && p_data != nil {
|
|
if p_data, ok := util.MQFW.Find("dis_product", nil, `{"l_createdate":1}`, nil, false, -1, -1); ok && p_data != nil {
|
|
-
|
|
|
|
for _, v := range *p_data {
|
|
for _, v := range *p_data {
|
|
- fmt.Println(v)
|
|
|
|
if product_name == qutil.ObjToString(v["s_name"]) {
|
|
if product_name == qutil.ObjToString(v["s_name"]) {
|
|
c_rate = qutil.Float64All(v["f_rate"])
|
|
c_rate = qutil.Float64All(v["f_rate"])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if product_name=="超级订阅企业版" {
|
|
|
|
- product_name="超级订阅"
|
|
|
|
|
|
+ if product_name == "超级订阅企业版" {
|
|
|
|
+ product_name = "超级订阅"
|
|
}
|
|
}
|
|
- fmt.Println("佣金比例:",fmt.Sprint(c_rate))
|
|
|
|
//四舍五入 取整
|
|
//四舍五入 取整
|
|
c_money_f := float64(sale_money) * c_rate
|
|
c_money_f := float64(sale_money) * c_rate
|
|
c_money_i := int(qutil.RetainDecimal(c_money_f, 0))
|
|
c_money_i := int(qutil.RetainDecimal(c_money_f, 0))
|
|
@@ -61,12 +49,26 @@ func DisWordRecode(order_id, sale_money int, product_name, disWord string) {
|
|
// "sale_status": 0, //状态;0:未结算,1:已结算
|
|
// "sale_status": 0, //状态;0:未结算,1:已结算
|
|
// "createtime": qutil.FormatDate(&now, qutil.Date_Full_Layout), //保存时间
|
|
// "createtime": qutil.FormatDate(&now, qutil.Date_Full_Layout), //保存时间
|
|
// "timestamp": qutil.FormatDate(&now, qutil.Date_Full_Layout), //修改时间
|
|
// "timestamp": qutil.FormatDate(&now, qutil.Date_Full_Layout), //修改时间
|
|
|
|
+ shareType := ""
|
|
|
|
+ /*if len(strings.Split(disWord, ",")) == 3 {
|
|
|
|
+ shareType = strings.Split(disWord, ",")[2]
|
|
|
|
+ }*/
|
|
|
|
+ if (userId==shareUId){
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ phone := ""
|
|
|
|
+ userMsg, _ := util.MQFW.FindById("user", userId, ``)
|
|
|
|
+ if userMsg == nil || len(*userMsg) == 0 {
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ phone = qutil.ObjToString(qutil.If((*userMsg)["s_phone"] != nil, (*userMsg)["s_phone"], (*userMsg)["s_m_phone"]))
|
|
|
|
+ shareType = qutil.ObjToString((*userMsg)["shareType"])
|
|
|
|
+ }
|
|
if !util.Mysql.ExecTx("分销记录和个人账户统计", func(tx *sql.Tx) bool {
|
|
if !util.Mysql.ExecTx("分销记录和个人账户统计", func(tx *sql.Tx) bool {
|
|
//新增分销记录
|
|
//新增分销记录
|
|
- s_count := util.Mysql.InsertBySqlByTx(tx, "INSERT INTO dis_sale (uid,order_id,product_name,sale_money,commission_rate,commission,code,sale_status,createtime,timestamp) VALUES (?,?,?,?,?,?,?,?,?,?)", shareUId, order_id, product_name, sale_money, c_rate, c_money_i, code, 0, qutil.FormatDate(&now, qutil.Date_Full_Layout), qutil.FormatDate(&now, qutil.Date_Full_Layout))
|
|
|
|
|
|
+ s_count := util.Mysql.InsertBySqlByTx(tx, "INSERT INTO dis_sale (uid,order_id,product_name,sale_money,commission_rate,commission,code,sale_status,createtime,timestamp,phone,shareType) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", shareUId, order_id, product_name, sale_money, c_rate, c_money_i, code, 0, qutil.FormatDate(&now, qutil.Date_Full_Layout), qutil.FormatDate(&now, qutil.Date_Full_Layout),phone,shareType)
|
|
//个人账户更新
|
|
//个人账户更新
|
|
p_count := util.Mysql.UpdateOrDeleteBySql("UPDATE account a SET a.dis_sales = a.dis_sales+? , a.dis_order = a.dis_order+1 , a.dis_commission=a.dis_commission+? WHERE a.uid = ?", sale_money, c_money_i, shareUId)
|
|
p_count := util.Mysql.UpdateOrDeleteBySql("UPDATE account a SET a.dis_sales = a.dis_sales+? , a.dis_order = a.dis_order+1 , a.dis_commission=a.dis_commission+? WHERE a.uid = ?", sale_money, c_money_i, shareUId)
|
|
-
|
|
|
|
util.MsgRemind.DistributionSuccess(order_id, shareUId, c_money_i, product_name)
|
|
util.MsgRemind.DistributionSuccess(order_id, shareUId, c_money_i, product_name)
|
|
return s_count > 0 && p_count > 0
|
|
return s_count > 0 && p_count > 0
|
|
}) {
|
|
}) {
|