39 Commits

Author SHA1 Message Date
  guzeng f156f65b53 GetUserByToken方法增加返回内容 11 months ago
  guzeng de515839ba Merge branch 'master' of ssh://git.tetele.net:4001/tgo/userrpc 11 months ago
  guzeng e654ef691e 用户属性增加company_id,department_id 11 months ago
  listen e1f97e10b8 xiugai 2 years ago
  listen be47b40376 Merge branch 'master' of https://git.tetele.net/tgo/userrpc 2 years ago
  listen fe17e5ff24 pull 2 years ago
  listen 76415f46c9 first commit 2 years ago
  guzeng b7327ba0ef debug 2 years ago
  listen 92a8a51699 加入更新用户信息接口 2 years ago
  guzeng 9bb0223715 更新pb.go 2 years ago
  listen dee100d277 Merge branch 'master' of https://git.tetele.net/tgo/userrpc 2 years ago
  listen 43c507444f 增加缓存用户信息方法 2 years ago
  guzeng 16de48a135 增加成长值添加参数 2 years ago
  guzeng 35e2c44605 增加积分添加参数 2 years ago
  guzeng 8e7bcf90f9 修改fans调用 2 years ago
  guzeng 95f632eb25 去掉无用方法 2 years ago
  guzeng 27305dd318 去掉favoriteProduct 2 years ago
  guzeng 5bf61dc368 debug 2 years ago
  guzeng 7b6bd0b8a4 debug 2 years ago
  guzeng bd92e877c0 修改方法 2 years ago
  guzeng c47ff3d2ec 增加公共方法 2 years ago
  guzeng 2bf5d2b055 增加参数定义 2 years ago
  guzeng 7bb5070ef4 增加绑定方法 2 years ago
  guzeng 07041e3a0c 增加favoriteProduct方法 2 years ago
  lijianbin ed808316e8 debug 2 years ago
  lijianbin a196dd9e1b debug 2 years ago
  lijianbin 354d17d271 debug 2 years ago
  lijianbin 371829ca29 添加积分、成长值、红包、优惠券等函数实现 2 years ago
  guzeng fdd0b662e2 更新pb.go 2 years ago
  lijianbin f314462c21 定义积分、优惠券、成长值、红包等函数 2 years ago
  guzeng ef2327d159 修复 2 years ago
  guzeng ebb211b42e 修改连接服务参数 2 years ago
  guzeng 813fa8c02f 用户信息增加lock_fans字段 2 years ago
  listen 08f8694e32 增加查询用户积分和红包方法 2 years ago
  guzeng 22c85a2a18 修改pb文件 2 years ago
  listen 8816569a30 merge 2 years ago
  listen 14fd9a69ca pull 2 years ago
  guzeng 7b0b1425b7 增加v2版用户openid查询方法 2 years ago
  guzeng cae5a2e11a 增加v2版获取第三方openid接口 2 years ago
13 changed files with 1409 additions and 41 deletions
Split View
  1. +819
    -0
      account.client.go
  2. +168
    -0
      account.client_test.go
  3. +7
    -0
      common.go
  4. +75
    -0
      fans.client.go
  5. +16
    -0
      fans.client_test.go
  6. +2
    -2
      go.mod
  7. +8
    -6
      go.sum
  8. +56
    -0
      third_v2.client.go
  9. +13
    -0
      third_v2.client_test.go
  10. +73
    -33
      user.client.go
  11. +28
    -0
      user.client_test.go
  12. +120
    -0
      user.pb.go
  13. +24
    -0
      user.proto

+ 819
- 0
account.client.go View File

