finclip-app-manager/infrastructure/utility/err_msg.go

271 lines
13 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package utility
import (
pb "finclip-app-manager/infrastructure/protobuf/golang"
"net/http"
"github.com/gin-gonic/gin"
)
const (
OK = "OK"
FS_NOT_FOUND = "FS_NOT_FOUND"
FS_BAD_JSON = "FS_BAD_JSON"
FS_DB_ERR = "FS_DB_ERR"
FS_SYSTEM_CALL = "FS_SYSTEM_CALL"
FS_LACK_OF_APPID = "FS_LACK_OF_APPID"
FS_LACK_OF_SDKKEY = "FS_LACK_OF_SDKKEY"
FS_APP_ID_NOT_FOUND = "FS_APP_ID_NOT_FOUND"
FS_APP_SEQUENCE_NOT_FOUND = "FS_APP_SEQUENCE_NOT_FOUND"
FS_GET_GROUP_FAILED = "FS_GET_GROUP_FAILED"
FS_GET_DOMAIN_INFO_ERROR = "FS_GET_DOMAIN_INFO_ERROR"
FS_GET_ACCOUNTINFO_ERROR = "FS_GET_ACCOUNTINFO_ERROR"
FS_GET_MENUINFO_ERROR = "FS_GET_MENUINFO_ERROR"
FS_FORBIDDEN = "FS_FORBIDDEN"
FS_PUBLISHING_OR_UNPUBLISHING = "FS_PUBLISHING_OR_UNPUBLISHING"
FS_ACCESS_RULE_NOT_SET = "FS_ACCESS_RULE_NOT_SET"
FS_INVALID_STATE = "FS_INVALID_STATE"
FS_LACK_OF_ORGANIZAITON_ID = "FS_LACK_OF_ORGANIZATION_ID"
FS_LACK_OF_USER_ID = "FS_LACK_OF_USER_ID"
FS_SEQUENCE_LESS_THAN_CURRENT = "FS_SEQUENCE_LESS_THAN_CURRENT"
FS_SPECIFIED_APP_ID_NOT_DELETEABLE = "FS_SPECIFIED_APP_ID_NOT_DELETEABLE"
FS_APP_OWNED_BY_USER = "FS_APP_OWNED_BY_USER"
FS_INVALID_APPROVAL_STATE = "FS_INVALID_APPROVAL_STATE"
FS_INVALID_BINDING_OPERATION = "FS_INVALID_BINDING_OPERATION"
FS_LACK_OF_BINDING_ID = "FS_LACK_OF_BINDING_ID"
FS_APP_ASSOCIATED = "FS_APP_ASSOCIATED"
FS_APP_NOT_ASSOCIATED = "FS_APP_NOT_ASSOCIATED"
FS_INVALID_COOPERATE_STATUS = "FS_INVALID_COOPERATE_STATUS"
FS_APP_NOT_PUBLISHED = "FS_APP_NOT_PUBLISHED"
FS_APP_BUNDLEID_REPEAT = "FS_APP_BUNDLEID_REPEAT"
FS_COOPERATION_TERMINATED = "FS_COOPERATION_TERMINATED"
FS_ORGAN_STATUS_INVALID = "FS_ORGAN_STATUS_INVALID"
FS_APP_NOT_ASS_BIND = "FS_APP_NOT_ASS_BIND"
FS_BIND_NOT_FOUND = "FS_BIND_NOT_FOUND"
FS_SERVICE_UNAVAILABLE = "FS_SERVICE_UNAVAILABLE"
FS_APP_PAY_EXPIRE = "FS_APP_PAY_EXPIRE"
FS_BIND_PAY_EXPIRE = "FS_BIND_PAY_EXPIRE"
FS_BINDING_NAME_REPEAT = "FS_BINDING_NAME_REPEAT"
FS_TIMESTAMP_TIMEOUT = "FS_TIMESTAMP_TIMEOUT"
FS_UUID_INVAILD = "FS_UUID_INVAILD"
FS_SIGNATURE_INVAILD = "FS_SIGNATURE_INVAILD"
FS_SIGNATURE_SDKKEY_INVAILD = "FS_SIGNATURE_SDKKEY_INVAILD"
FS_LICENSE_SERVER_ERROR = "FS_LICENSE_SERVER_ERROR"
FC_OPERA_LIMIT_BIND_OVER_ERROR = "FC_OPERA_LIMIT_BIND_OVER_ERROR"
FC_PRI_OPERA_LIMIT_BIND_OVER_ERROR = "FC_PRI_OPERA_LIMIT_BIND_OVER_ERROR"
FS_BUNDLE_ID_COUNT_OVER = "FS_BUNDLE_ID_COUNT_OVER"
FS_BUNDLE_ID_NOT_FOUND = "FS_BUNDLE_ID_NOT_FOUND"
FS_BUNDLE_ID_COUNT_OVER_TO_WEB_ERR = "FS_BUNDLE_ID_COUNT_OVER_TO_WEB_ERR"
FC_OPERA_LIMIT_APPID_OVER_ERROR = "FC_OPERA_LIMIT_APPID_OVER_ERROR"
FC_PRI_LIMIT_APPID_OVER_ERROR = "FC_PRI_LIMIT_APPID_OVER_ERROR"
FS_BINDINGID_NOT = "FS_BINDINGID_NOT"
FS_SDKKEY_NOT = "FS_SDKKEY_NOT"
FS_LICENSE_INVALID_ERR = "FS_LICENSE_INVALID_ERR"
FS_BIND_BUNDLE_LIMIT = "FS_BIND_BUNDLE_LIMIT"
FS_LINK_AUDIT_APPLY_EXIST = "FS_LINK_AUDIT_EXIST"
FS_EXPORT_APP_CLASS_ERR = "FS_EXPORT_APP_CLASS_ERR"
FS_ALIYUN_ADD_ERR = "FS_ALIYUN_ADD_ERR"
FS_DATA_HAS_DEL_ERR = "FS_DATA_HAS_DEL_ERR"
FS_MENU_ID_EXITS_ERR = "FS_MENU_ID_EXITS_ERR"
FS_SERVER_ERR = "FS_SERVER_ERR"
FS_IDENTITY_NOT_FOUND_ERR = "FS_IDENTITY_NOT_FOUND_ERR"
FS_QRCODE_HAS_EXPIRE = "FS_QRCODE_HAS_EXPIRE"
FS_ROLLBACK_FORBID = "FS_ROLLBACK_FORBID"
FS_PUBLISH_FORBID = "FS_PUBLISH_FORBID"
FS_MULTI_ROLLBACK_FORBID = "FS_MULTI_ROLLBACK_FORBID"
FS_NOT_TRIAL_INFO = "FS_NOT_TRIAL_INFO"
FS_REDIS_ERR = "FS_REDIS_ERR"
FS_MANAGE_APP_NO_AUTH = "FS_MANAGE_APP_NO_AUTH"
FS_APPID_ORGANID_ERR = "FS_APPID_ORGANID_ERR"
FS_APP_MARKET_LIMIT_ERROR = "FS_APP_MARKET_LIMIT_ERROR"
FS_APPLET_ID_IN_USE = "FS_APPLET_ID_IN_USE"
FS_APP_IS_FORBIDDEN = "FS_APP_IS_FORBIDDEN"
FS_BIND_IS_FORBIDDEN = "FS_BIND_IS_FORBIDDEN"
FS_PARAM_ERR = "FS_PARAM_ERR"
FS_BUNDLE_AVAILABLE_NUM_LIMIT = "FS_BUNDLE_AVAILABLE_NUM_LIMIT"
FS_BUNDLE_ALL_NUM_LIMIT = "FS_BUNDLE_ALL_NUM_LIMIT"
FS_OPER_BUNDLE_NUM_LIMIT = "FS_OPER_BUNDLE_NUM_LIMIT"
FS_OPER_CREATE_BUNDLE_ERR = "FS_OPER_CREATE_BUNDLE_ERR"
FS_OPER_HANDLE_ERR = "FS_OPER_HANDLE_ERR"
FS_QR_CODE_EXPIRED = "FS_QR_CODE_EXPIRED"
FS_OPER_REPEAT_BUNDLE_ERR = "FS_OPER_REPEAT_BUNDLE_ERR"
FS_OPER_AUTO_BIND_DOING_ERR = "FS_OPER_AUTO_BIND_DOING_ERR"
FS_NOT_REVIEW_BINDING_ERR = "FS_NOT_REVIEW_BINDING_ERR"
FC_LACK_OF_TO_BINDING_ID = "FC_LACK_OF_TO_BINDING_ID"
FC_BINDING_ID_EQUAL_TO_INDING_ID = "FC_BINDING_ID_EQUAL_TO_INDING_ID"
FC_MOVE_BINDING_NO_AUTH = "FC_MOVE_BINDING_NO_AUTH"
FC_LACK_OF_BUNDLE_ERR = "FC_LACK_OF_BUNDLE_ERR"
FC_APP_EXT_WX_ACCESS_TOKEN_ERR = "FC_APP_EXT_WX_ACCESS_TOKEN_ERR"
)
var ErrorMap = map[string]string{
OK: "",
FS_NOT_FOUND: "资源不存在",
FS_BAD_JSON: "参数格式错误,解析失败",
FS_DB_ERR: "数据库内部错误",
FS_SYSTEM_CALL: "系统内部错误",
FS_LACK_OF_APPID: "缺少appId",
FS_LACK_OF_SDKKEY: "缺少sdkKey",
FS_APP_ID_NOT_FOUND: "小程序不存在,请检查 AppID",
FS_GET_GROUP_FAILED: "企业状态校验异常",
FS_GET_DOMAIN_INFO_ERROR: "获取域名失败,相关服务不可用",
FS_GET_ACCOUNTINFO_ERROR: "获取账号信息失败",
FS_FORBIDDEN: "账号没有权限",
FS_PUBLISHING_OR_UNPUBLISHING: "正在申请上架或者申请下架",
FS_ACCESS_RULE_NOT_SET: "可见性范围未设置",
FS_INVALID_STATE: "应用当前状态不允许执行此操作",
FS_LACK_OF_ORGANIZAITON_ID: "缺少机构id",
FS_LACK_OF_USER_ID: "缺少用户id",
FS_SEQUENCE_LESS_THAN_CURRENT: "序列号不得低于当前已上架序列号",
FS_SPECIFIED_APP_ID_NOT_DELETEABLE: "指定appId的应用不可删除",
FS_APP_OWNED_BY_USER: "应用正在使用,不可删除",
FS_INVALID_APPROVAL_STATE: "审核后的状态值不合法",
FS_INVALID_BINDING_OPERATION: "应用操作不合法",
FS_LACK_OF_BINDING_ID: "缺少应用id",
FS_APP_ASSOCIATED: "小程序已关联",
FS_APP_NOT_ASSOCIATED: "小程序未关联",
FS_INVALID_COOPERATE_STATUS: "当前合作状态不允许执行此操作",
FS_APP_NOT_PUBLISHED: "小程序审核未通过或已下架",
FS_APP_BUNDLEID_REPEAT: "Bundle Id已存在",
FS_ORGAN_STATUS_INVALID: "小程序所属企业账号状态异常,请登录平台处理",
FS_COOPERATION_TERMINATED: "当前应用已经停止合作",
FS_APP_NOT_ASS_BIND: "小程序与本应用的关联关系没有生效,请检查关联关系",
FS_BIND_NOT_FOUND: "当前应用未在平台备案,请检查 SDK 初始化配置信息",
FS_SERVICE_UNAVAILABLE: "小程序已下架,相关服务暂不可用",
FS_APP_PAY_EXPIRE: "小程序已过有效期,相关服务暂不可用",
FS_BIND_PAY_EXPIRE: "当前应用已过期",
FS_BINDING_NAME_REPEAT: "应用名称已存在",
FS_APP_SEQUENCE_NOT_FOUND: "小程序版本错误",
FS_TIMESTAMP_TIMEOUT: "时间戳失效",
FS_UUID_INVAILD: "无效的uuid",
FS_SIGNATURE_INVAILD: "无效的signature",
FS_SIGNATURE_SDKKEY_INVAILD: "SDK Key 出错,请联系管理员处理",
FS_LICENSE_SERVER_ERROR: "license错误",
FC_OPERA_LIMIT_BIND_OVER_ERROR: "应用数量已达上限,如需新增应用,请联系平台运营方",
FC_PRI_OPERA_LIMIT_BIND_OVER_ERROR: "操作失败当前环境应用个数已达license上限",
FC_OPERA_LIMIT_APPID_OVER_ERROR: "小程序数量已达上限,如需新增小程序,请联系平台运营方",
FC_PRI_LIMIT_APPID_OVER_ERROR: "操作失败当前环境小程序个数已达license上限",
FS_BINDINGID_NOT: "应用id缺失",
FS_SDKKEY_NOT: "sdk key缺失",
FS_BUNDLE_ID_COUNT_OVER: "license权限不足", //bundle id达到上限
FS_BUNDLE_ID_NOT_FOUND: "无法绑定非运营端添加的bundleId", //bundle id达到上限
FS_BUNDLE_ID_COUNT_OVER_TO_WEB_ERR: "操作失败当前环境Bundle ID已达到licesne上限",
FS_LICENSE_INVALID_ERR: "您当前的 license 异常,请联系管理员处理",
FS_BIND_BUNDLE_LIMIT: "bundle绑定达到限制",
FS_LINK_AUDIT_APPLY_EXIST: "小程序关联应用审核中",
FS_EXPORT_APP_CLASS_ERR: "导出小程序类型错误",
FS_ALIYUN_ADD_ERR: "阿里云添加失败",
FS_DATA_HAS_DEL_ERR: "数据已被删除,请刷新重试",
FS_MENU_ID_EXITS_ERR: "按钮ID或名称已存在",
FS_SERVER_ERR: "服务错误,请刷新重试",
FS_GET_MENUINFO_ERROR: "获取菜单列表失败",
FS_IDENTITY_NOT_FOUND_ERR: "该文件签名不存在",
FS_QRCODE_HAS_EXPIRE: "二维码过期,请刷新",
FS_ROLLBACK_FORBID: "该版本不可回退",
FS_PUBLISH_FORBID: "该版本不可发布",
FS_MULTI_ROLLBACK_FORBID: "不可连续回退",
FS_NOT_TRIAL_INFO: "该版本非体验版",
FS_REDIS_ERR: "redis异常",
FS_MANAGE_APP_NO_AUTH: "该用户无权限",
FS_APPID_ORGANID_ERR: "机构和小程序对不上",
FS_APP_IS_FORBIDDEN: "小程序被禁用,相关服务暂不可用",
FS_BIND_IS_FORBIDDEN: "BundleID 被禁用,相关服务暂不可用",
FS_PARAM_ERR: "参数错误",
FS_BUNDLE_AVAILABLE_NUM_LIMIT: "应用绑定正常状态的Bundle ID数量超过限制",
FS_BUNDLE_ALL_NUM_LIMIT: "应用绑定Bundle ID数量超过限制",
FS_OPER_BUNDLE_NUM_LIMIT: "正常状态的Bundle ID数量已达上限",
FS_OPER_CREATE_BUNDLE_ERR: "运营端创建合作应用必须含有非禁用的Bundle ID",
FS_OPER_HANDLE_ERR: "操作类型不支持",
FS_QR_CODE_EXPIRED: "二维码已失效",
FS_OPER_REPEAT_BUNDLE_ERR: "存在重复的bundleID",
FS_OPER_AUTO_BIND_DOING_ERR: "请等待上次自动关联小程序完成",
FS_NOT_REVIEW_BINDING_ERR: "不是审核应用",
FC_LACK_OF_TO_BINDING_ID: "缺少目标应用id",
FC_BINDING_ID_EQUAL_TO_INDING_ID: "源应用和目标应用id相同",
FC_MOVE_BINDING_NO_AUTH: "没有权限移动此Bundle ID",
FC_LACK_OF_BUNDLE_ERR: "缺少bundle信息",
FC_APP_EXT_WX_ACCESS_TOKEN_ERR: "获取ACCESS_TOKEN失败, 请检查appID和secret",
}
func GetErrMsg(errcode string) string {
errmsg, ok := ErrorMap[errcode]
if !ok {
return ""
}
return errmsg
}
type SvrRsp struct {
HttpStatus int
ErrCode string
ErrMsg string
}
func DefaultSvrRsp() *SvrRsp {
return &SvrRsp{
HttpStatus: http.StatusOK,
ErrCode: OK,
ErrMsg: GetErrMsg(OK),
}
}
func NewSvrRsp() *SvrRsp {
return &SvrRsp{
HttpStatus: http.StatusOK,
ErrCode: OK,
ErrMsg: "",
}
}
func (s *SvrRsp) Set(status int, errCode, errMsg string) *SvrRsp {
s.HttpStatus = status
s.ErrCode = errCode
s.ErrMsg = errMsg
return s
}
func (s *SvrRsp) SetLoc(status int, errCode string) *SvrRsp {
s.HttpStatus = status
s.ErrCode = errCode
s.ErrMsg = GetErrMsg(errCode)
return s
}
func MakeLocRsp(c *gin.Context, status int, errcode string, data interface{}) {
c.JSON(status, gin.H{
"errcode": errcode,
"error": GetErrMsg(errcode),
"data": data,
})
}
func MakeErrRsp(c *gin.Context, httpStatus int, errCode string, err string, data interface{}) {
c.JSON(httpStatus, gin.H{
"error": err,
"errcode": errCode,
"data": data,
})
}
func (s *SvrRsp) MakeRsp(c *gin.Context, data interface{}) {
c.JSON(s.HttpStatus, gin.H{
"errcode": s.ErrCode,
"error": s.ErrMsg,
"data": data,
})
}
func MakeGrpcCommonResult(httpStatus int, errCode string, result **pb.CommonResult) {
*result = &pb.CommonResult{}
(*result).Error = ErrorMap[errCode]
(*result).Errcode = errCode
(*result).Httpcode = int32(httpStatus)
}
func MakeGrpcCommonResultNoLoc(httpStatus int, errCode, errmsg string, result **pb.CommonResult) {
*result = &pb.CommonResult{}
(*result).Error = errmsg
(*result).Errcode = errCode
(*result).Httpcode = int32(httpStatus)
}