50 lines
1.2 KiB
Go
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
|
|
}
|