package appInfoSer import ( "context" "stat/api/proto" "stat/common/stdLog" "stat/common/utils" "stat/models/appInfoMod" "time" ) // 获取appInfo列表 func GetAppInfoList(ctx context.Context, param proto.ListAppInfoReq) (code stdLog.CodeType, data interface{}, err error) { resp := proto.ListAppInfoRes{ Total: 0, List: make([]proto.AppInfoRes, 0), } skip, limit := utils.ToDBPage(param.PageNum, param.PageSize) total, aList, err := appInfoMod.GetAppInfoList(ctx, param.AppName, param.Used, skip, limit) if err != nil { code = stdLog.Failure return } for _, v := range aList { tmp := proto.AppInfoRes{ AppId: v.AppId, Name: v.Name, LandPages: v.LandPages, IconImg: v.IconImg, CreatedAt: v.CreatedAt, AdvertiseNum: v.AdvertiseNum, AdvertiseNewNum: v.AdvertiseNewNum, UpdatedAt: v.UpdatedAt, } resp.List = append(resp.List, tmp) } resp.Total = total data = resp code = stdLog.Success return } // 添加appInfo func AddAppInfo(ctx context.Context, param proto.AddAppInfoReq) (code stdLog.CodeType, data interface{}, err error) { _, serr := appInfoMod.GetAppInfoById(ctx, *param.AppId) if serr != nil { return stdLog.AppExistErr, nil, serr } now := time.Now() doc := appInfoMod.AppInfo{ AppId: *param.AppId, Name: *param.Name, IconImg: *param.IconImg, // LandPages: *param.LandPages, Used: true, AdvertiseNum: 5, AdvertiseNewNum: 5, CreatedAt: now, UpdatedAt: now, } if err = appInfoMod.AddAppInfo(ctx, &doc); err != nil { code = stdLog.Failure return } code = stdLog.Success return } // 更新appInfo func UpdateAppInfo(ctx context.Context, param proto.UpdateAppInfoReq) (code stdLog.CodeType, data interface{}, err error) { now := time.Now() doc := appInfoMod.AppInfoUpdate{ Name: param.Name, LandPages: param.LandPages, IconImg: param.IconImg, UpdatedAt: &now, AdvertiseNum: param.AdvertiseNum, AdvertiseNewNum: param.AdvertiseNewNum, } if err = appInfoMod.UpdateAppInfo(ctx, *param.AppId, doc); err != nil { code = stdLog.Failure return } code = stdLog.Success return } // 删除appInfo func DelAppInfo(ctx context.Context, param proto.DelAppInfoReq) (code stdLog.CodeType, data interface{}, err error) { if err = appInfoMod.DelAppInfo(ctx, *param.AppId); err != nil { code = stdLog.Failure return } code = stdLog.Success return }