+ 添加数据资源操作相关的API

This commit is contained in:
gazebo
2019-09-17 16:02:44 +08:00
parent bf8fd2f255
commit f4b6516b4d
9 changed files with 147 additions and 19 deletions

View File

@@ -103,10 +103,7 @@ func GetServiceInfo(ctx *jxcontext.Context) interface{} {
func GetQiniuUploadToken(ctx *jxcontext.Context, suffix, hashCode string) (upTokenInfo map[string]interface{}, err error) {
imgURL := ""
if hashCode != "" {
db := dao.GetDB()
if skuName, err := dao.GetSkuNameByHashCode(db, hashCode); err == nil {
imgURL = skuName.Img
}
imgURL, _ = GetDataResource(ctx, hashCode)
}
putPolicy := storage.PutPolicy{
@@ -123,6 +120,51 @@ func GetQiniuUploadToken(ctx *jxcontext.Context, suffix, hashCode string) (upTok
return upTokenInfo, err
}
func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, hashCode string) (dataRes *model.DataResource, err error) {
if model.ValideMimeTypes[mimeType] == 0 {
return nil, fmt.Errorf("MIME type:%s非法", mimeType)
}
dataRes = &model.DataResource{
Name: name,
HashCode: hashCode,
ResoureType: mimeType,
MainURL: resourceURL,
}
vendorID := jxutils.GuessDataResourceVendor(resourceURL)
switch vendorID {
case model.VendorIDQiNiuCloud:
dataRes.QiniuURL = resourceURL
case model.VendorIDEBAI:
dataRes.EbaiURL = resourceURL
case model.VendorIDMTWM:
dataRes.MtwmURL = resourceURL
}
dao.WrapAddIDCULEntity(dataRes, ctx.GetUserName())
if err = dao.CreateEntity(dao.GetDB(), dataRes); err != nil {
dataRes = nil
}
return dataRes, err
}
func GetDataResource(ctx *jxcontext.Context, hashCode string) (resourceURL string, err error) {
db := dao.GetDB()
dataRes, err := dao.GetDataResource(db, hashCode, "")
if err != nil {
if dao.IsNoRowsError(err) {
skuName, err2 := dao.GetSkuNameByHashCode(db, hashCode)
if err = err2; err == nil {
resourceURL = skuName.Img
} else if dao.IsNoRowsError(err) {
err = nil
}
}
} else {
resourceURL = dataRes.MainURL
}
return resourceURL, err
}
func GetPlaces(ctx *jxcontext.Context, keyword string, includeDisabled bool, params map[string]interface{}) ([]*model.Place, error) {
sql := `
SELECT *