Преглед на файлове

路由根目录增加“api”组

zhou.xiaoning преди 3 години
родител
ревизия
b29b561ef9
променени са 9 файла, в които са добавени 776 реда и са изтрити 21 реда
  1. 66 2
      global/funcode.go
  2. 2 2
      global/global.go
  3. 18 0
      global/topic.go
  4. 4 6
      initialize/rabbitmq.go
  5. 4 3
      initialize/router.go
  6. 1 1
      main.go
  7. 678 0
      res/pb/mtp2.proto
  8. 0 4
      service/account/login.go
  9. 3 3
      service/mq/mq.go

+ 66 - 2
global/funcode.go

@@ -1,6 +1,70 @@
 package global
 
 var (
-	ZSSellOrderListingReq = 1441829 // 钻石卖挂牌接口请求
-	ZSSellOrderListingRsp = 1441830 // 钻石卖挂牌接口响应
+	ModifyPwdReq            = 65543   // 修改账户密码请求
+	ModifyPwdRsp            = 65544   // 修改账户密码应答
+	UserReceiveInfoReq      = 1900545 // 新增修改收货地址请求
+	UserReceiveInfoRsp      = 1900546 // 新增修改收货地址请求响应
+	DelUserReceiveInfoReq   = 1900547 // 删除收货地址请求
+	DelUserReceiveInfoRsp   = 1900548 // 删除收货地址请求响应
+	UserReceiveIsDefaultReq = 1900570 // 设置默认收货地址请求
+	UserReceiveIsDefaultRsp = 1900571 // 设置默认收货地址应答
+	UserReceiptInfoReq      = 1900549 // 新增修改用户发票信息请求
+	UserReceiptInfoRsp      = 1900550 // 新增修改用户发票信息请求响应
+	DelUserReceiptInfoReq   = 1900551 // 删除用户发票信息请求
+	DelUserReceiptInfoRsp   = 1900552 // 删除用户发票信息请求响应
+
+	T2bBankSignReq       = 589825 // 签约请求
+	T2bBankSignRsp       = 589826 // 签约应答
+	T2bBankCancelSignReq = 589827 // 解约请求
+	T2bBankCancelSignRsp = 589828 // 解约应答
+	T2bBankWithdrawReq   = 589837 // 出金请求
+	T2bBankWithdrawRsp   = 589838 // 出金应答
+	T2bBankDepositReq    = 589843 // 入金请求
+	T2bBankDepositRsp    = 589844 // 入金应答
+
+	WarehouseApplyReq                   = 1900685 // 仓库申请请求
+	WarehouseApplyRsp                   = 1900686 // 仓库申请请求
+	PerformanceContractedApplyReq       = 1310729 // 违约申请请求
+	PerformanceContractedApplyRsp       = 1310730 // 违约申请应答
+	PerformanceDelayApplyReq            = 1310725 // 延期申请请求
+	PerformanceDelayApplyRsp            = 1310726 // 延期申请应答
+	PerformanceManualConfirmReq         = 1310723 // 履约手动确认请求
+	PerformanceManualConfirmRsp         = 1310724 // 履约手动确认应答
+	PerformanceModifyContactReq         = 1310735 // 履约修改联络信息请求
+	PerformanceModifyContactRsp         = 1310736 // 履约修改联络信息回应
+	GoodsFavoriteOperateReq             = 1441843 // 商品收藏操作接口请求
+	GoodsFavoriteOperateRsp             = 1441844 // 商品收藏操作接口应答
+	GZBuyOrderDetailExInfo              = 1441826 // 钻石买挂牌属性
+	ZSBuyOrderListingReq                = 1441837 // 钻石买挂牌接口请求
+	ZSBuyOrderListingRsp                = 1441838 // 钻石买挂牌接口应答
+	ZSSellOrderListingReq               = 1441829 // 钻石卖挂牌接口请求
+	ZSSellOrderListingRsp               = 1441830 // 钻石卖挂牌接口响应
+	ZSBuyOrderDestingReq                = 1441831 // 钻石买摘牌接口请求
+	ZSBuyOrderDestingRsp                = 1441832 // 钻石买摘牌接口响应
+	ZSSellOrderDestingApplyReq          = 1441839 // 钻石卖摘牌申请接口请求
+	ZSSellOrderDestingApplyRsp          = 1441840 // 钻石卖摘牌申请接口响应
+	ZSSellOrderDestingApplyOperateReq   = 1441841 // 钻石卖摘牌申请操作接口请求
+	ZSSellOrderDestingApplyOperateRsp   = 1441842 // 钻石卖摘牌申请操作接口应答
+	ZSBuyOrderDestingNegPriceReq        = 1441833 // 买摘牌询价接口请求
+	ZSBuyOrderDestingNegPriceRsp        = 1441834 // 买摘牌询价接口应答
+	ZSBuyOrderDestingNegPriceOperateReq = 1441835 // 买摘牌询价操作接口请求
+	ZSBuyOrderDestingNegPriceOperateRsp = 1441836 // 买摘牌询价操作接口应答
+	WRListingCancelOrderReq             = 1441796 // 挂牌撤单请求
+	WRListingCancelOrderRsp             = 1441797 // 挂牌撤单应答
+	ReceiptZSOutApplyReq                = 1376463 // 钻石出库申请接口请求
+	ReceiptZSOutApplyRsp                = 1376464 // 钻石出库申请接口响应
 )
