Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2023-08-15 16:36:48 +08:00
commit e87504e2b4
3 changed files with 25 additions and 6 deletions

View file

@ -365,7 +365,7 @@ func parseSearchAssetContentArgs(arg map[string]interface{}) (page, pageSize int
method = int(methodArg.(float64))
}
// orderBy0相关度默认1按更新时间升序2:按更新时间降序
// orderBy0按相关度降序1按相关度升序2按更新时间升序3:按更新时间降序
orderByArg := arg["orderBy"]
if nil != orderByArg {
orderBy = int(orderByArg.(float64))

View file

@ -77,7 +77,7 @@ func GetAssetContent(id, query string, queryMethod int) (ret *AssetContent) {
// FullTextSearchAssetContent 搜索资源文件内容。
//
// method0关键字1查询语法2SQL3正则表达式
// orderBy: 0相关度默认1按更新时间升序2:按更新时间降序
// orderBy: 0按相关度降序1按相关度升序2按更新时间升序3:按更新时间降序
func FullTextSearchAssetContent(query string, types map[string]bool, method, orderBy, page, pageSize int) (ret []*AssetContent, matchedAssetCount, pageCount int) {
query = strings.TrimSpace(query)
beforeLen := 36
@ -238,11 +238,20 @@ func buildAssetContentTypeFilter(types map[string]bool) string {
var buf bytes.Buffer
buf.WriteString("(")
for k, _ := range types {
for k, enabled := range types {
if !enabled {
continue
}
buf.WriteString("'")
buf.WriteString(k)
buf.WriteString("',")
}
if 1 == buf.Len() {
buf.WriteString(")")
return buf.String()
}
buf.Truncate(buf.Len() - 1)
buf.WriteString(")")
return buf.String()
@ -253,8 +262,10 @@ func buildAssetContentOrderBy(orderBy int) string {
case 0:
return "ORDER BY rank DESC"
case 1:
return "ORDER BY updated ASC"
return "ORDER BY rank ASC"
case 2:
return "ORDER BY updated ASC"
case 3:
return "ORDER BY updated DESC"
default:
return "ORDER BY rank DESC"
@ -444,9 +455,12 @@ func copyTempAsset(absPath string) (ret string) {
return
}
filelock.RWLock.Lock()
defer filelock.RWLock.Unlock()
ret = filepath.Join(dir, gulu.Rand.String(7)+".docx")
if err := filelock.Copy(absPath, ret); nil != err {
logging.LogErrorf("copy [%s] to [%s] failed: [%s]", absPath, ret, err)
if err := gulu.File.Copy(absPath, ret); nil != err {
logging.LogErrorf("copy [src=%s, dest=%s] failed: %s", absPath, ret, err)
return
}
return

View file

@ -73,6 +73,11 @@ func watchAssets() {
lastEvent = event
timer.Reset(time.Millisecond * 100)
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename {
// 索引资源文件内容
IndexAssetContent(lastEvent.Name)
}
case err, ok := <-assetsWatcher.Errors:
if !ok {
return