github.com/SupenBysz/gf-admin-community@v0.7.4/utility/invite_id/invite_id.go (about) 1 package invite_id 2 3 import ( 4 "fmt" 5 "github.com/gogf/gf/v2/text/gstr" 6 "strconv" 7 ) 8 9 func TestFunc() { 10 var id int64 = 7063052439322693 11 code := InviteIdToCode(id) 12 13 inviteId := CodeToInviteId(code) 14 fmt.Println(inviteId == id) 15 } 16 17 // InviteIdToCode 邀约id转换为code: id --> 32位编码 --> 全部转为大写 --> code 18 func InviteIdToCode(id int64) string { 19 // id编码成32进制 20 id32 := strconv.FormatInt(id, 32) 21 22 // 转为大写 23 idStr := gstr.ToUpper(id32) 24 25 return idStr 26 } 27 28 // CodeToInviteId 邀约code转为原始id:code --> 全部转小写 --> 32位解码 --> id 29 func CodeToInviteId(idStr string) int64 { 30 // 大写转小写 31 idLower := gstr.ToLower(idStr) 32 33 // 32进制解码成id 34 id64, _ := strconv.ParseInt(idLower, 32, 0) 35 36 return id64 37 }