You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.3 KiB
58 lines
2.3 KiB
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 |
|
}
|
|
|