1
This commit is contained in:
@@ -3,11 +3,8 @@ package bidding
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -15,93 +12,93 @@ import (
|
||||
)
|
||||
|
||||
// GetStatisticsList 京西数据查询
|
||||
func GetStatisticsList(start, end time.Time, storeIds []int, offset, pageSize int) (*model.PagedInfo, error) {
|
||||
return dao.GetStatistics(dao.GetDB(), start, end, storeIds, offset, pageSize)
|
||||
}
|
||||
//func GetStatisticsList(start, end time.Time, storeIds []int, offset, pageSize int) (*model.PagedInfo, error) {
|
||||
// return dao.GetStatistics(dao.GetDB(), start, end, storeIds, offset, pageSize)
|
||||
//}
|
||||
|
||||
// GetMTInfo 更新美团门店信息
|
||||
func GetMTInfo() []error {
|
||||
var db = dao.GetDB()
|
||||
var errList = make([]error, 0, 0)
|
||||
// 获取当前一月有效订单的门店信息
|
||||
effectiveStores, err := dao.StoreInformationStatistics(db)
|
||||
if err != nil {
|
||||
return append(errList, err)
|
||||
}
|
||||
|
||||
var mtApi *mtwmapi.API
|
||||
for _, v := range effectiveStores {
|
||||
if v.VendorOrgCode == globals.Mtwm2Code {
|
||||
mtApi = api.Mtwm2API
|
||||
mtApi.SetToken(v.MtwmToken)
|
||||
} else {
|
||||
mtApi = api.MtwmAPI
|
||||
}
|
||||
|
||||
statistics := &model.ActivityStation{
|
||||
StoreID: v.JxStoreID,
|
||||
VendorID: model.VendorIDMTWM,
|
||||
VendorStoreID: v.VendorStoreID,
|
||||
BrandID: v.VendorOrgCode,
|
||||
//Activity1: 0,
|
||||
//Activity2: 0,
|
||||
//Activity: 0,
|
||||
//StoreSkuNum: 0,
|
||||
//StoreRating: 0,
|
||||
//DeliveryFee: "",
|
||||
//DeliveryFee2: "",
|
||||
PromotionFee: "暂无法获取",
|
||||
//BusinessHours: "",
|
||||
}
|
||||
dao.WrapAddIDCULEntity(statistics, "system")
|
||||
down, up := getActivityCount(mtApi, v.VendorStoreID)
|
||||
statistics.Activity1 = int64(down)
|
||||
statistics.Activity2 = int64(up)
|
||||
statistics.Activity = int64(down + up)
|
||||
score, err := mtApi.CommentScore(v.VendorStoreID)
|
||||
if err != nil {
|
||||
errList = append(errList, fmt.Errorf("%s获取评分错误:%s", v.VendorStoreID, err.Error()))
|
||||
}
|
||||
if score != nil {
|
||||
statistics.StoreRating = score.AvgPoiScore
|
||||
} else {
|
||||
statistics.StoreRating = 0
|
||||
}
|
||||
|
||||
// 获取门店营业时长
|
||||
detail, _ := mtApi.PoiMGet([]string{v.VendorStoreID})
|
||||
if detail != nil {
|
||||
statistics.BusinessHours, err = getStoreShippingTime(detail[0].ShippingTime)
|
||||
if err != nil {
|
||||
errList = append(errList, fmt.Errorf("%s获取营业时长错误:%s", v.VendorStoreID, err.Error()))
|
||||
statistics.BusinessHours = err.Error()
|
||||
}
|
||||
statistics.DeliveryFee2 = utils.Float64ToStr(detail[0].ShippingFee)
|
||||
}
|
||||
// 获取门店起送价
|
||||
result, err := mtApi.ShippingList(v.VendorStoreID)
|
||||
if err != nil {
|
||||
errList = append(errList, fmt.Errorf("%s获取起送价错误:%s", v.VendorStoreID, err.Error()))
|
||||
statistics.DeliveryFee = err.Error()
|
||||
}
|
||||
shippingList := make([]ShippingList, 0, 0)
|
||||
for _, v2 := range result {
|
||||
shippingList = append(shippingList, ShippingList{
|
||||
TimeRange: utils.Interface2String(v2["time_range"]),
|
||||
MinPrice: utils.MustInterface2Float64(v2["min_price"]),
|
||||
ShippingFee: utils.MustInterface2Float64(v2["shipping_fee"]),
|
||||
})
|
||||
}
|
||||
statistics.DeliveryFee = utils.Format4Output(shippingList, false)
|
||||
if len(result) == 0 {
|
||||
statistics.DeliveryFee = ""
|
||||
}
|
||||
|
||||
dao.CreateEntity(db, statistics)
|
||||
}
|
||||
|
||||
return errList
|
||||
}
|
||||
//func GetMTInfo() []error {
|
||||
// var db = dao.GetDB()
|
||||
// var errList = make([]error, 0, 0)
|
||||
// // 获取当前一月有效订单的门店信息
|
||||
// effectiveStores, err := dao.StoreInformationStatistics(db)
|
||||
// if err != nil {
|
||||
// return append(errList, err)
|
||||
// }
|
||||
//
|
||||
// var mtApi *mtwmapi.API
|
||||
// for _, v := range effectiveStores {
|
||||
// if v.VendorOrgCode == globals.Mtwm2Code {
|
||||
// mtApi = api.Mtwm2API
|
||||
// mtApi.SetToken(v.MtwmToken)
|
||||
// } else {
|
||||
// mtApi = api.MtwmAPI
|
||||
// }
|
||||
//
|
||||
// statistics := &model.ActivityStation{
|
||||
// StoreID: v.JxStoreID,
|
||||
// VendorID: model.VendorIDMTWM,
|
||||
// VendorStoreID: v.VendorStoreID,
|
||||
// BrandID: v.VendorOrgCode,
|
||||
// //Activity1: 0,
|
||||
// //Activity2: 0,
|
||||
// //Activity: 0,
|
||||
// //StoreSkuNum: 0,
|
||||
// //StoreRating: 0,
|
||||
// //DeliveryFee: "",
|
||||
// //DeliveryFee2: "",
|
||||
// PromotionFee: "暂无法获取",
|
||||
// //BusinessHours: "",
|
||||
// }
|
||||
// dao.WrapAddIDCULEntity(statistics, "system")
|
||||
// down, up := getActivityCount(mtApi, v.VendorStoreID)
|
||||
// statistics.Activity1 = int64(down)
|
||||
// statistics.Activity2 = int64(up)
|
||||
// statistics.Activity = int64(down + up)
|
||||
// score, err := mtApi.CommentScore(v.VendorStoreID)
|
||||
// if err != nil {
|
||||
// errList = append(errList, fmt.Errorf("%s获取评分错误:%s", v.VendorStoreID, err.Error()))
|
||||
// }
|
||||
// if score != nil {
|
||||
// statistics.StoreRating = score.AvgPoiScore
|
||||
// } else {
|
||||
// statistics.StoreRating = 0
|
||||
// }
|
||||
//
|
||||
// // 获取门店营业时长
|
||||
// detail, _ := mtApi.PoiMGet([]string{v.VendorStoreID})
|
||||
// if detail != nil {
|
||||
// statistics.BusinessHours, err = getStoreShippingTime(detail[0].ShippingTime)
|
||||
// if err != nil {
|
||||
// errList = append(errList, fmt.Errorf("%s获取营业时长错误:%s", v.VendorStoreID, err.Error()))
|
||||
// statistics.BusinessHours = err.Error()
|
||||
// }
|
||||
// statistics.DeliveryFee2 = utils.Float64ToStr(detail[0].ShippingFee)
|
||||
// }
|
||||
// // 获取门店起送价
|
||||
// result, err := mtApi.ShippingList(v.VendorStoreID)
|
||||
// if err != nil {
|
||||
// errList = append(errList, fmt.Errorf("%s获取起送价错误:%s", v.VendorStoreID, err.Error()))
|
||||
// statistics.DeliveryFee = err.Error()
|
||||
// }
|
||||
// shippingList := make([]ShippingList, 0, 0)
|
||||
// for _, v2 := range result {
|
||||
// shippingList = append(shippingList, ShippingList{
|
||||
// TimeRange: utils.Interface2String(v2["time_range"]),
|
||||
// MinPrice: utils.MustInterface2Float64(v2["min_price"]),
|
||||
// ShippingFee: utils.MustInterface2Float64(v2["shipping_fee"]),
|
||||
// })
|
||||
// }
|
||||
// statistics.DeliveryFee = utils.Format4Output(shippingList, false)
|
||||
// if len(result) == 0 {
|
||||
// statistics.DeliveryFee = ""
|
||||
// }
|
||||
//
|
||||
// dao.CreateEntity(db, statistics)
|
||||
// }
|
||||
//
|
||||
// return errList
|
||||
//}
|
||||
|
||||
// 获取门店折扣活动商品数量
|
||||
func getActivityCount(api *mtwmapi.API, vendorStoreId string) (int, int) {
|
||||
@@ -228,3 +225,7 @@ type ShippingList struct {
|
||||
MinPrice float64 `json:"min_price"` // 最小起送价
|
||||
ShippingFee float64 `json:"shipping_fee"` // 配送费
|
||||
}
|
||||
|
||||
func StatisticsOrderCount(startTime, endTime time.Time, storeId []int, vendorId []int, offset, pageSize int) (*model.PagedInfo, error) {
|
||||
return dao.StatisticsOrderCount(dao.GetDB(), startTime, endTime, storeId, vendorId, offset, pageSize)
|
||||
}
|
||||
|
||||
@@ -208,11 +208,12 @@ func Init() {
|
||||
"05:00:00",
|
||||
})
|
||||
|
||||
ScheduleTimerFunc("UpdateMtActivityInfo", func() {
|
||||
bidding.GetMTInfo()
|
||||
}, []string{
|
||||
"13:00:00",
|
||||
})
|
||||
// 更新美团店铺信息
|
||||
//ScheduleTimerFunc("UpdateMtActivityInfo", func() {
|
||||
// bidding.GetMTInfo()
|
||||
//}, []string{
|
||||
// "13:00:00",
|
||||
//})
|
||||
/// 更新淘鲜达结算信息
|
||||
//ScheduleTimerFunc("UpdateTaoTotalMoney", func() {
|
||||
// orderman.UpdateTaoSettleInfo()
|
||||
|
||||
@@ -62,3 +62,56 @@ func GetStatistics(db *DaoDB, startTime, endTime time.Time, storeId []int, offse
|
||||
|
||||
return pageInfo, err
|
||||
}
|
||||
|
||||
type StatisticsOrderObj struct {
|
||||
OrderCount int64 `json:"order_count"`
|
||||
Name string `json:"name"`
|
||||
Mobile string `json:"mobile"`
|
||||
}
|
||||
|
||||
// StatisticsOrderCount 统计负责人订单量
|
||||
func StatisticsOrderCount(db *DaoDB, startTime, endTime time.Time, storeId []int, vendorId []int, offset, pageSize int) (pageInfo *model.PagedInfo, err error) {
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
COUNT(a.vendor_order_id) AS order_count,
|
||||
c.name AS name,
|
||||
c.mobile AS mobile
|
||||
FROM goods_order a
|
||||
LEFT JOIN store b ON IF(a.store_id = 0, a.jx_store_id, a.store_id) = b.id
|
||||
LEFT JOIN user c ON c.mobile = b.market_man_phone
|
||||
WHERE 1 = 1
|
||||
`
|
||||
param := []interface{}{}
|
||||
if !utils.IsTimeZero(startTime) {
|
||||
sql += ` AND a.order_created_at >= ?`
|
||||
param = append(param, startTime)
|
||||
}
|
||||
if !utils.IsTimeZero(endTime) {
|
||||
sql += ` AND a.order_created_at <= ?`
|
||||
param = append(param, endTime)
|
||||
}
|
||||
if len(storeId) > 0 {
|
||||
sql += " AND IF(a.store_id <> '', a.store_id, a.jx_store_id) IN (" + dao.GenQuestionMarks(len(storeId)) + ")"
|
||||
param = append(param, storeId)
|
||||
}
|
||||
if len(vendorId) != 0 {
|
||||
sql += " AND a.vendor_id IN (" + dao.GenQuestionMarks(len(vendorId)) + ")"
|
||||
param = append(param, vendorId)
|
||||
}
|
||||
|
||||
sql += `AND a.status = 110 `
|
||||
sql += `GROUP BY c.mobile, c.name ORDER BY order_count desc LIMIT ? OFFSET ?`
|
||||
param = append(param, jxutils.FormalizePageSize(pageSize), offset)
|
||||
|
||||
txDB, _ := Begin(db)
|
||||
defer Commit(db, txDB)
|
||||
var msgList []*StatisticsOrderObj
|
||||
if err = GetRowsTx(txDB, &msgList, sql, param...); err == nil {
|
||||
pageInfo = &model.PagedInfo{
|
||||
TotalCount: GetLastTotalRowCount2(db, txDB),
|
||||
Data: msgList,
|
||||
}
|
||||
}
|
||||
return pageInfo, err
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user