From f57b5487d3f7e22ed73e4ebf03301a3c7909ae0e Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Tue, 11 Jul 2023 17:17:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8C=BB=E7=94=9F=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=93=B6=E8=A1=8C=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dao/doctorBankCard.go | 81 +++++++++++++++++++ api/model/doctorBankCard.go | 21 +++++ api/requests/userDoctor.go | 12 +++ .../doctorBankCardResponse/doctorBankCard.go | 14 ++++ .../userDoctorResponse/userDoctor.go | 2 + api/service/userDoctor.go | 36 ++++++++- 6 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 api/dao/doctorBankCard.go create mode 100644 api/model/doctorBankCard.go create mode 100644 api/responses/doctorBankCardResponse/doctorBankCard.go diff --git a/api/dao/doctorBankCard.go b/api/dao/doctorBankCard.go new file mode 100644 index 0000000..384745b --- /dev/null +++ b/api/dao/doctorBankCard.go @@ -0,0 +1,81 @@ +package dao + +import ( + "gorm.io/gorm" + "hospital-admin-api/api/model" + "hospital-admin-api/global" +) + +type DoctorBankCardDao struct { +} + +// GetDoctorBankCardByDoctorId 获取医生银行卡数据-医生id +func (r *DoctorBankCardDao) GetDoctorBankCardByDoctorId(doctorId int64) (m *model.DoctorBankCard, err error) { + err = global.Db.Where("doctor_id = ?", doctorId).First(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// GetDoctorBankCardListByDoctorId 获取医生银行卡数据列表-医生id +func (r *DoctorBankCardDao) GetDoctorBankCardListByDoctorId(doctorId int64) (m []*model.DoctorBankCard, err error) { + err = global.Db.Where("doctor_id = ?", doctorId).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// DeleteDoctorBankCard 删除医生银行卡 +func (r *DoctorBankCardDao) DeleteDoctorBankCard(tx *gorm.DB, maps interface{}) error { + err := tx.Where(maps).Delete(&model.DoctorBankCard{}).Error + if err != nil { + return err + } + return nil +} + +// EditDoctorBankCard 修改医生银行卡 +func (r *DoctorBankCardDao) EditDoctorBankCard(tx *gorm.DB, maps interface{}, data interface{}) error { + err := tx.Model(&model.DoctorBankCard{}).Where(maps).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// EditDoctorBankCardById 修改医生银行卡-医生id +func (r *DoctorBankCardDao) EditDoctorBankCardById(tx *gorm.DB, doctorId int64, data interface{}) error { + err := tx.Model(&model.DoctorBankCard{}).Where("doctor_id = ?", doctorId).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// GetDoctorBankCardList 获取医生银行卡列表 +func (r *DoctorBankCardDao) GetDoctorBankCardList(maps interface{}) (m []*model.DoctorBankCard, err error) { + err = global.Db.Where(maps).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// AddDoctorBankCard 新增医生银行卡 +func (r *DoctorBankCardDao) AddDoctorBankCard(tx *gorm.DB, model *model.DoctorBankCard) (*model.DoctorBankCard, error) { + if err := tx.Create(model).Error; err != nil { + return nil, err + } + return model, nil +} + +// AddDoctorBankCardByMap 新增医生银行卡-map +func (r *DoctorBankCardDao) AddDoctorBankCardByMap(tx *gorm.DB, data map[string]interface{}) (*model.DoctorBankCard, error) { + userDoctorInfo := &model.DoctorBankCard{} + if err := tx.Model(&model.DoctorBankCard{}).Create(data).Error; err != nil { + return nil, err + } + return userDoctorInfo, nil +} diff --git a/api/model/doctorBankCard.go b/api/model/doctorBankCard.go new file mode 100644 index 0000000..a87cb2a --- /dev/null +++ b/api/model/doctorBankCard.go @@ -0,0 +1,21 @@ +package model + +// DoctorBankCard 医生银行卡 +type DoctorBankCard struct { + BankCardId int64 `gorm:"column:bank_card_id;type:bigint(19);primary_key;comment:主键id" json:"bank_card_id"` + DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id;NOT NULL" json:"doctor_id"` + BankId int64 `gorm:"column:bank_id;type:bigint(19);comment:银行id" json:"bank_id"` + BankCardCode string `gorm:"column:bank_card_code;type:varchar(100);comment:银行卡号" json:"bank_card_code"` + BankCardCodeMask string `gorm:"column:bank_card_code_mask;type:varchar(100);comment:银行卡号(掩码)" json:"bank_card_code_mask"` + ProvinceId int `gorm:"column:province_id;type:int(11);comment:省份id" json:"province_id"` + Province string `gorm:"column:province;type:varchar(40);comment:省份" json:"province"` + CityId int `gorm:"column:city_id;type:int(11);comment:城市id" json:"city_id"` + City string `gorm:"column:city;type:varchar(40);comment:城市" json:"city"` + CountyId int `gorm:"column:county_id;type:int(11);comment:区县id" json:"county_id"` + County string `gorm:"column:county;type:varchar(255);comment:区县" json:"county"` + Model +} + +func (m *DoctorBankCard) TableName() string { + return "gdxz_doctor_bank_card" +} diff --git a/api/requests/userDoctor.go b/api/requests/userDoctor.go index 3c7640f..2ab3a0c 100644 --- a/api/requests/userDoctor.go +++ b/api/requests/userDoctor.go @@ -44,6 +44,7 @@ type PutUserDoctor struct { IdCardBack string `json:"id_card_back" form:"id_card_back" label:"身份证背面图片"` SignImage string `json:"sign_image" form:"sign_image" label:"签名图片"` DoctorExpertise []string `json:"doctor_expertise" form:"doctor_expertise" label:"专长"` + // DoctorBankCard doctorBankCard `json:"doctor_bank_card" form:"doctor_bank_card" label:"银行卡"` } // AddUserDoctor 新增医生 @@ -69,6 +70,7 @@ type AddUserDoctor struct { SignImage string `json:"sign_image" form:"sign_image" label:"签名图片"` CardNum string `json:"card_num" form:"card_num" validate:"required" label:"证件号码"` DoctorExpertise []string `json:"doctor_expertise" form:"doctor_expertise" label:"专长"` + // DoctorBankCard []string `json:"doctor_bank_card" form:"doctor_bank_card" label:"银行卡"` } // GetUserDoctorPendingPage 获取医生待审核列表-分页 @@ -81,3 +83,13 @@ type GetUserDoctorPendingPage struct { IdenAuthStatus int `json:"iden_auth_status" form:"iden_auth_status" label:"认证状态"` // (0:未认证 1:认证通过 2:审核中 3:认证失败) MultiPointStatus int `json:"multi_point_status" form:"multi_point_status" label:"多点执业状态"` // 医生多点执业认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败) } + +// 医生银行卡 +// type doctorBankCard struct { +// BankId string `json:"bank_id" form:"bank_id" validate:"required" label:"银行id"` +// BankCardCode string `json:"bank_card_code" form:"bank_card_code" validate:"required" label:"银行卡号"` +// BankCardCodeMask string `json:"bank_card_code_mask" form:"bank_card_code_mask" validate:"required" label:"银行卡号"` +// ProvinceId int `json:"province_id" form:"province_id" validate:"required" label:"省份id"` +// CityId int `json:"city_id" form:"city_id" validate:"required" label:"城市id"` +// CountyId int `json:"county_id" form:"county_id" validate:"required" label:"区县id"` +// } diff --git a/api/responses/doctorBankCardResponse/doctorBankCard.go b/api/responses/doctorBankCardResponse/doctorBankCard.go new file mode 100644 index 0000000..5d4a17c --- /dev/null +++ b/api/responses/doctorBankCardResponse/doctorBankCard.go @@ -0,0 +1,14 @@ +package doctorBankCardResponse + +type DoctorBankCard struct { + BankCardId string `json:"bank_card_id"` // 主键id + DoctorId string `json:"doctor_id"` // 医生id + BankId string `json:"bank_id"` // 银行id + BankCardCodeMask string `json:"bank_card_code_mask"` // 银行卡号(掩码) + ProvinceId int `json:"province_id"` // 省份id + Province string `json:"province"` // 省份 + CityId int `json:"city_id"` // 城市id + City string `json:"city"` // 城市 + CountyId int `json:"county_id"` // 区县id + County string `json:"county"` // 区县 +} diff --git a/api/responses/userDoctorResponse/userDoctor.go b/api/responses/userDoctorResponse/userDoctor.go index fb02d21..f91c5a4 100644 --- a/api/responses/userDoctorResponse/userDoctor.go +++ b/api/responses/userDoctorResponse/userDoctor.go @@ -2,6 +2,7 @@ package userDoctorResponse import ( "hospital-admin-api/api/model" + "hospital-admin-api/api/responses/doctorBankCardResponse" "hospital-admin-api/api/responses/doctorExpertiseResponse" "hospital-admin-api/api/responses/hospitalResponse" "hospital-admin-api/api/responses/userDoctorInfoResponse" @@ -87,6 +88,7 @@ type GetUserDoctor struct { Hospital *hospitalResponse.Hospital `json:"hospital"` // 医院 UserDoctorInfo *userDoctorInfoResponse.UserDoctorInfo `json:"user_doctor_info"` // 医生详情 DoctorExpertise []*doctorExpertiseResponse.DoctorExpertise `json:"doctor_expertise"` // 医生专长 + DoctorBankCard *doctorBankCardResponse.DoctorBankCard `json:"doctor_bank_card"` // 医生银行卡 } // GetUserDoctorPageResponse 获取用户列表-分页 diff --git a/api/service/userDoctor.go b/api/service/userDoctor.go index 00e31db..4ae4a53 100644 --- a/api/service/userDoctor.go +++ b/api/service/userDoctor.go @@ -5,6 +5,7 @@ import ( "hospital-admin-api/api/dao" "hospital-admin-api/api/model" "hospital-admin-api/api/requests" + "hospital-admin-api/api/responses/doctorBankCardResponse" "hospital-admin-api/api/responses/doctorExpertiseResponse" "hospital-admin-api/api/responses/hospitalResponse" "hospital-admin-api/api/responses/userDoctorInfoResponse" @@ -32,11 +33,19 @@ func (r *UserDoctorService) GetUserDoctor(doctorId int64) (getUserDoctorResponse } userDoctorService := UserDoctorService{} + + // 获取医生专长 doctorExpertise, err := userDoctorService.GetUserDoctorExpertiseByDoctorId(doctorId) if err != nil { return nil, errors.New(err.Error()) } + // 获取医生银行卡 + doctorBankCard, err := userDoctorService.GetUserDoctorBankByDoctorId(doctorId) + if err != nil { + return nil, errors.New(err.Error()) + } + // 处理返回值 var userDoctorInfo *userDoctorInfoResponse.UserDoctorInfo if userDoctor.UserDoctorInfo != nil { @@ -92,6 +101,7 @@ func (r *UserDoctorService) GetUserDoctor(doctorId int64) (getUserDoctorResponse Hospital: hospital, UserDoctorInfo: userDoctorInfo, DoctorExpertise: doctorExpertise, // 专长 + DoctorBankCard: doctorBankCard, // 银行卡 } return getUserDoctorResponse, nil @@ -307,7 +317,6 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, putUserDoctorRequest r return false, errors.New("专长数据错误") } } - } // 开始事务 @@ -809,3 +818,28 @@ func (r *UserDoctorService) GetUserDoctorExpertiseByDoctorId(doctorId int64) ([] return doctorExpertisesResponses, nil } + +// GetUserDoctorBankByDoctorId 获取医生银行卡 +func (r *UserDoctorService) GetUserDoctorBankByDoctorId(doctorId int64) (*doctorBankCardResponse.DoctorBankCard, error) { + // 获取医生银行卡 + doctorBankCardDao := dao.DoctorBankCardDao{} + doctorBankCard, err := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId) + if err != nil { + return nil, errors.New("用户数据错误") + } + + doctorExpertisesResponse := &doctorBankCardResponse.DoctorBankCard{ + BankCardId: strconv.FormatInt(doctorBankCard.BankCardId, 10), + DoctorId: strconv.FormatInt(doctorBankCard.DoctorId, 10), + BankId: strconv.FormatInt(doctorBankCard.BankId, 10), + BankCardCodeMask: doctorBankCard.BankCardCodeMask, + ProvinceId: doctorBankCard.ProvinceId, + Province: doctorBankCard.Province, + CityId: doctorBankCard.CityId, + City: doctorBankCard.City, + CountyId: doctorBankCard.CountyId, + County: doctorBankCard.County, + } + + return doctorExpertisesResponse, nil +}