forked from all_user/stat_center
99 lines
2.1 KiB
Go
99 lines
2.1 KiB
Go
package srv_appcategory
|
|
|
|
import (
|
|
"context"
|
|
"stat/common/genId"
|
|
"stat/common/stdLog"
|
|
"stat/models/appcategory"
|
|
"time"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
// GetAppCategory 按照参数搜索
|
|
func GetAppCategory(ctx context.Context, param *AppCategorySearch) (*AppCategorySearchResp, *stdLog.SrvErr) {
|
|
filter := bson.M{}
|
|
opt := &options.FindOptions{}
|
|
resp := &AppCategorySearchResp{
|
|
List: make(appcategory.AppCategoryList, 0),
|
|
Total: 0,
|
|
}
|
|
opt.SetSort(bson.M{"rank": 1})
|
|
opt.SetSkip((param.PageNum - 1) * param.PageSize)
|
|
opt.SetLimit(param.PageSize)
|
|
|
|
if param.ParentAppId != nil {
|
|
filter["parentAppId"] = param.ParentAppId
|
|
}
|
|
|
|
total, serr := appcategory.CountAppCategories(ctx, filter)
|
|
if serr != nil {
|
|
return resp, serr
|
|
}
|
|
if total == 0 {
|
|
return resp, nil
|
|
}
|
|
|
|
list, serr := appcategory.FindManyAppCategory(ctx, filter, opt)
|
|
if serr != nil {
|
|
return resp, serr
|
|
}
|
|
if list != nil && len(list) > 0 {
|
|
resp.List = list
|
|
resp.Total = total
|
|
}
|
|
|
|
return resp, nil
|
|
}
|
|
|
|
// AddAppCategory 添加一个
|
|
func AddAppCategory(ctx context.Context,
|
|
ac *appcategory.AppCategory) *stdLog.SrvErr {
|
|
|
|
now := time.Now()
|
|
ac.Id = genId.GetAppCategoryId()
|
|
ac.CreatedAt = now
|
|
ac.UpdatedAt = now
|
|
|
|
if ac.Name == "" {
|
|
return stdLog.New(stdLog.ParamError, "", "name不能传空")
|
|
}
|
|
_, serr := appcategory.FindOneAppCategory(ctx, bson.M{"name": ac.Name})
|
|
if serr == nil {
|
|
return stdLog.New(stdLog.ParamError, "", "name重名")
|
|
}
|
|
|
|
serr = appcategory.InsertOneAppCategory(ctx, ac)
|
|
if serr != nil {
|
|
return serr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DelAppCategory 删除指定
|
|
func DelAppCategory(ctx context.Context, id int64) *stdLog.SrvErr {
|
|
adFilter := bson.M{"_id": id}
|
|
//删除
|
|
_, serr := appcategory.DelOneAppCategory(ctx, adFilter)
|
|
if serr != nil {
|
|
return serr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateAppCategory 更新指定
|
|
func UpdateAppCategory(ctx context.Context, id int64,
|
|
info *AppCategoryUpdate) *stdLog.SrvErr {
|
|
now := time.Now()
|
|
info.UpdatedAt = &now
|
|
|
|
adFilter := bson.M{"_id": id}
|
|
updateDoc := bson.M{"$set": info}
|
|
serr := appcategory.UpdateOneAppCategory(ctx, adFilter, updateDoc)
|
|
if serr != nil {
|
|
return serr
|
|
}
|
|
return nil
|
|
}
|