客服系统即时通讯IM开发(七)生成唯一身份UUID批量更新旧数据【唯一客服】网站在线客服系统
2023-03-07 09:42:48 时间
最早设计多商户在线客服系统的时候,没有给每一个商家设置一个唯一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
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的