Files
rootandClaude Opus 4.7 85c0071fd8 feat: 从黄果 NET hgdjnet-server 9bfbafe 导入 HKDJ 官网后端
来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83
项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet
测试目录 /server/hkdj_net,App/Web API 30331/30332

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-10-16 11:20:04 +08:00

68 lines
1.4 KiB
Go

package srvdef
import (
"fmt"
)
// SrvErr 代替/common/error中的定义,逐渐在代码中弃掉(common/error模块)
type SrvErr struct {
Code CodeType `json:"code"`
Msg string `json:"msg"`
Tips string `json:"tips"`
}
// New create an error
func New(code CodeType, msgAndTips ...string) *SrvErr {
msg := code.Msg()
tips := code.Tip()
if len(msgAndTips) == 1 {
msg = msgAndTips[0]
} else if len(msgAndTips) == 2 {
msg, tips = msgAndTips[0], msgAndTips[1]
}
return &SrvErr{
Code: code,
Msg: msg,
Tips: tips,
}
}
// SrvErr 返回字符串
func (s *SrvErr) Error() string {
if s == nil {
return ""
}
return fmt.Sprintf("code = %d, msg = %s ,tips = %v", s.Code, s.Msg, s.Tips)
}
// SrvErr 返回error
func (s *SrvErr) ToError() error {
if s == nil {
return nil
}
return fmt.Errorf("code = %d, msg = %s ,tips = %v", s.Code, s.Msg, s.Tips)
}
func (c *SrvErr) GetMsg() string {
// 有自定义的msg就用自定义的msg
if c.Msg != "" {
return c.Msg
}
return c.Code.Msg()
}
func (c *SrvErr) GetTip() string {
// 有自定义的tip就用自定义的tip
if c.Tips != "" {
return c.Tips
}
return c.Code.Tip()
}
func (c *SrvErr) GetCode() CodeType { return c.Code }
var (
ErrDbInsert = New(ErrDbInsertError, "", "")
ErrDbQuery = New(ErrDbQueryError, "", "")
ErrDbUpdate = New(ErrDbUpdateError, "", "")
ErrDbDelete = New(ErrDbDeleteError, "", "")
)