2020-11-06 11:02:53 +08:00
|
|
|
package services
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
2021-01-25 16:40:03 +08:00
|
|
|
"github.com/TeaOSLab/EdgeAPI/internal/db/models/regions"
|
2020-11-06 11:02:53 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
|
|
|
|
)
|
|
|
|
|
|
2021-07-11 18:05:57 +08:00
|
|
|
// RegionProvinceService 省份相关服务
|
2020-11-06 11:02:53 +08:00
|
|
|
type RegionProvinceService struct {
|
2021-01-01 23:31:30 +08:00
|
|
|
BaseService
|
2020-11-06 11:02:53 +08:00
|
|
|
}
|
|
|
|
|
|
2021-07-11 18:05:57 +08:00
|
|
|
// FindAllEnabledRegionProvincesWithCountryId 查找所有省份
|
2022-08-13 23:55:48 +08:00
|
|
|
// Deprecated
|
2020-11-06 11:02:53 +08:00
|
|
|
func (this *RegionProvinceService) FindAllEnabledRegionProvincesWithCountryId(ctx context.Context, req *pb.FindAllEnabledRegionProvincesWithCountryIdRequest) (*pb.FindAllEnabledRegionProvincesWithCountryIdResponse, error) {
|
|
|
|
|
// 校验请求
|
2022-01-06 16:25:23 +08:00
|
|
|
_, _, err := this.ValidateNodeId(ctx)
|
2020-11-06 11:02:53 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
2022-07-22 15:05:30 +08:00
|
|
|
var tx = this.NullTx()
|
2021-01-01 23:31:30 +08:00
|
|
|
|
2022-01-06 16:25:23 +08:00
|
|
|
provinces, err := regions.SharedRegionProvinceDAO.FindAllEnabledProvincesWithCountryId(tx, req.RegionCountryId)
|
2020-11-06 11:02:53 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
result := []*pb.RegionProvince{}
|
|
|
|
|
for _, province := range provinces {
|
|
|
|
|
result = append(result, &pb.RegionProvince{
|
2023-07-07 09:52:46 +08:00
|
|
|
Id: int64(province.ValueId),
|
2022-08-13 23:55:48 +08:00
|
|
|
Name: province.Name,
|
|
|
|
|
Codes: province.DecodeCodes(),
|
|
|
|
|
CustomName: province.CustomName,
|
|
|
|
|
CustomCodes: province.DecodeCustomCodes(),
|
|
|
|
|
DisplayName: province.DisplayName(),
|
2020-11-06 11:02:53 +08:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &pb.FindAllEnabledRegionProvincesWithCountryIdResponse{
|
2022-01-06 16:25:23 +08:00
|
|
|
RegionProvinces: result,
|
2020-11-06 11:02:53 +08:00
|
|
|
}, nil
|
|
|
|
|
}
|
2020-11-20 21:59:16 +08:00
|
|
|
|
2021-07-11 18:05:57 +08:00
|
|
|
// FindEnabledRegionProvince 查找单个省份信息
|
2022-08-13 23:55:48 +08:00
|
|
|
// Deprecated
|
2020-11-20 21:59:16 +08:00
|
|
|
func (this *RegionProvinceService) FindEnabledRegionProvince(ctx context.Context, req *pb.FindEnabledRegionProvinceRequest) (*pb.FindEnabledRegionProvinceResponse, error) {
|
|
|
|
|
// 校验请求
|
2022-01-06 16:25:23 +08:00
|
|
|
_, _, err := this.ValidateNodeId(ctx)
|
2020-11-20 21:59:16 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
2021-01-01 23:31:30 +08:00
|
|
|
|
2022-07-22 15:05:30 +08:00
|
|
|
var tx = this.NullTx()
|
2021-01-01 23:31:30 +08:00
|
|
|
|
2022-01-06 16:25:23 +08:00
|
|
|
province, err := regions.SharedRegionProvinceDAO.FindEnabledRegionProvince(tx, req.RegionProvinceId)
|
2020-11-20 21:59:16 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if province == nil {
|
2022-01-06 16:25:23 +08:00
|
|
|
return &pb.FindEnabledRegionProvinceResponse{RegionProvince: nil}, nil
|
2020-11-20 21:59:16 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &pb.FindEnabledRegionProvinceResponse{
|
2022-01-06 16:25:23 +08:00
|
|
|
RegionProvince: &pb.RegionProvince{
|
2023-07-07 09:52:46 +08:00
|
|
|
Id: int64(province.ValueId),
|
2022-08-13 23:55:48 +08:00
|
|
|
Name: province.Name,
|
|
|
|
|
Codes: province.DecodeCodes(),
|
|
|
|
|
CustomName: province.CustomName,
|
|
|
|
|
CustomCodes: province.DecodeCustomCodes(),
|
|
|
|
|
DisplayName: province.DisplayName(),
|
2020-11-20 21:59:16 +08:00
|
|
|
},
|
|
|
|
|
}, nil
|
|
|
|
|
}
|
2022-08-13 23:55:48 +08:00
|
|
|
|
|
|
|
|
// FindAllRegionProvincesWithRegionCountryId 查找所有省份
|
|
|
|
|
func (this *RegionProvinceService) FindAllRegionProvincesWithRegionCountryId(ctx context.Context, req *pb.FindAllRegionProvincesWithRegionCountryIdRequest) (*pb.FindAllRegionProvincesWithRegionCountryIdResponse, error) {
|
|
|
|
|
// 校验请求
|
|
|
|
|
_, _, err := this.ValidateNodeId(ctx)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tx = this.NullTx()
|
|
|
|
|
|
|
|
|
|
provinces, err := regions.SharedRegionProvinceDAO.FindAllEnabledProvincesWithCountryId(tx, req.RegionCountryId)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
2022-08-23 19:40:17 +08:00
|
|
|
var result = []*pb.RegionProvince{}
|
2022-08-13 23:55:48 +08:00
|
|
|
for _, province := range provinces {
|
|
|
|
|
result = append(result, &pb.RegionProvince{
|
2023-07-07 09:52:46 +08:00
|
|
|
Id: int64(province.ValueId),
|
2022-08-13 23:55:48 +08:00
|
|
|
Name: province.Name,
|
|
|
|
|
Codes: province.DecodeCodes(),
|
|
|
|
|
CustomName: province.CustomName,
|
|
|
|
|
CustomCodes: province.DecodeCustomCodes(),
|
|
|
|
|
DisplayName: province.DisplayName(),
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &pb.FindAllRegionProvincesWithRegionCountryIdResponse{
|
|
|
|
|
RegionProvinces: result,
|
|
|
|
|
}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// FindRegionProvince 查找单个省份信息
|
|
|
|
|
func (this *RegionProvinceService) FindRegionProvince(ctx context.Context, req *pb.FindRegionProvinceRequest) (*pb.FindRegionProvinceResponse, error) {
|
|
|
|
|
// 校验请求
|
|
|
|
|
_, _, err := this.ValidateNodeId(ctx)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tx = this.NullTx()
|
|
|
|
|
|
|
|
|
|
province, err := regions.SharedRegionProvinceDAO.FindEnabledRegionProvince(tx, req.RegionProvinceId)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if province == nil {
|
|
|
|
|
return &pb.FindRegionProvinceResponse{RegionProvince: nil}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &pb.FindRegionProvinceResponse{
|
|
|
|
|
RegionProvince: &pb.RegionProvince{
|
2023-07-07 09:52:46 +08:00
|
|
|
Id: int64(province.ValueId),
|
2022-08-13 23:55:48 +08:00
|
|
|
Name: province.Name,
|
|
|
|
|
Codes: province.DecodeCodes(),
|
|
|
|
|
CustomName: province.CustomName,
|
|
|
|
|
CustomCodes: province.DecodeCustomCodes(),
|
|
|
|
|
DisplayName: province.DisplayName(),
|
|
|
|
|
},
|
|
|
|
|
}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// UpdateRegionProvinceCustom 修改城市定制信息
|
|
|
|
|
func (this *RegionProvinceService) UpdateRegionProvinceCustom(ctx context.Context, req *pb.UpdateRegionProvinceCustomRequest) (*pb.RPCSuccess, error) {
|
|
|
|
|
_, err := this.ValidateAdmin(ctx)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tx = this.NullTx()
|
|
|
|
|
err = regions.SharedRegionProvinceDAO.UpdateProvinceCustom(tx, req.RegionProvinceId, req.CustomName, req.CustomCodes)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return this.Success()
|
|
|
|
|
}
|