82 lines
1.9 KiB
Go
82 lines
1.9 KiB
Go
package activityser
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"91porn-server/common/log"
|
|
"91porn-server/common/stderr"
|
|
"91porn-server/models/commod"
|
|
"91porn-server/models/v/prizemod"
|
|
"91porn-server/models/v/productmod"
|
|
)
|
|
|
|
// 新增活动
|
|
func AddPrize(in prizemod.AddPrizeCond) stderr.Code {
|
|
result, err := prizemod.AddPrize(in)
|
|
if err != nil {
|
|
return stderr.ErrDbInsertError
|
|
}
|
|
log.Info(fmt.Sprintf("新增活动[%v]成功", result))
|
|
return stderr.Success
|
|
}
|
|
|
|
// 修改活动
|
|
func ModifyPrize(in *prizemod.ModifyPrizeCond) stderr.Code {
|
|
if err := prizemod.ModifyPrize(in.Cond(), in.Bson()); err != nil {
|
|
return stderr.ErrDbUpdateError
|
|
}
|
|
return stderr.Success
|
|
}
|
|
|
|
// 查询列表
|
|
func QueryAllPrize(in *prizemod.QueryAllPrizeCond) (interface{}, stderr.Code) {
|
|
var data map[string]interface{} = map[string]interface{}{
|
|
"list": []interface{}{},
|
|
"count": 0,
|
|
}
|
|
count, err := prizemod.CountPrize(in.Query())
|
|
if err != nil {
|
|
return nil, stderr.ErrDbQueryError
|
|
}
|
|
if count == 0 {
|
|
return data, stderr.Success
|
|
}
|
|
list, err := prizemod.QueryAllPrize(in.Query(), in.Options())
|
|
if err != nil {
|
|
return nil, stderr.ErrDbQueryError
|
|
}
|
|
data["count"] = count
|
|
data["list"] = list
|
|
return data, stderr.Success
|
|
}
|
|
|
|
func QueryVipDropDownBox() (interface{}, stderr.Code) {
|
|
list, err := productmod.FindByProductType(commod.VIP)
|
|
if err != nil {
|
|
return nil, stderr.ErrDbQueryError
|
|
}
|
|
data := make([]map[string]interface{}, len(list))
|
|
for i, v := range list {
|
|
data[i] = map[string]interface{}{
|
|
"label": v.Name,
|
|
"value": v.ID.Hex(),
|
|
}
|
|
}
|
|
return data, stderr.Success
|
|
}
|
|
|
|
func QueryPrizeDropDownBox() (interface{}, stderr.Code) {
|
|
list, err := prizemod.QueryDropDownBox()
|
|
if err != nil {
|
|
return nil, stderr.ErrDbQueryError
|
|
}
|
|
data := make([]map[string]interface{}, len(list))
|
|
for i, v := range list {
|
|
data[i] = map[string]interface{}{
|
|
"label": v.Name + fmt.Sprintf("[数量:%d]", v.Count),
|
|
"value": v.ID.Hex(),
|
|
}
|
|
}
|
|
return data, stderr.Success
|
|
}
|