fix: fix pkg tool
This commit is contained in:
20
tool/diff.go
20
tool/diff.go
@ -8,7 +8,7 @@
|
||||
package tool
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper"
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/op_map"
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/tool/define"
|
||||
)
|
||||
|
||||
@ -20,11 +20,7 @@ type diff struct {
|
||||
}
|
||||
|
||||
// Compare 比较两个数据源的指定字段
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 15:53 2024/3/8
|
||||
func (d *diff) Compare(fieldList []string, input wrapper.Map, storage wrapper.Map, option *define.DiffOption) map[string]*define.DiffResult {
|
||||
func (d *diff) Compare(fieldList []string, input op_map.Map, storage op_map.Map, option *define.DiffOption) map[string]*define.DiffResult {
|
||||
if nil == option {
|
||||
option = define.NewDiffOption()
|
||||
}
|
||||
@ -36,11 +32,7 @@ func (d *diff) Compare(fieldList []string, input wrapper.Map, storage wrapper.Ma
|
||||
}
|
||||
|
||||
// CompareSingle 比较一个字段
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 15:57 2024/3/8
|
||||
func (d *diff) CompareSingle(field string, input wrapper.Map, storage wrapper.Map, option *define.DiffOption) *define.DiffResult {
|
||||
func (d *diff) CompareSingle(field string, input op_map.Map, storage op_map.Map, option *define.DiffOption) *define.DiffResult {
|
||||
if nil == option {
|
||||
option = define.NewDiffOption()
|
||||
}
|
||||
@ -52,11 +44,7 @@ func (d *diff) CompareSingle(field string, input wrapper.Map, storage wrapper.Ma
|
||||
}
|
||||
|
||||
// IsSame 判断连个数据是否一致
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 11:16 2024/3/11
|
||||
func (d *diff) IsSame(fieldList []string, input wrapper.Map, storage wrapper.Map, option *define.DiffOption) bool {
|
||||
func (d *diff) IsSame(fieldList []string, input op_map.Map, storage op_map.Map, option *define.DiffOption) bool {
|
||||
res := d.Compare(fieldList, input, storage, option)
|
||||
for _, item := range res {
|
||||
if item.IsSame {
|
||||
|
@ -8,7 +8,8 @@
|
||||
package tool
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper"
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/op_string"
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/op_ternary"
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/tool/define"
|
||||
)
|
||||
|
||||
@ -20,13 +21,9 @@ type version struct {
|
||||
}
|
||||
|
||||
// getVersionArr 解析版本号
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:42 2023/12/27
|
||||
func (v *version) getVersionArr(versionOne string, versionTwo string) ([]int64, []int64, error) {
|
||||
oneWrapper := wrapper.String(versionOne).ToInt64Slice(".")
|
||||
twoWrapper := wrapper.String(versionTwo).ToInt64Slice(".")
|
||||
oneWrapper := op_string.ToBaseTypeSlice[int64](versionOne, ".")
|
||||
twoWrapper := op_string.ToBaseTypeSlice[int64](versionTwo, ".")
|
||||
if oneWrapper.Err != nil {
|
||||
return nil, nil, oneWrapper.Err
|
||||
}
|
||||
@ -38,11 +35,7 @@ func (v *version) getVersionArr(versionOne string, versionTwo string) ([]int64,
|
||||
|
||||
// Compare 比较版本号的大小, 版本号格式必须是 x.y.z 的形式,几个 . 不限制, x、y、z 必须是是数字
|
||||
//
|
||||
// strictMode 严格模式, 非严格模式下, 2.4 == 2.4.0 , 开启严格模式, 则认为 2.4 < 2.4.0 , 因为 2.4 没有小版本号
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:07 2023/12/27
|
||||
// - strictMode 严格模式, 非严格模式下, 2.4 == 2.4.0 , 开启严格模式, 则认为 2.4 < 2.4.0 , 因为 2.4 没有小版本号
|
||||
func (v *version) Compare(versionOne string, versionTwo string, strictMode bool) (int, error) {
|
||||
oneVersionArr, twoVersionArr, err := v.getVersionArr(versionOne, versionTwo)
|
||||
if nil != err {
|
||||
@ -80,18 +73,14 @@ func (v *version) Compare(versionOne string, versionTwo string, strictMode bool)
|
||||
if !strictMode || oneVersionLength == twoVersionLength {
|
||||
return define.VersionEqual, nil
|
||||
}
|
||||
return wrapper.TernaryOperator.Int(
|
||||
return op_ternary.BaseType[int](
|
||||
oneVersionLength > twoVersionLength,
|
||||
wrapper.Int(define.VersionOneMax),
|
||||
wrapper.Int(define.VersionTwoMax),
|
||||
).ToInt().Value, nil
|
||||
define.VersionOneMax,
|
||||
define.VersionTwoMax,
|
||||
), nil
|
||||
}
|
||||
|
||||
// CompareIgnoreError 忽略error
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 18:20 2023/12/27
|
||||
func (v *version) CompareIgnoreError(versionOne string, versionTwo string, strictMode bool) int {
|
||||
res, _ := v.Compare(versionOne, versionTwo, strictMode)
|
||||
return res
|
||||
|
Reference in New Issue
Block a user