Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xpkg
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
屠思豪
xpkg
Commits
dc0f9fb2
提交
dc0f9fb2
authored
12月 08, 2025
作者:
mooncake
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改err
上级
95326137
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
77 行增加
和
104 行删除
+77
-104
http_system_code.go
pkg/errcode/http_system_code.go
+10
-10
xcode.go
pkg/xerrors/xcode/xcode.go
+0
-9
xerror_api.go
pkg/xerrors/xerror/xerror_api.go
+27
-34
xerror_error.go
pkg/xerrors/xerror/xerror_error.go
+4
-0
xerror_error_test.go
pkg/xerrors/xerror/xerror_error_test.go
+26
-0
cron.go
xcron/ecode/cron.go
+0
-9
cron_job.go
xcron/service/cron_job.go
+5
-6
xslice.go
xutils/sliceutils/xslice.go
+5
-36
没有找到文件。
pkg/errcode/http_system_code.go
浏览文件 @
dc0f9fb2
package
errcode
// http system level error code, error code range 10000~
2
0000
// http system level error code, error code range 10000~
1
0000
var
(
Success
=
NewError
(
1
,
"OK"
)
// 已下错误会返给前端
InvalidParams
=
NewError
(
100001
,
"Invalid Parameter"
)
Unauthorized
=
NewError
(
100002
,
"Unauthorized"
)
InternalServerError
=
NewError
(
100003
,
"Internal Server Error"
)
...
...
@@ -16,7 +18,6 @@ var (
AccessDenied
=
NewError
(
100011
,
"Access Denied"
)
MethodNotAllowed
=
NewError
(
100012
,
"Method Not Allowed"
)
ServiceUnavailable
=
NewError
(
100013
,
"Service Unavailable"
)
Canceled
=
NewError
(
100014
,
"Canceled"
)
Unknown
=
NewError
(
100015
,
"Unknown"
)
PermissionDenied
=
NewError
(
100016
,
"Permission Denied"
)
...
...
@@ -27,13 +28,12 @@ var (
Unimplemented
=
NewError
(
100021
,
"Unimplemented"
)
DataLoss
=
NewError
(
100022
,
"Data Loss"
)
StatusBadGateway
=
NewError
(
100023
,
"Bad Gateway"
)
Conflict
=
NewError
(
100024
,
"Conflict"
)
TooEarly
=
NewError
(
100025
,
"Too Early"
)
DBError
=
NewError
(
100024
,
"DB Error"
)
NetError
=
NewError
(
100025
,
"Net Error"
)
FileError
=
NewError
(
100026
,
"File Error"
)
BizLogicError
=
NewError
(
100027
,
"Business Logic Error"
)
// Deprecated: use Conflict instead
Conflict
=
NewError
(
100409
,
"Conflict"
)
TooEarly
=
NewError
(
100425
,
"Too Early"
)
// 已下错误不会返给前端
DBError
=
NewError
(
160001
,
"DB Error"
)
CacheError
=
NewError
(
160002
,
"Cache Error"
)
NetError
=
NewError
(
160003
,
"Net Error"
)
FileError
=
NewError
(
160004
,
"File Error"
)
)
pkg/xerrors/xcode/xcode.go
浏览文件 @
dc0f9fb2
package
xcode
// Code 通用错误代码接口定义。
type
Code
interface
{
// Code 错误码。
Code
()
int
// Message 错误码简短信息。
Message
()
string
// Detail 错误码详细信息。
Detail
()
any
}
// ================================================================================================================
// 公共错误码定义。
// 保留内部错误码: code < 1000。
// ================================================================================================================
var
(
CodeDefault
=
0
CodeOK
=
200
...
...
pkg/xerrors/xerror/xerror_api.go
浏览文件 @
dc0f9fb2
...
...
@@ -16,11 +16,27 @@ import (
// }
// }
func
NewFileError
(
text
string
)
error
{
e
:=
FileError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
errcode
.
FileError
.
Code
()
return
&
e
}
func
NewFileErrorf
(
format
string
,
args
...
any
)
error
{
e
:=
FileError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
errcode
.
FileError
.
Code
()
return
&
e
}
func
NewNetError
(
text
string
)
error
{
e
:=
NetError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
NetError
.
Code
()
return
&
e
}
...
...
@@ -28,7 +44,7 @@ func NewNetErrorf(format string, args ...any) error {
e
:=
NetError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
NetError
.
Code
()
return
&
e
}
...
...
@@ -36,7 +52,7 @@ func NewDBError(text string) error {
e
:=
DBError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
DBError
.
Code
()
return
&
e
}
...
...
@@ -44,7 +60,7 @@ func NewDBErrorf(format string, args ...any) error {
e
:=
DBError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
DBError
.
Code
()
return
&
e
}
...
...
@@ -52,7 +68,7 @@ func NewCacheError(text string) error {
e
:=
CacheError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
CacheError
.
Code
()
return
&
e
}
...
...
@@ -60,7 +76,7 @@ func NewCacheErrorf(format string, args ...any) error {
e
:=
CacheError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
CacheError
.
Code
()
return
&
e
}
...
...
@@ -76,31 +92,7 @@ func NewParamErrorf(format string, args ...any) error {
e
:=
ParamError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
return
&
e
}
func
NewBizError
(
text
string
)
error
{
e
:=
BizError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
xcode
.
CodeDefault
return
&
e
}
func
NewBizErrorC
(
code
int
,
text
string
)
error
{
e
:=
BizError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
code
return
&
e
}
func
NewBizErrorf
(
format
string
,
args
...
any
)
error
{
e
:=
BizError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
InvalidParams
.
Code
()
return
&
e
}
...
...
@@ -108,7 +100,7 @@ func NewRuntimeError(text string) error {
e
:=
RuntimeError
{}
e
.
stack
=
callers
()
e
.
text
=
text
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
InternalServerError
.
Code
()
return
&
e
}
...
...
@@ -116,11 +108,10 @@ func NewRuntimeErrorf(format string, args ...any) error {
e
:=
RuntimeError
{}
e
.
stack
=
callers
()
e
.
text
=
fmt
.
Sprintf
(
format
,
args
...
)
e
.
code
=
xcode
.
CodeDefault
e
.
code
=
errcode
.
InternalServerError
.
Code
()
return
&
e
}
// NewC add code
func
NewC
(
code
int
,
text
string
)
error
{
e
:=
BizError
{}
e
.
stack
=
callers
()
...
...
@@ -160,6 +151,7 @@ func Newf(format string, args ...any) error {
code
:
xcode
.
CodeDefault
,
}
}
func
Errorf
(
format
string
,
args
...
any
)
error
{
return
&
Err
{
stack
:
callers
(),
...
...
@@ -167,6 +159,7 @@ func Errorf(format string, args ...any) error {
code
:
xcode
.
CodeDefault
,
}
}
func
NewCf
(
code
int
,
format
string
,
args
...
any
)
error
{
return
&
Err
{
stack
:
callers
(),
...
...
pkg/xerrors/xerror/xerror_error.go
浏览文件 @
dc0f9fb2
...
...
@@ -41,6 +41,10 @@ type NetError struct {
Err
}
type
FileError
struct
{
Err
}
type
DBError
struct
{
Err
}
...
...
pkg/xerrors/xerror/xerror_error_test.go
0 → 100644
浏览文件 @
dc0f9fb2
package
xerror_test
import
(
"fmt"
"testing"
"gitlab.wanzhuangkj.com/tush/xpkg/pkg/xerrors/xerror"
)
func
TestErr_Error
(
t
*
testing
.
T
)
{
dbe
:=
xerror
.
NewDBError
(
"db err"
)
if
e
,
ok
:=
dbe
.
(
*
xerror
.
DBError
);
ok
{
fmt
.
Println
(
"is DBError,"
,
e
.
Error
())
}
if
e
,
ok
:=
dbe
.
(
*
xerror
.
Err
);
ok
{
fmt
.
Println
(
"is Err,"
,
e
.
Error
())
}
}
func
TestErr_WarpError
(
t
*
testing
.
T
)
{
e
:=
xerror
.
NewC
(
-
1
,
"db error"
)
e
=
xerror
.
Wrap
(
e
,
"add wrap"
)
if
v
,
ok
:=
e
.
(
*
xerror
.
Err
);
ok
{
fmt
.
Println
(
"is Err,"
,
v
.
Error
(),
v
.
Code
())
}
}
xcron/ecode/cron.go
deleted
100644 → 0
浏览文件 @
95326137
package
ecode
import
(
"errors"
)
var
(
ErrCronJobNotFound
=
errors
.
New
(
"未查询到任务"
)
)
xcron/service/cron_job.go
浏览文件 @
dc0f9fb2
...
...
@@ -2,19 +2,18 @@ package service
import
(
"context"
"errors"
"fmt"
"gitlab.wanzhuangkj.com/tush/xpkg/xcommon"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/biz"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/dao"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/ecode"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/enums"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/models"
"gitlab.wanzhuangkj.com/tush/xpkg/xcron/types"
"gitlab.wanzhuangkj.com/tush/xpkg/xutils/xsf"
"github.com/jinzhu/copier"
"gitlab.wanzhuangkj.com/tush/xpkg/pkg/xerrors/xerror"
"gitlab.wanzhuangkj.com/tush/xpkg/xutils/sliceutils"
)
...
...
@@ -62,7 +61,7 @@ func (x *cronJobService) DeleteByID(ctx context.Context, id xsf.ID) error {
return
err
}
if
cronJob
==
nil
{
return
xerror
.
NewBizError
(
fmt
.
Sprintf
(
"未查询到%s[id:%d]"
,
models
.
CronJobTool
.
TableName
(),
id
))
return
errors
.
New
(
fmt
.
Sprintf
(
"未查询到%s[id:%d]"
,
models
.
CronJobTool
.
TableName
(),
id
))
}
return
dao
.
CronJobDao
.
DeleteByID
(
ctx
,
id
)
}
...
...
@@ -75,7 +74,7 @@ func (x *cronJobService) DeleteByIDs(ctx context.Context, ids []xsf.ID) error {
if
err
!=
nil
{
return
err
}
err
=
sliceutils
.
CompareSlice
(
ids
,
cronJobs
,
ecode
.
ErrCronJobNotFound
)
err
=
sliceutils
.
CompareSlice
(
ids
,
cronJobs
)
if
err
!=
nil
{
return
err
}
...
...
@@ -107,7 +106,7 @@ func (x *cronJobService) UpdateByID(ctx context.Context, req *types.CronJobUpdat
return
err
}
if
cronJob
==
nil
{
return
xerror
.
NewBizError
(
fmt
.
Sprintf
(
"未查询到%s[id:%d]"
,
models
.
CronJobTool
.
TableName
(),
req
.
ID
))
return
errors
.
New
(
fmt
.
Sprintf
(
"未查询到%s[id:%d]"
,
models
.
CronJobTool
.
TableName
(),
req
.
ID
))
}
cronJobUpd
:=
&
models
.
CronJob
{}
_
=
copier
.
Copy
(
cronJobUpd
,
req
)
...
...
@@ -122,7 +121,7 @@ func (x *cronJobService) UpdateByIDs(ctx context.Context, req *types.CronJobUpda
if
err
!=
nil
{
return
err
}
err
=
sliceutils
.
CompareSlice
(
req
.
IDs
,
cronJobs
,
ecode
.
ErrCronJobNotFound
)
err
=
sliceutils
.
CompareSlice
(
req
.
IDs
,
cronJobs
)
if
err
!=
nil
{
return
err
}
...
...
xutils/sliceutils/xslice.go
浏览文件 @
dc0f9fb2
package
sliceutils
import
(
"errors"
"fmt"
"strings"
"gitlab.wanzhuangkj.com/tush/xpkg/pkg/errcode"
"gitlab.wanzhuangkj.com/tush/xpkg/pkg/xtype"
"gitlab.wanzhuangkj.com/tush/xpkg/xutils/setutils"
"github.com/jinzhu/copier"
"github.com/spf13/cast"
"gitlab.wanzhuangkj.com/tush/xpkg/pkg/xerrors/xerror"
)
// connector 连接符
...
...
@@ -236,23 +235,17 @@ type ICode interface {
Code
()
int
}
func
CompareSlice
[
ID
xtype
.
Key
,
T
IIDTable
[
ID
],
BizSlice
~
[]
*
T
](
ids
[]
ID
,
bizSlice
BizSlice
,
errCode
error
)
error
{
func
CompareSlice
[
ID
xtype
.
Key
,
T
IIDTable
[
ID
],
BizSlice
~
[]
*
T
](
ids
[]
ID
,
bizSlice
BizSlice
)
error
{
if
len
(
ids
)
==
0
{
return
nil
}
if
len
(
bizSlice
)
<
len
(
ids
)
{
if
len
(
bizSlice
)
==
0
{
if
v
,
ok
:=
errCode
.
(
*
errcode
.
Error
);
ok
{
return
xerror
.
NewC
(
v
.
Code
(),
v
.
Msg
())
return
errors
.
New
(
"ids(result) less then ids(params)"
)
}
return
xerror
.
NewBizError
(
errCode
.
Error
())
}
deltaIDs
:=
SetDifference
(
ids
,
GetIDs
[
ID
](
bizSlice
))
deltaIDs
:=
SetDifference
(
ids
,
GetIDs
(
bizSlice
))
if
len
(
deltaIDs
)
>
0
{
if
v
,
ok
:=
errCode
.
(
*
errcode
.
Error
);
ok
{
return
xerror
.
NewC
(
v
.
Code
(),
fmt
.
Sprintf
(
"%s[ids:%s]"
,
v
.
Msg
(),
Join
(
deltaIDs
,
","
)))
}
return
xerror
.
NewBizError
(
errCode
.
Error
())
return
fmt
.
Errorf
(
"ids not match: %s"
,
Join
(
deltaIDs
,
","
))
}
}
return
nil
...
...
@@ -272,30 +265,6 @@ func ArrayUnique[T comparable](array []T) []T {
return
array
[
:
idx
]
}
//
//type IId[id xtype.Key] interface {
// GetID() id
//}
//
//func GetIds[id xtype.Key, T IId[id]](rs []*T) []id {
// if len(rs) == 0 {
// return nil
// }
// set := setutils.NewSet[id]()
// for _, r := range rs {
// set.Add((*r).GetID())
// }
// return set.Slice()
//}
//
//func SliceToIdMap[id xtype.Key, T IId[id]](rs []*T) map[id]*T {
// m := make(map[id]*T)
// for _, r := range rs {
// m[(*r).GetID()] = r
// }
// return m
//}
func
ChunkSlice
[
T
any
](
slice
[]
T
,
chunkSize
int
)
[][]
T
{
var
chunks
[][]
T
for
i
:=
0
;
i
<
len
(
slice
);
i
+=
chunkSize
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论