diff --git a/dsSso/接入示例/JavaDemo/.idea/misc.xml b/dsSso/接入示例/JavaDemo/.idea/misc.xml
index 4b661a5f..e934fbea 100644
--- a/dsSso/接入示例/JavaDemo/.idea/misc.xml
+++ b/dsSso/接入示例/JavaDemo/.idea/misc.xml
@@ -8,7 +8,7 @@
-
+
\ No newline at end of file
diff --git a/dsSso/接入示例/JavaDemo/.idea/workspace.xml b/dsSso/接入示例/JavaDemo/.idea/workspace.xml
index 66d4f43c..66839298 100644
--- a/dsSso/接入示例/JavaDemo/.idea/workspace.xml
+++ b/dsSso/接入示例/JavaDemo/.idea/workspace.xml
@@ -4,7 +4,14 @@
-
+
+
+
+
+
+
+
+
@@ -106,12 +113,17 @@
-
+
+
+
+
+
+
-
+
@@ -139,6 +151,9 @@
+
+
+
@@ -205,6 +220,10 @@
+
+
+
+
diff --git a/dsSso/接入示例/JavaDemo/Target/classes/com/demo/index/IndexController.class b/dsSso/接入示例/JavaDemo/Target/classes/com/demo/index/IndexController.class
index cf778b40..fa2c0f92 100644
Binary files a/dsSso/接入示例/JavaDemo/Target/classes/com/demo/index/IndexController.class and b/dsSso/接入示例/JavaDemo/Target/classes/com/demo/index/IndexController.class differ
diff --git a/dsSso/接入示例/JavaDemo/src/main/java/com/demo/index/IndexController.java b/dsSso/接入示例/JavaDemo/src/main/java/com/demo/index/IndexController.java
index c746e2e5..36ac5f80 100644
--- a/dsSso/接入示例/JavaDemo/src/main/java/com/demo/index/IndexController.java
+++ b/dsSso/接入示例/JavaDemo/src/main/java/com/demo/index/IndexController.java
@@ -10,7 +10,7 @@ import java.util.Base64;
public class IndexController extends Controller {
//服务器的位置信息
- String OAuth2Server = "http://www.ccsjy.cn";
+ String OAuth2Server = "https://www.ccsjy.cn";
String authCodeURI = OAuth2Server + "/oauth2/authorize";
String authTokenURI = OAuth2Server + "/oauth2/access_token";
diff --git a/dsSzxy/.idea/workspace.xml b/dsSzxy/.idea/workspace.xml
index bfa3c501..3e49de9d 100644
--- a/dsSzxy/.idea/workspace.xml
+++ b/dsSzxy/.idea/workspace.xml
@@ -1,40 +1,56 @@
-
-
-
+<<<<<<< HEAD
+=======
+
+
+
+
+>>>>>>> origin/master
-
+
+
+
+
-
-
+
+
+
+
+
+
-
-
-
+
+
+
+<<<<<<< HEAD
@@ -42,15 +58,40 @@
+=======
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>>>>>>> origin/master
+
+
+
+
+
+
+
+
+
@@ -64,6 +105,8 @@
+
+
@@ -84,11 +127,19 @@
+<<<<<<< HEAD
+=======
+>>>>>>> origin/master
true
+
+
+
\ No newline at end of file
diff --git a/dsSzxy/Business/ImRelate/ImRelateController/ImRelateController.go b/dsSzxy/Business/ImRelate/ImRelateController/ImRelateController.go
index b91e6690..ad0004db 100644
--- a/dsSzxy/Business/ImRelate/ImRelateController/ImRelateController.go
+++ b/dsSzxy/Business/ImRelate/ImRelateController/ImRelateController.go
@@ -7,68 +7,132 @@ import (
"encoding/json"
"github.com/gin-gonic/gin"
"net/http"
+ "strings"
)
//模块的路由配置
func Routers(r *gin.RouterGroup) {
rr := r.Group("/imRelate")
- rr.POST("/sendTxtMsg", sendTxtMsg)
- rr.POST("/sendImgMsg", sendImgMsg)
- rr.POST("/sendFileMsg", sendFileMsg)
- rr.POST("/sendSightMsg", sendSightMsg)
+ rr.POST("/SaveChatRecord", SaveChatRecord)
+ rr.POST("/GetPersonAvatar", GetPersonAvatar)
+ rr.GET("/GetPersonInfoList", GetPersonInfoList)
+ rr.POST("/CreateGroup", CreateGroup)
+ rr.POST("/SyncRongYunUser", SyncRongYunUser)
}
/**
-功能:发送融云文本消息
+功能:保存聊天记录
作者:吴缤
-日期:2021-08-16
+日期:2021-08-23
*/
-func sendTxtMsg(c *gin.Context) {
+func SaveChatRecord(c *gin.Context) {
//发送方Id。
fromId := c.PostForm("fromId")
//接收方Id。
toId := c.PostForm("toId")
//发送类型 p:单聊 g:群聊
sendType := c.PostForm("sendType")
- //内容。
- content := c.PostForm("content")
- m := map[string]string{"content": content}
- contentJsonObj, _ := json.Marshal(m)
- contentJsonStr := string(contentJsonObj)
-
- sendErr := ImRelateDao.SendRongYunMsg(sendType, fromId, toId, "RC:TxtMsg", contentJsonStr)
- if sendErr != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "发送消息失败!"})
+ //获取姓名和头像
+ fromName, fromAvatar, toName, toAvatar := ImRelateDao.GetPersonNameAvatar(fromId, toId, sendType)
+
+ var crs ImRelateDao.ChatRecordStruct
+
+ objectName := c.PostForm("objectName")
+ if objectName == "RC:TxtMsg" {
+ //文本消息内容。
+ content := c.PostForm("content")
+ crs = ImRelateDao.ChatRecordStruct{
+ SenderUserId: fromId,
+ SenderUserName: fromName,
+ SenderUserAvatar: fromAvatar,
+ ReceiverUserId: toId,
+ ReceiverUserName: toName,
+ ReceiverUserAvatar: toAvatar,
+ SendTime: CommonUtil.GetCurrentTime(),
+ Content: content,
+ MessageType: objectName,
+ ChatType: sendType,
+ }
+ } else if objectName == "RC:ImgMsg" {
+ //图片base64。
+ imgBase64 := c.PostForm("imgBase64")
+ //图片Url
+ imgUrl := c.PostForm("imgUrl")
+ //文件名
+ fileName := c.PostForm("fileName")
+
+ crs = ImRelateDao.ChatRecordStruct{
+ SenderUserId: fromId,
+ SenderUserName: fromName,
+ SenderUserAvatar: fromAvatar,
+ ReceiverUserId: toId,
+ ReceiverUserName: toName,
+ ReceiverUserAvatar: toAvatar,
+ SendTime: CommonUtil.GetCurrentTime(),
+ Content: fileName,
+ Base64: imgBase64,
+ Url: imgUrl,
+ MessageType: objectName,
+ ChatType: sendType,
+ }
+ } else if objectName == "RC:FileMsg" {
+ //文件名
+ fileName := c.PostForm("fileName")
+ //文件大小
+ fileSize := c.PostForm("fileSize")
+ //文件类型
+ fileType := c.PostForm("fileType")
+ //文件URL
+ fileUrl := c.PostForm("fileUrl")
+
+ crs = ImRelateDao.ChatRecordStruct{
+ SenderUserId: fromId,
+ SenderUserName: fromName,
+ SenderUserAvatar: fromAvatar,
+ ReceiverUserId: toId,
+ ReceiverUserName: toName,
+ ReceiverUserAvatar: toAvatar,
+ SendTime: CommonUtil.GetCurrentTime(),
+ Content: fileName,
+ Size: fileSize,
+ FileType: fileType,
+ Url: fileUrl,
+ MessageType: objectName,
+ ChatType: sendType,
+ }
+ } else if objectName == "RC:SightMsg" {
+ //视频URL
+ videoUrl := c.PostForm("videoUrl")
+ //视频缩略图base64编码
+ thumbBase64 := ConfigUtil.VideoThumb
+ //视频大小
+ videoSize := c.PostForm("videoSize")
+ //视频名称
+ videoName := c.PostForm("fileName")
+
+ crs = ImRelateDao.ChatRecordStruct{
+ SenderUserId: fromId,
+ SenderUserName: fromName,
+ SenderUserAvatar: fromAvatar,
+ ReceiverUserId: toId,
+ ReceiverUserName: toName,
+ ReceiverUserAvatar: toAvatar,
+ SendTime: CommonUtil.GetCurrentTime(),
+ Content: videoName,
+ Size: videoSize,
+ Base64: thumbBase64,
+ Url: videoUrl,
+ MessageType: objectName,
+ ChatType: sendType,
+ }
+ } else {
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "objectName参数错误!"})
return
}
- fromName := ImRelateDao.GetPersonNameByUserId(fromId)
- fromAvatar := ImRelateDao.GetPersonAvatarByUserId(fromId)
- var toName, toAvatar string
- if sendType == "p" {
- toName = ImRelateDao.GetPersonNameByUserId(toId)
- toAvatar = ImRelateDao.GetPersonAvatarByUserId(toId)
- } else
- {
- toName, toAvatar = ImRelateDao.GetGroupNameAvatarByGroupId(toId)
- }
-
- cm := map[string]string{
- "sender_user_id": fromId,
- "sender_user_name": fromName,
- "sender_user_avatar": fromAvatar,
- "receiver_user_id": toId,
- "receiver_user_name": toName,
- "receiver_user_avatar": toAvatar,
- "send_time": CommonUtil.GetCurrentTime(),
- "content": content,
- "message_type": "TxtMsg",
- "chat_type": sendType,
- }
- bodyJsonObj, _ := json.Marshal(cm)
+ bodyJsonObj, _ := json.Marshal(crs)
bodyString := string(bodyJsonObj)
-
saveErr := ImRelateDao.SaveChatRecord("chat_record", bodyString)
if saveErr != nil {
c.JSON(http.StatusOK, gin.H{"success": false, "info": "聊天记录保存失败!"})
@@ -79,205 +143,96 @@ func sendTxtMsg(c *gin.Context) {
}
/**
-功能:发送融云图片消息
+功能:获取人员头像
作者:吴缤
-日期:2021-08-16
+日期:2021-08-23
*/
-func sendImgMsg(c *gin.Context) {
- //发送方Id。
- fromId := c.PostForm("fromId")
- //接收方Id。
- toId := c.PostForm("toId")
- //发送类型 p:单聊 g:群聊
- sendType := c.PostForm("sendType")
- //图片base64。
- imgBase64 := c.PostForm("imgBase64")
- //imgUrl
- imgUrl := c.PostForm("imgUrl")
- //文件名
- fileName := c.PostForm("fileName")
-
- m := map[string]string{"content": imgBase64, "imageUri": imgUrl}
- contentJsonObj, _ := json.Marshal(m)
- contentJsonStr := string(contentJsonObj)
+func GetPersonAvatar(c *gin.Context) {
+ var personAvatar []map[string]string
+ personIds := c.PostForm("personIds")
+ personIdArr := strings.Split(personIds, ",")
+ //获取是云版还是局版
+ serverLocation := ImRelateDao.GetServerLocation()
+ for _, val := range personIdArr {
+ id := val + "_5"
+ avatar := ImRelateDao.GetPersonAvatarByUserId(id, serverLocation)
+ myMap := map[string]string{val: avatar}
+ personAvatar = append(personAvatar, myMap)
+ }
+ josnByte, _ := json.Marshal(personAvatar)
+ c.JSON(http.StatusOK, gin.H{"success": true, "list": CommonUtil.ConvertJsonStringToMapArray(string(josnByte))})
+}
- err := ImRelateDao.SendRongYunMsg(sendType, fromId, toId, "RC:ImgMsg", contentJsonStr)
+/**
+功能:获取人员信息列表
+作者:吴缤
+日期:2021-09-06
+*/
+func GetPersonInfoList(c *gin.Context) {
+ bureauId := c.Query("bureau_id")
+ orgId := c.Query("org_id")
+ queryChild := c.Query("query_child")
+ bUse := c.Query("b_use")
+ personName := c.Query("person_name")
+ queryBureauChild := c.Query("query_bureau_child")
+ pageNumber := c.Query("pageNumber")
+ pageSize := c.Query("pageSize")
+
+ res, err := ImRelateDao.GetPersonList(bureauId, orgId, queryChild, bUse, personName, queryBureauChild, pageNumber, pageSize)
if err != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "发送消息失败!"})
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "获取人员信息列表失败!"})
return
}
- fromName := ImRelateDao.GetPersonNameByUserId(fromId)
- fromAvatar := ImRelateDao.GetPersonAvatarByUserId(fromId)
- var toName, toAvatar string
- if sendType == "p" {
- toName = ImRelateDao.GetPersonNameByUserId(toId)
- toAvatar = ImRelateDao.GetPersonAvatarByUserId(toId)
- } else
- {
- toName, toAvatar = ImRelateDao.GetGroupNameAvatarByGroupId(toId)
- }
-
- cm := map[string]string{
- "sender_user_id": fromId,
- "sender_user_name": fromName,
- "sender_user_avatar": fromAvatar,
- "receiver_user_id": toId,
- "receiver_user_name": toName,
- "receiver_user_avatar": toAvatar,
- "send_time": CommonUtil.GetCurrentTime(),
- "content": fileName,
- "base64": imgBase64,
- "url": imgUrl,
- "message_type": "ImgMsg",
- "chat_type": sendType,
- }
- bodyJsonObj, _ := json.Marshal(cm)
- bodyString := string(bodyJsonObj)
-
- saveErr := ImRelateDao.SaveChatRecord("chat_record", bodyString)
- if saveErr != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "聊天记录保存失败!"})
- return
- }
+ jsonObj, _ := CommonUtil.JsonStringToMap(res)
- c.JSON(http.StatusOK, gin.H{"success": true, "info": "发送消息成功!"})
+ c.JSON(http.StatusOK, jsonObj)
}
/**
-功能:发送融云文件消息
+功能:向融云同步用户
作者:吴缤
-日期:2021-08-16
+日期:2021-09-07
*/
-func sendFileMsg(c *gin.Context) {
- //发送方Id。
- fromId := c.PostForm("fromId")
- //接收方Id。
- toId := c.PostForm("toId")
- //发送类型 p:单聊 g:群聊
- sendType := c.PostForm("sendType")
- //文件名
- fileName := c.PostForm("fileName")
- //文件大小
- fileSize := c.PostForm("fileSize")
- //文件类型
- fileType := c.PostForm("fileType")
- //文件URL
- fileUrl := c.PostForm("fileUrl")
-
- m := map[string]string{"name": fileName, "size": fileSize, "type": fileType, "fileUrl": fileUrl}
- contentJsonObj, _ := json.Marshal(m)
- contentJsonStr := string(contentJsonObj)
+func SyncRongYunUser(c *gin.Context) {
+ //用户ID。
+ personId := c.PostForm("personId")
+ personName := c.PostForm("personName")
+ identityId := c.PostForm("identityId")
- err := ImRelateDao.SendRongYunMsg(sendType, fromId, toId, "RC:FileMsg", contentJsonStr)
+ _, err := ImRelateDao.RongYunGetToken(personId, identityId, personName, "")
if err != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "发送消息失败!"})
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "向融云同步用户失败!"})
return
}
-
- fromName := ImRelateDao.GetPersonNameByUserId(fromId)
- fromAvatar := ImRelateDao.GetPersonAvatarByUserId(fromId)
- var toName, toAvatar string
- if sendType == "p" {
- toName = ImRelateDao.GetPersonNameByUserId(toId)
- toAvatar = ImRelateDao.GetPersonAvatarByUserId(toId)
- } else
- {
- toName, toAvatar = ImRelateDao.GetGroupNameAvatarByGroupId(toId)
- }
-
- cm := map[string]string{
- "sender_user_id": fromId,
- "sender_user_name": fromName,
- "sender_user_avatar": fromAvatar,
- "receiver_user_id": toId,
- "receiver_user_name": toName,
- "receiver_user_avatar": toAvatar,
- "send_time": CommonUtil.GetCurrentTime(),
- "content": fileName,
- "size": fileSize,
- "file_type": fileType,
- "url": fileUrl,
- "message_type": "FileMsg",
- "chat_type": sendType,
- }
- bodyJsonObj, _ := json.Marshal(cm)
- bodyString := string(bodyJsonObj)
-
- saveErr := ImRelateDao.SaveChatRecord("chat_record", bodyString)
- if saveErr != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "聊天记录保存失败!"})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"success": true, "info": "发送消息成功!"})
+ c.JSON(http.StatusOK, gin.H{"success": true, "info": "向融云同步用户成功!"})
}
/**
-功能:发送融云视频消息
+功能:创建群组
作者:吴缤
-日期:2021-08-16
+日期:2021-08-23
*/
-func sendSightMsg(c *gin.Context) {
- //发送方Id。
- fromId := c.PostForm("fromId")
- //接收方Id。
- toId := c.PostForm("toId")
- //发送类型 p:单聊 g:群聊
- sendType := c.PostForm("sendType")
- //视频URL
- videoUrl := c.PostForm("videoUrl")
- //视频缩略图base64编码
- thumbBase64 := ConfigUtil.VideoThumb
- //视频大小
- videoSize := c.PostForm("videoSize")
- //视频名称
- videoName := c.PostForm("fileName")
-
- m := map[string]string{"sightUrl": videoUrl, "content": thumbBase64, "duration": "60", "size": videoSize, "name": videoName}
- contentJsonObj, _ := json.Marshal(m)
- contentJsonStr := string(contentJsonObj)
-
- err := ImRelateDao.SendRongYunMsg(sendType, fromId, toId, "RC:SightMsg", contentJsonStr)
+func CreateGroup(c *gin.Context) {
+ //群组名称
+ groupName := c.PostForm("group_name")
+ //人员列表
+ personList := c.PostForm("person_list")
+
+ personIdCookie, _ := c.Cookie("person_id")
+ identityIdCookie, _ := c.Cookie("identity_id")
+ tokenCookie, _ := c.Cookie("token")
+ qAccessTokenCookie, _ := c.Cookie("q_access_token")
+
+ groupId, err := ImRelateDao.SaveGroup(groupName, personIdCookie, identityIdCookie, tokenCookie, qAccessTokenCookie)
if err != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "发送消息失败!"})
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": err.Error()})
return
}
-
- fromName := ImRelateDao.GetPersonNameByUserId(fromId)
- fromAvatar := ImRelateDao.GetPersonAvatarByUserId(fromId)
- var toName, toAvatar string
- if sendType == "p" {
- toName = ImRelateDao.GetPersonNameByUserId(toId)
- toAvatar = ImRelateDao.GetPersonAvatarByUserId(toId)
- } else
- {
- toName, toAvatar = ImRelateDao.GetGroupNameAvatarByGroupId(toId)
- }
-
- cm := map[string]string{
- "sender_user_id": fromId,
- "sender_user_name": fromName,
- "sender_user_avatar": fromAvatar,
- "receiver_user_id": toId,
- "receiver_user_name": toName,
- "receiver_user_avatar": toAvatar,
- "send_time": CommonUtil.GetCurrentTime(),
- "content": videoName,
- "size": videoSize,
- "base64": thumbBase64,
- "url": videoUrl,
- "message_type": "SightMsg",
- "chat_type": sendType,
- }
- bodyJsonObj, _ := json.Marshal(cm)
- bodyString := string(bodyJsonObj)
-
- saveErr := ImRelateDao.SaveChatRecord("chat_record", bodyString)
- if saveErr != nil {
- c.JSON(http.StatusOK, gin.H{"success": false, "info": "聊天记录保存失败!"})
+ err = ImRelateDao.AddGroupMember(groupId, personList, personIdCookie, identityIdCookie, tokenCookie, qAccessTokenCookie)
+ if err != nil {
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "调用云平台的增加群组成员接口失败!"})
return
}
-
- c.JSON(http.StatusOK, gin.H{"success": true, "info": "发送消息成功!"})
+ c.JSON(http.StatusOK, gin.H{"success": true, "info": "成功!"})
}
diff --git a/dsSzxy/Business/ImRelate/ImRelateDao/ImRelateDao.go b/dsSzxy/Business/ImRelate/ImRelateDao/ImRelateDao.go
index ca2423ea..c73d28fd 100644
--- a/dsSzxy/Business/ImRelate/ImRelateDao/ImRelateDao.go
+++ b/dsSzxy/Business/ImRelate/ImRelateDao/ImRelateDao.go
@@ -7,40 +7,129 @@ import (
"dsSzxy/Utils/EsUtil"
"dsSzxy/Utils/RedisUtil"
ssdb "dsSzxy/Utils/SsdbUtil"
+ "encoding/json"
"errors"
"fmt"
+ "github.com/astaxie/beego/httplib"
+ "github.com/rongcloud/server-sdk-go/v3/sdk"
"github.com/xormplus/xorm"
- "io/ioutil"
- "net/http"
+ "strconv"
"strings"
)
+//人员信息结构
+type Person struct {
+ Success bool `json:"success"`
+ PageSize int `json:"pageSize"`
+ PageNumber int `json:"pageNumber"`
+ TotalRow int `json:"totalRow"`
+ TotalPage int `json:"totalPage"`
+ List []PersonList `json:"list"`
+}
+
+//人员信息LIST
+type PersonList struct {
+ OrgName string `json:"org_name"`
+ OrgId string `json:"org_id"`
+ IdentityId string `json:"identity_id"`
+ PersonId string `json:"person_id"`
+ PersonName string `json:"person_name"`
+ BureauName string `json:"bureau_name"`
+ FinanceNo string `json:"finance_no"`
+ IdentityNum string `json:"identity_num"`
+ LoginPassword string `json:"login_password"`
+ SortId string `json:"sort_id"`
+ LoginName string `json:"login_name"`
+ XbName string `json:"xb_name"`
+ WorkersNo string `json:"workers_no"`
+ BureauId string `json:"bureau_id"`
+ AvatarUrl string `json:"avatar_url"`
+}
+
+//群组
+type Group struct {
+ Id int `json:"id"`
+ Success bool `json:"success"`
+ Info string `json:"info"`
+}
+
+//聊天记录结构
+type ChatRecordStruct struct {
+ SenderUserId string `json:"sender_user_id"`
+ SenderUserName string `json:"sender_user_name"`
+ SenderUserAvatar string `json:"sender_user_avatar"`
+ ReceiverUserId string `json:"receiver_user_id"`
+ ReceiverUserName string `json:"receiver_user_name"`
+ ReceiverUserAvatar string `json:"receiver_user_avatar"`
+ SendTime string `json:"send_time"`
+ Content string `json:"content"`
+ Base64 string `json:"base64"`
+ FileType string `json:"file_type"`
+ Url string `json:"url"`
+ Size string `json:"size"`
+ MessageType string `json:"message_type"`
+ ChatType string `json:"chat_type"`
+}
+
/**
功能:获取头像
作者:吴缤
日期:2021-08-12
*/
-func GetPersonAvatar(personId string, identityId string, w string, h string) string {
- avatarUrl := "/dsideal_yy/html/thumb/Material/%s/%s@" + w + "w_" + h + "h_100Q_1x.png"
- //默认头像
- avatarId := "EA0BC5FB-52D9-E232-D3E3-E6C2960B5739.png"
- avatar := fmt.Sprintf(avatarUrl, avatarId[0:2], avatarId)
+func GetPersonAvatar(personId string, identityId string, serverLocation string) string {
+ fileId, extension := GetPersonAvatarFileId(personId, identityId)
+ url := ""
+ if fileId != "EA0BC5FB-52D9-E232-D3E3-E6C2960B5739" {
+ url = GetPersonAvatarUrl(fileId, extension, serverLocation)
+ }
+ return url
+}
+
+/**
+功能:获取头像文件ID
+作者:吴缤
+日期:2021-08-12
+*/
+func GetPersonAvatarFileId(personId string, identityId string) (string, string) {
+ fileId := "EA0BC5FB-52D9-E232-D3E3-E6C2960B5739"
+ extension := "png"
+
ssdbClient, ssdbClientErr := ssdb.Connect(ConfigUtil.SSDBIp, ConfigUtil.SSDBPort)
if ssdbClientErr != nil {
- return avatar
+ return fileId, extension
}
res, resErr := ssdbClient.Get("space_ajson_personbaseinfo_" + personId + "_" + identityId)
if resErr != nil {
- return avatar
+ return fileId, extension
+ }
+ if res == nil {
+ return fileId, extension
}
jsonObj, jsonObjErr := CommonUtil.JsonStringToMap(fmt.Sprintf("%v", res))
if jsonObjErr != nil {
- return avatar
+ return fileId, extension
}
- avatarId = fmt.Sprintf("%v", jsonObj["space_avatar_fileid"])
- avatar = fmt.Sprintf(avatarUrl, avatarId[0:2], avatarId)
+ avatarId := fmt.Sprintf("%v", jsonObj["space_avatar_fileid"])
+ if len(avatarId) == 0 {
+ return fileId, extension
+ }
+ arr := strings.Split(avatarId, ".")
+ return arr[0], arr[1]
+}
- return avatar
+/**
+功能:根据头像ID获取头像地址
+作者:吴缤
+日期:2021-09-03
+*/
+func GetPersonAvatarUrl(fileId string, extension string, serverLocation string) string {
+ url := ""
+ if serverLocation == "1" {
+ url = fmt.Sprintf("https://image.edusoa.com/down/Material/%s/%s.%s?x-image-process=image/resize,w_72,h_72/quality,q_100", fileId[0:2], fileId, extension)
+ } else {
+ url = fmt.Sprintf("%s/dsideal_yy/html/thumb/Material/%s/%s.%s@72w_72h_100Q_1x.png", ConfigUtil.DsidealYyPath, fileId[0:2], fileId, extension)
+ }
+ return url
}
/**
@@ -126,71 +215,27 @@ func GetPersonNameMsyql(personId string, identityId string) (string, error) {
}
/**
-功能:发送融云消息
+功能:获取用户TOKEN,也可当作同步用户使用
作者:吴缤
-日期:2021-08-16
+日期:2021-09-08
*/
-func SendRongYunMsg(sendType string, fromId string, toId string, objectName string, content string) error {
- sendTypeStr := ""
- toTypeStr := ""
- if sendType == "p" {
- sendTypeStr = "private"
- toTypeStr = "toUserId"
- } else {
- sendTypeStr = "group"
- toTypeStr = "toGroupId"
- }
- url := fmt.Sprintf("https://api-cn.ronghub.com/message/%s/publish.json", sendTypeStr)
- method := "POST"
-
- parameter := fmt.Sprintf("fromUserId=%s&%s=%s&objectName=%s&content=%s", fromId, toTypeStr, toId, objectName, content)
-
- payload := strings.NewReader(parameter)
-
- client := &http.Client{
- }
- req, err := http.NewRequest(method, url, payload)
-
- if err != nil {
- return err
- }
+func RongYunGetToken(personId string, identityId string, personName string, avatar string) (string, error) {
+ //获取云平台配置文件中的融云AK和SK
configMap, configErr := CommonUtil.GetRongYunConfig()
if configErr != nil {
- return configErr
+ return "", configErr
}
- ak := configMap["rong_key"]
- r := CommonUtil.GetSixRandom()
- ts := CommonUtil.GetTimeStamp()
- sk := configMap["rong_secret"]
-
- st := CommonUtil.SHA1(sk + r + ts)
-
- req.Header.Add("RC-App-Key", ak)
- req.Header.Add("RC-Nonce", r)
- req.Header.Add("RC-Timestamp", ts)
- req.Header.Add("RC-Signature", st)
- req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
+ ak := configMap["app_key"]
+ sk := configMap["app_secret"]
+ suffix := configMap["rong_server_name"]
- res, err := client.Do(req)
- if err != nil {
- return err
- }
- defer res.Body.Close()
+ rc := sdk.NewRongCloud(ak, sk)
- body, err := ioutil.ReadAll(res.Body)
+ user, err := rc.UserRegister(personId+"_"+identityId+suffix, personName, avatar)
if err != nil {
- return err
- }
- jsonObj, err := CommonUtil.JsonStringToMap(string(body))
- if err != nil {
- return err
- }
-
- if jsonObj["code"] != float64(200) {
- return errors.New("发送消息失败!")
+ return "", err
}
-
- return nil
+ return user.Token, nil
}
/**
@@ -249,9 +294,9 @@ func GetPersonNameByUserId(userId string) string {
作者:吴缤
日期:2021-08-17
*/
-func GetPersonAvatarByUserId(userId string) string {
+func GetPersonAvatarByUserId(userId string, serverLocation string) string {
pId, iId := GetPersonIdIdentityId(userId)
- avatar := GetPersonAvatar(pId, iId, "36", "36")
+ avatar := GetPersonAvatar(pId, iId, serverLocation)
return avatar
}
@@ -265,3 +310,140 @@ func GetGroupNameAvatarByGroupId(groupId string) (string, string) {
groupName, groupAvatar := GetGroupNameAvatar(gId, "36", "36")
return groupName, groupAvatar
}
+
+/**
+功能:根据发送人、接收人和发送类型获取人名和头像
+作者:吴缤
+日期:2021-08-23
+*/
+func GetPersonNameAvatar(fromId string, toId string, sendType string) (fromName, fromAvatar, toName, toAvatar string) {
+ //获取是云版还是局版
+ serverLocation := GetServerLocation()
+ fromName = GetPersonNameByUserId(fromId)
+ fromAvatar = GetPersonAvatarByUserId(fromId, serverLocation)
+ if sendType == "p" {
+ toName = GetPersonNameByUserId(toId)
+ toAvatar = GetPersonAvatarByUserId(toId, serverLocation)
+ } else {
+ toName, toAvatar = GetGroupNameAvatarByGroupId(toId)
+ }
+ return
+}
+
+/**
+功能:获取系统类型 1:云版 2:局版
+作者:吴缤
+日期:2021-09-06
+*/
+func GetServerLocation() string {
+ url := ConfigUtil.DsidealYyPath + "/dsideal_yy/golbal/getValueByKey"
+ req := httplib.Get(url)
+ req.Param("key", "common.server.location")
+ resStr, err := req.String()
+ if err != nil {
+ return "2"
+ }
+ resObj, err := CommonUtil.JsonStringToMap(resStr)
+ if err != nil {
+ return "2"
+ }
+
+ return CommonUtil.ConvertInterfaceToString(resObj["common.server.location"])
+}
+
+func GetPersonList(bureauId string, orgId string, queryChild string, bUse string, personName string, queryBureauChild string, pageNumber string, pageSize string) (string, error) {
+ req := httplib.Get(fmt.Sprintf("%s/dsideal_yy/admin/new_base/personInfo_GetPersonInfoList", ConfigUtil.DsidealYyPath))
+
+ req.Param("bureau_id", bureauId)
+ req.Param("org_id", orgId)
+ req.Param("query_child", queryChild)
+ req.Param("b_use", bUse)
+ req.Param("person_name", personName)
+ req.Param("query_bureau_child", queryBureauChild)
+ req.Param("pageNumber", pageNumber)
+ req.Param("pageSize", pageSize)
+
+ resStr, err := req.String()
+ if err != nil {
+ return "", err
+ }
+
+ //获取是云版还是局版
+ serverLocation := GetServerLocation()
+
+ var p Person
+ json.Unmarshal([]byte(resStr), &p)
+
+ for i := 0; i < len(p.List); i++ {
+ personId := p.List[i].PersonId
+ identityId := p.List[i].IdentityId
+ p.List[i].AvatarUrl = GetPersonAvatar(personId, identityId, serverLocation)
+ }
+ jsonBytes, err := json.Marshal(p)
+
+ return string(jsonBytes), nil
+}
+
+/**
+功能:调用云平台的创建群组接口
+作者:吴缤
+日期:2021-09-09
+*/
+func SaveGroup(groupName string, personIdCookie string, identityIdCookie string, tokenCookie string, qAccessTokenCookie string) (string, error) {
+ req := httplib.Post(fmt.Sprintf("%s/dsideal_yy/ypt/group/saveGroup", ConfigUtil.DsidealYyPath))
+
+ req.Param("group_name", groupName)
+ req.Param("group_desc", "")
+ req.Param("avater_url", "OTc1MEE2RjgtMkNCRi00Q0YwLUEyNTQtRjI1MjhDNDVEM0E4LnBuZw==")
+ req.Param("parent_type", "-1")
+ req.Param("parent_id", "-1")
+ req.Param("group_type", "2")
+ req.Param("use_range", "1")
+ req.Param("plat_type", "1")
+ req.Param("plat_id", "0")
+
+ CommonUtil.AddCookie(req, personIdCookie, identityIdCookie, tokenCookie, qAccessTokenCookie)
+
+ resStr, err := req.String()
+ if err != nil {
+ return "", err
+ }
+
+ var g Group
+ json.Unmarshal([]byte(resStr), &g)
+
+ if !g.Success {
+ return "", errors.New(g.Info)
+ }
+
+ return strconv.Itoa(g.Id), nil
+}
+
+/**
+功能:调用云平台的增加群组成员接口
+作者:吴缤
+日期:2021-09-09
+*/
+func AddGroupMember(groupId string, personList string, personIdCookie string, identityIdCookie string, tokenCookie string, qAccessTokenCookie string) error {
+ req := httplib.Post(fmt.Sprintf("%s/dsideal_yy/ypt/group/addMember", ConfigUtil.DsidealYyPath))
+
+ req.Param("groupId", groupId)
+ req.Param("pids", personList)
+ req.Param("random_num", CommonUtil.GetSixRandom())
+
+ CommonUtil.AddCookie(req, personIdCookie, identityIdCookie, tokenCookie, qAccessTokenCookie)
+
+ resStr, err := req.String()
+ if err != nil {
+ return err
+ }
+
+ var g Group
+ json.Unmarshal([]byte(resStr), &g)
+
+ if !g.Success {
+ return errors.New("调用云平台的增加群组成员接口失败!")
+ }
+
+ return nil
+}
diff --git a/dsSzxy/Business/MinIORelate/MinIORelateController/MinIORelateController.go b/dsSzxy/Business/MinIORelate/MinIORelateController/MinIORelateController.go
index de2a1916..7fa62c3e 100644
--- a/dsSzxy/Business/MinIORelate/MinIORelateController/MinIORelateController.go
+++ b/dsSzxy/Business/MinIORelate/MinIORelateController/MinIORelateController.go
@@ -18,7 +18,7 @@ import (
"time"
)
-//模块的路由配置
+//模块的路由配置1
func Routers(r *gin.RouterGroup) {
rr := r.Group("/minioRelate")
diff --git a/dsSzxy/Config/Config.ini b/dsSzxy/Config/Config.ini
index 7f3155db..c2f9bd60 100644
--- a/dsSzxy/Config/Config.ini
+++ b/dsSzxy/Config/Config.ini
@@ -23,16 +23,16 @@ user = root
pwd = DsideaL147258369
[redis]
-ip = 10.10.14.169
+ip = 10.10.14.199
port = 18890
db = 0
[ssdb]
-ip = 10.10.14.169
+ip = 10.10.14.199
port = 8888
[elasticsearch]
-url = http://10.10.14.212:9200
+url = http://10.10.14.188:9200
#minio配置
[minio]
@@ -63,7 +63,8 @@ path = /usr/local/dsMin/dsSzxy/files/
config_path = c:/1/config.properties
[videoThumb]
-thumb = data:image/jpeg;base64,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
-
-
+thumb = data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjI5NDQ3MDA4MTUxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDE1MTIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE5MzU3IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIyLjE0ODQzNzUiIGhlaWdodD0iMTUiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTY2LjU2MjEzMiAxNDMuMzI1MzU3bTE2OS4wODMxMTcgMGwzNTAuOTE3NiAwcTE2OS4wODMxMTcgMCAxNjkuMDgzMTE3IDE2OS4wODMxMTdsMCAzNTAuOTE3NnEwIDE2OS4wODMxMTctMTY5LjA4MzExNyAxNjkuMDgzMTE3bC0zNTAuOTE3NiAwcS0xNjkuMDgzMTE3IDAtMTY5LjA4MzExNy0xNjkuMDgzMTE3bDAtMzUwLjkxNzZxMC0xNjkuMDgzMTE3IDE2OS4wODMxMTctMTY5LjA4MzExN1oiIGZpbGw9IiNGRkM4OEIiIG9wYWNpdHk9Ii40IiBwLWlkPSIxOTM1OCI+PC9wYXRoPjxwYXRoIGQ9Ik04ODkuMjgwMjg1IDQ1MC4xMjMyM0w2MjYuODU3MTY3IDI5OC4zODE5NzFBNDMuNjA5NjczIDQzLjYwOTY3MyAwIDAgMCA1NjEuMDYwMTE3IDMzNi4zODEwNDN2MzAyLjk3MjQ2M2E0My4zNTQ2NDUgNDMuMzU0NjQ1IDAgMCAwIDY1LjI4Njk5NSAzNy43NDQwNDRsMjYyLjQyMzExOC0xNTEuNDg2MjMyYTQzLjM1NDY0NSA0My4zNTQ2NDUgMCAwIDAgMC41MTAwNTUtNzUuNDg4MDg4eiIgZmlsbD0iI0ZGQzg4QiIgcC1pZD0iMTkzNTkiPjwvcGF0aD48cGF0aCBkPSJNOTkuNzE1Njg0IDc3MC40Mzc1NTFtLTk5LjcxNTY4NCAwYTk5LjcxNTY4NCA5OS43MTU2ODQgMCAxIDAgMTk5LjQzMTM2OSAwIDk5LjcxNTY4NCA5OS43MTU2ODQgMCAxIDAtMTk5LjQzMTM2OSAwWiIgZmlsbD0iI0ZGQzg4QiIgcC1pZD0iMTkzNjAiPjwvcGF0aD48cGF0aCBkPSJNMTM4My4yNjgyMTUgNDIxLjMwNTE0Mm0tNTguNDAxMjU4IDBhNTguNDAxMjU4IDU4LjQwMTI1OCAwIDEgMCAxMTYuODAyNTE2IDAgNTguNDAxMjU4IDU4LjQwMTI1OCAwIDEgMC0xMTYuODAyNTE2IDBaIiBmaWxsPSIjRkZDODhCIiBwLWlkPSIxOTM2MSI+PC9wYXRoPjxwYXRoIGQ9Ik0yNDEuMjU1ODUgMG0xNjkuMDgzMTE3IDBsNjM3LjU2ODMxNSAwcTE2OS4wODMxMTcgMCAxNjkuMDgzMTE3IDE2OS4wODMxMTdsMCA2MzcuNTY4MzE0cTAgMTY5LjA4MzExNy0xNjkuMDgzMTE3IDE2OS4wODMxMTdsLTYzNy41NjgzMTUgMHEtMTY5LjA4MzExNyAwLTE2OS4wODMxMTctMTY5LjA4MzExN2wwLTYzNy41NjgzMTRxMC0xNjkuMDgzMTE3IDE2OS4wODMxMTctMTY5LjA4MzExN1oiIGZpbGw9IiNGRkM4OEIiIHAtaWQ9IjE5MzYyIj48L3BhdGg+PHBhdGggZD0iTTg4OS4yODAyODUgNDUwLjEyMzIzTDYyNi44NTcxNjcgMjk4LjM4MTk3MUE0My42MDk2NzMgNDMuNjA5NjczIDAgMCAwIDU2MS4wNjAxMTcgMzM2LjM4MTA0M3YzMDIuOTcyNDYzYTQzLjM1NDY0NSA0My4zNTQ2NDUgMCAwIDAgNjUuMjg2OTk1IDM3Ljc0NDA0NGwyNjIuNDIzMTE4LTE1MS40ODYyMzJhNDMuMzU0NjQ1IDQzLjM1NDY0NSAwIDAgMCAwLjUxMDA1NS03NS40ODgwODh6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIxOTM2MyI+PC9wYXRoPjwvc3ZnPg==
+[dsideal_yy]
+path = "http://10.10.14.199"
+domain = "10.10.14.199"
diff --git a/dsSzxy/Utils/CommonUtil/CommonUtil.go b/dsSzxy/Utils/CommonUtil/CommonUtil.go
index 6e9cb053..3ad912c3 100644
--- a/dsSzxy/Utils/CommonUtil/CommonUtil.go
+++ b/dsSzxy/Utils/CommonUtil/CommonUtil.go
@@ -10,7 +10,9 @@ import (
"encoding/json"
"errors"
"fmt"
+ "github.com/astaxie/beego/httplib"
uuid "github.com/satori/go.uuid"
+ "net/http"
"log"
@@ -221,6 +223,7 @@ func IsContain(items []string, item string) bool {
}
return false
}
+
/**
功能:获取蛇形命名的字符串
作者:黄海
@@ -234,3 +237,45 @@ func GetSnakeCaseStr(str string) string {
}
return result
}
+
+/**
+功能:interface转string
+作者:吴缤
+日期:2021-09-06
+*/
+func ConvertInterfaceToString(inter interface{}) string {
+ str := fmt.Sprintf("%v", inter)
+ return str
+}
+
+/**
+功能:请求云平台接口时增加Cookie
+作者:吴缤
+日期:2021-09-13
+*/
+func AddCookie(req *httplib.BeegoHTTPRequest, personIdCookie string, identityIdCookie string, tokenCookie string, qAccessTokenCookie string) {
+ req.SetCookie(&http.Cookie{
+ Name: "person_id",
+ Value: personIdCookie,
+ Path: "/",
+ Domain: ConfigUtil.DsidealYyDomain,
+ })
+ req.SetCookie(&http.Cookie{
+ Name: "identity_id",
+ Value: identityIdCookie,
+ Path: "/",
+ Domain: ConfigUtil.DsidealYyDomain,
+ })
+ req.SetCookie(&http.Cookie{
+ Name: "token",
+ Value: tokenCookie,
+ Path: "/",
+ Domain: ConfigUtil.DsidealYyDomain,
+ })
+ req.SetCookie(&http.Cookie{
+ Name: "q_access_token",
+ Value: qAccessTokenCookie,
+ Path: "/",
+ Domain: ConfigUtil.DsidealYyDomain,
+ })
+}
diff --git a/dsSzxy/Utils/ConfigUtil/ConfigUtil.go b/dsSzxy/Utils/ConfigUtil/ConfigUtil.go
index 580422a3..df37d2f9 100644
--- a/dsSzxy/Utils/ConfigUtil/ConfigUtil.go
+++ b/dsSzxy/Utils/ConfigUtil/ConfigUtil.go
@@ -66,6 +66,10 @@ var (
//视频缩略图
VideoThumb string
+
+ //云平台地址
+ DsidealYyPath string
+ DsidealYyDomain string
)
//cookie中的SessionId名称
@@ -159,6 +163,10 @@ func init() {
//视频缩略图
VideoThumb = iniParser.GetString("videoThumb", "thumb")
+
+ //云平台地址
+ DsidealYyPath = iniParser.GetString("dsideal_yy", "path")
+ DsidealYyDomain = iniParser.GetString("dsideal_yy", "domain")
}
type IniParser struct {
diff --git a/dsSzxy/go.mod b/dsSzxy/go.mod
index 12a3c213..0f1022b7 100644
--- a/dsSzxy/go.mod
+++ b/dsSzxy/go.mod
@@ -5,14 +5,17 @@ go 1.16
require (
gitee.com/aesoper/cache v0.0.0-20210525090400-5745f2c3bd94
gitee.com/aesoper/captchaStore v0.0.0-20200527033950-8d788c0d271e
+ github.com/ChengjinWu/gojson v0.0.0-20181113073026-04749cc2d015 // indirect
github.com/Chronokeeper/anyxml v0.0.0-20160530174208-54457d8e98c6 // indirect
github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53 // indirect
github.com/CloudyKit/jet v2.1.2+incompatible // indirect
github.com/DataDog/zstd v1.3.5 // indirect
+ github.com/OwnLocal/goes v1.0.0 // indirect
github.com/Shopify/sarama v1.29.1 // indirect
github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee // indirect
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4 // indirect
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
+ github.com/astaxie/beego v1.12.3 // indirect
github.com/bluesky335/IDCheck v0.0.0-20210208025941-aaa5c64e4fa1 // indirect
github.com/bndr/gotabulate v1.1.2 // indirect
github.com/clbanning/mxj v1.8.4 // indirect
@@ -29,13 +32,15 @@ require (
github.com/golang/snappy v0.0.4 // indirect
github.com/iancoleman/orderedmap v0.2.0 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
- github.com/mattn/go-sqlite3 v1.14.8 // indirect
github.com/minio/minio-go/v6 v6.0.57
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/mojocn/base64Captcha v1.3.1
github.com/olivere/elastic/v7 v7.0.27
github.com/pkg/sftp v1.13.1
+ github.com/rongcloud/server-sdk-go/v3 v3.2.5 // indirect
github.com/satori/go.uuid v1.2.0
+ github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726 // indirect
+ github.com/siddontang/ledisdb v0.0.0-20181029004158-becf5f38d373 // indirect
github.com/spf13/viper v1.8.1
github.com/swaggo/gin-swagger v1.3.1 // indirect
github.com/swaggo/swag v1.7.1 // indirect
diff --git a/dsSzxy/go.sum b/dsSzxy/go.sum
index 3e100533..735055c5 100644
--- a/dsSzxy/go.sum
+++ b/dsSzxy/go.sum
@@ -55,6 +55,8 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/ChengjinWu/gojson v0.0.0-20181113073026-04749cc2d015 h1:OHn0yRoWqycQJUGVvHYtpMr0CKC+n1ia3+TlDop/2og=
+github.com/ChengjinWu/gojson v0.0.0-20181113073026-04749cc2d015/go.mod h1:tvVvhr03KfpXTGN/3V6PiroCTZoWduK58LVVad9rbao=
github.com/Chronokeeper/anyxml v0.0.0-20160530174208-54457d8e98c6 h1:Etfj2lhXyrYemgmWzEtEQQb1kezeEXc8jVjkQUyJnWI=
github.com/Chronokeeper/anyxml v0.0.0-20160530174208-54457d8e98c6/go.mod h1:YzuYAe2hrrwKXkM9kqjbkTLlkbA+/xw2MA46f1+ENxc=
github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53 h1:sR+/8Yb4slttB4vD+b9btVEnWgL3Q00OBTzVT8B9C0c=
@@ -65,8 +67,10 @@ github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7 h1:qELHH0AWCvf
github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7/go.mod h1:Q5DbzQ+3AkgGwymQO7aZFNP7ns2lZKGtvRBzRXfdi60=
github.com/DataDog/zstd v1.3.5 h1:DtpNbljikUepEPD16hD4LvIcmhnhdLTiW/5pHgbmp14=
github.com/DataDog/zstd v1.3.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
+github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
+github.com/OwnLocal/goes v1.0.0/go.mod h1:8rIFjBGTue3lCU0wplczcUgt9Gxgrkkrw7etMIcn8TM=
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -80,8 +84,13 @@ github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee h1:0RklYSvekYaIF
github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee/go.mod h1:M9nmO4lBRWR/bBv7UCOmDJ1MB2DVoqz19B4JchDA+K0=
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4 h1:XBNSe5eibe5Fh131ah+xnO6s4A97U1T3tKZKLQQvqu0=
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4/go.mod h1:n7qJAqL9BKqGqiJyjPbWtxpdswTL5wX0IVP2Uw4vVhQ=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
+github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk=
github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA=
@@ -90,10 +99,18 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZ
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/astaxie/beego v1.12.0/go.mod h1:fysx+LZNZKnvh4GED/xND7jWtjCR6HzydR2Hh2Im57o=
+github.com/astaxie/beego v1.12.3 h1:SAQkdD2ePye+v8Gn1r4X6IKZM1wd28EyUOVQ3PDSOOQ=
+github.com/astaxie/beego v1.12.3/go.mod h1:p3qIm0Ryx7zeBHLljmd7omloyca1s4yu1a8kM1FkpIA=
github.com/aws/aws-sdk-go v1.40.11 h1:iIRx5w2FbiaEKnCFcai+NSnYa9zKFe6Lzt6aLLUh61A=
github.com/aws/aws-sdk-go v1.40.11/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q=
+github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ=
+github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU=
github.com/benbjohnson/clock v1.0.0 h1:78Jk/r6m4wCi6sndMpty7A//t4dw/RW5fV4ZgDVfX1w=
github.com/benbjohnson/clock v1.0.0/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
+github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.4 h1:w/jqZtC9YD4DS/Vp9GhWfWcCpuAL58oTnLoI8vE9YHU=
@@ -102,8 +119,10 @@ github.com/bluesky335/IDCheck v0.0.0-20210208025941-aaa5c64e4fa1 h1:a2jYsxP3XUaO
github.com/bluesky335/IDCheck v0.0.0-20210208025941-aaa5c64e4fa1/go.mod h1:PD4Jsv8cyK6DDv/UlGpnr4qmIq1+2ii5xSGgBfO1Sho=
github.com/bndr/gotabulate v1.1.2 h1:yC9izuZEphojb9r+KYL4W9IJKO/ceIO8HDwxMA24U4c=
github.com/bndr/gotabulate v1.1.2/go.mod h1:0+8yUgaPTtLRTjf49E8oju7ojpU11YmXyvq1LbPAb3U=
+github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b h1:L/QXpzIa3pOvUGt1D1lA5KjYhPBAN/3iWdP7xeFS9F0=
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
+github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE=
github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
@@ -118,6 +137,7 @@ github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I=
github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M=
@@ -126,11 +146,17 @@ github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmf
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
+github.com/couchbase/go-couchbase v0.0.0-20181122212707-3e9b6e1258bb/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U=
+github.com/couchbase/go-couchbase v0.0.0-20200519150804-63f3cdb75e0d/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U=
+github.com/couchbase/gomemcached v0.0.0-20181122193126-5125a94a666c/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c=
+github.com/couchbase/gomemcached v0.0.0-20200526233749-ec430f949808/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c=
+github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -146,6 +172,9 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc=
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
+github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
+github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI=
+github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -177,11 +206,16 @@ github.com/gin-gonic/gin v1.3.0/go.mod h1:7cKuhb5qV2ggCFctp2fJQ+ErvciLZrIeoOSOm6
github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY=
github.com/gin-gonic/gin v1.7.4 h1:QmUZXrvJ9qZ3GfWvQ+2wnW/1ePrTEJqPKMYEU3lD/DM=
github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY=
+github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
+github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
@@ -210,6 +244,7 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl
github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPgjj221I1QHci2A=
github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
+github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg=
github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI=
@@ -217,10 +252,14 @@ github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRf
github.com/go-redis/redis/v8 v8.0.0-beta.1/go.mod h1:o1M7JtsgfDYyv3o+gBn/jJ1LkqpnCrmil7PSppZGBak=
github.com/go-redis/redis/v8 v8.8.2 h1:O/NcHqobw7SEptA0yA6up6spZVFtwE06SXM8rgLtsP8=
github.com/go-redis/redis/v8 v8.8.2/go.mod h1:F7resOH5Kdug49Otu24RjHWwgK7u9AmtqWMnCV1iP5Y=
+github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
@@ -258,10 +297,12 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@@ -341,6 +382,7 @@ github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
@@ -377,7 +419,9 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
@@ -385,6 +429,7 @@ github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfE
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
@@ -397,6 +442,7 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGi
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
@@ -406,9 +452,11 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
+github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
@@ -424,8 +472,11 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA=
github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.14.8 h1:gDp86IdQsN/xWjIEmr9MF6o9mpksUgh0fu+9ByFxzIU=
github.com/mattn/go-sqlite3 v1.14.8/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.0.14 h1:9jZdLNd/P4+SfEJ0TNyxYpsK8N4GtfylBLqtbYN1sbA=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4=
@@ -457,6 +508,7 @@ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/mojocn/base64Captcha v1.3.1 h1:2Wbkt8Oc8qjmNJ5GyOfSo4tgVQPsbKMftqASnq8GlT0=
github.com/mojocn/base64Captcha v1.3.1/go.mod h1:wAQCKEc5bDujxKRmbT6/vTnTt5CjStQ8bRfPWUuz/iY=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
@@ -466,6 +518,7 @@ github.com/olivere/elastic/v7 v7.0.27/go.mod h1:WmiAfmAMIdp83YbVjGjyc5S0fGfFsauP
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.15.0 h1:1V1NfVQR87RtWAgp1lv9JZJ5Jap+XFGKPi00andXGi4=
github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg=
@@ -482,12 +535,16 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
+github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
+github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=
github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A=
github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -498,8 +555,19 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
+github.com/prometheus/client_golang v1.7.0/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM=
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s=
@@ -508,6 +576,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
+github.com/rongcloud/server-sdk-go/v3 v3.2.5 h1:mcHL3NakKK6cD4WdTElx9ALYiTaZA5E7psMrqhM3enU=
+github.com/rongcloud/server-sdk-go/v3 v3.2.5/go.mod h1:pPC417NmaOZ1stOSidgb+WJtR2ZyCPEdQyhEpoa9mNE=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -517,8 +587,16 @@ github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
+github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg=
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
+github.com/siddontang/go v0.0.0-20170517070808-cb568a3e5cc0/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
+github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
+github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKzU3qCuvj/tPnimWSsZZzvk9qvkvrIL5naVBPh5s=
+github.com/siddontang/ledisdb v0.0.0-20181029004158-becf5f38d373/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg=
+github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q=
github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
@@ -541,8 +619,10 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44=
github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
+github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE=
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -559,10 +639,13 @@ github.com/swaggo/gin-swagger v1.3.1/go.mod h1:Z6NtRBK2PRig0EUmy1Xu75CnCEs6vGYu9
github.com/swaggo/swag v1.5.1/go.mod h1:1Bl9F/ZBpVWh22nY0zmYyASPO1lI/zIwRDrpZU+tv8Y=
github.com/swaggo/swag v1.7.1 h1:gY9ZakXlNWg/i/v5bQBic7VMZ4teq4m89lpiao74p/s=
github.com/swaggo/swag v1.7.1/go.mod h1:gAiHxNTb9cIpNmA/VEGUP+CyZMCP/EW7mdtc8Bny+p8=
+github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
+github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
github.com/tealeg/xlsx v1.0.5 h1:+f8oFmvY8Gw1iUXzPk+kz+4GpbDZPK1FhPiQRd+ypgE=
github.com/tealeg/xlsx v1.0.5/go.mod h1:btRS8dz54TDnvKNosuAqxrM1QgN1udgk9O34bDCnORM=
+github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go v1.1.13/go.mod h1:jxau1n+/wyTGLQoCkjok9r5zFa/FxT6eI5HiHKQszjc=
github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E=
@@ -576,6 +659,7 @@ github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
+github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
github.com/xdg/scram v1.0.3 h1:nTadYh2Fs4BK2xdldEa2g5bbaZp0/+1nJMMPtPxS/to=
github.com/xdg/scram v1.0.3/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
github.com/xdg/stringprep v1.0.3 h1:cmL5Enob4W83ti/ZHuZLuKD/xqJfus4fVPwE+/BDm+4=
@@ -590,6 +674,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5 h1:dPmz1Snjq0kmkz159iL7S6WzdahUTHnHB5M56WFVifs=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU=
go.etcd.io/etcd/api/v3 v3.5.0 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw=
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU=
@@ -623,7 +708,9 @@ go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -684,6 +771,7 @@ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -695,6 +783,7 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -755,8 +844,10 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cO
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -774,6 +865,7 @@ golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -787,6 +879,7 @@ golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -995,6 +1088,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1014,12 +1108,14 @@ gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/R
gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=