fix: 更新客户授权逻辑,添加客户停用状态检查,更新相关错误提示信息

This commit is contained in:
wood911010 committed 2025-11-01 17:55:38 +08:00
1 parent ac8066e0a5
commit 10000681cf
7 files changed
+18 -10

No files matched your search

+4 -4
View File
@@ -1,9 +1,9 @@
{
"server_url": "http://localhost:18888",
"authorization_code": "LIC-5359-QKHSAFPI-VWAA",
"authorization_code": "LIC-B597-EFr0tbfAooQF-uUAA",
"software_version": "1.0.0",
"heartbeat_interval": 300,
"license_key": "LIC-DEVICE-72921EB189E53806B59FF0AE",
"config_updated_at": "2025-11-01T16:31:54+08:00",
"license_file": "eyJhbGdvcml0aG0iOiJSU0EtUFNTLVNIQTI1NiIsImRhdGEiOiJ7XCJhY3RpdmF0ZWRfYXRcIjpcIjIwMjUtMTEtMDFUMTY6MTc6MDAuMjE2KzA4OjAwXCIsXCJhdXRob3JpemF0aW9uX2NvZGVcIjpcIkxJQy01MzU5LVFLSFNBRlBJLVZXQUFcIixcImF1dGhvcml6YXRpb25fY29kZV9pZFwiOlwiYmVmODliM2MtNDU1NS00ZjE5LTllMGUtMzM0MDI0MDNhZWFkXCIsXCJjb25maWdfdXBkYXRlZF9hdFwiOlwiMjAyNS0xMS0wMVQxNjoyNzoxOS43NzcrMDg6MDBcIixcImN1c3RvbV9wYXJhbWV0ZXJzXCI6e30sXCJkZXBsb3ltZW50X3R5cGVcIjpcInN0YW5kYWxvbmVcIixcImVuZF9kYXRlXCI6XCIyMDI1LTEyLTEzVDIzOjU5OjU5KzA4OjAwXCIsXCJmZWF0dXJlX2NvbmZpZ1wiOnt9LFwiZ2VuZXJhdGVkX2F0XCI6XCIyMDI1LTExLTAxVDE2OjMxOjU0KzA4OjAwXCIsXCJoYXJkd2FyZV9maW5nZXJwcmludFwiOlwiTUFDOjVlOmEzOjIyOjIyOmVmOmRiLENQVTpBTUQgUnl6ZW4gNSA5NjAwWCA2LUNvcmUgUHJvY2Vzc29yLEhPU1RJRDphMzJlOGViNC00ODg1LTRkMmItYTA3My0yYmM2NDVkZWU0ZTRcIixcImxpY2Vuc2Vfa2V5XCI6XCJMSUMtREVWSUNFLTcyOTIxRUIxODlFNTM4MDZCNTlGRjBBRVwiLFwibWF4X2FjdGl2YXRpb25zXCI6NSxcInN0YXJ0X2RhdGVcIjpcIjIwMjUtMTEtMDFUMDA6MDA6MDArMDg6MDBcIixcInN0YXR1c1wiOlwiYWN0aXZlXCIsXCJ1c2FnZV9saW1pdHNcIjp7fX0iLCJzaWduYXR1cmUiOiJFc1ZMQlNSWE1NN0NteTRDeW5EQ0ZGbkw0ZjByTGlpekk1SDZnQ1V5bDFTZGdHR0JZTzdHNStKdTE2T1Jkb0wxSkJRcW5zaHU5RXh1SDVuY1VXM2ZIZFlQTElQR1VBTVhqMGZwS2tPNENCTyt2VjdlSEI2ZDhUbUlkUnE2MU1vdisvM0k4c3Btb1JUNjljbEVuZWFHWE5LbnZOdm5BQXArVWhHamtWK1phZU8wRXlCM2xDcEJkdWJUWkFiUVFic0pSZHY2ZUszSUFGUkdJVnYzWkJhOCtuMnRWQ3RPRXVhVmF1ZHNhRW5ucTZIQWdXdmdUSzViQ2dHZFJkWUJjdG9vVEpiYWtacE9nSWQvVGRmbThGN0krWENsbVl5bWdmYVdUcldKMXd0SzVpSndtV003bTFyTytvZVB3NjBMNjd4ejVmTzRaZjFPUVF2MVNxekhBV25SVFE9PSJ9"
"license_key": "LIC-DEVICE-68DF8AFEF41CA26F248D7D55",
"config_updated_at": "2025-11-01T17:54:30+08:00",
"license_file": "eyJhbGdvcml0aG0iOiJSU0EtUFNTLVNIQTI1NiIsImRhdGEiOiJ7XCJhY3RpdmF0ZWRfYXRcIjpcIjIwMjUtMTEtMDFUMTc6NTQ6MjguMTI4MTc5NCswODowMFwiLFwiYXV0aG9yaXphdGlvbl9jb2RlXCI6XCJMSUMtQjU5Ny1FRnIwdGJmQW9vUUYtdVVBQVwiLFwiYXV0aG9yaXphdGlvbl9jb2RlX2lkXCI6XCI4ZjZlNzViMS0xMTViLTRhNWUtYjk1ZC0yNjczOTcwZDNmYmFcIixcImNvbmZpZ191cGRhdGVkX2F0XCI6bnVsbCxcImN1c3RvbV9wYXJhbWV0ZXJzXCI6e30sXCJkZXBsb3ltZW50X3R5cGVcIjpcInN0YW5kYWxvbmVcIixcImVuZF9kYXRlXCI6XCIzMDI1LTAzLTAzVDIzOjU5OjU5KzA4OjAwXCIsXCJmZWF0dXJlX2NvbmZpZ1wiOnt9LFwiZ2VuZXJhdGVkX2F0XCI6XCIyMDI1LTExLTAxVDE3OjU0OjMwKzA4OjAwXCIsXCJoYXJkd2FyZV9maW5nZXJwcmludFwiOlwiTUFDOjVlOmEzOjIyOjIyOmVmOmRiLENQVTpBTUQgUnl6ZW4gNSA5NjAwWCA2LUNvcmUgUHJvY2Vzc29yLEhPU1RJRDphMzJlOGViNC00ODg1LTRkMmItYTA3My0yYmM2NDVkZWU0ZTRcIixcImxpY2Vuc2Vfa2V5XCI6XCJMSUMtREVWSUNFLTY4REY4QUZFRjQxQ0EyNkYyNDhEN0Q1NVwiLFwibWF4X2FjdGl2YXRpb25zXCI6NSxcInN0YXJ0X2RhdGVcIjpcIjIwMjUtMTEtMDFUMDA6MDA6MDArMDg6MDBcIixcInN0YXR1c1wiOlwiYWN0aXZlXCIsXCJ1c2FnZV9saW1pdHNcIjp7fX0iLCJzaWduYXR1cmUiOiJoVEc2dUZ3UWtmRnNEam9sSVlFK3NOZ3JVM3hncDJPeHJOd3dSa2FLSmpGSjlLbXR2a1J1N2ZZWUVDUFozc0RLT094RlFYdmM4MktWd0dBcTREZ3A5TXBmajVLVlAwTnhjL0RBOCtKVm9oN1BXTERGZFhmMDd2bUdHZFF4YzBSRy91d2hWN3MyOUwzWW9WdlZGdnJxbUhuNGdBQ3B3eUVnL2Y3SC9HT0FCTTNGdWErekRkelR6QUNUbkdEdG1GbFAwUFZ1SURCRVlGRTRvZmRZZDBObDZMY1E5Z0wrb3pORHh0ZVNpdzNuZE0xelJiS3d4SUxOYVFKWnRaellVT1djem05RHg2bUNYMGlFeEtHTlA0NG9Pem5xNjRvclU5M2tGYzRLOW4wK2svL1JpblZMSWE1VE0vVUN2SmZPNzRkUmxGL2Nta3RRUFp6Tk5jbUJ4bWZoRXc9PSJ9"
}
@@ -1 +1 @@
LIC-5359-QKHSAFPI-VWAA
LIC-B597-EFr0tbfAooQF-uUAA
+1 -1
View File
@@ -1 +1 @@
eyJhbGdvcml0aG0iOiJSU0EtUFNTLVNIQTI1NiIsImRhdGEiOiJ7XCJhY3RpdmF0ZWRfYXRcIjpcIjIwMjUtMTEtMDFUMTY6MTc6MDAuMjE2KzA4OjAwXCIsXCJhdXRob3JpemF0aW9uX2NvZGVcIjpcIkxJQy01MzU5LVFLSFNBRlBJLVZXQUFcIixcImF1dGhvcml6YXRpb25fY29kZV9pZFwiOlwiYmVmODliM2MtNDU1NS00ZjE5LTllMGUtMzM0MDI0MDNhZWFkXCIsXCJjb25maWdfdXBkYXRlZF9hdFwiOlwiMjAyNS0xMS0wMVQxNjoyNzoxOS43NzcrMDg6MDBcIixcImN1c3RvbV9wYXJhbWV0ZXJzXCI6e30sXCJkZXBsb3ltZW50X3R5cGVcIjpcInN0YW5kYWxvbmVcIixcImVuZF9kYXRlXCI6XCIyMDI1LTEyLTEzVDIzOjU5OjU5KzA4OjAwXCIsXCJmZWF0dXJlX2NvbmZpZ1wiOnt9LFwiZ2VuZXJhdGVkX2F0XCI6XCIyMDI1LTExLTAxVDE2OjMxOjU0KzA4OjAwXCIsXCJoYXJkd2FyZV9maW5nZXJwcmludFwiOlwiTUFDOjVlOmEzOjIyOjIyOmVmOmRiLENQVTpBTUQgUnl6ZW4gNSA5NjAwWCA2LUNvcmUgUHJvY2Vzc29yLEhPU1RJRDphMzJlOGViNC00ODg1LTRkMmItYTA3My0yYmM2NDVkZWU0ZTRcIixcImxpY2Vuc2Vfa2V5XCI6XCJMSUMtREVWSUNFLTcyOTIxRUIxODlFNTM4MDZCNTlGRjBBRVwiLFwibWF4X2FjdGl2YXRpb25zXCI6NSxcInN0YXJ0X2RhdGVcIjpcIjIwMjUtMTEtMDFUMDA6MDA6MDArMDg6MDBcIixcInN0YXR1c1wiOlwiYWN0aXZlXCIsXCJ1c2FnZV9saW1pdHNcIjp7fX0iLCJzaWduYXR1cmUiOiJFc1ZMQlNSWE1NN0NteTRDeW5EQ0ZGbkw0ZjByTGlpekk1SDZnQ1V5bDFTZGdHR0JZTzdHNStKdTE2T1Jkb0wxSkJRcW5zaHU5RXh1SDVuY1VXM2ZIZFlQTElQR1VBTVhqMGZwS2tPNENCTyt2VjdlSEI2ZDhUbUlkUnE2MU1vdisvM0k4c3Btb1JUNjljbEVuZWFHWE5LbnZOdm5BQXArVWhHamtWK1phZU8wRXlCM2xDcEJkdWJUWkFiUVFic0pSZHY2ZUszSUFGUkdJVnYzWkJhOCtuMnRWQ3RPRXVhVmF1ZHNhRW5ucTZIQWdXdmdUSzViQ2dHZFJkWUJjdG9vVEpiYWtacE9nSWQvVGRmbThGN0krWENsbVl5bWdmYVdUcldKMXd0SzVpSndtV003bTFyTytvZVB3NjBMNjd4ejVmTzRaZjFPUVF2MVNxekhBV25SVFE9PSJ9
eyJhbGdvcml0aG0iOiJSU0EtUFNTLVNIQTI1NiIsImRhdGEiOiJ7XCJhY3RpdmF0ZWRfYXRcIjpcIjIwMjUtMTEtMDFUMTc6NTQ6MjguMTI4MTc5NCswODowMFwiLFwiYXV0aG9yaXphdGlvbl9jb2RlXCI6XCJMSUMtQjU5Ny1FRnIwdGJmQW9vUUYtdVVBQVwiLFwiYXV0aG9yaXphdGlvbl9jb2RlX2lkXCI6XCI4ZjZlNzViMS0xMTViLTRhNWUtYjk1ZC0yNjczOTcwZDNmYmFcIixcImNvbmZpZ191cGRhdGVkX2F0XCI6bnVsbCxcImN1c3RvbV9wYXJhbWV0ZXJzXCI6e30sXCJkZXBsb3ltZW50X3R5cGVcIjpcInN0YW5kYWxvbmVcIixcImVuZF9kYXRlXCI6XCIzMDI1LTAzLTAzVDIzOjU5OjU5KzA4OjAwXCIsXCJmZWF0dXJlX2NvbmZpZ1wiOnt9LFwiZ2VuZXJhdGVkX2F0XCI6XCIyMDI1LTExLTAxVDE3OjU0OjMwKzA4OjAwXCIsXCJoYXJkd2FyZV9maW5nZXJwcmludFwiOlwiTUFDOjVlOmEzOjIyOjIyOmVmOmRiLENQVTpBTUQgUnl6ZW4gNSA5NjAwWCA2LUNvcmUgUHJvY2Vzc29yLEhPU1RJRDphMzJlOGViNC00ODg1LTRkMmItYTA3My0yYmM2NDVkZWU0ZTRcIixcImxpY2Vuc2Vfa2V5XCI6XCJMSUMtREVWSUNFLTY4REY4QUZFRjQxQ0EyNkYyNDhEN0Q1NVwiLFwibWF4X2FjdGl2YXRpb25zXCI6NSxcInN0YXJ0X2RhdGVcIjpcIjIwMjUtMTEtMDFUMDA6MDA6MDArMDg6MDBcIixcInN0YXR1c1wiOlwiYWN0aXZlXCIsXCJ1c2FnZV9saW1pdHNcIjp7fX0iLCJzaWduYXR1cmUiOiJoVEc2dUZ3UWtmRnNEam9sSVlFK3NOZ3JVM3hncDJPeHJOd3dSa2FLSmpGSjlLbXR2a1J1N2ZZWUVDUFozc0RLT094RlFYdmM4MktWd0dBcTREZ3A5TXBmajVLVlAwTnhjL0RBOCtKVm9oN1BXTERGZFhmMDd2bUdHZFF4YzBSRy91d2hWN3MyOUwzWW9WdlZGdnJxbUhuNGdBQ3B3eUVnL2Y3SC9HT0FCTTNGdWErekRkelR6QUNUbkdEdG1GbFAwUFZ1SURCRVlGRTRvZmRZZDBObDZMY1E5Z0wrb3pORHh0ZVNpdzNuZE0xelJiS3d4SUxOYVFKWnRaellVT1djem05RHg2bUNYMGlFeEtHTlA0NG9Pem5xNjRvclU5M2tGYzRLOW4wK2svL1JpblZMSWE1VE0vVUN2SmZPNzRkUmxGL2Nta3RRUFp6Tk5jbUJ4bWZoRXc9PSJ9
+1
View File
@@ -22,6 +22,7 @@ errors:
"200004": "Invalid customer information format"
"200005": "Failed to query customer list"
"200006": "Customer has authorization codes, cannot delete. Please delete authorizations first"
"200007": "Customer is disabled, cannot create authorization"
# Authorization module (30xxxx)
authorization:
+1
View File
@@ -22,6 +22,7 @@ errors:
"200004": "無効な顧客情報形式"
"200005": "顧客リストの照会に失敗しました"
"200006": "顧客にまだ認可コードが存在します。削除する前に認可を削除してください"
"200007": "顧客が無効になっています。認可を作成できません"
# 認可モジュール (30xxxx)
authorization:
+1
View File
@@ -22,6 +22,7 @@ errors:
"200004": "客户信息格式无效"
"200005": "客户列表查询失败"
"200006": "客户仍有授权,无法删除,请先删除授权"
"200007": "客户已停用,无法创建授权"
# 授权模块 (30xxxx)
authorization:
@@ -44,13 +44,18 @@ func (s *authorizationCodeService) CreateAuthorizationCode(ctx context.Context,
return nil, i18n.NewI18nError("900001", lang)
}
// 验证客户是否存在
exists, err := s.authCodeRepo.CheckCustomerExists(ctx, req.CustomerID)
// 验证客户是否存在并检查状态
customer, err := s.customerRepo.GetCustomerByID(ctx, req.CustomerID)
if err != nil {
if errors.Is(err, repository.ErrCustomerNotFound) {
return nil, i18n.NewI18nError("200001", lang) // 客户不存在
}
return nil, i18n.NewI18nError("900004", lang, err.Error())
}
if !exists {
return nil, i18n.NewI18nError("200001", lang) // 客户不存在
// 检查客户状态:如果客户状态为停用(disabled),不允许创建授权
if customer.Status == "disabled" {
return nil, i18n.NewI18nError("200007", lang) // 客户已停用,无法创建授权
}
// 业务逻辑:计算开始时间和结束时间