+
+// 通过请求功能码获取对应主题的方法
+func GetTopic(funcode int) string {
+	for k, v := range M2A_FuncodeTopic {
+		for _, f := range v {
+			if f == funcode {
+				return k
+			}
+		}
+	}
+
+	return ""
+}

+ 2 - 2
global/global.go

@@ -25,6 +25,6 @@ var (
 	M2A_Concurrency_Control = &singleflight.Group{}
 
 	M2A_RABBITMQ     *RabbitMQ
-	M2A_Clients      map[int]*Client // key:SessionID
-	M2A_FuncodeTopic map[int]string  // key:Funcode
+	M2A_Clients      map[int]*Client  // key:SessionID
+	M2A_FuncodeTopic map[string][]int // 总线主题与REQ Funcode的MAP, key:主题
 )

+ 18 - 0
global/topic.go

@@ -1,6 +1,24 @@
 package global
 
 var (
+	TOPIC_REQ_QKERNEL string = "query_req" // 查询相关请求
+	TOPIC_RSP_QKERNEL string = "query_rsp" // 查询相关回应
+
+	TOPIC_MANAGE_REQ string = "manage_req" // 管理服务请求
+	TOPIC_MANAGE_RSP string = "manage_rsp" // 管理服务响应
+
+	TOPIC_REQ_BANK string = "bank_req" // 银行请求
+	TOPIC_RSP_BANK string = "bank_rsp" // 银行回应
+
+	TOPIC_PERFORMANCE_REQ string = "performance_req" // 履约请求
+	TOPIC_PERFORMANCE_RSP string = "performance_rsp" // 履约回应
+
+	TOPIC_WAREHOUSE_RECIEPT     string = "warehouse_reciept"     // 仓单服务消息主题
+	TOPIC_WAREHOUSE_RECIEPT_RSP string = "warehouse_reciept_rsp" // 仓单服务消息主题
+
+	TOPIC_REQ_WAREHOUSE_TRADE string = "warehouse_trade_req" // 仓单贸易请求
+	TOPIC_RSP_WAREHOUSE_TRADE string = "warehouse_trade_rsp" // 仓单贸易响应
+
 	TOPIC_REQ_WAREHOUSE_TRADE_GZ string = "warehouse_trade_gz_req" // 广钻仓单贸易请求
 	TOPIC_RSP_WAREHOUSE_TRADE_GZ string = "warehouse_trade_gz_rsp" // 广钻仓单贸易响应
 )

+ 4 - 6
initialize/rabbitmq.go

@@ -57,6 +57,7 @@ func (t *MQProc) Process(topic, queuename string, msg *[]byte) {
 				if asyncTask.IsEncrypted {
 					if b, err := packet.Encrypt(*bytes, packet.AESKey, true); err != nil {
 						global.M2A_LOG.Error("总线回复数据加密失败", zap.Error(err))
+						return
 					} else {
 						rspData = base64.StdEncoding.EncodeToString(b)
 					}
@@ -68,10 +69,6 @@ func (t *MQProc) Process(topic, queuename string, msg *[]byte) {
 					Data:        rspData,
 				}
 				asyncTask.Rsp <- r
-				// response.OkWithData(r, asyncTask.C)
-				// 清除异步任务
-				// asyncTask.Close()
-				fmt.Println()
 			}
 		}
 	}
