Merge branch 'develop' of https://gitee.com/fusenpack/fusenapi into develop
This commit is contained in:
53
utils/format/s3keyname.go
Normal file
53
utils/format/s3keyname.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package format
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type TypeFormatS3KeyName int
|
||||
|
||||
const (
|
||||
TypeS3KeyUser TypeFormatS3KeyName = 1 // 登录用户
|
||||
TypeS3KeyGuest TypeFormatS3KeyName = 2 // 游客
|
||||
)
|
||||
|
||||
// FormatS3KeyName 需要输入选
|
||||
func FormatS3KeyName(keytype TypeFormatS3KeyName, uid int64, now time.Time, env, category, name string) string {
|
||||
if keytype == TypeS3KeyUser {
|
||||
return FormatS3KeyNameUser(uid, now, env, category, name)
|
||||
} else if keytype == TypeS3KeyGuest {
|
||||
return FormatS3KeyNameGuest(uid, now, env, category, name)
|
||||
} else {
|
||||
panic("key type error")
|
||||
}
|
||||
}
|
||||
|
||||
// FormatS3KeyNameUser
|
||||
func FormatS3KeyNameUser(userid int64, now time.Time, env, category, name string) string {
|
||||
year, month, _ := now.Date()
|
||||
names := strings.Split(name, ".")
|
||||
var ext string
|
||||
if len(names) == 1 {
|
||||
name = names[0]
|
||||
} else if len(names) == 2 {
|
||||
name = names[0]
|
||||
ext = names[1]
|
||||
}
|
||||
return fmt.Sprintf("/%s/%s/%d/%04d%02d/%s_%d.%s", env, category, userid, year, int(month), name, now.Unix(), ext)
|
||||
}
|
||||
|
||||
// FormatS3KeyNameGuest 游客的格式化存储
|
||||
func FormatS3KeyNameGuest(guestid int64, now time.Time, env, category, name string) string {
|
||||
year, month, _ := now.Date()
|
||||
names := strings.Split(name, ".")
|
||||
var ext string
|
||||
if len(names) == 1 {
|
||||
name = names[0]
|
||||
} else if len(names) == 2 {
|
||||
name = names[0]
|
||||
ext = names[1]
|
||||
}
|
||||
return fmt.Sprintf("/%s/guest/%s/%d/%04d%02d/%s_%d.%s", env, category, guestid, year, int(month), name, now.Unix(), ext)
|
||||
}
|
||||
@@ -7,11 +7,11 @@ import (
|
||||
// 字符串切片转int切片
|
||||
func StrSlicToIntSlice(input []string) ([]int, error) {
|
||||
newSlic := make([]int, 0, len(input))
|
||||
for _, p := range input {
|
||||
if p == "" {
|
||||
for _, element := range input {
|
||||
if element == "" {
|
||||
continue
|
||||
}
|
||||
val, err := strconv.Atoi(p)
|
||||
val, err := strconv.Atoi(element)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -23,11 +23,11 @@ func StrSlicToIntSlice(input []string) ([]int, error) {
|
||||
// 字符串切片转int64切片
|
||||
func StrSlicToInt64Slice(input []string) ([]int64, error) {
|
||||
newSlic := make([]int64, 0, len(input))
|
||||
for _, p := range input {
|
||||
if p == "" {
|
||||
for _, element := range input {
|
||||
if element == "" {
|
||||
continue
|
||||
}
|
||||
val, err := strconv.ParseInt(p, 10, 64)
|
||||
val, err := strconv.ParseInt(element, 10, 64)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user