package dao import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-print/dao" "time" ) // StoreInformationStatistics 门店信息统计 func StoreInformationStatistics(db *DaoDB) (result []*model.EffectiveStores, err error) { sql := ` SELECT gs.jx_store_id, MAX(sm.vendor_org_code) AS vendor_org_code, MAX(sm.vendor_store_id) AS vendor_store_id, MAX(sm.mtwm_token) AS mtwm_token FROM goods_order gs LEFT JOIN store_map sm ON gs.jx_store_id = sm.store_id AND gs.vendor_id = sm.vendor_id WHERE gs.order_created_at >= ? AND gs.vendor_id = ? GROUP BY gs.jx_store_id; ` parma := []interface{}{time.Now().AddDate(0, 0, -10), model.VendorIDMTWM} if err = GetRows(db, &result, sql, parma...); err != nil { return nil, err } return } func GetStatistics(db *DaoDB, startTime, endTime time.Time, storeId []int, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { sql := ` SELECT SQL_CALC_FOUND_ROWS * FROM activity_station WHERE 1=1 ` param := []interface{}{} if !utils.IsTimeZero(startTime) { sql += ` AND created_at >= ?` param = append(param, startTime) } if !utils.IsTimeZero(endTime) { sql += ` AND created_at <= ?` param = append(param, endTime) } if len(storeId) > 0 { sql += " AND store_id (" + dao.GenQuestionMarks(len(storeId)) + ")" param = append(param, storeId) } sql += ` ORDER BY created_at desc LIMIT ? OFFSET ?` param = append(param, jxutils.FormalizePageSize(pageSize), offset) txDB, _ := Begin(db) defer Commit(db, txDB) var data []*model.ActivityStation if err := GetRowsTx(txDB, &data, sql, param...); err == nil { pageInfo = &model.PagedInfo{ TotalCount: GetLastTotalRowCount2(db, txDB), Data: data, } } return pageInfo, err }