@@ -1,5 +0,0 @@ | |||||
package dao | |||||
type GenerateWxAdDataDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,13 @@ | |||||
package dao | |||||
import ( | |||||
"code.fnuoos.com/zhimeng/model.git/src/super/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type MasterDataStatisticsDao interface { | |||||
GetMasterDataStatistics(uuid int, date string) (data *model.MasterDataStatistics, err error) | |||||
UpdateMasterDataStatistics(m *model.MasterDataStatistics, columns ...string) (int64, error) | |||||
UpdateMasterDataStatisticsBySession(session *xorm.Session, m *model.MasterDataStatistics, columns ...string) (int64, error) | |||||
FindMasterDataStatisticsList(uuid, startDate, endDate string, page, limit int) (list []model.MasterDataStatistics, total int64, err error) | |||||
} |
@@ -0,0 +1,62 @@ | |||||
package implement | |||||
import ( | |||||
"code.fnuoos.com/zhimeng/model.git/src/super/dao" | |||||
"code.fnuoos.com/zhimeng/model.git/src/super/model" | |||||
zhios_order_relate_logx "code.fnuoos.com/zhimeng/model.git/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMasterDataStatisticsDb(engine *xorm.Engine) dao.MasterDataStatisticsDao { | |||||
return &MasterDataStatisticsDb{Db: engine} | |||||
} | |||||
type MasterDataStatisticsDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MasterDataStatisticsDb) GetMasterDataStatistics(uuid int, date string) (data *model.MasterDataStatistics, err error) { | |||||
data = new(model.MasterDataStatistics) | |||||
has, err := m.Db.Where("uuid =? and date =?", uuid, date).Get(data) | |||||
if err != nil { | |||||
return nil, zhios_order_relate_logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return data, nil | |||||
} | |||||
func (m MasterDataStatisticsDb) UpdateMasterDataStatistics(mm *model.MasterDataStatistics, columns ...string) (int64, error) { | |||||
affected, err := m.Db.Where("id =?", mm.Id).Cols(columns...).Update(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (m MasterDataStatisticsDb) UpdateMasterDataStatisticsBySession(session *xorm.Session, mm *model.MasterDataStatistics, columns ...string) (int64, error) { | |||||
affected, err := session.Where("id =?", mm.Id).Cols(columns...).Update(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (m MasterDataStatisticsDb) FindMasterDataStatisticsList(uuid, startDate, endDate string, page, limit int) (list []model.MasterDataStatistics, total int64, err error) { | |||||
sess := m.Db.OrderBy("date desc,id desc").Limit(limit, (page-1)*limit) | |||||
if uuid != "" { | |||||
sess.And("uuid = ?", uuid) | |||||
} | |||||
if startDate != "" { | |||||
sess.And("date>=", startDate) | |||||
} | |||||
if endDate != "" { | |||||
sess.And("date<=", endDate) | |||||
} | |||||
total, err = sess.FindAndCount(&list) | |||||
if err != nil { | |||||
return nil, 0, err | |||||
} | |||||
return | |||||
} |
@@ -0,0 +1,21 @@ | |||||
package model | |||||
type MasterDataStatistics struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Uuid int `json:"uuid" xorm:"not null default 0 comment('站长id') index INT(11)"` | |||||
TodayIncome int `json:"today_income" xorm:"not null default 0 comment('今日收益(分)') INT(11)"` | |||||
SevenDayIncome int `json:"seven_day_income" xorm:"not null default 0 comment('七日收益(分)') INT(11)"` | |||||
ThisMonthIncome int `json:"this_month_income" xorm:"not null default 0 comment('本月收益(分)') INT(11)"` | |||||
LastMonthIncome int `json:"last_month_income" xorm:"not null default 0 comment('上月收益(分)') INT(11)"` | |||||
MediumTodayIncome int `json:"medium_today_income" xorm:"not null default 0 comment('媒体今日收益(分)') INT(11)"` | |||||
MediumSevenDayIncome int `json:"medium_seven_day_income" xorm:"not null default 0 comment('媒体七日收益(分)') INT(11)"` | |||||
MediumThisMonthIncome int `json:"medium_this_month_income" xorm:"not null default 0 comment('媒体本月收益(分)') INT(11)"` | |||||
MediumLastMonthIncome int `json:"medium_last_month_income" xorm:"not null default 0 comment('媒体上月收益(分)') INT(11)"` | |||||
MediumTodayExposureCount int `json:"medium_today_exposure_count" xorm:"not null default 0 comment('媒体今日曝光量') INT(11)"` | |||||
MediumSevenDayExposureCount int `json:"medium_seven_day_exposure_count" xorm:"not null default 0 comment('媒体七日曝光量') INT(11)"` | |||||
MediumThisMonthExposureCount int `json:"medium_this_month_exposure_count" xorm:"not null default 0 comment('媒体本月曝光量') INT(11)"` | |||||
MediumLastMonthExposureCount int `json:"medium_last_month_exposure_count" xorm:"not null default 0 comment('媒体上月曝光量') INT(11)"` | |||||
Date string `json:"date" xorm:"not null comment('日期') DATE"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |