59 lines
2.3 KiB
Go
59 lines
2.3 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"go-common/app/interface/bbq/app-bbq/api/http/v1"
|
|
"go-common/app/interface/bbq/app-bbq/model"
|
|
"go-common/library/database/sql"
|
|
)
|
|
|
|
const (
|
|
_queryNewAppVersion = "select `id`, `platform`, `ver_name`, `ver_code`, `title`, `content`, `download`, `md5`, `size`, `force`, `status` from `app_package` where platform = ? and ver_code > ? and status = 1 order by ver_code desc;"
|
|
_queryAppPackage = "select `id`, `platform`, `ver_name`, `ver_code`, `title`, `content`, `download`, `md5`, `size`, `force`, `status`, `ctime` from `app_package` where status>0;"
|
|
_queryAppResource = "select `id`, `platform`, `name`, `version`, `md5`, `download`, `status`, `start_time`, `end_time` from `app_resource` where `platform` in (0, ?) and `version` = ? and `status` = ? and `end_time` > ?;"
|
|
)
|
|
|
|
// FetchNewAppVersion .
|
|
func (d *Dao) FetchNewAppVersion(c context.Context, platform int, vCode int) (result *model.AppVersion, err error) {
|
|
result = &model.AppVersion{}
|
|
err = d.db.QueryRow(c, _queryNewAppVersion, platform, vCode).Scan(&result.ID, &result.Platform, &result.Name, &result.Code, &result.Title, &result.Content, &result.Download, &result.MD5, &result.Size, &result.Force, &result.Status)
|
|
if err == sql.ErrNoRows {
|
|
err = nil
|
|
}
|
|
return
|
|
}
|
|
|
|
// FetchAppPackage .
|
|
func (d *Dao) FetchAppPackage(c context.Context) (result []*v1.AppPackage, err error) {
|
|
rows, err := d.db.Query(c, _queryAppPackage)
|
|
for rows.Next() {
|
|
tmp := &v1.AppPackage{}
|
|
err = rows.Scan(&tmp.ID, &tmp.Platform, &tmp.VersionName, &tmp.VersionCode, &tmp.Title, &tmp.Content, &tmp.Download, &tmp.MD5, &tmp.Size, &tmp.Force, &tmp.Status, &tmp.CTime)
|
|
if err != nil {
|
|
continue
|
|
}
|
|
result = append(result, tmp)
|
|
}
|
|
return
|
|
}
|
|
|
|
// FetchAppResource .
|
|
func (d *Dao) FetchAppResource(c context.Context, plat int, ver int) (result []*model.AppResource, err error) {
|
|
result = make([]*model.AppResource, 0)
|
|
rows, err := d.db.Query(c, _queryAppResource, plat, ver, 1, time.Now().Format("2006-01-02 15:04:05"))
|
|
if err != nil {
|
|
return
|
|
}
|
|
for rows.Next() {
|
|
tmp := new(model.AppResource)
|
|
err = rows.Scan(&tmp.ID, &tmp.Platform, &tmp.Name, &tmp.Code, &tmp.MD5, &tmp.Download, &tmp.Status, &tmp.StartTime, &tmp.EndTime)
|
|
if err != nil {
|
|
continue
|
|
}
|
|
result = append(result, tmp)
|
|
}
|
|
return
|
|
}
|