123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package controllers
- import (
- "database/sql"
- "reflect"
- "xugu_license/internal/models"
- )
- // compareNullInt32 compares two sql.NullInt32 values
- func compareNullInt32(a, b sql.NullInt32) bool {
- return a.Valid == b.Valid && (!a.Valid || a.Int32 == b.Int32)
- }
- // compareNullInt64 compares two sql.NullInt64 values
- func compareNullInt64(a, b sql.NullInt64) bool {
- return a.Valid == b.Valid && (!a.Valid || a.Int64 == b.Int64)
- }
- // compareNullString compares two sql.NullString values
- func compareNullString(a, b sql.NullString) bool {
- return a.Valid == b.Valid && (!a.Valid || a.String == b.String)
- }
- // compareNullTime compares two sql.NullTime values
- func compareNullTime(a, b sql.NullTime) bool {
- return a.Valid == b.Valid && (!a.Valid || a.Time.Equal(b.Time))
- }
- // compareOALicenseInfo compares two OALicenseInfo structs
- func compareOALicenseInfo(a, b models.OALicenseInfo) bool {
- return reflect.DeepEqual(a.LicInfo, b.LicInfo) && reflect.DeepEqual(a.GenrateInfo, b.GenrateInfo)
- }
- // CompareOALicenseInfo compares two OALicenseInfo structs
- func CompareOALicenseInfo(a, b *models.OALicenseInfo) bool {
- if a == nil || b == nil {
- return a == b // 如果其中一个是 nil 则只有两者都为 nil 才相等
- }
- // 使用 reflect.DeepEqual 递归比较两个结构体
- return reflect.DeepEqual(a.LicInfo, b.LicInfo) && reflect.DeepEqual(a.GenrateInfo, b.GenrateInfo)
- }
|