Upstream sync

This commit is contained in:
Senad Uka
2018-05-22 12:40:22 +02:00
parent 39c614fb98
commit 6e903b4d57
31 changed files with 948 additions and 83 deletions

View File

@@ -48,6 +48,16 @@ func (s *organizationService) GetByType(organizationTypeKey string, user viewmod
func (s *organizationService) GetByUUID(organizationUUID string, user viewmodel.User) (viewmodel.Organization, error) {
userEntity := s.mapEntity.User.ToUserEntity(user)
result, err := s.svc.Organization.GetByUUID(organizationUUID, userEntity)
if err != nil {
fmt.Println("Error to get the Organization data by UUID", err)
return viewmodel.Organization{}, err
}
return s.mapEntity.Organization.ToOrganizationModel(result), nil
}
func (s *organizationService) GetByTypeAndReferenceID(typeKey string, referenceID int64, user viewmodel.User) (viewmodel.Organization, error) {
userEntity := s.mapEntity.User.ToUserEntity(user)
result, err := s.svc.Organization.GetByTypeAndReferenceID(typeKey, referenceID, userEntity)
if err != nil {
return viewmodel.Organization{}, err
}
@@ -185,17 +195,17 @@ func (s *organizationService) AddOrganization(organization viewmodel.Organizatio
var provider npdmodel.ProviderResponse
bProvider, err := ffjson.Marshal(organization.Reference)
if err != nil {
fmt.Println("Error to marshal provider")
fmt.Println("Error to marshal provider", err)
return viewmodel.Organization{}, nil
}
if err := ffjson.Unmarshal(bProvider, &provider); err != nil {
fmt.Println("Error to convert provider")
fmt.Println("Error to convert provider", err)
return viewmodel.Organization{}, nil
}
eProviders, err := s.svc.Provider.Save(s.mapEntity.Provider.ToProviderEntitySlice([]npdmodel.ProviderResponse{provider}), enUser)
if err != nil {
fmt.Println("Error to save provider")
fmt.Println("Error to save provider", err)
return viewmodel.Organization{}, nil
}
respProvider := eProviders[0]
@@ -203,17 +213,19 @@ func (s *organizationService) AddOrganization(organization viewmodel.Organizatio
lat, _ := strconv.ParseFloat(provider.Latitude, 64)
long, _ := strconv.ParseFloat(provider.Longitude, 64)
address := entity.OrganizationAddress{
InternalID: provider.MukID,
Name: "Main Address",
Address: fmt.Sprintf("%s %s - %s, %s (%s)", provider.StreetName1, provider.StreetName2, provider.CityName, provider.State, provider.ZipCode),
Latitude: lat,
Longitude: long,
CreatedUser: enOrg.Author,
UpdatedUser: enOrg.LastEditor,
if lat != 0 && long != 0 && len(provider.StreetName1) > 0 {
address := entity.OrganizationAddress{
InternalID: provider.MukID,
Name: "Main Address",
Address: fmt.Sprintf("%s %s - %s, %s (%s)", provider.StreetName1, provider.StreetName2, provider.CityName, provider.State, provider.ZipCode),
Latitude: lat,
Longitude: long,
CreatedUser: enOrg.Author,
UpdatedUser: enOrg.LastEditor,
}
enOrg.Addresses = append(enOrg.Addresses, address)
}
enOrg.Addresses = append(enOrg.Addresses, address)
fmt.Println("Phone Number: ", provider.PhoneNumber)
if provider.PhoneNumber != "" {
formattedPhone := "+1" + strings.Replace(provider.PhoneNumber, "-", "", -1)
contact := entity.OrganizationContact{
@@ -232,6 +244,7 @@ func (s *organizationService) AddOrganization(organization viewmodel.Organizatio
enOrg, err = s.svc.Organization.AddOrganization(enOrg, enUser)
if err != nil {
fmt.Println("Error to save organization on DB", err)
return viewmodel.Organization{}, nil
}

View File

@@ -58,3 +58,13 @@ func (s *providerService) GetByUUID(providerUUID string, user viewmodel.User) (v
return s.mapEntity.Provider.ToProviderRespModel(provider), nil
}
func (s *providerService) GetByNPI(NPI string, user viewmodel.User) (viewmodel.ProviderResp, error) {
eUser := s.mapEntity.User.ToUserEntity(user)
provider, err := s.svc.Provider.GetByNPI(NPI, eUser)
if err != nil {
return viewmodel.ProviderResp{}, err
}
return s.mapEntity.Provider.ToProviderRespModel(provider), nil
}

View File

@@ -37,6 +37,7 @@ func (mapping *providerMapping) ToProviderRespEntity(item viewmodel.ProviderResp
LastName: item.LastName,
Title: item.Title,
Distance: item.Distance,
Organization: mapping.mapper.Organization.ToOrganizationEntity(item.Organization),
}
}
@@ -68,6 +69,7 @@ func (mapping *providerMapping) ToProviderRespModel(item entity.Provider) viewmo
Keys: mapping.ToProviderKeyModelSlice(item.Keys),
Address: mapping.ToProviderRespAddressModel(item.Address),
Distance: item.Distance,
Organization: mapping.mapper.Organization.ToOrganizationModel(item.Organization),
}
}

View File

@@ -16,6 +16,7 @@ type ProviderResp struct {
Keys []ProviderKey `json:"keys,omitempty"`
Address ProviderAddress `json:"address,omitempty"`
Distance float64 `json:"distance,omitempty"`
Organization Organization `json:"organization,omitempty"`
}
type ProviderKey struct {

View File

@@ -24,6 +24,8 @@ type User struct {
Profiles []Profile `json:"profiles,omitempty"`
Types []OrganizationType `json:"types,omitempty"`
Organizations []Organization `json:"organizations,omitempty"`
Provider *ProviderResp `json:"provider,omitempty"`
Consent bool `json:"consent,omitempty"`
}
type Contact struct {