Files
jx-callback/business/jxstore/cms/store.go
2018-09-03 11:56:56 +08:00

50 lines
1.2 KiB
Go

package cms
import (
"errors"
"time"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals/gormdb"
)
var (
ErrMissingInput = errors.New("没有有效的输入参数")
)
func GetPlaces(parentCode int, vendorID int, includeDisabled bool) ([]*model.Place, error) {
db := gormdb.GetDB()
places := []*model.Place{}
sql := "enabled = 1 "
if includeDisabled {
sql = "1 = 1 "
}
if vendorID >= 0 {
if vendorID == model.VendorIDJD {
return places, db.Where(sql + "AND jd_code <> 0 AND level >= 2").Find(&places).Error
}
return nil, ErrHaveNotImplementedYet
}
return places, db.Where(sql+"AND parent_code = ?", parentCode).Find(&places).Error
}
func UpdatePlaces(places []*model.Place, userName string) (err error) {
if len(places) == 0 {
return ErrMissingInput
}
db := gormdb.GetDB()
for _, place := range places {
params := map[string]interface{}{"enabled": place.Enabled, "updated_at": time.Now()}
if place.JdCode != 0 {
params["jd_code"] = place.JdCode
}
if place.MtpsPrice != 0 {
params["mtps_price"] = place.MtpsPrice
}
if err = db.Table("place").Where("code = ?", place.Code).Updates(params).Error; err != nil {
break
}
}
return err
}