@@ -129,8 +126,9 @@ func StartRabbitMQReceive() {
 // InitFuncodeTopic 初始化功能码主题MAP
 func InitFuncodeTopic() {
 	if global.M2A_FuncodeTopic == nil {
-		global.M2A_FuncodeTopic = make(map[int]string)
+		global.M2A_FuncodeTopic = make(map[string][]int)
 	}
 
-	global.M2A_FuncodeTopic[global.ZSSellOrderListingReq] = global.TOPIC_REQ_WAREHOUSE_TRADE_GZ
+	//global.M2A_FuncodeTopic[global.ModifyPwdReq] =
+	//global.M2A_FuncodeTopic[global.ZSSellOrderListingReq] = global.TOPIC_REQ_WAREHOUSE_TRADE_GZ
 }

+ 4 - 3
initialize/router.go

@@ -6,7 +6,7 @@ import (
 	"mtp20access/middleware"
 	"mtp20access/router"
 
-	_ "mtp20access/docs"
+	docs "mtp20access/docs"
 
 	"github.com/gin-gonic/gin"
 	ginSwagger "github.com/swaggo/gin-swagger"
@@ -23,6 +23,7 @@ func Routers() *gin.Engine {
 
 	// 开发测试模式
 	if global.M2A_CONFIG.System.Env == "develop" {
+		docs.SwaggerInfo.BasePath = "/api"
 		Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
 		global.M2A_LOG.Info("register swagger handler")
 
@@ -31,13 +32,13 @@ func Routers() *gin.Engine {
 	}
 
 	// 非鉴权组
-	publicGroup := Router.Group("")
+	publicGroup := Router.Group("api")
 	{
 		router.InitAccountPublicRouter(publicGroup)
 	}
 
 	// 鉴权组
-	privateGroup := Router.Group("")
+	privateGroup := Router.Group("api")
 	privateGroup.Use(middleware.JWTAuth())
 	{
 		router.InitMQPrivateRouter(privateGroup)

+ 1 - 1
main.go

@@ -14,7 +14,7 @@ import (
 // @securityDefinitions.apikey ApiKeyAuth
 // @in                         header
 // @name                       x-token
-// @BasePath                   /
+// @BasePath                   /api
 func main() {
 
 	// 初始化Viper

+ 678 - 0
res/pb/mtp2.proto

@@ -17,6 +17,476 @@ message MessageHead {
 	optional uint64 AccountID2 = 11; // 账号ID-币币交易使用
 }
 
+// 修改账户密码请求
+message ModifyPwdReq {
+	optional MessageHead Header = 1;
+		optional uint32 ModifyPwdType = 2; // 修改密码类型1:登陆密码2:资金账户密码
+		optional uint64 ModifyPwdID = 3; // 被修改的ID(ModifyType=1:LoginIDModifyType=2:AccountID)
+		optional string OldPwd = 4; // 旧资金密码
+		optional string NewPwd = 5; // 新资金密码
+}
+// 修改账户密码应答
+message ModifyPwdRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+}
+
+// 新增修改收货地址请求
+message UserReceiveInfoReq {
+	optional MessageHead Header = 1;
+		optional uint64 ClientSerialID = 2; // 客户端唯一ID
+		optional uint32 UserID = 3; // 用户ID
+		optional string ReceiverName = 4; // 提货人姓名
+		optional uint32 CardTypeID = 5; // 证件类型
+		optional string CardNum = 6; // 证件号码
+		optional string PhoneNum = 7; // 提货人联系方式
+		optional uint32 CountryID = 8; // 国家
+		optional uint32 ProvinceID = 9; // 省
+		optional uint32 CityID = 10; // 市
+		optional uint32 DistrictID = 11; // 地区
+		optional string Address = 12; // 提货人详细地址
+		optional string TakeRemark = 13; // 提货备注
+		optional uint64 ReceiveInfoId = 14; // 修改时填收货地址id
+}
+
+// 新增修改收货地址请求响应
+message UserReceiveInfoRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ReceiveInfoId = 4; // 响应返回autoid
+}
+
+// 删除收货地址请求
+message DelUserReceiveInfoReq {
+	optional MessageHead Header = 1;
+		optional uint64 ReceiveInfoId = 2; // 收货地址id
+}
+
+// 删除收货地址请求响应
+message DelUserReceiveInfoRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+}
+
+// 设置默认收货地址请求
+message UserReceiveIsDefaultReq {
+	optional MessageHead Header = 1;
+		optional uint64 AutoId = 2; // 提货地址ID
+		optional uint64 UserId = 3; // 用户ID
+}
+
+// 设置默认收货地址应答
+message UserReceiveIsDefaultRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 AutoId = 4; // 提货地址ID
+}
+
+// 新增修改用户发票信息请求
+message UserReceiptInfoReq {
+	optional MessageHead Header = 1;
+		optional uint64 ClientSerialID = 2; // 客户端唯一ID
+		optional uint32 UserID = 3; // 用户ID
+		optional string UserName = 4; // 发票抬头姓名
+		optional uint32 ReceiptType = 5; // 发票类型
+		optional string TaxpayerID = 6; // 纳税人识别号
+		optional string ContactInfo = 7; // 联系方式
+		optional uint64 ReceiptInfoId = 8; // 修改时填用户发票信息id
+		optional string ReceiptBank = 9; // 发票开户行[发票类型:企业]
+		optional string ReceiptAccount = 10; // 发票帐号[发票类型:企业]
+		optional string Address = 11; // 地址[发票类型:企业]
+		optional string IDNum = 12; // 身份证号码[发票类型:个人]
+}
+
+// 新增修改用户发票信息请求响应
+message UserReceiptInfoRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ReceiptInfoId = 4; // 响应返回发票信息id
+}
+
+// 删除用户发票信息请求
+message DelUserReceiptInfoReq {
+	optional MessageHead Header = 1;
+		optional uint64 ReceiptInfoId = 2; // 删除发票信息id
+}
+
+// 删除用户发票信息请求响应
+message DelUserReceiptInfoRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+}
+
+// 签约请求
+message t2bBankSignReq {
+	optional MessageHead Header = 1;
+		required uint64 ExtOperatorID = 2; // 外部操作流水号
+		optional string ExchId = 3; // 交易所编号
+		optional string TradeDate = 4; // 交易所业务日期
+		optional string ExchTicket = 5; // 交易所流水号
+		required string AccountCode = 6; // 账户
+		required string AccountName = 7; // 客户名称
+		required string CusBankID = 8; // 托管银行编号
+		required int32 OperateType = 9; // 变更类型[1-增加;2-修改;4-绑卡;
+		required int32 IsForce = 10; // 是否强制[0-否;1-是]强制,只更新中心签约信息,不发送银行。用于银行信息不一致的情况
+		optional string Currency = 11; // 币种
+		optional int32 AccountType = 12; // 账户类型[1-对私;2-对公]
+		required string OpenBankAccId = 13; // 银行卡行号
+		optional string ForceSignBankAccountNo = 14; // 银行账户[强制签约时填写]
+		optional string ForceSignBankAccountName = 15; // 银行账户名称[强制签约时填写]
+		required string BankAccountNo = 16; // 银行账户
+		optional string BankAccountName = 17; // 银行账户名称
+		required string ExBankName = 18; // 开户行名称
+		optional string OpenBankNo = 19; // 开户支行编号
+		optional string OpenBankName = 20; // 开户支行名称
+		required string CertType = 21; // 证件类型
+		required string CertID = 22; // 证件号码
+		optional string BankAccountPWD = 23; // 银行账户密码
+		optional string AgentName = 24; // 授权代理人姓名
+		optional int32 AgentCertType = 25; // 授权代理人证件类型
+		optional string AgentCertID = 26; // 授权代理人证件号
+		optional int32 BankAccountType = 27; // 银行账户类型
+		optional string BankProvince = 28; // 开户银行所在省份
+		optional string BankCity = 29; // 开户银行所在市
+		optional int32 BankCardType = 30; // 银行卡类型
+		optional string MobilePhone = 31; // 移动电话
+		optional string IdentifyCode = 32; // 验证码
+		optional string email = 33; // 电子邮箱
+		optional string extend_info = 34; // 扩展信息(JSON串,参考配置要求进行填充)
+}
+
+// 签约应答
+message t2bBankSignRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ExtOperatorID = 4; // 外部操作流水号
+		optional string AccountCode = 5; // 账户
+		optional string NetAddr = 6; // 网络地址(当这里有网址时,应自动跳转网页)
+		optional int32 Status = 7; // 状态(0成功,其他数值参考银行服务的错误码)
+		required string ExchTicket = 8; // 交易所流水号
+		optional string ExchId = 9; // 交易所编号
+		optional string TradeDate = 10; // 交易所业务日期
+		optional string CenterTicket = 11; // 中心流水号
+		optional string CenterErrCode = 12; // 返回码
+		optional string CenterErrMsg = 13; // 返回结果说明
+		optional string bankChildAcc = 14; // 银行账号
+		optional string bankChildAccName = 15; // 银行账户名
+		optional string BankId = 16; // 银行卡行号
+		optional string BankAccNum = 17; // 银行卡号
+		optional string BankAccName = 18; // 银行卡户名
+}
+
+// 解约请求
+message t2bBankCancelSignReq {
+	optional MessageHead Header = 1;
+		required uint64 ExtOperatorID = 2; // 外部操作流水号
+		optional string ExchId = 3; // 交易所编号
+		required string AccountCode = 4; // 账户
+		required string CusBankID = 5; // 托管银行编号
+		required int32 IsForce = 6; // 是否强制
+		optional string Currency = 7; // 币种
+		optional string TradeDate = 8; // 交易所业务日期
+		optional string ExchTicket = 9; // 交易所流水号
+		optional string BankChildAcc = 10; // 银行子账号
+		optional string BankChildAccName = 11; // 银行子账号名
+}
+
+// 解约应答
+message t2bBankCancelSignRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ExtOperatorID = 4; // 外部操作流水号
+		optional string AccountCode = 5; // 账户
+		optional string NetAddr = 6; // 网络地址(当这里有网址时,应自动跳转网页)
+		optional int32 Status = 7; // 状态(0成功,其他数值参考银行服务的错误码)
+		required string ExchTicket = 8; // 交易所流水号
+		optional string ExchId = 9; // 交易所编号
+		optional string TradeDate = 10; // 交易所业务日期
+		optional string CenterTicket = 11; // 中心流水号
+		optional string CenterErrCode = 12; // 返回码
+		optional string CenterErrMsg = 13; // 返回结果说明
+}
+
+// 出金请求
+message t2bBankWithdrawReq {
+	optional MessageHead Header = 1;
+		required uint64 ExtOperatorID = 2; // 外部操作流水号
+		optional string ExchId = 3; // 交易所编号
+		required string AccountCode = 4; // 资金账户
+		required string CusBankID = 5; // 托管银行编号
+		required string Currency = 6; // 币种
+		optional int32 AccountType = 7; // 账户类型
+		optional string BankChildAccount = 8; // 银行子账号
+		optional string BankChildAccountName = 9; // 银行子账号名
+		optional string OpenCardBankId = 10; // 银行卡行号
+		optional string BankAccoutNum = 11; // 银行卡号
+		optional string BankAccoutName = 12; // 银行卡户名
+		required double Amount = 13; // 出金金额
+		optional string AppDateTime = 14; // 申请日期和时间
+		optional string OldTaPWD = 15; // 资金密码
+		optional string Desc = 16; // 备注
+		optional string IdentifyCode = 17; // 验证码
+		optional string BranchBankName = 18; // 收款支行名称
+		optional string extend_info = 19; // 扩展信息(JSON串,参考配置要求进行填充)
+		optional string Remark = 20; // 备注
+		optional string ExchTicket = 21; // 交易所流水号
+}
+
+// 出金应答
+message t2bBankWithdrawRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ExtOperatorID = 4; // 外部操作流水号
+		optional int32 Status = 5; // 状态(0成功,其他数值参考银行服务的错误码)
+		required string ExchTicket = 6; // 交易所流水号
+		optional string ExchId = 7; // 交易所编号
+		optional string TradeDate = 8; // 交易日
+		optional string CenterTicket = 9; // 中心流水号
+		optional string CenterErrCode = 10; // 中心返回码
+		optional string CenterErrMsg = 11; // 中心返回结果说明
+		optional string CerterCheckDate = 12; // 中心对账日期
+		optional string NetAddr = 13; // 网络地址(当这里有网址时,应自动跳转网页)
+}
+
+// 入金请求
+message t2bBankDepositReq {
+	optional MessageHead Header = 1;
+		required uint64 ExtOperatorID = 2; // 外部操作流水号
+		required string CusBankID = 3; // 托管银行编号
+		optional string ExchId = 4; // 交易所编号
+		optional string TradeDate = 5; // 交易日
+		optional string ExchTicket = 6; // 交易所流水号
+		required string AccountCode = 7; // 资金账户
+		optional string BusinessNo = 8; // 银行业务编号
+		optional string BankChildAccount = 9; // 银行子账号
+		optional string BankChildAccountName = 10; // 银行子账号名
+		optional string OldTaPWD = 11; // 资金密码
+		required double Amount = 12; // 金额
+		required string Currency = 13; // 币种
+		optional string Remark = 14; // 备注
+		optional string OpenCardBankId = 15; // 银行卡行号
+		optional string BankAccoutNum = 16; // 银行卡号
+		optional string BankAccoutName = 17; // 银行卡户名
+		optional string extend_info = 18; // 扩展信息(JSON串,参考配置要求进行填充)
+}
+
+// 入金应答
+message t2bBankDepositRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 ExtOperatorID = 4; // 外部操作流水号
+		optional int32 Status = 5; // 状态(0成功,其他数值参考银行服务的错误码)
+		required string ExchTicket = 6; // 交易所流水号
+		optional string ExchId = 7; // 交易所编号
+		optional string TradeDate = 8; // 交易日
+		optional string CenterTicket = 9; // 中心流水号
+		optional string CenterErrCode = 10; // 中心返回码
+		optional string CenterErrMsg = 11; // 中心返回结果说明
+		optional string CerterCheckDate = 12; // 中心对账日期
+		optional string NetAddr = 13; // 网络地址(当这里有网址时,应自动跳转网页)
+}
+
+// 仓单服务公共协议结构
+message WRCommon {
+	optional uint64 UserID = 1; // 用户ID
+	optional uint64 RelatedOrderID = 2; // 关联ID
+	optional uint64 BusinessID = 3; // 业务ID
+	optional uint64 TradeID = 4; // 成交ID
+	optional uint64 AccountID = 5; // 账号ID
+}
+
+// 仓库申请请求 0 29 141
+message WarehouseApplyReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 userid = 2; // uint64 用户ID
+	optional int32 type = 3; // int32 类型 1 新增 2 修改
+	optional uint64 warehouseid = 4; // uint64 仓库ID
+	optional string warehousecode = 5; // string 仓库代码
+	optional string warehousename = 6; // string 仓库名称
+	optional int32 warehousetype = 7; // int32 仓库类型 - 1 厂库  2 自有库  3 合作库
+	optional uint64 provinceid = 8; // uint64 省
+	optional uint64 cityid = 9; // uint64 市
+	optional int32 districtid = 10; // int32 区
+	optional string address = 11; // string 详细地址
+	optional string contactname = 12; // string 联系人
+	optional string contactnum = 13; // string 联系电话
+}
+
+// 仓库申请请求 0 29 142
+message WarehouseApplyRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 warehouseid = 4; // uint64 仓库ID
+}
+
+// 违约申请请求 0 20 9
+message PerformanceContractedApplyReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 PerformancePlanID = 2; // uint64 履约计划ID
+	optional uint32 BreachType = 3; // uint32 违约方类型
+	optional uint64 Applicant = 4; // uint64 违约申请人
+	optional string ApplyRemark = 5; // string 申请备注
+	optional string Attachment = 6; // string 附件
+}
+
+// 违约申请应答 0 20 10
+message PerformanceContractedApplyRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 PerformancePlanID = 4; // uint64 履约计划ID
+}
+
+// 延期申请请求 0 20 5
+message PerformanceDelayApplyReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 PerformancePlanStepID = 2; // uint64 履约计划步骤ID
+	optional uint32 delaydays = 3; // uint32 申请延期天数
+	optional uint64 applicant = 4; // uint64 申请人
+	optional string applyremark = 5; // string 申请备注
+}
+
+// 延期申请应答 0 20 6
+message PerformanceDelayApplyRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 PerformancePlanStepID = 4; // uint64 履约计划步骤ID
+	optional uint64 applicant = 5; // uint64 申请人
+}
+
+// 履约手动确认请求 0 20 3
+message PerformanceManualConfirmReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 PerformancePlanStepID = 2; // uint64 履约计划步骤ID
+	optional double OverShortAmount = 3; // double 溢短金额
+	optional uint32 PerformanceExecuteSide = 4; // uint32 履约步骤执行方 1买方 2 卖方
+	optional string StepRemark = 5; // string 步骤备注
+	optional double OverShortQty = 6; // double 溢短数量
+	optional double ExpressFee = 7; // double 运费金额
+}
+
+// 履约手动确认应答 0 20 4
+message PerformanceManualConfirmRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 PerformancePlanStepID = 4; // uint64 履约计划步骤ID
+}
+
+// 履约修改联络信息请求 0 20 15
+message PerformanceModifyContactReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 PerformancePlanID = 2; // uint64 履约计划ID
+	optional uint64 AccountID = 3; // uint64 账号
+	optional string ContactInfo = 4; // string 联络信息
+}
+
+// 履约修改联络信息回应 0 20 16
+message PerformanceModifyContactRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 PerformancePlanID = 4; // uint64 履约计划ID
+	optional uint64 AccountID = 5; // uint64 账号
+}
+
+// 新增钻石商品接口响应
+message AddZSGoodsRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账户ID
+		optional uint64 WRStandardID = 6; // 现货商品ID
+		optional uint64 WRFactorTypeID = 7; // 仓单要素类型ID
+		optional uint64 LadingBillID = 8; // 提单ID
+		optional uint32 SubNum = 9; // 提单子单号
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 商品收藏操作接口请求
+message GoodsFavoriteOperateReq {
+	optional MessageHead Header = 1;
+		optional uint32 UserID = 2; // 用户ID,必填
+		optional uint64 WRTradeOrderID = 3; // 委托单ID,必填
+		optional uint32 OperateType = 4; // 操作类型,1:添加2:删除,必填
+		optional uint32 ClientType = 5; // 终端类型
+		optional uint32 MarketID = 6; // 市场ID,必填
+		optional string ClientSerialNo = 7; // 客户端流水号
+}
+
+// 商品收藏操作接口应答
+message GoodsFavoriteOperateRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 WRTradeOrderID = 5; // 委托单ID
+		optional string ClientSerialNo = 6; // 客户端流水号
+}
+
+// 钻石买挂牌属性
+message GZBuyOrderDetailExInfo {
+    optional uint64 UserID = 1; // 用户ID
+    optional uint64 AccountID = 2; // 资金账户ID
+    optional uint32 ZSCategory = 3; // 钻石分类
+    repeated uint32 ZSCurrencyType = 4; // 货币类型
+    repeated uint32 ZSShapeType = 5; // 形状
+    repeated uint32 ZSColorType = 6; // 颜色
+    repeated uint32 ZSClarityType = 7; // 净度
+    repeated uint32 ZSCutType = 8; // 切工
+    repeated uint32 ZSSymmetryType = 9; // 对称度
+    repeated uint32 ZSPolishType = 10; // 抛光度
+    repeated uint32 ZSFluorescenceType = 11; // 荧光
+    repeated double Size = 12; // 尺寸
+    repeated uint32 ZSCrystalType = 13; // 晶型
+    optional string Origin = 14; // 原产地
+    repeated uint32 ZSStyleType = 15; // 款式
+    repeated uint32 ZSCZColor1Type = 16; // 彩钻颜色1
+    repeated uint32 ZSCZColor2Type = 17; // 彩钻颜色2
+    repeated uint32 ZSCZColor3Type = 18; // 彩钻颜色3
+    optional string Remark = 19; // 备注
+    repeated uint64 WarehouseIDs = 20; // 仓库ID
+}
+
+// 钻石买挂牌接口请求
+message ZSBuyOrderListingReq {
+	optional MessageHead Header = 1;
+	optional uint32 UserID = 2; // 用户ID,必填
+	optional uint64 AccountID = 3; // 资金账号,必填
+	optional GZBuyOrderDetailExInfo GZ_BuyOrderDetailExInfo = 4; // 钻石买挂牌属性
+	optional int64 PerformanceTemplateID = 5; // 履约计划模板ID
+	optional uint32 MarketID = 6; // 市场ID,必填
+	optional uint32 OrderSrc = 7; // 委托来源
+	optional string ClientOrderTime = 8; // 客户端委托时间
+	optional uint32 ClientType = 9; // 终端类型
+	optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 钻石买挂牌接口应答
+message ZSBuyOrderListingRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 WRTradeOrderID = 6; // 仓单贸易委托单ID
+		optional string OrderTime = 7; // 接收委托交易的时间
+		optional string ClientSerialNo = 8; // 客户端流水号
+}
+
 // 钻石卖挂牌接口请求
 message ZSSellOrderListingReq {
 	optional MessageHead Header = 1;
@@ -48,4 +518,212 @@ message ZSSellOrderListingRsp {
 		optional uint64 FreezeQty = 7; // 冻结数量
 		optional string OrderTime = 8; // 接收委托交易的时间
 		optional string ClientSerialNo = 9; // 客户端流水号
+}
+
+// 钻石买摘牌接口请求
+message ZSBuyOrderDestingReq {
+	optional MessageHead Header = 1;
+	optional uint32 UserID = 2; // 用户ID,必填
+	optional uint64 AccountID = 3; // 资金账号,必填
+	optional uint64 RelatedWRTradeOrderID = 4; // 卖委托单号,必填
+	optional double OrderQty = 5; // 委托数量,必填2位小数,为WeigthAvg的整数倍
+	optional uint32 OrderSrc = 6; // 委托来源
+	optional string ClientSerialNo = 7; // 客户端流水号
+	optional string ClientOrderTime = 8; // 客户端委托时间
+	optional uint32 ClientType = 9; // 终端类型
+	optional uint64 OperatorID = 10; // 操作员账号ID
+	optional uint64 MarketID = 11; // 市场ID,必填
+}
+
+// 钻石买摘牌接口响应
+message ZSBuyOrderDestingRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 WRTradeOrderID = 6; // 仓单贸易委托单ID
+		optional uint64 RelatedWRTradeOrderID = 7; // 关联委托单号(摘牌委托关联挂牌委托单ID)
+		optional double FreezeAmount = 8; // 冻结货款
+		optional string OrderTime = 9; // 接收委托交易的时间
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 钻石卖摘牌申请接口请求
+message ZSSellOrderDestingApplyReq {
+	optional MessageHead Header = 1;
+		optional uint64 UserID = 2; // 用户ID,必填
+		optional uint64 AccountID = 3; // 资金账户ID,必填
+		optional uint64 BuyWRTradeOrderID = 4; // 买挂牌委托单ID,必填
+		optional uint64 WRStandardID = 5; // 现货商品ID,必填
+		optional uint64 WRFactorTypeID = 6; // 仓单要素类型ID,必填
+		optional double ApplyQty = 7; // 申请数量,必填,2位小数
+		optional double ApplyPrice = 8; // 申请价格,必填,2位小数
+		optional uint64 LadingBillID = 9; // 提单ID,必填
+		optional uint32 SubNum = 10; // 提单子单号,必填
+		optional string ApplyRemark = 11; // 备注
+		optional uint32 ClientType = 12; // 终端类型
+		optional string ClientSerialNo = 13; // 客户端流水号
+		optional uint64 MarketID = 14; // 市场ID,必填
+}
+
+// 钻石卖摘牌申请接口响应
+message ZSSellOrderDestingApplyRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 ApplyID = 6; // 仓单贸易委托单ID
+		optional string ClientSerialNo = 7; // 客户端流水号
+}
+
+// 钻石卖摘牌申请操作接口请求
+message ZSSellOrderDestingApplyOperateReq {
+	optional MessageHead Header = 1;
+		optional uint32 UserID = 2; // 用户ID,必填
+		optional uint64 AccountID = 3; // 资金账号
+		optional uint64 SellDelistingApplyID = 4; // 卖摘牌申请ID,必填
+		optional string AuditRemark = 5; // 备注
+		optional uint32 OperateType = 6; // 操作类型,1:撤销2:拒绝
+		optional uint32 MarketID = 7; // 市场ID,必填
+		optional uint32 ClientType = 8; // 终端类型
+		optional uint32 OrderSrc = 9; // 委托来源
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 钻石卖摘牌申请操作接口应答
+message ZSSellOrderDestingApplyOperateRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 SellDelistingApplyID = 6; // 卖摘牌申请ID
+		optional uint64 WRTradeOrderID = 7; // 仓单贸易委托单ID
+		optional double FreezeAmount = 8; // 冻结货款
+		optional string OrderTime = 9; // 接收委托交易的时间
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 买摘牌询价接口请求
+message ZSBuyOrderDestingNegPriceReq {
+	optional MessageHead Header = 1;
+	optional uint32 UserID = 2; // 用户ID,必填
+	optional uint64 AccountID = 3; // 资金账号,必填
+	optional uint64 RelatedOrderID = 4; // 卖委托单号,必填
+	optional double OrderQty = 5; // 议价数量,2位小数,必填
+	optional double ApplyPrice = 6; // 协议价格,2位小数,必填
+	optional uint32 OrderSrc = 7; // 委托来源
+	optional string ClientSerialNo = 8; // 客户端流水号
+	optional string ClientOrderTime = 9; // 客户端委托时间
+	optional uint32 ClientType = 10; // 终端类型
+	optional uint64 OperatorID = 11; // 操作员账号ID
+	optional uint32 MarketID = 12; // 市场ID,必填
+	optional string ApplyRemark = 13; // 申请备注
+}
+
+// 买摘牌询价接口应答
+message ZSBuyOrderDestingNegPriceRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 WRTradeOrderID = 6; // 摘牌委托单ID
+		optional uint64 WRBargainID = 7; // 议价申请单ID
+		optional string OrderTime = 8; // 接收委托交易的时间
+		optional string ClientSerialNo = 9; // 客户端流水号
+}
+
+// 买摘牌询价操作接口请求
+message ZSBuyOrderDestingNegPriceOperateReq {
+	optional MessageHead Header = 1;
+		optional uint32 UserID = 2; // 用户ID,必填
+		optional uint64 AccountID = 3; // 资金账号,必填
+		optional uint64 WRBargainID = 4; // 议价申请单ID,必填
+		optional string AuditRemark = 5; // 备注
+		optional uint32 OperateType = 6; // 操作类型,1:撤销2:拒绝
+		optional uint32 MarketID = 7; // 市场ID,必填
+		optional uint32 ClientType = 8; // 终端类型
+		optional uint32 OrderSrc = 9; // 委托来源
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 买摘牌询价操作接口应答
+message ZSBuyOrderDestingNegPriceOperateRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint32 UserID = 4; // 用户ID
+		optional uint64 AccountID = 5; // 资金账号
+		optional uint64 WRBargainID = 6; // 卖委托单号
+		optional string ClientSerialNo = 7; // 客户端流水号
+}
+
+// 挂牌撤单请求
+message WRListingCancelOrderReq {
+	optional MessageHead Header = 1;
+		optional uint32 UserID = 2; // 用户ID
+		optional uint64 AccountID = 3; // 资金账号
+		optional uint64 OldWRTradeOrderID = 4; // 目标仓单贸易委托单ID
+		optional uint32 OrderSrc = 5; // 委托来源
+		optional string ClientSerialNo = 6; // 客户端流水号
+		optional string ClientOrderTime = 7; // 客户端委托时间
+		optional uint32 ClientType = 8; // 终端类型
+		optional uint64 OperatorID = 9; // 操作员账号ID
+		optional uint32 BuyOrSell = 10; // 买卖方向
+		optional uint64 WRID = 11; // 仓单ID,卖的时候填写
+}
+
+// 挂牌撤单应答
+message WRListingCancelOrderRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional uint64 WRTradeCancelID = 4; // 仓单贸易撤单号
+		optional uint64 OldWRTradeOrderID = 5; // 目标仓单贸易委托单ID
+		optional uint32 UserID = 6; // 用户ID
+		optional uint64 AccountID = 7; // 资金账号
+		optional uint64 CancelQty = 8; // 撤单数量
+		optional string OrderTime = 9; // 接受撤单的时间
+		optional string ClientSerialNo = 10; // 客户端流水号
+}
+
+// 钻石出库申请接口请求
+message ReceiptZSOutApplyReq {
+	optional MessageHead Header = 1;
+		optional WRCommon Common = 2; // 
+		optional uint64 UserID = 3; // 用户ID,必填
+		optional uint64 AccountID = 4; // 用户帐户ID
+			optional uint64 WRStandardID = 5; // 现货品种ID
+		optional uint32 WarehouseID = 6; // 仓库ID
+		optional string Mobile = 7; // 申请人手机号
+		optional string AppointmentDate = 8; // 预约日期
+		optional int32 AppointmentModel = 9; // 预约方式:1-物流3-自提
+		optional uint64 CountryID = 10; // 国家
+		optional uint64 ProvinceID = 11; // 省
+		optional uint64 DistrictID = 12; // 区
+		optional uint64 CityID = 13; // 市
+		optional string Address = 14; // 详细地址
+		optional string ContactName = 15; // 收货人提货人
+		optional string ContactNum = 16; // 收货人提货人手机
+		optional string AppointmentRemark = 17; // 预约备注
+		optional uint64 LadingBillID = 18; // 提单ID,必填
+		optional uint32 SubNum = 19; // 提单子单号,必填
+		optional double Qty = 20; // 出库数量,两位小数,必填
+		optional string Remark = 21; // 备注
+		optional uint32 ApplyType = 22; // 申请类型1:会员申请2:平台申请
+		optional uint32 ClientType = 23; // 终端类型
+		optional string ClientTicket = 24; // 客户端流水号
+}
+
+// 钻石出库申请接口响应
+message ReceiptZSOutApplyRsp {
+	optional MessageHead Header = 1; // 消息头
+	optional int32 RetCode = 2; // 返回码
+	optional string RetDesc = 3; // 描述信息
+		optional WRCommon Common = 4; // 
+		optional uint64 ApplyID = 5; // 申请ID
+		optional string ClientTicket = 6; // 客户端流水号
 }