@ -0,0 +1,819 @@
package userrpc
import (
"encoding/json"
"errors"
"log"
)
type GetAddReq struct {
Req
UserId string
Value string
Memo string
Source string
SourceId string
}
type GetUpdateReq struct {
Req
UserId string
Value string
UsedValue string
}
type GetLogReq struct {
Req
UserId string
Value string
Before string
After string
Source string
SourceId string
OrderSn string
Target string
TargetId string
ProductThumb string
Memo string
}
type GetUpgradeLogReq struct {
Req
UserId string
Upgrade string
Before string
After string
Source string
Memo string
}
type GetCouponReq struct {
Req
UserId string
CouponId string
ExpireTime string
OrderSn string
Remark string
IsUse string
Usertime string
}
/**
* 获取用户积分
*/
func GetUserScore(dbname, userId string, url ...string) (string, error) {
if dbname == "" || userId == "" {
return "", errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return "", err
}
defer conn.Close()
data := GetUserReq{}
data.Dbname = dbname
data.UserId = userId
req, err := SetReqData(data)
if err != nil {
return "", err
}
res := &Response{}
err = conn.GetUserScore(req, res)
if err != nil {
return "", err
}
res_data_de, err := GetResData(res)
if err != nil {
return "", err
}
if res_data_de == "" {
return "", nil
}
var score string
err = json.Unmarshal([]byte(res_data_de), &score)
if err != nil {
return "", err
}
return score, nil
}
/**
* 获取用户红包
*/
func GetUserRedEnvelope(dbname, userId string, url ...string) (string, error) {
if dbname == "" || userId == "" {
return "", errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return "", err
}
defer conn.Close()
data := GetUserReq{}
data.Dbname = dbname
data.UserId = userId
req, err := SetReqData(data)
if err != nil {
return "", err
}
res := &Response{}
err = conn.GetUserRedEnvelope(req, res)
if err != nil {
return "", err
}
res_data_de, err := GetResData(res)
if err != nil {
return "", err
}
if res_data_de == "" {
return "", nil
}
var redEnvelope string
err = json.Unmarshal([]byte(res_data_de), &redEnvelope)
if err != nil {
return "", err
}
return redEnvelope, nil
}
/**
* 添加积分
* @2021/09/30
* @bin
*/
func AddUserScore(dbname, userId, score, memo string, url ...string) (int64, error) {
if dbname == "" || userId == "" || score == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetAddReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = score
data.Memo = memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserScore crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserScore(req, res)
if err != nil {
log.Println("userrpc AddUserScore error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 更新积分记录
* @2021/09/30
* @bin
*/
func UpdateUserScore(dbname, userId, score, used_score string, url ...string) (bool, error) {
if dbname == "" || userId == "" || score == "" {
return false, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return false, err
}
defer conn.Close()
data := GetUpdateReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = score
data.UsedValue = used_score
req, err := SetReqData(data)
if err != nil {
log.Println("UpdateUserScore crypter error:", err)
return false, err
}
res := &Response{}
err = conn.UpdateUserScore(req, res)
if err != nil {
log.Println("userrpc UpdateUserScore error:", err)
return false, err
}
res_data_de, err := GetResData(res)
if err != nil {
return false, err
}
if res_data_de == "" {
return false, nil
}
var updateres bool
err = json.Unmarshal([]byte(res_data_de), &updateres)
if err != nil {
return false, err
}
return updateres, nil
}
/**
* 增加积分日志
* @2021/09/30
* @bin
*/
func AddUserScoreLog(dbname, UserId, Score, Before, After, Source, SourceId, OrderSn, Target, TargetId, ProductThumb, Memo string, url ...string) (int64, error) {
if dbname == "" || UserId == "" || Score == "" || After == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetLogReq{}
data.Dbname = dbname
data.UserId = UserId
data.Value = Score
data.Before = Before
data.After = After
data.Source = Source
data.SourceId = SourceId
data.OrderSn = OrderSn
data.Target = Target
data.TargetId = TargetId
data.ProductThumb = ProductThumb
data.Memo = Memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserScoreLog crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserScoreLog(req, res)
if err != nil {
log.Println("userrpc AddUserScoreLog error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 添加成长值
* @2021/09/30
* @bin
*/
func AddUserUpgrade(dbname, userId, upgrade, memo string, url ...string) (int64, error) {
if dbname == "" || userId == "" || upgrade == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetAddReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = upgrade
data.Memo = memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserUpgrade crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserUpgrade(req, res)
if err != nil {
log.Println("userrpc AddUserUpgrade error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 更新成长值记录
* @2021/09/30
* @bin
*/
func UpdateUserUpgrade(dbname, userId, upgrade string, url ...string) (bool, error) {
if dbname == "" || userId == "" || upgrade == "" {
return false, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return false, err
}
defer conn.Close()
data := GetAddReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = upgrade
req, err := SetReqData(data)
if err != nil {
log.Println("UpdateUserUpgrade crypter error:", err)
return false, err
}
res := &Response{}
err = conn.UpdateUserUpgrade(req, res)
if err != nil {
log.Println("userrpc UpdateUserUpgrade error:", err)
return false, err
}
res_data_de, err := GetResData(res)
if err != nil {
return false, err
}
if res_data_de == "" {
return false, nil
}
var updateres bool
err = json.Unmarshal([]byte(res_data_de), &updateres)
if err != nil {
return false, err
}
return updateres, nil
}
/**
* 增加成长值日志
* @2021/09/30
* @bin
*/
func AddUserUpgradeLog(dbname, UserId, Upgrade, Before, After, Source, Memo string, url ...string) (int64, error) {
if dbname == "" || UserId == "" || Upgrade == "" || After == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetUpgradeLogReq{}
data.Dbname = dbname
data.UserId = UserId
data.Upgrade = Upgrade
data.Before = Before
data.After = After
data.Source = Source
data.Memo = Memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserUpgradeLog crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserUpgradeLog(req, res)
if err != nil {
log.Println("userrpc AddUserUpgradeLog error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 添加红包
* @2021/09/30
* @bin
*/
func AddUserRedEnvelope(dbname, userId, money, memo string, url ...string) (int64, error) {
if dbname == "" || userId == "" || money == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetAddReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = money
data.Memo = memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserRedEnvelope crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserRedEnvelope(req, res)
if err != nil {
log.Println("userrpc AddUserRedEnvelope error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 更新红包记录
* @2021/09/30
* @bin
*/
func UpdateUserRedEnvelope(dbname, userId, money, used_money string, url ...string) (bool, error) {
if dbname == "" || userId == "" || money == "" {
return false, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return false, err
}
defer conn.Close()
data := GetUpdateReq{}
data.Dbname = dbname
data.UserId = userId
data.Value = money
data.UsedValue = used_money
req, err := SetReqData(data)
if err != nil {
log.Println("UpdateUserRedEnvelope crypter error:", err)
return false, err
}
res := &Response{}
err = conn.UpdateUserRedEnvelope(req, res)
if err != nil {
log.Println("userrpc UpdateUserRedEnvelope error:", err)
return false, err
}
res_data_de, err := GetResData(res)
if err != nil {
return false, err
}
if res_data_de == "" {
return false, nil
}
var updateres bool
err = json.Unmarshal([]byte(res_data_de), &updateres)
if err != nil {
return false, err
}
return updateres, nil
}
/**
* 增加红包日志
* @2021/09/30
* @bin
*/
func AddUserRedEnvelopeLog(dbname, UserId, Money, Before, After, Source, SourceId, OrderSn, Target, TargetId, Memo string, url ...string) (int64, error) {
if dbname == "" || UserId == "" || Money == "" || After == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetLogReq{}
data.Dbname = dbname
data.UserId = UserId
data.Value = Money
data.Before = Before
data.After = After
data.Source = Source
data.SourceId = SourceId
data.OrderSn = OrderSn
data.Target = Target
data.TargetId = TargetId
data.Memo = Memo
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserRedEnvelopeLog crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserRedEnvelopeLog(req, res)
if err != nil {
log.Println("userrpc AddUserRedEnvelopeLog error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 添加优惠券
* @2021/09/30
* @bin
*/
func AddUserCoupon(dbname, userId, couponId, expireTime, orderSn, remark string, url ...string) (int64, error) {
if dbname == "" || userId == "" || couponId == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
data := GetCouponReq{}
data.Dbname = dbname
data.UserId = userId
data.CouponId = couponId
data.ExpireTime = expireTime
data.OrderSn = orderSn
data.Remark = remark
req, err := SetReqData(data)
if err != nil {
log.Println("AddUserCoupon crypter error:", err)
return 0, err
}
res := &Response{}
err = conn.AddUserCoupon(req, res)
if err != nil {
log.Println("userrpc AddUserCoupon error:", err)
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, nil
}
var insertId int64
err = json.Unmarshal([]byte(res_data_de), &insertId)
if err != nil {
return 0, err
}
return insertId, nil
}
/**
* 更新优惠券记录
* @2021/09/30
* @bin
*/
func UpdateUserCoupon(dbname, userId, couponId, remark, orderSn, isUse, usetime string, url ...string) (bool, error) {
if dbname == "" || userId == "" || couponId == "" {
return false, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return false, err
}
defer conn.Close()
data := GetCouponReq{}
data.Dbname = dbname
data.UserId = userId
data.CouponId = couponId
data.Remark = remark
data.OrderSn = orderSn
data.IsUse = isUse
data.Usertime = usetime
req, err := SetReqData(data)
if err != nil {
log.Println("UpdateUserCoupon crypter error:", err)
return false, err
}
res := &Response{}
err = conn.UpdateUserCoupon(req, res)
if err != nil {
log.Println("userrpc UpdateUserCoupon error:", err)
return false, err
}
res_data_de, err := GetResData(res)
if err != nil {
return false, err
}
if res_data_de == "" {
return false, nil
}
var updateres bool
err = json.Unmarshal([]byte(res_data_de), &updateres)
if err != nil {
return false, err
}
return updateres, nil
}

+ 168
- 0
account.client_test.go View File

@ -0,0 +1,168 @@
package userrpc
import (
"strconv"
"testing"
"time"
)
func Test_GetUserScore(t *testing.T) {
dbname := "shop_v2_org"
id := "2"
ret, err := GetUserScore(dbname, id)
t.Log(ret)
t.Log(err)
}
func Test_GetUserRedEnvelope(t *testing.T) {
dbname := "shop_v2_org"
id := "2"
ret, err := GetUserRedEnvelope(dbname, id)
t.Log(ret)
t.Log(err)
}
func Test_AddUserScore(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
score := "20"
ret, err := AddUserScore(dbname, userid, score,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserScore(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
score := "400"
used_score := "300"
ret, err := UpdateUserScore(dbname, userid, score, used_score)
t.Log(ret)
t.Log(err)
}
func Test_AddUserScoreLog(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
score := "100"
before := "500"
after := "400"
Source := "task"
SourceId := ""
OrderSn := ""
Target := ""
TargetId := ""
ProductThumb := ""
Memo := ""
ret, err := AddUserScoreLog(dbname, userid, score, before, after, Source, SourceId, OrderSn, Target, TargetId, ProductThumb, Memo)
t.Log(ret)
t.Log(err)
}
func Test_AddUserUpgrade(t *testing.T) {
dbname := "shop_v2_org"
userid := "5"
upgrade := "100"
ret, err := AddUserUpgrade(dbname, userid, upgrade,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserUpgrade(t *testing.T) {
dbname := "shop_v2_org"
userid := "5"
upgrade := "100"
ret, err := UpdateUserUpgrade(dbname, userid, upgrade)
t.Log(ret)
t.Log(err)
}
func Test_AddUserUpgradeLog(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
upgrade := "20"
before := "11"
after := "31"
Source := "task"
Memo := ""
ret, err := AddUserUpgradeLog(dbname, userid, upgrade, before, after, Source, Memo)
t.Log(ret)
t.Log(err)
}
func Test_AddUserRedEnvelope(t *testing.T) {
dbname := "shop_v2_org"
userid := "5"
money := "20"
ret, err := AddUserRedEnvelope(dbname, userid, money,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserRedEnvelope(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
money := "40"
used_money := "1"
ret, err := UpdateUserRedEnvelope(dbname, userid, money, used_money)
t.Log(ret)
t.Log(err)
}
func Test_AddUserRedEnvelopeLog(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
money := "-1"
before := "41"
after := "40"
Source := "task"
SourceId := ""
OrderSn := "216304042479173922"
Target := ""
TargetId := ""
ProductThumb := ""
Memo := ""
ret, err := AddUserRedEnvelopeLog(dbname, userid, money, before, after, Source, SourceId, OrderSn, Target, TargetId, ProductThumb, Memo)
t.Log(ret)
t.Log(err)
}
func Test_AddUserCoupon(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
couponId := "6"
expired_time := "1634684122"
order_sn := ""
remark := "商品券"
ret, err := AddUserCoupon(dbname, userid, couponId, expired_time,order_sn,remark)
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserCoupon(t *testing.T) {
dbname := "shop_v2_org"
userid := "2"
couponId := "6"
remark := "下单使用优惠券"
orderSn := "12345678910"
isUse := "1"
usetime := strconv.Itoa(int(time.Now().Unix()))
ret, err := UpdateUserCoupon(dbname, userid, couponId, remark, orderSn, isUse,usetime)
t.Log(ret)
t.Log(err)
}

+ 7
- 0
common.go View File

@ -63,6 +63,13 @@ type Business struct {
IsOpen string
}
type FansReq struct {
Req
UserId string
BusinessId string
Lock bool
}
func rpc_server_conn(url ...string) (*UserServiceClient, error) {
var rpc_url string


+ 75
- 0
fans.client.go View File

@ -0,0 +1,75 @@
package userrpc
/**
* 绑定粉丝
* 2021/10/23
* gz
*/
func Fans(site_id, dbname, user_id, business_id string, url ...string) error {
conn, err := rpc_server_conn(url...)
if err != nil {
return err
}
defer conn.Close()
data := FansReq{}
data.SiteId = site_id
data.Dbname = dbname
data.UserId = user_id
data.BusinessId = business_id
data.Lock = false
req, err := SetReqData(data)
if err != nil {
return err
}
res := &Response{}
err = conn.Fans(req, res)
if err != nil {
return err
}
_, err = GetResData(res)
return nil
}
/**
* 绑定粉丝
* 2021/10/23
* gz
*/
func LockFans(site_id, dbname, user_id, business_id string, url ...string) error {
conn, err := rpc_server_conn(url...)
if err != nil {
return err
}
defer conn.Close()
data := FansReq{}
data.SiteId = site_id
data.Dbname = dbname
data.UserId = user_id
data.BusinessId = business_id
data.Lock = true
req, err := SetReqData(data)
if err != nil {
return err
}
res := &Response{}
err = conn.Fans(req, res)
if err != nil {
return err
}
_, err = GetResData(res)
return nil
}

+ 16
- 0
fans.client_test.go View File

@ -0,0 +1,16 @@
package userrpc
import (
"testing"
)
func Test_Fans(t *testing.T) {
dbname := "shop_v2"
user_id := "6"
business_id := "5"
err := LockFans("", dbname, user_id, business_id)
t.Log(err)
}

+ 2
- 2
go.mod View File

@ -3,9 +3,9 @@ module git.tetele.net/tgo/userrpc
go 1.14
require (
git.tetele.net/tgo/conf v0.33.1
git.tetele.net/tgo/conf v0.46.0
git.tetele.net/tgo/crypter v0.2.2
github.com/chai2010/protorpc v1.0.0
github.com/chai2010/protorpc v1.1.3
github.com/golang/protobuf v1.0.0
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect


+ 8
- 6
go.sum View File

@ -1,13 +1,15 @@
git.tetele.net/tgo/conf v0.33.1 h1:ZEIv3Vq35RCv5f3T3Uz97s2mkZLl7W5OlmXvzI3/sS8=
git.tetele.net/tgo/conf v0.33.1/go.mod h1:AWVIBEDE5dtotthUgR0SWaR2Qa6/f+O5WQ3s7Tj8q7A=
git.tetele.net/tgo/conf v0.46.0/go.mod h1:AWVIBEDE5dtotthUgR0SWaR2Qa6/f+O5WQ3s7Tj8q7A=
git.tetele.net/tgo/crypter v0.2.2 h1:YMQJh2Gj5Po4ZfelJUmXBKi01UbmtiSy3bmqRfnYQMo=
git.tetele.net/tgo/crypter v0.2.2/go.mod h1:vfvRLZA8+lHNgNXneOcgvVhDyuv25ZRb+C6xHOmXNx0=
github.com/chai2010/protorpc v1.0.0 h1:aJ45G9sl1utSKo35EqnBSTs5jqTpdJDJAuZMMYPAtFo=
github.com/chai2010/protorpc v1.0.0/go.mod h1:woR3WwjaQDqFjlzdVsFEKiK5Ur12QL8mYxVPjfr5z54=
git.tetele.net/yueheng/conf v0.33.1 h1:ZEIv3Vq35RCv5f3T3Uz97s2mkZLl7W5OlmXvzI3/sS8=
git.tetele.net/yueheng/conf v0.33.1/go.mod h1:AWVIBEDE5dtotthUgR0SWaR2Qa6/f+O5WQ3s7Tj8q7A=
git.tetele.net/yueheng/conf v1.2.6/go.mod h1:qRujMTqjMByvdC05qdfscZMFRKM5XA1qbtz4rnFyStY=
github.com/chai2010/protorpc v1.1.3 h1:VJK5hIoZn0XCGol0GmbxZkUG6FbTI5LP2Lam6RVd15w=
github.com/chai2010/protorpc v1.1.3/go.mod h1:/wO0kiyVdu7ug8dCMrA2yDr2vLfyhsLEuzLa9J2HJ+I=
github.com/golang/protobuf v1.0.0 h1:lsek0oXi8iFE9L+EXARyHIjU5rlWIhhTkjDz3vHhWWQ=
github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/snappy v0.0.0-20170215233205-553a64147049 h1:K9KHZbXKpGydfDN0aZrsoHpLJlZsBrGMFWbgLDGnPZk=
github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=


+ 56
- 0
third_v2.client.go View File

@ -0,0 +1,56 @@
package userrpc
import (
"encoding/json"
)
/**
* 查找第三方平台openid V2版
* 2021/09/07
* gz
*/
func GetUserThird(site_id, dbname, platform, user_id, field string, url ...string) (map[string]string, error) {
conn, err := rpc_server_conn(url...)
if err != nil {
return nil, err
}
defer conn.Close()
data := map[string]string{
"site_id": site_id,
"dbname": dbname,
"user_id": user_id,
"platform": platform,
"field": field,
}
req, err := SetReqData(data)
if err != nil {
return nil, err
}
res := &Response{}
err = conn.GetUserThird(req, res)
if err != nil {
return nil, err
}
res_data_de, err := GetResData(res)
if err != nil {
return nil, err
}
if res_data_de == "" {
return nil, nil
}
var res_arr map[string]string
err = json.Unmarshal([]byte(res_data_de), &res_arr)
if err != nil {
return nil, err
}
return res_arr, nil
}

+ 13
- 0
third_v2.client_test.go View File

@ -0,0 +1,13 @@
package userrpc
import (
"testing"
)
func Test_GetUserThird(t *testing.T) {
org, err := GetUserThird("1", "shop_v2", "miniapp", "2", "id,openid")
t.Log(org)
t.Log(err)
}

+ 73
- 33
user.client.go View File

@ -12,14 +12,11 @@ import (
func GetUserByToken(dbname, token string, url ...string) (map[string]string, error) {
var user_rpc_url string = "127.0.0.1:7976"
if len(url) > 0 && url[0] != "" {
user_rpc_url = url[0]
}
conn, _, err := DialUserService("tcp", user_rpc_url)
conn, err := rpc_server_conn(url...)
if err != nil {
return map[string]string{}, err
}
defer conn.Close()
req := &UserRequest{proto.String(dbname), proto.String(token), nil}
@ -34,19 +31,24 @@ func GetUserByToken(dbname, token string, url ...string) (map[string]string, err
if res.GetUserId() != "" {
return map[string]string{
"UserId": res.GetUserId(),
"Username": res.GetUsername(),
"Nickname": res.GetNickname(),
"Mobile": res.GetMobile(),
"Email": res.GetEmail(),
"Status": res.GetStatus(),
"BusinessId": res.GetBusinessId(),
"StoreId": res.GetStoreId(),
"FansTo": res.GetFansTo(),
"IsVip": res.GetIsVip(),
"Usercode": res.GetUsercode(),
"GroupId": res.GetGroupId(),
"Type": res.GetType(),
"UserId": res.GetUserId(),
"Username": res.GetUsername(),
"Nickname": res.GetNickname(),
"Mobile": res.GetMobile(),
"Email": res.GetEmail(),
"Status": res.GetStatus(),
"BusinessId": res.GetBusinessId(),
"StoreId": res.GetStoreId(),
"FansTo": res.GetFansTo(),
"IsVip": res.GetIsVip(),
"Usercode": res.GetUsercode(),
"GroupId": res.GetGroupId(),
"Type": res.GetType(),
"ThirdId": res.GetThirdId(),
"Platform": res.GetPlatform(),
"LockFans": res.GetLockFans(),
"CompanyId": res.GetCompanyId(),
"DepartmentId": res.GetDepartmentId(),
}, nil
}
@ -58,12 +60,8 @@ func GetUserByToken(dbname, token string, url ...string) (map[string]string, err
*/
func GetUserByUsername(dbname, username string, url ...string) (*UserResponse, error) {
var user_rpc_url string = "127.0.0.1:7976"
if len(url) > 0 && url[0] != "" {
user_rpc_url = url[0]
}
conn, err := rpc_server_conn(url...)
conn, _, err := DialUserService("tcp", user_rpc_url)
if err != nil {
return nil, err
}
@ -87,12 +85,8 @@ func GetUserByUsername(dbname, username string, url ...string) (*UserResponse, e
*/
func GetUserByUsercode(dbname, usercode string, url ...string) (*UserResponse, error) {
var user_rpc_url string = "127.0.0.1:7976"
if len(url) > 0 && url[0] != "" {
user_rpc_url = url[0]
}
conn, err := rpc_server_conn(url...)
conn, _, err := DialUserService("tcp", user_rpc_url)
if err != nil {
return nil, err
}
@ -113,12 +107,10 @@ func GetUserByUsercode(dbname, usercode string, url ...string) (*UserResponse, e
func Login(dbname, account, password string, url ...string) (map[string]string, error) {
var user_rpc_url string = "127.0.0.1:7976"
if len(url) > 0 && url[0] != "" {
user_rpc_url = url[0]
conn, err := rpc_server_conn(url...)
if err != nil {
return map[string]string{}, err
}
conn, _, err := DialUserService("tcp", user_rpc_url)
if err != nil {
return map[string]string{}, err
}
@ -203,3 +195,51 @@ func GetById(site_id, dbname, user_id string, url ...string) (map[string]string,
return HandleUserRes(res)
}
/**
* 更新用户缓存
* 2021/11/23
* linsen
*/
func UpdateUserCache(site_id, dbname, user_id string, url ...string) (map[string]string, error) {
conn, err := rpc_server_conn(url...)
if err != nil {
return nil, err
}
defer conn.Close()
data := GetUserReq{}
data.SiteId = site_id
data.Dbname = dbname
data.UserId = user_id
data_json, err := json.Marshal(data)
if err != nil {
return nil, err
}
encryData := crypter.DesEn(string(data_json), DES_KEY)
now_int64 := time.Now().Unix()
now := strconv.FormatInt(now_int64, 10)
sign := Sign(encryData, now)
req := &Request{
proto.String(encryData),
proto.String(now),
proto.String(sign),
nil}
res := &Response{}
err = conn.UpdateUserCache(req, res)
if err != nil {
return nil, err
}
return HandleUserRes(res)
}

+ 28
- 0
user.client_test.go View File

@ -33,3 +33,31 @@ func Test_GetUserByToken(t *testing.T) {
// t.Log(err)
// }
func Test_UpdateUserCache(t *testing.T){
dbname := "shop"
siteId := "1198881"
res,err := UpdateUserCache(siteId,dbname,"6")
if err != nil {
t.Error(err.Error())
}
t.Log(res)
}
func Test_GetById(t *testing.T){
dbname := "shop"
siteId := "1198881"
res,err := GetById(siteId,dbname,"6")
if err != nil {
t.Error(err.Error())
}
t.Log(res)
}

+ 120
- 0
user.pb.go View File

@ -150,6 +150,11 @@ type UserResponse struct {
Usercode *string `protobuf:"bytes,11,opt,name=usercode" json:"usercode,omitempty"`
GroupId *string `protobuf:"bytes,12,opt,name=group_id" json:"group_id,omitempty"`
Type *string `protobuf:"bytes,13,opt,name=type" json:"type,omitempty"`
ThirdId *string `protobuf:"bytes,14,opt,name=third_id" json:"third_id,omitempty"`
Platform *string `protobuf:"bytes,15,opt,name=platform" json:"platform,omitempty"`
LockFans *string `protobuf:"bytes,16,opt,name=lock_fans" json:"lock_fans,omitempty"`
CompanyId *string `protobuf:"bytes,17,opt,name=company_id" json:"company_id,omitempty"`
DepartmentId *string `protobuf:"bytes,18,opt,name=department_id" json:"department_id,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
@ -248,6 +253,41 @@ func (m *UserResponse) GetType() string {
return ""
}
func (m *UserResponse) GetThirdId() string {
if m != nil && m.ThirdId != nil {
return *m.ThirdId
}
return ""
}
func (m *UserResponse) GetPlatform() string {
if m != nil && m.Platform != nil {
return *m.Platform
}
return ""
}
func (m *UserResponse) GetLockFans() string {
if m != nil && m.LockFans != nil {
return *m.LockFans
}
return ""
}
func (m *UserResponse) GetCompanyId() string {
if m != nil && m.CompanyId != nil {
return *m.CompanyId
}
return ""
}
func (m *UserResponse) GetDepartmentId() string {
if m != nil && m.DepartmentId != nil {
return *m.DepartmentId
}
return ""
}
// 用户登录请求结构
type LoginRequest struct {
Dbname *string `protobuf:"bytes,1,opt,name=dbname" json:"dbname,omitempty"`
@ -297,6 +337,8 @@ type LoginResponse struct {
Usercode *string `protobuf:"bytes,12,opt,name=usercode" json:"usercode,omitempty"`
GroupId *string `protobuf:"bytes,13,opt,name=group_id" json:"group_id,omitempty"`
Type *string `protobuf:"bytes,14,opt,name=type" json:"type,omitempty"`
ThirdId *string `protobuf:"bytes,15,opt,name=third_id" json:"third_id,omitempty"`
Platform *string `protobuf:"bytes,16,opt,name=platform" json:"platform,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
@ -402,6 +444,20 @@ func (m *LoginResponse) GetType() string {
return ""
}
func (m *LoginResponse) GetThirdId() string {
if m != nil && m.ThirdId != nil {
return *m.ThirdId
}
return ""
}
func (m *LoginResponse) GetPlatform() string {
if m != nil && m.Platform != nil {
return *m.Platform
}
return ""
}
// 信息请求结构
type Request struct {
Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
@ -478,10 +534,26 @@ type UserService interface {
GetByUsercode(in *UserInfoByUsercode, out *UserResponse) error
BindThird(in *Request, out *Response) error
GetThird(in *Request, out *Response) error
GetUserThird(in *Request, out *Response) error
GetBusiness(in *Request, out *Response) error
GetById(in *Request, out *Response) error
UpdateUserCache(in *Request, out *Response) error
GetBusinessInfo(in *Request, out *Response) error
GetAddressInfo(in *Request, out *Response) error
GetUserScore(in *Request, out *Response) error
GetUserRedEnvelope(in *Request, out *Response) error
AddUserScore(in *Request, out *Response) error
UpdateUserScore(in *Request, out *Response) error
AddUserScoreLog(in *Request, out *Response) error
AddUserUpgrade(in *Request, out *Response) error
UpdateUserUpgrade(in *Request, out *Response) error
AddUserUpgradeLog(in *Request, out *Response) error
AddUserRedEnvelope(in *Request, out *Response) error
UpdateUserRedEnvelope(in *Request, out *Response) error
AddUserRedEnvelopeLog(in *Request, out *Response) error
AddUserCoupon(in *Request, out *Response) error
UpdateUserCoupon(in *Request, out *Response) error
Fans(in *Request, out *Response) error
}
// AcceptUserServiceClient accepts connections on the listener and serves requests
@ -571,18 +643,66 @@ func (c *UserServiceClient) BindThird(in *Request, out *Response) error {
func (c *UserServiceClient) GetThird(in *Request, out *Response) error {
return c.Call("UserService.GetThird", in, out)
}
func (c *UserServiceClient) GetUserThird(in *Request, out *Response) error {
return c.Call("UserService.GetUserThird", in, out)
}
func (c *UserServiceClient) GetBusiness(in *Request, out *Response) error {
return c.Call("UserService.GetBusiness", in, out)
}
func (c *UserServiceClient) GetById(in *Request, out *Response) error {
return c.Call("UserService.GetById", in, out)
}
func (c *UserServiceClient) UpdateUserCache(in *Request, out *Response) error {
return c.Call("UserService.UpdateUserCache", in, out)
}
func (c *UserServiceClient) GetBusinessInfo(in *Request, out *Response) error {
return c.Call("UserService.GetBusinessInfo", in, out)
}
func (c *UserServiceClient) GetAddressInfo(in *Request, out *Response) error {
return c.Call("UserService.GetAddressInfo", in, out)
}
func (c *UserServiceClient) GetUserScore(in *Request, out *Response) error {
return c.Call("UserService.GetUserScore", in, out)
}
func (c *UserServiceClient) GetUserRedEnvelope(in *Request, out *Response) error {
return c.Call("UserService.GetUserRedEnvelope", in, out)
}
func (c *UserServiceClient) AddUserScore(in *Request, out *Response) error {
return c.Call("UserService.AddUserScore", in, out)
}
func (c *UserServiceClient) UpdateUserScore(in *Request, out *Response) error {
return c.Call("UserService.UpdateUserScore", in, out)
}
func (c *UserServiceClient) AddUserScoreLog(in *Request, out *Response) error {
return c.Call("UserService.AddUserScoreLog", in, out)
}
func (c *UserServiceClient) AddUserUpgrade(in *Request, out *Response) error {
return c.Call("UserService.AddUserUpgrade", in, out)
}
func (c *UserServiceClient) UpdateUserUpgrade(in *Request, out *Response) error {
return c.Call("UserService.UpdateUserUpgrade", in, out)
}
func (c *UserServiceClient) AddUserUpgradeLog(in *Request, out *Response) error {
return c.Call("UserService.AddUserUpgradeLog", in, out)
}
func (c *UserServiceClient) AddUserRedEnvelope(in *Request, out *Response) error {
return c.Call("UserService.AddUserRedEnvelope", in, out)
}
func (c *UserServiceClient) UpdateUserRedEnvelope(in *Request, out *Response) error {
return c.Call("UserService.UpdateUserRedEnvelope", in, out)
}
func (c *UserServiceClient) AddUserRedEnvelopeLog(in *Request, out *Response) error {
return c.Call("UserService.AddUserRedEnvelopeLog", in, out)
}
func (c *UserServiceClient) AddUserCoupon(in *Request, out *Response) error {
return c.Call("UserService.AddUserCoupon", in, out)
}
func (c *UserServiceClient) UpdateUserCoupon(in *Request, out *Response) error {
return c.Call("UserService.UpdateUserCoupon", in, out)
}
func (c *UserServiceClient) Fans(in *Request, out *Response) error {
return c.Call("UserService.Fans", in, out)
}
// DialUserService connects to an UserService at the specified network address.
func DialUserService(network, addr string) (*UserServiceClient, *rpc.Client, error) {


+ 24
- 0
user.proto View File

@ -37,6 +37,11 @@ message UserResponse {
string usercode = 11;//
string group_id = 12;//ID
string type = 13;//
string third_id = 14; //token对应的third_id
string platform = 15; //
string lock_fans = 16; //
string company_id = 17;
string department_id =18;
}
//
@ -63,6 +68,8 @@ message LoginResponse {
string usercode = 12;//
string group_id = 13;//ID
string type = 14;//
string third_id = 15; //token对应的third_id
string platform = 16; //
}
@ -88,8 +95,25 @@ service UserService {
rpc getByUsercode (UserInfoByUsercode) returns (UserResponse); // 使usercode查询用户
rpc bindThird (Request) returns (Response); //
rpc getThird(Request) returns (Response); //
rpc getUserThird(Request) returns (Response); // v2
rpc getBusiness(Request) returns (Response); //
rpc getById(Request) returns (Response); //
rpc updateUserCache(Request) returns (Response); //
rpc getBusinessInfo(Request) returns (Response); //
rpc getAddressInfo(Request) returns (Response); //
rpc getUserScore(Request) returns (Response); //
rpc getUserRedEnvelope(Request) returns (Response); //
rpc addUserScore(Request) returns (Response); //
rpc updateUserScore(Request) returns (Response); //
rpc addUserScoreLog(Request) returns (Response); //
rpc addUserUpgrade(Request) returns (Response); //
rpc updateUserUpgrade(Request) returns (Response); //
rpc addUserUpgradeLog(Request) returns (Response); //
rpc addUserRedEnvelope(Request) returns (Response); //
rpc updateUserRedEnvelope(Request) returns (Response); //
rpc addUserRedEnvelopeLog(Request) returns (Response); //
rpc addUserCoupon(Request) returns (Response); //
rpc updateUserCoupon(Request) returns (Response); //
//rpc favoriteProduct(Request) returns (Response); //
rpc Fans(Request) returns (Response); //
}

Loading…
Cancel
Save