209 lines
10 KiB
Go
209 lines
10 KiB
Go
|
// 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
|
|||
|
}
|