diff --git a/api/requests/User.go b/api/requests/User.go index 75afa5d..4e8f3b8 100644 --- a/api/requests/User.go +++ b/api/requests/User.go @@ -18,9 +18,9 @@ type PutUser struct { IsFamilyHistory *int `json:"is_family_history" form:"is_family_history" label:"是否存在家族病史" validate:"omitempty,oneof=0 1 2"` // 是否存在家族病史(0:位置 1:是 2:否) IsPregnant *int `json:"is_pregnant" form:"is_pregnant" label:"是否怀孕" validate:"omitempty,oneof=1 2 3 4"` ExpectedDate string `json:"expected_date" form:"expected_date" label:"预产期"` // 假设转换为可选字符串 - ProvinceId string `json:"province_id" form:"province_id" label:"省份id" validate:"required"` // 从int转换为可选字符串 - CityId string `json:"city_id" form:"city_id" label:"城市id" validate:"required"` // 从int转换为可选字符串 - CountyId string `json:"county_id" form:"county_id" label:"区县id" validate:"required"` // 从int转换为可选字符串 + ProvinceId *int64 `json:"province_id" form:"province_id" label:"省份id" validate:"required"` // 从int转换为可选字符串 + CityId *int64 `json:"city_id" form:"city_id" label:"城市id" validate:"required"` // 从int转换为可选字符串 + CountyId *int64 `json:"county_id" form:"county_id" label:"区县id" validate:"required"` // 从int转换为可选字符串 } // PutBindUserName 绑定用户数据-昵称 diff --git a/api/service/User.go b/api/service/User.go index ac74d71..c41eaf9 100644 --- a/api/service/User.go +++ b/api/service/User.go @@ -14,7 +14,6 @@ import ( "io" "math/rand" "net/http" - "strconv" "time" ) @@ -819,77 +818,60 @@ func (r *UserService) PutUser(userId int64, req requests.PutUser) (bool, error) } // 省份id - provinceId, err := strconv.ParseInt(req.ProvinceId, 10, 64) - if err != nil { - return false, errors.New("省份错误") - } - - appData.ProvId = &provinceId + appData.ProvId = req.ProvinceId baseAreaDao := dao.BaseAreaDao{} - baseArea, err := baseAreaDao.GetBaseAreaById(provinceId) + baseArea, err := baseAreaDao.GetBaseAreaById(*req.ProvinceId) if err != nil { return false, errors.New("省份错误") } if userInfo.ProvinceId != nil { - if provinceId != *userInfo.ProvinceId { - userInfoData["province_id"] = provinceId + if *req.ProvinceId != *userInfo.ProvinceId { + userInfoData["province_id"] = *req.ProvinceId userInfoData["province"] = baseArea.Name } } else { - userInfoData["province_id"] = provinceId + userInfoData["province_id"] = *req.ProvinceId userInfoData["province"] = baseArea.Name } // 城市id - cityId, err := strconv.ParseInt(req.CityId, 10, 64) - if err != nil { - return false, errors.New("城市错误") - } + appData.CityId = req.CityId - appData.CityId = &cityId - - baseArea, err = baseAreaDao.GetBaseAreaById(cityId) + baseArea, err = baseAreaDao.GetBaseAreaById(*req.CityId) if err != nil { return false, errors.New("城市错误") } if userInfo.CityId != nil { - if cityId != *userInfo.CityId { - userInfoData["city_id"] = cityId + if *req.CityId != *userInfo.CityId { + userInfoData["city_id"] = *req.CityId userInfoData["city"] = baseArea.Name } } else { - userInfoData["city_id"] = cityId + userInfoData["city_id"] = *req.CityId userInfoData["city"] = baseArea.Name - appData.CityId = &cityId } // 区县id - countyId, err := strconv.ParseInt(req.CountyId, 10, 64) - if err != nil { - return false, errors.New("城市错误") - } + appData.CountyId = req.CountyId - appData.CountyId = &countyId - - baseArea, err = baseAreaDao.GetBaseAreaById(countyId) + baseArea, err = baseAreaDao.GetBaseAreaById(*req.CountyId) if err != nil { return false, errors.New("城市错误") } if userInfo.CountyId != nil { - if countyId != *userInfo.CountyId { - userInfoData["county_id"] = countyId + if *req.CountyId != *userInfo.CountyId { + userInfoData["county_id"] = *req.CountyId userInfoData["county"] = baseArea.Name } } else { - userInfoData["county_id"] = countyId + userInfoData["county_id"] = *req.CountyId userInfoData["county"] = baseArea.Name - appData.CountyId = &countyId } // 开始事务