This commit is contained in:
谢小军
2020-06-09 17:38:34 +08:00
parent fcc9bd7f7b
commit 1a914536a1
6 changed files with 288 additions and 271 deletions

100
message/def.go Normal file
View File

@@ -0,0 +1,100 @@
package message
// 错误消息类型
type ErrCode int
const ( //消息id定义
NormalMessageID ErrCode = 0 // 默认的返回值
ServerMaintenance ErrCode = 1 // 服务器维护中 请稍后再试
AccountDisabled ErrCode = 2 // 帐号被禁用
AppidOverdue ErrCode = 3 // appid过期
UnknownError ErrCode = 101 // 未知错误
TokenFailure ErrCode = 102 // token失效
HTMLSuccess ErrCode = 200 // 成功
BlockingAcess ErrCode = 405 // 禁止访问
NewReport ErrCode = 2001 // 新消息
NewHeart ErrCode = 2002 // 心跳
ParameterInvalid ErrCode = 1001 // 参数无效
AppidParameterInvalid ErrCode = 1002 // appid参数无效
EncryptCheckError ErrCode = 1003 // 密文校验失败,aa
UserNameDoNotExist ErrCode = 1004 // 用户名不存在或密码错误
DuplicateKeyError ErrCode = 1005 // 键值对重复
InValidOp ErrCode = 1007 // 无效操作
NotFindError ErrCode = 1006 // 未找到
InValidAuthorize ErrCode = 1008 // 授权码错误
HasusedError ErrCode = 1009 // 已被使用
HasActvError ErrCode = 1010 // 已被激活
ActvFailure ErrCode = 1011 // 激活码被禁止使用
UserExisted ErrCode = 1012 // 用户已存在
VerifyTimeError ErrCode = 1013 // 验证码请求过于平凡
MailSendFaild ErrCode = 1014 // 邮箱发送失败
SMSSendFaild ErrCode = 1015 // 手机发送失败
PhoneParameterError ErrCode = 1016 // 手机号格式有问题
VerifyError ErrCode = 1017 // 验证码错误
UserNotExisted ErrCode = 1018 // 用户不存在
TopicExisted ErrCode = 1019 // topic已经存在
TopicNotExisted ErrCode = 1020 // topic不存在
BundleIDNotExisted ErrCode = 1021 // bundle_id不存在
TopicStartFail ErrCode = 1022 // topic开启处理失败
TopicTypeNotExisted ErrCode = 1023 // topic处理类型不存在
TopicIsNotNull ErrCode = 1024 // topic不能为空
DeviceNotExisted ErrCode = 1025 // 设备不存在
StateExisted ErrCode = 1027 // 状态已存在
LastMenuNotExisted ErrCode = 1028 // 上级菜单不存在
MenuNotExisted ErrCode = 1029 // 菜单不存在
UserMenuNotExisted ErrCode = 1030 // 用户权限不存在
DeviceIDNotExisted ErrCode = 1031 // 设备ID不存在
GoodsDealTypeNotExisted ErrCode = 1032 // 商品处理类型不存在
GoodsIDNotExisted ErrCode = 1033 // 商品不存在
GoodsBeInDiscount ErrCode = 1034 // 商品正在打折
GoodsPayTypeNotExisted ErrCode = 1035 // 商品可支付类型不存在
GoodsIDExisted ErrCode = 1036 // 商品已存在
OrderIDNotExisted ErrCode = 1043 // 订单不存在
GoodsBeNotInDiscount ErrCode = 1044 // 商品未打折
NotifyIsNotMatch ErrCode = 1045 // 会话不匹配
GoodsIsDiscountRecovery ErrCode = 1046 // 商品已恢复原价
InvitationUserNotExisted ErrCode = 1047 // 邀请用户不存在
InvitationUserLevelIsFull ErrCode = 1048 // 邀请用户级数已满
UserNotAuthorize ErrCode = 1049 // 用户未授权
ApplicantIsExisted ErrCode = 1050 // 申请人已存在
ApplicantNotExisted ErrCode = 1051 // 申请人不存在
CreditOrderNotVaild ErrCode = 1052 // 订单无效
RepeatWxWithdraw ErrCode = 1053 // 微信零钱重复提现
WxWithdrawAmountError ErrCode = 1054 // 提现金额错误
WxWithdrawError ErrCode = 1055 // 微信提现失败
RepeatSubmission ErrCode = 1056 // 重复提交
BundleExisted ErrCode = 1057 // bundle已存在
AuthExisted ErrCode = 1058 // 权限已存在
AuthNotExisted ErrCode = 1059 // 权限不存在
RoomTypeNotExisted ErrCode = 1060 // 房型不存在
RoomTypeExisted ErrCode = 1061 // 房型已存在
RoomNoNotExisted ErrCode = 1062 // 房间不存在
RoomNoExisted ErrCode = 1063 // 房间已存在
RateTypeExisted ErrCode = 1064 // 房价代码或房价名称已存在
RateTypeNotExisted ErrCode = 1065 // 房价代码不存在
FileNotExisted ErrCode = 1066 // 文件不存在
RoomNoInvaild ErrCode = 1067 // 房间未启用
ClassExisted ErrCode = 1068 // 班次已存在
ClassNotExisted ErrCode = 1069 // 班次不存在
CheckTimeError ErrCode = 1070 // 系统时间与营业时间不匹配
CurrentClassIsShift ErrCode = 1071 // 当前班次已交班
PayPriceError ErrCode = 1072 // 支付金额错误
StockNotEnough ErrCode = 1073 // 存量不足
DBSaveError ErrCode = 1074 // 数据存储错误
DBAddError ErrCode = 1075 // 数据添加错误
DBUpdateError ErrCode = 1076 // 数据更新错误
DBDeleteError ErrCode = 1077 // 数据删除错误
TimeError ErrCode = 1078 // 时间错误
OrderInfoError ErrCode = 1079 // 预定信息错误
NotVaildError ErrCode = 1080 // 不允许
Overdue ErrCode = 1081 // 已过期
MaxOverError ErrCode = 1082 // 超过最大值
MinOverError ErrCode = 1083 // 低于最小值
ExistedError ErrCode = 1084 // 已存在
NotBindError ErrCode = 1085 // 未绑定
BindError ErrCode = 1086 // 绑定失败
CalError ErrCode = 1087 // 计算错误
)

