26 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
11 changed files with 887 additions and 670 deletions
Split View
  1. +568
    -564
      account.client.go
  2. +48
    -42
      account.client_test.go
  3. +52
    -45
      common.go
  4. +75
    -0
      fans.client.go
  5. +16
    -0
      fans.client_test.go
  6. +1
    -1
      go.mod
  7. +4
    -2
      go.sum
  8. +66
    -16
      user.client.go
  9. +28
    -0
      user.client_test.go
  10. +24
    -0
      user.pb.go
  11. +5
    -0
      user.proto

+ 568
- 564
account.client.go
File diff suppressed because it is too large
View File


+ 48
- 42
account.client_test.go View File

@ -1,12 +1,14 @@
package userrpc
import (
"strconv"
"testing"
"time"
)
func Test_GetUserScore(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
id := "2"
ret, err := GetUserScore(dbname, id)
@ -16,7 +18,7 @@ func Test_GetUserScore(t *testing.T) {
func Test_GetUserRedEnvelope(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
id := "2"
ret, err := GetUserRedEnvelope(dbname, id)
@ -25,20 +27,20 @@ func Test_GetUserRedEnvelope(t *testing.T) {
}
func Test_AddUserScore(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
score := "20"
ret, err := AddUserScore(dbname, userid, score)
ret, err := AddUserScore(dbname, userid, score,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserScore(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
score := "20"
used_score := "10"
score := "400"
used_score := "300"
ret, err := UpdateUserScore(dbname, userid, score, used_score)
t.Log(ret)
@ -46,11 +48,11 @@ func Test_UpdateUserScore(t *testing.T) {
}
func Test_AddUserScoreLog(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
score := "20"
before := "10"
after := "30"
score := "100"
before := "500"
after := "400"
Source := "task"
SourceId := ""
OrderSn := ""
@ -65,19 +67,19 @@ func Test_AddUserScoreLog(t *testing.T) {
}
func Test_AddUserUpgrade(t *testing.T) {
dbname := "shop_v2"
userid := "2"
upgrade := "20"
dbname := "shop_v2_org"
userid := "5"
upgrade := "100"
ret, err := AddUserUpgrade(dbname, userid, upgrade)
ret, err := AddUserUpgrade(dbname, userid, upgrade,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserUpgrade(t *testing.T) {
dbname := "shop_v2"
userid := "2"
upgrade := "20"
dbname := "shop_v2_org"
userid := "5"
upgrade := "100"
ret, err := UpdateUserUpgrade(dbname, userid, upgrade)
t.Log(ret)
@ -85,11 +87,11 @@ func Test_UpdateUserUpgrade(t *testing.T) {
}
func Test_AddUserUpgradeLog(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
upgrade := "20"
before := "10"
after := "30"
before := "11"
after := "31"
Source := "task"
Memo := ""
@ -99,34 +101,35 @@ func Test_AddUserUpgradeLog(t *testing.T) {
}
func Test_AddUserRedEnvelope(t *testing.T) {
dbname := "shop_v2"
userid := "2"
dbname := "shop_v2_org"
userid := "5"
money := "20"
ret, err := AddUserRedEnvelope(dbname, userid, money)
ret, err := AddUserRedEnvelope(dbname, userid, money,"")
t.Log(ret)
t.Log(err)
}
func Test_UpdateUserRedEnvelope(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
money := "20"
money := "40"
used_money := "1"
ret, err := UpdateUserRedEnvelope(dbname, userid, money)
ret, err := UpdateUserRedEnvelope(dbname, userid, money, used_money)
t.Log(ret)
t.Log(err)
}
func Test_AddUserRedEnvelopeLog(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
money := "20"
before := "10"
after := "30"
money := "-1"
before := "41"
after := "40"
Source := "task"
SourceId := ""
OrderSn := ""
OrderSn := "216304042479173922"
Target := ""
TargetId := ""
ProductThumb := ""
@ -138,25 +141,28 @@ func Test_AddUserRedEnvelopeLog(t *testing.T) {
}
func Test_AddUserCoupon(t *testing.T) {
dbname := "shop_v2"
dbname := "shop_v2_org"
userid := "2"
couponId := "20"
expired_time := ""
couponId := "6"
expired_time := "1634684122"
order_sn := ""
remark := "商品券"
ret, err := AddUserCoupon(dbname, userid, couponId, expired_time)
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"
dbname := "shop_v2_org"
userid := "2"
couponId := "20"
remark := ""
orderSn := ""
isUse := ""
couponId := "6"
remark := "下单使用优惠券"
orderSn := "12345678910"
isUse := "1"
usetime := strconv.Itoa(int(time.Now().Unix()))
ret, err := UpdateUserCoupon(dbname, userid, couponId, remark, orderSn, isUse)
ret, err := UpdateUserCoupon(dbname, userid, couponId, remark, orderSn, isUse,usetime)
t.Log(ret)
t.Log(err)
}

+ 52
- 45
common.go View File

@ -1,83 +1,90 @@
package userrpc
import (
"git.tetele.net/tgo/conf"
"git.tetele.net/tgo/conf"
)
const DES_KEY = "usersrpc"
type Req struct {
SiteId string
Dbname string
SiteId string
Dbname string
}
type Third struct {
Userid string
Platform string
Openid string
Openname string
Unionid string
Avatar string
Mobile string
Userid string
Platform string
Openid string
Openname string
Unionid string
Avatar string
Mobile string
}
type BindThirdReq struct {
Req
Third
Req
Third
}
type GetThirdReq struct {
Req
Userid string
Platform string
Req
Userid string
Platform string
}
type GetBusinessReq struct {
Req
BusinessId string
Req
BusinessId string
}
type GetUserReq struct {
Req
UserId string
Req
UserId string
}
type GetAddressReq struct {
Req
AddressId string
Req
AddressId string
}
type Res struct {
Errcode int
Errmsg string
Errcode int
Errmsg string
}
type Business struct {
Type string
BusinessId string
CustomerId string
Name string
CompanyId string
Contact string
Mobile string
HandingFee string
IsOpen string
Type string
BusinessId string
CustomerId string
Name string
CompanyId string
Contact string
Mobile string
HandingFee string
IsOpen string
}
type FansReq struct {
Req
UserId string
BusinessId string
Lock bool
}
func rpc_server_conn(url ...string) (*UserServiceClient, error) {
var rpc_url string
if len(url) > 0 && url[0] != "" {
rpc_url = url[0]
} else if conf.USER_RPC_URL != "" {
rpc_url = conf.USER_RPC_URL
} else {
rpc_url = "127.0.0.1:" + conf.USER_RPC_PORT
}
var rpc_url string
if len(url) > 0 && url[0] != "" {
rpc_url = url[0]
} else if conf.USER_RPC_URL != "" {
rpc_url = conf.USER_RPC_URL
} else {
rpc_url = "127.0.0.1:" + conf.USER_RPC_PORT
}
conn, _, err := DialUserService("tcp", rpc_url)
if err != nil {
return nil, err
}
conn, _, err := DialUserService("tcp", rpc_url)
if err != nil {
return nil, err
}
return conn, nil
return conn, nil
}

+ 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)
}

+ 1
- 1
go.mod View File

@ -3,7 +3,7 @@ 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.1.3
github.com/golang/protobuf v1.0.0


+ 4
- 2
go.sum View File

@ -1,7 +1,9 @@
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=
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=


+ 66
- 16
user.client.go View File

@ -31,22 +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(),
"ThirdId": res.GetThirdId(),
"Platform": res.GetPlatform(),
"LockFans": res.GetLockFans(),
"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
}
@ -193,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)
}

+ 24
- 0
user.pb.go View File

@ -153,6 +153,8 @@ type UserResponse struct {
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:"-"`
}
@ -272,6 +274,20 @@ func (m *UserResponse) GetLockFans() string {
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"`
@ -521,6 +537,7 @@ type UserService interface {
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
@ -536,6 +553,7 @@ type UserService interface {
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
@ -634,6 +652,9 @@ func (c *UserServiceClient) GetBusiness(in *Request, out *Response) error {
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)
}
@ -679,6 +700,9 @@ func (c *UserServiceClient) AddUserCoupon(in *Request, out *Response) error {
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) {


+ 5
- 0
user.proto View File

@ -40,6 +40,8 @@ message UserResponse {
string third_id = 14; //token对应的third_id
string platform = 15; //
string lock_fans = 16; //
string company_id = 17;
string department_id =18;
}
//
@ -96,6 +98,7 @@ service UserService {
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); //
@ -111,4 +114,6 @@ service UserService {
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