- GetPlaces support keyword.

This commit is contained in:
gazebo
2018-09-19 09:56:45 +08:00
parent 8593e8b44b
commit 57b60208e2
5 changed files with 110 additions and 47 deletions

View File

@@ -3,11 +3,13 @@ package cms
import (
"crypto/md5"
"fmt"
"strconv"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
@@ -66,6 +68,61 @@ func GetQiniuUploadToken(suffix string) (upTokenInfo map[string]interface{}, err
return upTokenInfo, err
}
func GetPlaces(keyword string, includeDisabled bool, params map[string]interface{}) ([]*model.Place, error) {
sql := `
SELECT *
FROM place t1
WHERE 1 = 1
`
if !includeDisabled {
sql += " AND enabled = 1"
}
sqlParams := make([]interface{}, 0)
if keyword != "" {
sql += " AND (t1.name LIKE ?"
sqlParams = append(sqlParams, "%"+keyword+"%")
if keywordInt64, err2 := strconv.ParseInt(keyword, 10, 64); err2 == nil {
sql += " OR t1.code = ?"
sqlParams = append(sqlParams, keywordInt64)
}
sql += ")"
}
if params["parentCode"] != nil {
sql += " AND t1.parent_code = ?"
sqlParams = append(sqlParams, params["parentCode"])
}
if params["level"] != nil {
sql += " AND t1.level = ?"
sqlParams = append(sqlParams, params["level"])
}
sql += " ORDER BY t1.level, t1.name"
globals.SugarLogger.Debug(sql)
places := []*model.Place{}
return places, dao.GetRows(nil, &places, sql, sqlParams)
}
func UpdatePlaces(places []map[string]interface{}, userName string) (num int64, err error) {
if len(places) == 0 {
return 0, ErrMissingInput
}
for _, place := range places {
if place["code"] == nil {
return 0, ErrMissingInput
}
placeid := &model.Place{}
valid := dao.NormalMakeMapByFieldList(place, []string{"jdCode", "enabled", "mtpsPrice"}, userName)
if num, err = dao.UpdateEntityByKV(nil, placeid, valid, utils.Params2Map("Code", place["code"])); err != nil {
return num, err
}
}
return num, err
}
func UpdatePlace(placeCode int, payload map[string]interface{}, userName string) (num int64, err error) {
payload["code"] = placeCode
return UpdatePlaces([]map[string]interface{}{payload}, userName)
}
/////
func genPicFileName(suffix string) string {
return fmt.Sprintf("%x%s", md5.Sum([]byte(utils.GetUUID()+suffix)), suffix)