+ 0 - 4
service/account/login.go

@@ -52,10 +52,6 @@ func Login(req request.LoginReq, addr string) (loginaccount *accountModel.Logina
 // getLoginAccount 分别尝试用LoginID、LoginCode和手机号码进行登录
 func getLoginAccount(userName string, password string) (loginaccount *accountModel.Loginaccount, err error) {
 	// 密码解密(5.0报文解密)
-	// if _, err = base64.StdEncoding.Decode(d, []byte(password)); err != nil {
-	// 	return
-	// }
-
 	d, err := base64.StdEncoding.DecodeString(password)
 	if err != nil {
 		return

+ 3 - 3
service/mq/mq.go

@@ -51,9 +51,9 @@ func SendMQ(c *gin.Context, req *request.MQBodyReq) (err error) {
 	client.SetAsyncTask(&asyncTask, key)
 
 	// 获取对应主题
-	topic, exists := global.M2A_FuncodeTopic[int(req.FunCodeReq)]
-	if !exists {
-		err = errors.New("获取主题失败")
+	// topic, exists := global.M2A_FuncodeTopic[int(req.FunCodeReq)]
+	topic := global.GetTopic(int(req.FunCodeReq))
+	if topic == "" {
 		global.M2A_LOG.Error(err.Error(), zap.Error(err))
 		return
 	}