@@ -0,0 +1,18 @@ | |||||
package db | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/db/model" | |||||
zhios_condition_statistics_logx "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/utils/logx" | |||||
"fmt" | |||||
"xorm.io/xorm" | |||||
) | |||||
func B2cOrdByTime(Db *xorm.Engine, uid, buyType, state, stime, etime interface{}) (float64, error) { | |||||
total, err := Db.Where("uid = ? AND state in (?) AND create_time > ? AND create_time < ?", uid, state, stime, etime).Sum(&model.B2cOrd{}, "cost_price") | |||||
fmt.Println(err) | |||||
fmt.Println(total) | |||||
if err != nil { | |||||
return 0, zhios_condition_statistics_logx.Error(err) | |||||
} | |||||
return total, nil | |||||
} |
@@ -2,6 +2,7 @@ package db | |||||
import ( | import ( | ||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/db/model" | "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/db/model" | ||||
zhios_condition_statistics_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/utils" | |||||
zhios_condition_statistics_logx "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/utils/logx" | zhios_condition_statistics_logx "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/utils/logx" | ||||
"fmt" | "fmt" | ||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
@@ -62,3 +63,17 @@ func MallOrderRelateListByTimeByState(Db *xorm.Engine, uid, state, startTime, en | |||||
} | } | ||||
return &idAmountMap, sum, nil | return &idAmountMap, sum, nil | ||||
} | } | ||||
func MallOrdByTime(Db *xorm.Engine, uid, buyType, state, stime, etime interface{}) (float64, error) { | |||||
sess := Db.Where("uid = ? AND state in (?) AND create_time > ? AND create_time < ?", uid, state, stime, etime) | |||||
if zhios_condition_statistics_utils.AnyToInt64(buyType) > 0 { | |||||
sess.And("order_type", buyType) | |||||
} | |||||
total, err := sess.Sum(&model.MallOrd{}, "cost_price") | |||||
fmt.Println(err) | |||||
fmt.Println(total) | |||||
if err != nil { | |||||
return 0, zhios_condition_statistics_logx.Error(err) | |||||
} | |||||
return total, nil | |||||
} |
@@ -0,0 +1,27 @@ | |||||
package db | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/db/model" | |||||
zhios_condition_statistics_logx "code.fnuoos.com/go_rely_warehouse/zyos_go_condition_statistics.git/utils/logx" | |||||
"fmt" | |||||
"xorm.io/xorm" | |||||
) | |||||
func O2oOrdByTime(Db *xorm.Engine, uid, buyType, state, stime, etime interface{}) (float64, error) { | |||||
total, err := Db.Where("uid = ? AND state in (?) AND create_time > ? AND create_time < ?", uid, state, stime, etime).Sum(&model.O2oOrd{}, "cost_price") | |||||
fmt.Println(err) | |||||
fmt.Println(total) | |||||
if err != nil { | |||||
return 0, zhios_condition_statistics_logx.Error(err) | |||||
} | |||||
return total, nil | |||||
} | |||||
func O2oOrdPayToMerchantByTime(Db *xorm.Engine, uid, buyType, state, stime, etime interface{}) (float64, error) { | |||||
total, err := Db.Where("uid = ? AND state in (?) AND create_time > ? AND create_time < ?", uid, state, stime, etime).Sum(&model.O2oPayToMerchant{}, "actual_pay_amount") | |||||
fmt.Println(err) | |||||
fmt.Println(total) | |||||
if err != nil { | |||||
return 0, zhios_condition_statistics_logx.Error(err) | |||||
} | |||||
return total, nil | |||||
} |
@@ -66,3 +66,20 @@ func OrderRelateListByTimeByState(Db *xorm.Engine, uid, state, startTime, endTim | |||||
return &idAmountMap, nil | return &idAmountMap, nil | ||||
} | } | ||||
// OrderListPaidPriceByUIDByOrderTypeByTime is 查询订单 by uid by time ,获取规定时间内的订单类型的订单消费金额 | |||||
func OrderListPaidPriceByUIDByOrderTypeByTime(Db *xorm.Engine, uid, buyType, state, stime, etime interface{}) (float64, error) { | |||||
str := fmt.Sprintf("uid = %s AND order_type = %s AND ( state in (%s) or settle_at>0) AND create_at > %s AND create_at < %s", | |||||
zhios_condition_statistics_utils.AnyToString(uid), buyType, state, stime, etime) | |||||
fmt.Println("============test订单数=================") | |||||
fmt.Println(str) | |||||
total, err := Db.Where("uid = ? AND order_type = ? AND ( state in (?) or settle_at>0) AND create_at > ? AND create_at < ?", uid, buyType, state, stime, etime).Sum(&model.OrdList{}, "paid_price") | |||||
fmt.Println(err) | |||||
fmt.Println(total) | |||||
if err != nil { | |||||
return 0, zhios_condition_statistics_logx.Error(err) | |||||
} | |||||
return total, nil | |||||
} |
@@ -153,6 +153,66 @@ func ExtendByLvCount(engine *xorm.Engine, uid interface{}, task map[string]strin | |||||
return count | return count | ||||
} | } | ||||
// 累计自购消费金额 | |||||
func OwnbuySum(engine *xorm.Engine, uid interface{}, task map[string]string, t time.Time) string { | |||||
var total float64 = 0 | |||||
var err error | |||||
if zhios_condition_statistics_utils.InArr(task["task_type_pvd"], []string{"0", "1"}) { | |||||
stime := time.Date(t.Year(), t.Month(), t.Day()-zhios_condition_statistics_utils.StrToInt(task["within_days"]), t.Hour(), 0, 0, 0, t.Location()).Unix() | |||||
etime := t.Unix() | |||||
total, err = db.OrderListPaidPriceByUIDByOrderTypeByTime(engine, uid, 0, "3,5", stime, etime) | |||||
if err != nil { | |||||
zhios_condition_statistics_logx.Warn(err) | |||||
return "" | |||||
} | |||||
} | |||||
if zhios_condition_statistics_utils.InArr(task["task_type_pvd"], []string{"0", "2", "8", "9"}) { | |||||
mallStime := time.Date(t.Year(), t.Month(), t.Day()-zhios_condition_statistics_utils.StrToInt(task["within_days"]), t.Hour(), 0, 0, 0, t.Location()) | |||||
mallEtime := t | |||||
orderType := 0 | |||||
if zhios_condition_statistics_utils.InArr(task["task_type_pvd"], []string{"8", "9"}) { | |||||
orderType = zhios_condition_statistics_utils.StrToInt(task["task_type_pvd"]) | |||||
} | |||||
//确认收货的才算 | |||||
mallTotal, err := db.MallOrdByTime(engine, uid, orderType, "3", mallStime.Format("2006-01-02 15:04:05"), mallEtime.Format("2006-01-02 15:04:05")) | |||||
if err != nil { | |||||
zhios_condition_statistics_logx.Warn(err) | |||||
return zhios_condition_statistics_utils.Float64ToStr(total) | |||||
} | |||||
total += mallTotal | |||||
} | |||||
if zhios_condition_statistics_utils.InArr(task["task_type_pvd"], []string{"0", "3"}) { | |||||
mallStime := time.Date(t.Year(), t.Month(), t.Day()-zhios_condition_statistics_utils.StrToInt(task["within_days"]), t.Hour(), 0, 0, 0, t.Location()) | |||||
mallEtime := t | |||||
//确认收货的才算 | |||||
o2oTotal, err := db.O2oOrdByTime(engine, uid, 0, "3", mallStime.Format("2006-01-02 15:04:05"), mallEtime.Format("2006-01-02 15:04:05")) | |||||
if err != nil { | |||||
zhios_condition_statistics_logx.Warn(err) | |||||
return zhios_condition_statistics_utils.Float64ToStr(total) | |||||
} | |||||
total += o2oTotal | |||||
o2oTotal1, err := db.O2oOrdPayToMerchantByTime(engine, uid, 0, "1", mallStime.Format("2006-01-02 15:04:05"), mallEtime.Format("2006-01-02 15:04:05")) | |||||
if err != nil { | |||||
zhios_condition_statistics_logx.Warn(err) | |||||
return zhios_condition_statistics_utils.Float64ToStr(total) | |||||
} | |||||
total += o2oTotal1 | |||||
} | |||||
if zhios_condition_statistics_utils.InArr(task["task_type_pvd"], []string{"0", "4"}) { | |||||
mallStime := time.Date(t.Year(), t.Month(), t.Day()-zhios_condition_statistics_utils.StrToInt(task["within_days"]), t.Hour(), 0, 0, 0, t.Location()) | |||||
mallEtime := t | |||||
//确认收货的才算 | |||||
b2cTotal, err := db.B2cOrdByTime(engine, uid, 0, "3", mallStime.Format("2006-01-02 15:04:05"), mallEtime.Format("2006-01-02 15:04:05")) | |||||
if err != nil { | |||||
zhios_condition_statistics_logx.Warn(err) | |||||
return zhios_condition_statistics_utils.Float64ToStr(total) | |||||
} | |||||
total += b2cTotal | |||||
} | |||||
return zhios_condition_statistics_utils.Float64ToStr(zhios_condition_statistics_utils.FloatFormat(total, 2)) | |||||
} | |||||
//累计团队消费金额 | //累计团队消费金额 | ||||
func TeamBuySum(engine *xorm.Engine, uid interface{}, task map[string]string, t time.Time) string { | func TeamBuySum(engine *xorm.Engine, uid interface{}, task map[string]string, t time.Time) string { | ||||