package service import ( "pure/global" "pure/model" ) func CheckVersion(platform, version string) (model.VersionV, error) { var ( err error current model.VersionV result model.VersionV ) current, err = GetVersion(platform, version) if err != nil { return result, err } result, err = getNewestVersion(platform, current.Code) if err != nil { return result, err } if current.Status == 2 { result.HideAndSeek = true } return result, nil } func GetVersion(platform, version string) (model.VersionV, error) { var ( err error result model.VersionV ) err = global.MG_DB.Model(&model.Version{}).Where("`type` = ? AND version = ? AND status IN (1,2)", platform, version). Select("version,`code`,`type`,info,is_force,url,md5,tip,`status`").First(&result).Error return result, err } func getNewestVersion(platform string, code int64) (model.VersionV, error) { var ( err error list []model.VersionV result model.VersionV ) err = global.MG_DB.Model(&model.Version{}).Where("`type` = ? AND `code` > ? AND `status` = 1", platform, code). Select("version,`code`,`type`,info,is_force,url,md5,tip,`status`").Order("`code` DESC").Find(&list).Error if err != nil { return result, err } if len(list) > 0 { result = list[0] for _, ver := range list { if !result.IsForce && ver.IsForce { result.IsForce = true } } } return result, err }