客服系统即时通讯IM开发(七)生成唯一身份UUID批量更新旧数据【唯一客服】网站在线客服系统

最早设计多商户在线客服系统的时候,没有给每一个商家设置一个唯一ID,是拿自增ID代替的。

现在给每个商家单独设计一个唯一UUID,生成好后更新到所有的用户数据里

生成UUID

复制代码
package tools

import (
    "crypto/md5"
    "encoding/hex"
    "github.com/satori/go.uuid"
)

//生成uuid
func Uuid() string {
    u2 := uuid.NewV4()
    return u2.String()
}

//生成uuid,并且md5一下
func Uuid2() string {
    m := md5.New()
    m.Write([]byte(Uuid()))
    res := hex.EncodeToString(m.Sum(nil))
    return res
}
复制代码

执行测试用例给旧数据批量更新UUID

复制代码
func TestUpdateUserUuid(t *testing.T) {
    db := &DBTool{
        Username: "BT_DB_USERNAME",
        Password: "BT_DB_PASSWORD",
        Server:   "127.0.0.1",
        Port:     "3306",
        Database: "BT_DB_NAME",
    }
    res, err := db.QuerySql("select * from user")
    for _, row := range res {
        name := row["name"]
        sql := fmt.Sprintf("update user set uuid = '%s' where name = '%s'", tools.Uuid2(), name)
        db.ExecuteSql(sql)
    }
    log.Println(res, err)
}
复制代码

go test -v lib\import.go lib\import_test.go --run TestUpdateUserUuid

 

posted @   唯一客服系统开发笔记  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-02-01 [Nginx] root和alias指令的区别
2021-02-01 [javascript] 使用javascript实现webrtc视频聊天demo
2019-02-01 [Go] Go的WaitGroup计数信号量
2019-02-01 [Go] 并发和并行的区别
点击右上角即可分享
微信分享提示
1
chat with us