客服系统即时通讯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
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网