149
message/errcode_string.go Normal file
View File

@@ -0,0 +1,149 @@
// Code generated by "stringer -type=ErrCode -linecomment"; DO NOT EDIT.
package message
import "strconv"
func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[NormalMessageID-0]
_ = x[ServerMaintenance-1]
_ = x[AccountDisabled-2]
_ = x[AppidOverdue-3]
_ = x[UnknownError-101]
_ = x[TokenFailure-102]
_ = x[HTMLSuccess-200]
_ = x[BlockingAcess-405]
_ = x[NewReport-2001]
_ = x[NewHeart-2002]
_ = x[ParameterInvalid-1001]
_ = x[AppidParameterInvalid-1002]
_ = x[EncryptCheckError-1003]
_ = x[UserNameDoNotExist-1004]
_ = x[DuplicateKeyError-1005]
_ = x[InValidOp-1007]
_ = x[NotFindError-1006]
_ = x[InValidAuthorize-1008]
_ = x[HasusedError-1009]
_ = x[HasActvError-1010]
_ = x[ActvFailure-1011]
_ = x[UserExisted-1012]
_ = x[VerifyTimeError-1013]
_ = x[MailSendFaild-1014]
_ = x[SMSSendFaild-1015]
_ = x[PhoneParameterError-1016]
_ = x[VerifyError-1017]
_ = x[UserNotExisted-1018]
_ = x[TopicExisted-1019]
_ = x[TopicNotExisted-1020]
_ = x[BundleIDNotExisted-1021]
_ = x[TopicStartFail-1022]
_ = x[TopicTypeNotExisted-1023]
_ = x[TopicIsNotNull-1024]
_ = x[DeviceNotExisted-1025]
_ = x[StateExisted-1027]
_ = x[LastMenuNotExisted-1028]
_ = x[MenuNotExisted-1029]
_ = x[UserMenuNotExisted-1030]
_ = x[DeviceIDNotExisted-1031]
_ = x[GoodsDealTypeNotExisted-1032]
_ = x[GoodsIDNotExisted-1033]
_ = x[GoodsBeInDiscount-1034]
_ = x[GoodsPayTypeNotExisted-1035]
_ = x[GoodsIDExisted-1036]
_ = x[OrderIDNotExisted-1043]
_ = x[GoodsBeNotInDiscount-1044]
_ = x[NotifyIsNotMatch-1045]
_ = x[GoodsIsDiscountRecovery-1046]
_ = x[InvitationUserNotExisted-1047]
_ = x[InvitationUserLevelIsFull-1048]
_ = x[UserNotAuthorize-1049]
_ = x[ApplicantIsExisted-1050]
_ = x[ApplicantNotExisted-1051]
_ = x[CreditOrderNotVaild-1052]
_ = x[RepeatWxWithdraw-1053]
_ = x[WxWithdrawAmountError-1054]
_ = x[WxWithdrawError-1055]
_ = x[RepeatSubmission-1056]
_ = x[BundleExisted-1057]
_ = x[AuthExisted-1058]
_ = x[AuthNotExisted-1059]
_ = x[RoomTypeNotExisted-1060]
_ = x[RoomTypeExisted-1061]
_ = x[RoomNoNotExisted-1062]
_ = x[RoomNoExisted-1063]
_ = x[RateTypeExisted-1064]
_ = x[RateTypeNotExisted-1065]
_ = x[FileNotExisted-1066]
_ = x[RoomNoInvaild-1067]
_ = x[ClassExisted-1068]
_ = x[ClassNotExisted-1069]
_ = x[CheckTimeError-1070]
_ = x[CurrentClassIsShift-1071]
_ = x[PayPriceError-1072]
_ = x[StockNotEnough-1073]
_ = x[DBSaveError-1074]
_ = x[DBAddError-1075]
_ = x[DBUpdateError-1076]
_ = x[DBDeleteError-1077]
_ = x[TimeError-1078]
_ = x[OrderInfoError-1079]
_ = x[NotVaildError-1080]
_ = x[Overdue-1081]
_ = x[MaxOverError-1082]
_ = x[MinOverError-1083]
_ = x[ExistedError-1084]
_ = x[NotBindError-1085]
_ = x[BindError-1086]
_ = x[CalError-1087]
}
const (
_ErrCode_name_0 = "默认的返回值服务器维护中 请稍后再试帐号被禁用appid过期"
_ErrCode_name_1 = "未知错误token失效"
_ErrCode_name_2 = "成功"
_ErrCode_name_3 = "禁止访问"
_ErrCode_name_4 = "参数无效appid参数无效密文校验失败,aa用户名不存在或密码错误键值对重复未找到无效操作授权码错误已被使用已被激活激活码被禁止使用用户已存在验证码请求过于平凡邮箱发送失败手机发送失败手机号格式有问题验证码错误用户不存在topic已经存在topic不存在bundle_id不存在topic开启处理失败topic处理类型不存在topic不能为空设备不存在"
_ErrCode_name_5 = "状态已存在上级菜单不存在菜单不存在用户权限不存在设备ID不存在商品处理类型不存在商品不存在商品正在打折商品可支付类型不存在商品已存在"
_ErrCode_name_6 = "订单不存在商品未打折会话不匹配商品已恢复原价邀请用户不存在邀请用户级数已满用户未授权申请人已存在申请人不存在订单无效微信零钱重复提现提现金额错误微信提现失败重复提交bundle已存在权限已存在权限不存在房型不存在房型已存在房间不存在房间已存在房价代码或房价名称已存在房价代码不存在文件不存在房间未启用班次已存在班次不存在系统时间与营业时间不匹配当前班次已交班支付金额错误存量不足数据存储错误数据添加错误数据更新错误数据删除错误时间错误预定信息错误不允许已过期超过最大值低于最小值已存在未绑定绑定失败计算错误"
_ErrCode_name_7 = "新消息心跳"
)
var (
_ErrCode_index_0 = [...]uint8{0, 18, 52, 67, 78}
_ErrCode_index_1 = [...]uint8{0, 12, 23}
_ErrCode_index_4 = [...]uint16{0, 12, 29, 50, 83, 98, 107, 119, 134, 146, 158, 182, 197, 224, 242, 260, 284, 299, 314, 331, 345, 363, 386, 412, 429, 444}
_ErrCode_index_5 = [...]uint8{0, 15, 36, 51, 72, 89, 116, 131, 149, 179, 194}
_ErrCode_index_6 = [...]uint16{0, 15, 30, 45, 66, 87, 111, 126, 144, 162, 174, 198, 216, 234, 246, 261, 276, 291, 306, 321, 336, 351, 387, 408, 423, 438, 453, 468, 504, 525, 543, 555, 573, 591, 609, 627, 639, 657, 666, 675, 690, 705, 714, 723, 735, 747}
_ErrCode_index_7 = [...]uint8{0, 9, 15}
)
func (i ErrCode) String() string {
switch {
case 0 <= i && i <= 3:
return _ErrCode_name_0[_ErrCode_index_0[i]:_ErrCode_index_0[i+1]]
case 101 <= i && i <= 102:
i -= 101
return _ErrCode_name_1[_ErrCode_index_1[i]:_ErrCode_index_1[i+1]]
case i == 200:
return _ErrCode_name_2
case i == 405:
return _ErrCode_name_3
case 1001 <= i && i <= 1025:
i -= 1001
return _ErrCode_name_4[_ErrCode_index_4[i]:_ErrCode_index_4[i+1]]
case 1027 <= i && i <= 1036:
i -= 1027
return _ErrCode_name_5[_ErrCode_index_5[i]:_ErrCode_index_5[i+1]]
case 1043 <= i && i <= 1087:
i -= 1043
return _ErrCode_name_6[_ErrCode_index_6[i]:_ErrCode_index_6[i+1]]
case 2001 <= i && i <= 2002:
i -= 2001
return _ErrCode_name_7[_ErrCode_index_7[i]:_ErrCode_index_7[i+1]]
default:
return "ErrCode(" + strconv.FormatInt(int64(i), 10) + ")"
}
}

