58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
package service
|
|
|
|
import (
|
|
"fmt"
|
|
"hospital-admin-api/api/dao"
|
|
"hospital-admin-api/api/responses/userShipAddressResponse"
|
|
)
|
|
|
|
type UserShipAddressService struct {
|
|
}
|
|
|
|
// GetUserShipAddressByUserId 获取用户收货地址-用户id
|
|
func (r *UserShipAddressService) GetUserShipAddressByUserId(userId int64) (u []*userShipAddressResponse.UserShipAddress, err error) {
|
|
userShipAddressDao := dao.UserShipAddressDao{}
|
|
orderProductLogistics, err := userShipAddressDao.GetUserShipAddressListByOrderUserId(userId)
|
|
|
|
if len(orderProductLogistics) == 0 {
|
|
return nil, nil
|
|
}
|
|
|
|
// 处理返回值
|
|
items := make([]*userShipAddressResponse.UserShipAddress, len(orderProductLogistics))
|
|
|
|
if len(orderProductLogistics) > 0 {
|
|
for i, v := range orderProductLogistics {
|
|
// 将原始结构体转换为新结构体
|
|
item := &userShipAddressResponse.UserShipAddress{
|
|
AddressId: fmt.Sprintf("%d", v.AddressId),
|
|
UserId: fmt.Sprintf("%d", v.AddressId),
|
|
ProvinceId: fmt.Sprintf("%d", v.AddressId),
|
|
Province: v.Province,
|
|
CityId: fmt.Sprintf("%d", v.CityId),
|
|
City: v.City,
|
|
CountyId: fmt.Sprintf("%d", v.CountyId),
|
|
County: v.County,
|
|
ConsigneeTownId: fmt.Sprintf("%d", v.ConsigneeTownId),
|
|
ConsigneeTown: v.ConsigneeTown,
|
|
Address: v.Address,
|
|
AddressMask: v.AddressMask,
|
|
ConsigneeName: v.ConsigneeName,
|
|
ConsigneeNameMask: v.ConsigneeNameMask,
|
|
ConsigneeTel: v.ConsigneeTel,
|
|
ConsigneeTelMask: v.ConsigneeTelMask,
|
|
ConsigneeZipCode: v.ConsigneeZipCode,
|
|
IsDefault: &v.IsDefault,
|
|
Tag: &v.Tag,
|
|
CreatedAt: v.CreatedAt,
|
|
UpdatedAt: v.UpdatedAt,
|
|
}
|
|
|
|
// 将转换后的结构体添加到新切片中
|
|
items[i] = item
|
|
}
|
|
}
|
|
|
|
return items, nil
|
|
}
|