新增了rpc服务定义和工具命令
This commit is contained in:
parent
981f73ec8f
commit
c771e3b559
|
@ -10,17 +10,6 @@ import (
|
||||||
type Config struct {
|
type Config struct {
|
||||||
zrpc.RpcServerConf
|
zrpc.RpcServerConf
|
||||||
etc.ExtraConfig
|
etc.ExtraConfig
|
||||||
DB struct {
|
|
||||||
Master struct {
|
|
||||||
DataSource string
|
|
||||||
}
|
|
||||||
Slave struct {
|
|
||||||
DataSource string
|
|
||||||
}
|
|
||||||
MarketReseller struct {
|
|
||||||
DataSource string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Cache cache.CacheConf
|
Cache cache.CacheConf
|
||||||
ZLTX types.ZLTXConf
|
ZLTX types.ZLTXConf
|
||||||
Market types.MarketConf
|
Market types.MarketConf
|
||||||
|
|
|
@ -2,21 +2,14 @@ package svc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/zeromicro/go-zero/core/stores/redis"
|
"github.com/zeromicro/go-zero/core/stores/redis"
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
"trasfer_middleware/cmd/rpc/internal/config"
|
"trasfer_middleware/cmd/rpc/internal/config"
|
||||||
"trasfer_middleware/cmd/rpc/internal/logic/po/market"
|
"trasfer_middleware/cmd/rpc/internal/logic/po/market"
|
||||||
"trasfer_middleware/cmd/rpc/internal/logic/po/zltx"
|
"trasfer_middleware/cmd/rpc/internal/logic/po/zltx"
|
||||||
"trasfer_middleware/genModel"
|
|
||||||
"trasfer_middleware/genModel/marketReseller"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ServiceContext struct {
|
type ServiceContext struct {
|
||||||
Config config.Config
|
Config config.Config
|
||||||
RedisClient *redis.Redis
|
RedisClient *redis.Redis
|
||||||
DbRead *Model
|
|
||||||
DbWrite *Model
|
|
||||||
DbReseller *MarkerReseller
|
|
||||||
|
|
||||||
ZltxOrder *zltx.ZltxOrder
|
ZltxOrder *zltx.ZltxOrder
|
||||||
Market *market.Market
|
Market *market.Market
|
||||||
}
|
}
|
||||||
|
@ -29,32 +22,18 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||||
Type: c.Redis.Type,
|
Type: c.Redis.Type,
|
||||||
Pass: c.Redis.Pass,
|
Pass: c.Redis.Pass,
|
||||||
}),
|
}),
|
||||||
DbRead: DbModel(c.DB.Master.DataSource, c),
|
|
||||||
DbWrite: DbModel(c.DB.Slave.DataSource, c),
|
|
||||||
DbReseller: ResellerModel(c.DB.MarketReseller.DataSource, c),
|
|
||||||
ZltxOrder: zltx.NewZltxOrder(c.ZLTX),
|
ZltxOrder: zltx.NewZltxOrder(c.ZLTX),
|
||||||
Market: market.NewMarket(c.Market),
|
Market: market.NewMarket(c.Market),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func DbModel(datasource string, c config.Config) *Model {
|
func DbModel(datasource string, c config.Config) *Model {
|
||||||
sqlConn := sqlx.NewMysql(datasource)
|
//sqlConn := sqlx.NewMysql(datasource)
|
||||||
return &Model{
|
return &Model{
|
||||||
ClientModel: genModel.NewServerClientModel(sqlConn, c.Cache),
|
//ClientModel: genModel.NewServerClientModel(sqlConn, c.Cache),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Model struct {
|
type Model struct {
|
||||||
ClientModel genModel.ServerClientModel
|
//ClientModel genModel.ServerClientModel
|
||||||
}
|
|
||||||
|
|
||||||
func ResellerModel(datasource string, c config.Config) *MarkerReseller {
|
|
||||||
sqlConn := sqlx.NewMysql(datasource)
|
|
||||||
return &MarkerReseller{
|
|
||||||
ResellerMerchant: marketReseller.NewResellerMerchantModel(sqlConn, c.Cache),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkerReseller struct {
|
|
||||||
ResellerMerchant marketReseller.ResellerMerchantModel
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
package marketReseller
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ ResellerMerchantModel = (*customResellerMerchantModel)(nil)
|
|
||||||
|
|
||||||
type (
|
|
||||||
// ResellerMerchantModel is an interface to be customized, add more methods here,
|
|
||||||
// and implement the added methods in customResellerMerchantModel.
|
|
||||||
ResellerMerchantModel interface {
|
|
||||||
resellerMerchantModel
|
|
||||||
}
|
|
||||||
|
|
||||||
customResellerMerchantModel struct {
|
|
||||||
*defaultResellerMerchantModel
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewResellerMerchantModel returns a model for the database table.
|
|
||||||
func NewResellerMerchantModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) ResellerMerchantModel {
|
|
||||||
return &customResellerMerchantModel{
|
|
||||||
defaultResellerMerchantModel: newResellerMerchantModel(conn, c, opts...),
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,208 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
|
|
||||||
package marketReseller
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"database/sql"
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
"github.com/zeromicro/go-zero/core/stringx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
resellerMerchantFieldNames = builder.RawFieldNames(&ResellerMerchant{})
|
|
||||||
resellerMerchantRows = strings.Join(resellerMerchantFieldNames, ",")
|
|
||||||
resellerMerchantRowsExpectAutoSet = strings.Join(stringx.Remove(resellerMerchantFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
|
||||||
resellerMerchantRowsWithPlaceHolder = strings.Join(stringx.Remove(resellerMerchantFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
|
||||||
|
|
||||||
cacheResellerResellerMerchantIdPrefix = "cache:reseller:resellerMerchant:id:"
|
|
||||||
cacheResellerResellerMerchantAppIdPrefix = "cache:reseller:resellerMerchant:appId:"
|
|
||||||
cacheResellerResellerMerchantMerchantIdPrefix = "cache:reseller:resellerMerchant:merchantId:"
|
|
||||||
cacheResellerResellerMerchantPosIdPrefix = "cache:reseller:resellerMerchant:posId:"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
resellerMerchantModel interface {
|
|
||||||
Insert(ctx context.Context, data *ResellerMerchant) (sql.Result, error)
|
|
||||||
FindOne(ctx context.Context, id uint64) (*ResellerMerchant, error)
|
|
||||||
FindOneByAppId(ctx context.Context, appId string) (*ResellerMerchant, error)
|
|
||||||
FindOneByMerchantId(ctx context.Context, merchantId string) (*ResellerMerchant, error)
|
|
||||||
FindOneByPosId(ctx context.Context, posId string) (*ResellerMerchant, error)
|
|
||||||
Update(ctx context.Context, data *ResellerMerchant) error
|
|
||||||
Delete(ctx context.Context, id uint64) error
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultResellerMerchantModel struct {
|
|
||||||
sqlc.CachedConn
|
|
||||||
table string
|
|
||||||
}
|
|
||||||
|
|
||||||
ResellerMerchant struct {
|
|
||||||
Id uint64 `db:"id"`
|
|
||||||
MerchantId string `db:"merchant_id"` // 商户号
|
|
||||||
ResellerId uint64 `db:"reseller_id"` // 分销商id
|
|
||||||
PosId string `db:"pos_id"` // 平台id 目前都是单平台
|
|
||||||
AppId string `db:"app_id"` // appid。目前都是单应用, 通知地址 事件地址都针对于这一个应用配置
|
|
||||||
StoreId string `db:"store_id"` // 没有门店,兴业银行需求。 当作后期的扩展字段
|
|
||||||
ApiMode int64 `db:"api_mode"` // 对接类型 1-RSA+标准接口返回【默认】2-兴业银行模式
|
|
||||||
PublicKey sql.NullString `db:"public_key"` // 公钥
|
|
||||||
PrivateKey sql.NullString `db:"private_key"` // 私钥
|
|
||||||
MerchantPublicKey sql.NullString `db:"merchant_public_key"` // 客户侧公钥
|
|
||||||
SecretKey string `db:"secret_key"` // body加解密密钥
|
|
||||||
NotifyUrl sql.NullString `db:"notify_url"` // 通知地址配置
|
|
||||||
SubscribeEvent sql.NullString `db:"subscribe_event"` // 订阅事件
|
|
||||||
Status uint64 `db:"status"` // 状态 1正常 2禁用
|
|
||||||
UpdateTime sql.NullTime `db:"update_time"` // 编辑时间
|
|
||||||
CreateTime time.Time `db:"create_time"` // 创建时间
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func newResellerMerchantModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) *defaultResellerMerchantModel {
|
|
||||||
return &defaultResellerMerchantModel{
|
|
||||||
CachedConn: sqlc.NewConn(conn, c, opts...),
|
|
||||||
table: "`reseller_merchant`",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) Delete(ctx context.Context, id uint64) error {
|
|
||||||
data, err := m.FindOne(ctx, id)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
resellerResellerMerchantAppIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantAppIdPrefix, data.AppId)
|
|
||||||
resellerResellerMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantIdPrefix, id)
|
|
||||||
resellerResellerMerchantMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantMerchantIdPrefix, data.MerchantId)
|
|
||||||
resellerResellerMerchantPosIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantPosIdPrefix, data.PosId)
|
|
||||||
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
|
||||||
return conn.ExecCtx(ctx, query, id)
|
|
||||||
}, resellerResellerMerchantAppIdKey, resellerResellerMerchantIdKey, resellerResellerMerchantMerchantIdKey, resellerResellerMerchantPosIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) FindOne(ctx context.Context, id uint64) (*ResellerMerchant, error) {
|
|
||||||
resellerResellerMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantIdPrefix, id)
|
|
||||||
var resp ResellerMerchant
|
|
||||||
err := m.QueryRowCtx(ctx, &resp, resellerResellerMerchantIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", resellerMerchantRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, id)
|
|
||||||
})
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) FindOneByAppId(ctx context.Context, appId string) (*ResellerMerchant, error) {
|
|
||||||
resellerResellerMerchantAppIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantAppIdPrefix, appId)
|
|
||||||
var resp ResellerMerchant
|
|
||||||
err := m.QueryRowIndexCtx(ctx, &resp, resellerResellerMerchantAppIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v any) (i any, e error) {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `app_id` = ? limit 1", resellerMerchantRows, m.table)
|
|
||||||
if err := conn.QueryRowCtx(ctx, &resp, query, appId); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp.Id, nil
|
|
||||||
}, m.queryPrimary)
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) FindOneByMerchantId(ctx context.Context, merchantId string) (*ResellerMerchant, error) {
|
|
||||||
resellerResellerMerchantMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantMerchantIdPrefix, merchantId)
|
|
||||||
var resp ResellerMerchant
|
|
||||||
err := m.QueryRowIndexCtx(ctx, &resp, resellerResellerMerchantMerchantIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v any) (i any, e error) {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `merchant_id` = ? limit 1", resellerMerchantRows, m.table)
|
|
||||||
if err := conn.QueryRowCtx(ctx, &resp, query, merchantId); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp.Id, nil
|
|
||||||
}, m.queryPrimary)
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) FindOneByPosId(ctx context.Context, posId string) (*ResellerMerchant, error) {
|
|
||||||
resellerResellerMerchantPosIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantPosIdPrefix, posId)
|
|
||||||
var resp ResellerMerchant
|
|
||||||
err := m.QueryRowIndexCtx(ctx, &resp, resellerResellerMerchantPosIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v any) (i any, e error) {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `pos_id` = ? limit 1", resellerMerchantRows, m.table)
|
|
||||||
if err := conn.QueryRowCtx(ctx, &resp, query, posId); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp.Id, nil
|
|
||||||
}, m.queryPrimary)
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) Insert(ctx context.Context, data *ResellerMerchant) (sql.Result, error) {
|
|
||||||
resellerResellerMerchantAppIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantAppIdPrefix, data.AppId)
|
|
||||||
resellerResellerMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantIdPrefix, data.Id)
|
|
||||||
resellerResellerMerchantMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantMerchantIdPrefix, data.MerchantId)
|
|
||||||
resellerResellerMerchantPosIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantPosIdPrefix, data.PosId)
|
|
||||||
ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, resellerMerchantRowsExpectAutoSet)
|
|
||||||
return conn.ExecCtx(ctx, query, data.MerchantId, data.ResellerId, data.PosId, data.AppId, data.StoreId, data.ApiMode, data.PublicKey, data.PrivateKey, data.MerchantPublicKey, data.SecretKey, data.NotifyUrl, data.SubscribeEvent, data.Status)
|
|
||||||
}, resellerResellerMerchantAppIdKey, resellerResellerMerchantIdKey, resellerResellerMerchantMerchantIdKey, resellerResellerMerchantPosIdKey)
|
|
||||||
return ret, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) Update(ctx context.Context, newData *ResellerMerchant) error {
|
|
||||||
data, err := m.FindOne(ctx, newData.Id)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
resellerResellerMerchantAppIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantAppIdPrefix, data.AppId)
|
|
||||||
resellerResellerMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantIdPrefix, data.Id)
|
|
||||||
resellerResellerMerchantMerchantIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantMerchantIdPrefix, data.MerchantId)
|
|
||||||
resellerResellerMerchantPosIdKey := fmt.Sprintf("%s%v", cacheResellerResellerMerchantPosIdPrefix, data.PosId)
|
|
||||||
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, resellerMerchantRowsWithPlaceHolder)
|
|
||||||
return conn.ExecCtx(ctx, query, newData.MerchantId, newData.ResellerId, newData.PosId, newData.AppId, newData.StoreId, newData.ApiMode, newData.PublicKey, newData.PrivateKey, newData.MerchantPublicKey, newData.SecretKey, newData.NotifyUrl, newData.SubscribeEvent, newData.Status, newData.Id)
|
|
||||||
}, resellerResellerMerchantAppIdKey, resellerResellerMerchantIdKey, resellerResellerMerchantMerchantIdKey, resellerResellerMerchantPosIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) formatPrimary(primary any) string {
|
|
||||||
return fmt.Sprintf("%s%v", cacheResellerResellerMerchantIdPrefix, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", resellerMerchantRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerMerchantModel) tableName() string {
|
|
||||||
return m.table
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
package marketReseller
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ ResellerModel = (*customResellerModel)(nil)
|
|
||||||
|
|
||||||
type (
|
|
||||||
// ResellerModel is an interface to be customized, add more methods here,
|
|
||||||
// and implement the added methods in customResellerModel.
|
|
||||||
ResellerModel interface {
|
|
||||||
resellerModel
|
|
||||||
}
|
|
||||||
|
|
||||||
customResellerModel struct {
|
|
||||||
*defaultResellerModel
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewResellerModel returns a model for the database table.
|
|
||||||
func NewResellerModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) ResellerModel {
|
|
||||||
return &customResellerModel{
|
|
||||||
defaultResellerModel: newResellerModel(conn, c, opts...),
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,134 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
|
|
||||||
package marketReseller
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"database/sql"
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
"github.com/zeromicro/go-zero/core/stringx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
resellerFieldNames = builder.RawFieldNames(&Reseller{})
|
|
||||||
resellerRows = strings.Join(resellerFieldNames, ",")
|
|
||||||
resellerRowsExpectAutoSet = strings.Join(stringx.Remove(resellerFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
|
||||||
resellerRowsWithPlaceHolder = strings.Join(stringx.Remove(resellerFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
|
||||||
|
|
||||||
cacheResellerResellerIdPrefix = "cache:reseller:reseller:id:"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
resellerModel interface {
|
|
||||||
Insert(ctx context.Context, data *Reseller) (sql.Result, error)
|
|
||||||
FindOne(ctx context.Context, id uint64) (*Reseller, error)
|
|
||||||
Update(ctx context.Context, data *Reseller) error
|
|
||||||
Delete(ctx context.Context, id uint64) error
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultResellerModel struct {
|
|
||||||
sqlc.CachedConn
|
|
||||||
table string
|
|
||||||
}
|
|
||||||
|
|
||||||
Reseller struct {
|
|
||||||
Id uint64 `db:"id"` // 主键
|
|
||||||
Creator int64 `db:"creator"` // 操作人员
|
|
||||||
Code string `db:"code"` // 分销商编号
|
|
||||||
Name string `db:"name"` // 分销商名称
|
|
||||||
Subject string `db:"subject"` // 分销商主体
|
|
||||||
Account string `db:"account"` // 登录账号
|
|
||||||
Password string `db:"password"` // 登录密码
|
|
||||||
Status uint64 `db:"status"` // 分销商账号状态
|
|
||||||
HeadImg string `db:"head_img"` // 头像
|
|
||||||
SalesmanId uint64 `db:"salesman_id"` // 销售人员ID,后台用户表ID
|
|
||||||
SalesmanName string `db:"salesman_name"` // 销售人员名称
|
|
||||||
CompanyId uint64 `db:"company_id"` // 所属公司,公司表ID
|
|
||||||
CompanyName string `db:"company_name"` // 公司名称
|
|
||||||
IdentityType uint64 `db:"identity_type"` // 身份类型
|
|
||||||
Balance float64 `db:"balance"` // 分销商余额
|
|
||||||
BalanceWarning float64 `db:"balance_warning"` // 余额预警
|
|
||||||
FrozenAmount float64 `db:"frozen_amount"` // 冻结金额
|
|
||||||
CreditAmount float64 `db:"credit_amount"` // 授信金额
|
|
||||||
TotalConsumption float64 `db:"total_consumption"` // 累计消费
|
|
||||||
ContactName string `db:"contact_name"` // 联系人名称
|
|
||||||
ContactPhone string `db:"contact_phone"` // 联系人电话
|
|
||||||
ContactEmail string `db:"contact_email"` // 联系人Email,多个逗号(,)用逗号分开
|
|
||||||
CreateTime time.Time `db:"create_time"` // 创建时间
|
|
||||||
UpdateTime sql.NullTime `db:"update_time"` // 编辑时间
|
|
||||||
DeleteTime sql.NullTime `db:"delete_time"` // 删除时间
|
|
||||||
DirectResellerId uint64 `db:"direct_reseller_id"` // 直连天下分销商映射ID
|
|
||||||
MapTime sql.NullTime `db:"map_time"` // 映射时间
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func newResellerModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) *defaultResellerModel {
|
|
||||||
return &defaultResellerModel{
|
|
||||||
CachedConn: sqlc.NewConn(conn, c, opts...),
|
|
||||||
table: "`reseller`",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) Delete(ctx context.Context, id uint64) error {
|
|
||||||
resellerResellerIdKey := fmt.Sprintf("%s%v", cacheResellerResellerIdPrefix, id)
|
|
||||||
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
|
||||||
return conn.ExecCtx(ctx, query, id)
|
|
||||||
}, resellerResellerIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) FindOne(ctx context.Context, id uint64) (*Reseller, error) {
|
|
||||||
resellerResellerIdKey := fmt.Sprintf("%s%v", cacheResellerResellerIdPrefix, id)
|
|
||||||
var resp Reseller
|
|
||||||
err := m.QueryRowCtx(ctx, &resp, resellerResellerIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", resellerRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, id)
|
|
||||||
})
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) Insert(ctx context.Context, data *Reseller) (sql.Result, error) {
|
|
||||||
resellerResellerIdKey := fmt.Sprintf("%s%v", cacheResellerResellerIdPrefix, data.Id)
|
|
||||||
ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, resellerRowsExpectAutoSet)
|
|
||||||
return conn.ExecCtx(ctx, query, data.Creator, data.Code, data.Name, data.Subject, data.Account, data.Password, data.Status, data.HeadImg, data.SalesmanId, data.SalesmanName, data.CompanyId, data.CompanyName, data.IdentityType, data.Balance, data.BalanceWarning, data.FrozenAmount, data.CreditAmount, data.TotalConsumption, data.ContactName, data.ContactPhone, data.ContactEmail, data.DeleteTime, data.DirectResellerId, data.MapTime)
|
|
||||||
}, resellerResellerIdKey)
|
|
||||||
return ret, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) Update(ctx context.Context, data *Reseller) error {
|
|
||||||
resellerResellerIdKey := fmt.Sprintf("%s%v", cacheResellerResellerIdPrefix, data.Id)
|
|
||||||
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, resellerRowsWithPlaceHolder)
|
|
||||||
return conn.ExecCtx(ctx, query, data.Creator, data.Code, data.Name, data.Subject, data.Account, data.Password, data.Status, data.HeadImg, data.SalesmanId, data.SalesmanName, data.CompanyId, data.CompanyName, data.IdentityType, data.Balance, data.BalanceWarning, data.FrozenAmount, data.CreditAmount, data.TotalConsumption, data.ContactName, data.ContactPhone, data.ContactEmail, data.DeleteTime, data.DirectResellerId, data.MapTime, data.Id)
|
|
||||||
}, resellerResellerIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) formatPrimary(primary any) string {
|
|
||||||
return fmt.Sprintf("%s%v", cacheResellerResellerIdPrefix, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", resellerRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultResellerModel) tableName() string {
|
|
||||||
return m.table
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
package marketReseller
|
|
||||||
|
|
||||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
|
|
||||||
var ErrNotFound = sqlx.ErrNotFound
|
|
|
@ -1,27 +0,0 @@
|
||||||
package genModel
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ ServerClientModel = (*customServerClientModel)(nil)
|
|
||||||
|
|
||||||
type (
|
|
||||||
// ServerClientModel is an interface to be customized, add more methods here,
|
|
||||||
// and implement the added methods in customServerClientModel.
|
|
||||||
ServerClientModel interface {
|
|
||||||
serverClientModel
|
|
||||||
}
|
|
||||||
|
|
||||||
customServerClientModel struct {
|
|
||||||
*defaultServerClientModel
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewServerClientModel returns a model for the database table.
|
|
||||||
func NewServerClientModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) ServerClientModel {
|
|
||||||
return &customServerClientModel{
|
|
||||||
defaultServerClientModel: newServerClientModel(conn, c, opts...),
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,134 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
|
|
||||||
package genModel
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"database/sql"
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
"github.com/zeromicro/go-zero/core/stringx"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
serverClientFieldNames = builder.RawFieldNames(&ServerClient{})
|
|
||||||
serverClientRows = strings.Join(serverClientFieldNames, ",")
|
|
||||||
serverClientRowsExpectAutoSet = strings.Join(stringx.Remove(serverClientFieldNames, "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
|
||||||
serverClientRowsWithPlaceHolder = strings.Join(stringx.Remove(serverClientFieldNames, "`client_id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
|
||||||
|
|
||||||
cacheTransferServerClientClientIdPrefix = "cache:transfer:serverClient:clientId:"
|
|
||||||
cacheTransferServerClientClientIndexPrefix = "cache:transfer:serverClient:clientIndex:"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
serverClientModel interface {
|
|
||||||
Insert(ctx context.Context, data *ServerClient) (sql.Result, error)
|
|
||||||
FindOne(ctx context.Context, clientId int64) (*ServerClient, error)
|
|
||||||
Update(ctx context.Context, data *ServerClient) error
|
|
||||||
Delete(ctx context.Context, clientId int64) error
|
|
||||||
FindOneByIndex(ctx context.Context, index string) (*ServerClient, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultServerClientModel struct {
|
|
||||||
sqlc.CachedConn
|
|
||||||
table string
|
|
||||||
}
|
|
||||||
|
|
||||||
ServerClient struct {
|
|
||||||
ClientId int64 `db:"client_id"`
|
|
||||||
ClientName string `db:"client_name"` // 客户名称
|
|
||||||
ClientIndex string `db:"client_index"` // 客户索引
|
|
||||||
ZltxMerchantId int64 `db:"zltx_merchant_id"`
|
|
||||||
ZltxSecret string `db:"zltx_secret"`
|
|
||||||
CreateTime time.Time `db:"create_time"`
|
|
||||||
UpdateTime time.Time `db:"update_time"`
|
|
||||||
Status int64 `db:"status"`
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func newServerClientModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) *defaultServerClientModel {
|
|
||||||
return &defaultServerClientModel{
|
|
||||||
CachedConn: sqlc.NewConn(conn, c, opts...),
|
|
||||||
table: "`server_client`",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) Delete(ctx context.Context, clientId int64) error {
|
|
||||||
transferServerClientClientIdKey := fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, clientId)
|
|
||||||
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("delete from %s where `client_id` = ?", m.table)
|
|
||||||
return conn.ExecCtx(ctx, query, clientId)
|
|
||||||
}, transferServerClientClientIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) FindOne(ctx context.Context, clientId int64) (*ServerClient, error) {
|
|
||||||
transferServerClientClientIdKey := fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, clientId)
|
|
||||||
var resp ServerClient
|
|
||||||
err := m.QueryRowCtx(ctx, &resp, transferServerClientClientIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `client_id` = ? limit 1", serverClientRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, clientId)
|
|
||||||
})
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) FindOneByIndex(ctx context.Context, index string) (*ServerClient, error) {
|
|
||||||
transferServerClientClientIndexKey := fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, index)
|
|
||||||
var resp ServerClient
|
|
||||||
err := m.QueryRowCtx(ctx, &resp, transferServerClientClientIndexKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `client_id` = ? limit 1", serverClientRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, index)
|
|
||||||
})
|
|
||||||
switch err {
|
|
||||||
case nil:
|
|
||||||
return &resp, nil
|
|
||||||
case sqlc.ErrNotFound:
|
|
||||||
return nil, ErrNotFound
|
|
||||||
default:
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) Insert(ctx context.Context, data *ServerClient) (sql.Result, error) {
|
|
||||||
transferServerClientClientIdKey := fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, data.ClientId)
|
|
||||||
ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, serverClientRowsExpectAutoSet)
|
|
||||||
return conn.ExecCtx(ctx, query, data.ClientId, data.ClientName, data.ClientIndex, data.ZltxMerchantId, data.ZltxSecret, data.Status)
|
|
||||||
}, transferServerClientClientIdKey)
|
|
||||||
return ret, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) Update(ctx context.Context, data *ServerClient) error {
|
|
||||||
transferServerClientClientIdKey := fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, data.ClientId)
|
|
||||||
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
|
|
||||||
query := fmt.Sprintf("update %s set %s where `client_id` = ?", m.table, serverClientRowsWithPlaceHolder)
|
|
||||||
return conn.ExecCtx(ctx, query, data.ClientName, data.ClientIndex, data.ZltxMerchantId, data.ZltxSecret, data.Status, data.ClientId)
|
|
||||||
}, transferServerClientClientIdKey)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) formatPrimary(primary any) string {
|
|
||||||
return fmt.Sprintf("%s%v", cacheTransferServerClientClientIdPrefix, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
|
|
||||||
query := fmt.Sprintf("select %s from %s where `client_id` = ? limit 1", serverClientRows, m.table)
|
|
||||||
return conn.QueryRowCtx(ctx, v, query, primary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultServerClientModel) tableName() string {
|
|
||||||
return m.table
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
package genModel
|
|
||||||
|
|
||||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
|
|
||||||
var ErrNotFound = sqlx.ErrNotFound
|
|
Loading…
Reference in New Issue