View File

@@ -1,13 +0,0 @@
package message
import "github.com/xxjwxc/public/errors"
// GetErrFromID 通过id返回错误信息
func GetErrFromID(codeID int) error {
if _, ok := MessageMap[codeID]; ok {
return errors.New(MessageMap[codeID])
}
// 返回默认值
return errors.New(MessageMap[-1])
}

4
message/gogenerate.go Normal file
View File

@@ -0,0 +1,4 @@
package message
//go install golang.org/x/tools/cmd/stringer // 安装
//go:generate stringer -type=ErrCode -linecomment

View File

@@ -4,209 +4,13 @@
package message
import (
"encoding/json"
"fmt"
"log"
"sync"
"github.com/bitly/go-simplejson"
"github.com/xxjwxc/public/dev"
"github.com/xxjwxc/public/tools"
"github.com/xxjwxc/public/mylog"
)
const ( //消息id定义
NormalMessageId = 0 ////默认的返回值为0自增
ServerMaintenance = 1 //服务器维护中 请稍后再试,服务器出错会回这个信息,暂时不用
AccountDisabled = 2 //帐号被禁用
AppidOverdue = 3 //appid过期
UnknownError = 101 //未知错误
TokenFailure = 102 //token失效
HTMLSuccess = 200 //成功
BlockingAcess = 405 //禁止访问( 禁用请求中所指定的方法)
NewReport = 2001 //新消息
NewHeart = 2002 //心跳
ParameterInvalid = 1001 //参数无效
AppidParameterInvalid = 1002 //appid参数无效
EncryptCheckError = 1003 //密文校验失败
UserNameDoNotExist = 1004 //用户名不存在或密码错误
DuplicateKeyError = 1005 //键值对重复
InValidOp = 1007 //无效操作
NotFindError = 1006 //未找到
InValidAuthorize = 1008 //授权码错误
HasusedError = 1009 //已被使用
HasActvError = 1010 //已被激活
ActvFailure = 1011 // 激活码被禁止使用
UserExisted = 1012 //用户已存在
VerifyTimeError = 1013 //验证码请求过于平凡
MailSendFaild = 1014 //邮箱发送失败
SMSSendFaild = 1015 //手机发送失败
PhoneParameterError = 1016 //手机号格式有问题
VerifyError = 1017 //验证码错误
UserNotExisted = 1018 //用户不存在
TopicExisted = 1019 //topic已经存在
TopicNotExisted = 1020 //topic不存在
BundleIdNotExisted = 1021 //bundle_id不存在
TopicStartFail = 1022 //topic开启处理失败
TopicTypeNotExisted = 1023 //topic处理类型不存在
TopicIsNotNull = 1024 //topic不能为空
DeviceNotExisted = 1025 //设备不存在
StateExisted = 1027 //状态已存在
LastMenuNotExisted = 1028 //上级菜单不存在
MenuNotExisted = 1029 //菜单不存在
UserMenuNotExisted = 1030 //用户权限不存在
DeviceIdNotExisted = 1031 //设备ID不存在
GoodsDealTypeNotExisted = 1032 //商品处理类型不存在
GoodsIdNotExisted = 1033 //商品不存在
GoodsBeInDiscount = 1034 //商品正在打折
GoodsPayTypeNotExisted = 1035 //商品可支付类型不存在
GoodsIdExisted = 1036 //商品已存在
OrderIdNotExisted = 1043 //订单不存在
GoodsBeNotInDiscount = 1044 //商品未打折
NotifyIsNotMatch = 1045 //会话不匹配
GoodsIsDiscountRecovery = 1046 //商品已恢复原价
InvitationUserNotExisted = 1047 //邀请用户不存在
// InvitationUserLevelIsFull = 1048 //邀请用户级数已满
UserNotAuthorize = 1049 //用户未授权
ApplicantIsExisted = 1050 //申请人已存在
ApplicantNotExisted = 1051 //申请人不存在
CreditOrderNotVaild = 1052 //订单无效
RepeatWxWithdraw = 1053 //微信零钱重复提现
WxWithdrawAmountError = 1054 //提现金额错误
WxWithdrawError = 1055 //微信提现失败
RepeatSubmission = 1056 //重复提交
BundleExisted = 1057 //bundle已存在
AuthExisted = 1058 //权限已存在
AuthNotExisted = 1059 //权限不存在
RoomTypeNotExisted = 1060 //房型不存在
RoomTypeExisted = 1061 //房型已存在
RoomNoNotExisted = 1062 //房间不存在
RoomNoExisted = 1063 //房间已存在
RateTypeExisted = 1064 //房价代码或房价名称已存在
RateTypeNotExisted = 1065 //房价代码不存在
FileNotExisted = 1066 //文件不存在
RoomNoInvaild = 1067 //房间未启用
ClassExisted = 1068 //班次已存在
ClassNotExisted = 1069 //班次不存在
CheckTimeError = 1070 //系统时间与营业时间不匹配
CurrentClassIsShift = 1071 //当前班次已交班
PayPriceError = 1072 //支付金额错误
StockNotEnough = 1073 //存量不足
DBSaveError = 1074 //数据存储错误
DBAddError = 1075 //数据添加错误
DBUpdateError = 1076 //数据更新错误
DBDeleteError = 1077 //数据删除错误
TimeError = 1078 //时间错误
OrderInfoError = 1079 //预定信息错误
NotVaildError = 1080 //不允许
Overdue = 1081 //已过期
MaxOverError = 1082 //超过最大值
MinOverError = 1083 //低于最小值
ExistedError = 1084 //已存在
NotBindError = 1085 //未绑定
BindError = 1086 //绑定失败
CalError = 1087 //计算错误
)
//消息翻译
var MessageMap = map[int]string{
NormalMessageId: "",
ServerMaintenance: "服务器维护中 请稍后再试",
AccountDisabled: "帐号被禁用",
AppidOverdue: "appid过期",
UnknownError: "未知错误",
TokenFailure: "Token失效",
HTMLSuccess: "成功",
BlockingAcess: "禁止访问",
NewReport: "新消息返回",
NewHeart: "心跳消息",
ParameterInvalid: "参数无效",
AppidParameterInvalid: "授权参数无效",
EncryptCheckError: "密文校验失败",
UserNameDoNotExist: "用户名不存在或密码错误",
DuplicateKeyError: "键值对重复",
NotFindError: "未找到",
InValidOp: "无效操作",
InValidAuthorize: "授权码错误或未找到",
HasusedError: "已被使用",
HasActvError: "已被激活",
ActvFailure: "激活码被禁止使用",
UserExisted: "用户已存在",
VerifyTimeError: "验证码请求过于平凡",
MailSendFaild: "邮箱发送失败",
SMSSendFaild: "手机发送失败",
PhoneParameterError: "手机号格式有问题",
VerifyError: "验证码错误",
UserNotExisted: "用户不存在",
TopicExisted: "Topic已存在",
TopicNotExisted: "Topic不存在",
BundleIdNotExisted: "Bundle_id不存在",
TopicStartFail: "Topic开启处理失败",
TopicTypeNotExisted: "Topic处理类型不存在",
TopicIsNotNull: "Topic不能为空",
DeviceNotExisted: "设备不存在",
StateExisted: "状态已存在",
LastMenuNotExisted: "父菜单或根菜单不存在",
MenuNotExisted: "菜单不存在",
UserMenuNotExisted: "用户权限不存在",
DeviceIdNotExisted: "设备ID不存在",
GoodsDealTypeNotExisted: "商品处理类型不存在",
GoodsIdNotExisted: "商品不存在",
GoodsBeInDiscount: "商品正在折扣期",
GoodsPayTypeNotExisted: "商品可支付类型不存在",
GoodsIdExisted: "商品已存在",
OrderIdNotExisted: "订单不存在",
GoodsBeNotInDiscount: "商品未打折",
NotifyIsNotMatch: "会话不匹配",
GoodsIsDiscountRecovery: "商品已恢复原价",
InvitationUserNotExisted: "邀请用户不存在",
// InvitationUserLevelIsFull: "邀请用户级数已满",
UserNotAuthorize: "用户未授权",
ApplicantIsExisted: "申请人已存在",
ApplicantNotExisted: "申请人不存在",
CreditOrderNotVaild: "订单无效",
RepeatWxWithdraw: "微信零钱一天内多次提现",
WxWithdrawAmountError: "微信零钱提现金额错误",
WxWithdrawError: "微信零钱提现失败",
RepeatSubmission: "重复提交",
BundleExisted: "bundle已存在",
AuthExisted: "权限已存在",
AuthNotExisted: "权限不存在",
RoomTypeNotExisted: "房型不存在",
RoomTypeExisted: "房型已存在",
RoomNoNotExisted: "房间不存在",
RoomNoExisted: "房间已存在",
RateTypeExisted: "房价代码或房价名称已存在",
RateTypeNotExisted: "房价代码不存在",
FileNotExisted: "文件不存在",
RoomNoInvaild: "房间未启用",
ClassExisted: "班次已存在",
ClassNotExisted: "班次不存在",
CheckTimeError: "系统时间与营业时间不匹配",
CurrentClassIsShift: "当前班次已完成交班",
PayPriceError: "支付金额错误",
StockNotEnough: "存量不足",
DBSaveError: "数据存储错误",
DBAddError: "数据添加错误",
DBUpdateError: "数据更新错误",
DBDeleteError: "数据删除错误",
TimeError: "时间错误",
OrderInfoError: "预定信息有误",
NotVaildError: "不允许",
Overdue: "已过期",
MaxOverError: "超过最大值",
MinOverError: "低于最小值",
ExistedError: "已存在",
NotBindError: "未绑定",
BindError: "绑定失败",
CalError: "计算错误",
}
//MessageBody 消息头
// MessageBody 消息头
type MessageBody struct {
State bool `json:"state"`
Code int `json:"code,omitempty"`
@@ -214,18 +18,10 @@ type MessageBody struct {
Data interface{} `json:"data,omitempty"`
}
var _MessageMap = map[string]int{}
func init() {
for k, v := range MessageMap {
_MessageMap[v] = k
}
}
//GetErrorMsg 获取错误消息 参数(int,string)
func GetErrorMsg(errorCode ...interface{}) (msg MessageBody) {
if len(errorCode) == 0 {
log.Println("未知")
mylog.ErrorString("unknow")
msg.State = false
msg.Code = -1
return
@@ -234,78 +30,59 @@ func GetErrorMsg(errorCode ...interface{}) (msg MessageBody) {
for _, e := range errorCode {
switch v := e.(type) {
case int:
msg.Code = int(int(v))
msg.Error = MessageMap[msg.Code]
msg.Code = int(v)
msg.Error = ErrCode(v).String()
case ErrCode:
_tryRegisteryCode(v)
msg.Code = int(v)
msg.Error = v.String()
case string:
msg.Error = string(v)
case error:
msg.Error = v.Error()
case interface{}:
{
if dev.IsDev() {
msg.Error = onCheckParam(v)
}
}
default:
msg.Error = fmt.Sprintf("Unknow type:(%v)", e)
}
}
return
}
func onCheckParam(op interface{}) string {
//过滤可不填项
b, _ := json.Marshal(op)
js, _ := simplejson.NewJson(b)
mp, _ := js.Map()
for k, v := range mp {
tmp := tools.AsString(v)
if len(tmp) > 0 && tmp != "0" { //过滤
delete(mp, k)
}
}
//----------------------end
b, _ = json.Marshal(mp)
return string(b)
}
// GetSuccessMsg 成功消息
func GetSuccessMsg(code ...int) (msg MessageBody) {
msg.State = true
func GetSuccessMsg(code ...ErrCode) (msg MessageBody) {
if len(code) == 0 {
msg.Code = NormalMessageId
} else {
msg.Code = code[0]
code = append(code, NormalMessageID)
}
_tryRegisteryCode(code[0])
msg.Error = MessageMap[msg.Code]
msg.State = true
msg.Code = int(code[0])
msg.Error = code[0].String()
return
}
//GetErrorStrMsg 获取错误消息 参数(int,string)
func GetErrorStrMsg(errorCode string) (msg MessageBody) {
if k, ok := _MessageMap[errorCode]; ok {
return GetErrorMsg(k)
}
// if k, ok := _MessageMap[errorCode]; ok {
// return GetErrorMsg(k)
// }
msg.State = false
msg.Code = -1
msg.Code = _tryGetCodeID(errorCode)
msg.Error = errorCode
return
}
// GetMsgStr 获取消息字符串
func GetMsgStr(code int) string {
if k, ok := MessageMap[code]; ok {
return k
var _mp sync.Map
func _tryRegisteryCode(code ErrCode) {
_mp.LoadOrStore(code.String(), int(code))
}
func _tryGetCodeID(codeStr string) int {
v, ok := _mp.Load(codeStr)
if ok {
return v.(int)
}
return "未知错误"
}
// GetError 获取错误信息
func GetError(code int) error {
return fmt.Errorf(GetMsgStr(code))
return -1
}

View File

@@ -15,6 +15,6 @@ func Test_sing(t *testing.T) {
var test Test
test.State = true
test.Error = ""
fmt.Println(onCheckParam(test))
fmt.Println(GetSuccessMsg(NormalMessageID))
fmt.Println(GetErrorStrMsg("默认的返回值"))
}