修正修改医生 银行卡问题
This commit is contained in:
parent
de9dde6404
commit
6751b1d312
@ -225,6 +225,7 @@ func (r *Post) GetPostList(c *gin.Context) {
|
|||||||
adminPostDao := dao.AdminPostDao{}
|
adminPostDao := dao.AdminPostDao{}
|
||||||
|
|
||||||
maps := make(map[string]interface{})
|
maps := make(map[string]interface{})
|
||||||
|
maps["post_status"] = 1
|
||||||
if roleRequest.GetPostList.PostName != "" {
|
if roleRequest.GetPostList.PostName != "" {
|
||||||
maps["post_name"] = roleRequest.GetPostList.PostName
|
maps["post_name"] = roleRequest.GetPostList.PostName
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"hospital-admin-api/api/dao"
|
"hospital-admin-api/api/dao"
|
||||||
"hospital-admin-api/api/requests"
|
"hospital-admin-api/api/requests"
|
||||||
@ -28,7 +27,6 @@ func (b *Hospital) GetHospitalLimit(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(hospitalRequest.GetHospitalLimit)
|
|
||||||
hospitalDao := dao.Hospital{}
|
hospitalDao := dao.Hospital{}
|
||||||
hospitals, err := hospitalDao.GetHospitalLimitByMaps(hospitalRequest.GetHospitalLimit)
|
hospitals, err := hospitalDao.GetHospitalLimitByMaps(hospitalRequest.GetHospitalLimit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -96,14 +96,6 @@ func (r *UserDoctor) PutUserDoctor(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 签名、身份证数据不为空的情况下,银行卡必填
|
|
||||||
if req.IdCardFront != "" && req.IdCardBack != "" && req.SignImage != "" {
|
|
||||||
if req.BankCardCode == "" || req.BankId == "" || req.BankCardProvinceId == 0 || req.BankCardCountyId == 0 || req.BankCardCityId == 0 {
|
|
||||||
responses.FailWithMessage("请填入银行卡数据", c)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
id := c.Param("doctor_id")
|
id := c.Param("doctor_id")
|
||||||
if id == "" {
|
if id == "" {
|
||||||
responses.FailWithMessage("缺少参数", c)
|
responses.FailWithMessage("缺少参数", c)
|
||||||
|
|||||||
@ -248,6 +248,9 @@ func (r *UserService) PutUser(c *gin.Context, requestUserId int64, putUserReques
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 检测角色
|
// 检测角色
|
||||||
|
if putUserRequest.RoleID == "" {
|
||||||
|
return false, errors.New("角色错误")
|
||||||
|
}
|
||||||
roleID, err := strconv.ParseInt(putUserRequest.RoleID, 10, 64)
|
roleID, err := strconv.ParseInt(putUserRequest.RoleID, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, errors.New("角色错误")
|
return false, errors.New("角色错误")
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"hospital-admin-api/api/dao"
|
"hospital-admin-api/api/dao"
|
||||||
"hospital-admin-api/api/model"
|
"hospital-admin-api/api/model"
|
||||||
"hospital-admin-api/api/requests"
|
"hospital-admin-api/api/requests"
|
||||||
@ -136,9 +137,15 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
|
|||||||
return false, errors.New("医生身份审核中,不允许修改")
|
return false, errors.New("医生身份审核中,不允许修改")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取医生绑定银行卡数据
|
||||||
|
doctorBankCardDao := dao.DoctorBankCardDao{}
|
||||||
|
doctorBankCard, _ := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId)
|
||||||
|
fmt.Println(doctorBankCard)
|
||||||
|
|
||||||
userDoctorData := make(map[string]interface{}) // 医生数据
|
userDoctorData := make(map[string]interface{}) // 医生数据
|
||||||
userDoctorInfoData := make(map[string]interface{}) // 医生详情数据
|
userDoctorInfoData := make(map[string]interface{}) // 医生详情数据
|
||||||
userData := make(map[string]interface{}) // 用户数据
|
userData := make(map[string]interface{}) // 用户数据
|
||||||
|
// doctorBankCardData := make(map[string]interface{}) // 医生银行卡数据
|
||||||
|
|
||||||
// 处理头像
|
// 处理头像
|
||||||
avatar := utils.RemoveOssDomain(req.Avatar)
|
avatar := utils.RemoveOssDomain(req.Avatar)
|
||||||
@ -378,6 +385,123 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理银行卡
|
||||||
|
if (userDoctorInfo.IdCardFront != "" || req.IdCardFront != "") && (userDoctorInfo.IdCardBack != "" || req.IdCardBack != "") && (userDoctorInfo.SignImage != "" || req.SignImage != "") {
|
||||||
|
// 签名、身份证数据不为空的情况下,银行卡数据必填
|
||||||
|
if req.BankCardCode == "" || req.BankId == "" || req.BankCardProvinceId == 0 || req.BankCardCountyId == 0 || req.BankCardCityId == 0 {
|
||||||
|
return false, errors.New("请填入银行卡数据")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var provinceId int
|
||||||
|
var province string
|
||||||
|
var cityId int
|
||||||
|
var city string
|
||||||
|
var countyId int
|
||||||
|
var county string
|
||||||
|
var bankId int64
|
||||||
|
var bankCardCode string
|
||||||
|
var bankCardCodeMask string
|
||||||
|
|
||||||
|
// 原银行卡数据存在的情况下,只允许重新替换,不允许删除
|
||||||
|
if doctorBankCard != nil {
|
||||||
|
if req.BankCardProvinceId == 0 || req.BankCardCityId == 0 || req.BankCardCountyId == 0 || req.BankCardCode == "" || req.BankId == "" {
|
||||||
|
return false, errors.New("未上传新的银行卡数据")
|
||||||
|
}
|
||||||
|
|
||||||
|
if doctorBankCard.ProvinceId != req.BankCardProvinceId {
|
||||||
|
provinceId = req.BankCardProvinceId
|
||||||
|
}
|
||||||
|
|
||||||
|
if doctorBankCard.CityId != req.BankCardCityId {
|
||||||
|
cityId = req.BankCardCityId
|
||||||
|
}
|
||||||
|
|
||||||
|
if doctorBankCard.CountyId != req.BankCardCountyId {
|
||||||
|
countyId = req.BankCardCountyId
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理银行卡数据
|
||||||
|
reqBankId, err := strconv.ParseInt(req.BankId, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return false, errors.New("银行错误")
|
||||||
|
}
|
||||||
|
|
||||||
|
if doctorBankCard.BankId != reqBankId {
|
||||||
|
bankId = reqBankId
|
||||||
|
}
|
||||||
|
|
||||||
|
if doctorBankCard.BankCardCode != req.BankCardCode {
|
||||||
|
bankCardCode = req.BankCardCode
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if req.BankCardCode != "" && req.BankId != "" && req.BankCardProvinceId != 0 && req.BankCardCountyId != 0 && req.BankCardCityId != 0 {
|
||||||
|
provinceId = req.BankCardProvinceId
|
||||||
|
cityId = req.BankCardCityId
|
||||||
|
countyId = req.BankCardCountyId
|
||||||
|
|
||||||
|
bankId, err = strconv.ParseInt(req.BankId, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return false, errors.New("银行错误")
|
||||||
|
}
|
||||||
|
|
||||||
|
bankCardCode = req.BankCardCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
areaDao := dao.AreaDao{}
|
||||||
|
if provinceId != 0 {
|
||||||
|
area, err := areaDao.GetAreaById(provinceId)
|
||||||
|
if err != nil || area == nil {
|
||||||
|
return false, errors.New("银行卡省份数据错误")
|
||||||
|
}
|
||||||
|
province = area.AreaName
|
||||||
|
}
|
||||||
|
|
||||||
|
if cityId != 0 {
|
||||||
|
area, err := areaDao.GetAreaById(cityId)
|
||||||
|
if err != nil || area == nil {
|
||||||
|
return false, errors.New("银行卡城市数据错误")
|
||||||
|
}
|
||||||
|
city = area.AreaName
|
||||||
|
}
|
||||||
|
|
||||||
|
if countyId != 0 {
|
||||||
|
area, err := areaDao.GetAreaById(countyId)
|
||||||
|
if err != nil || area == nil {
|
||||||
|
return false, errors.New("银行卡城市数据错误")
|
||||||
|
}
|
||||||
|
county = area.AreaName
|
||||||
|
}
|
||||||
|
|
||||||
|
if bankId != 0 {
|
||||||
|
basicBankDao := dao.BasicBankDao{}
|
||||||
|
basicBank, err := basicBankDao.GetBasicBankById(bankId)
|
||||||
|
if err != nil || basicBank == nil {
|
||||||
|
return false, errors.New("银行数据错误")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理银行卡号掩码
|
||||||
|
if bankCardCode != "" {
|
||||||
|
if len(bankCardCode) < 8 {
|
||||||
|
return false, errors.New("银行卡号错误")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取银行卡号的前4位和后4位
|
||||||
|
start := bankCardCode[:4]
|
||||||
|
end := bankCardCode[len(bankCardCode)-4:]
|
||||||
|
// 拼接前4位、中间的 * 字符串和后4位
|
||||||
|
bankCardCodeMask = start + "****" + end
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是否已绑定结算银行卡
|
||||||
|
if provinceId != 0 && cityId != 0 && countyId != 0 && bankId != 0 && bankCardCode != "" {
|
||||||
|
if userDoctor.IsBindBank != 1 {
|
||||||
|
userDoctorData["is_bind_bank"] = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 开始事务
|
// 开始事务
|
||||||
tx := global.Db.Begin()
|
tx := global.Db.Begin()
|
||||||
defer func() {
|
defer func() {
|
||||||
@ -458,6 +582,76 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 修改医生银行卡数据
|
||||||
|
fmt.Println(provinceId)
|
||||||
|
fmt.Println(cityId)
|
||||||
|
fmt.Println(countyId)
|
||||||
|
fmt.Println(bankId)
|
||||||
|
fmt.Println(bankCardCode)
|
||||||
|
if doctorBankCard == nil {
|
||||||
|
if provinceId != 0 && cityId != 0 && countyId != 0 && bankId != 0 && bankCardCode != "" {
|
||||||
|
// 新增医生银行卡表
|
||||||
|
bankId, err := strconv.ParseInt(req.BankId, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return false, errors.New("银行错误")
|
||||||
|
}
|
||||||
|
|
||||||
|
doctorBankCard := &model.DoctorBankCard{
|
||||||
|
DoctorId: userDoctor.DoctorId,
|
||||||
|
BankId: bankId,
|
||||||
|
BankCardCode: bankCardCode,
|
||||||
|
BankCardCodeMask: bankCardCodeMask,
|
||||||
|
ProvinceId: provinceId,
|
||||||
|
Province: province,
|
||||||
|
CityId: cityId,
|
||||||
|
City: city,
|
||||||
|
CountyId: countyId,
|
||||||
|
County: county,
|
||||||
|
}
|
||||||
|
doctorBankCardDao := dao.DoctorBankCardDao{}
|
||||||
|
|
||||||
|
doctorBankCard, err = doctorBankCardDao.AddDoctorBankCard(tx, doctorBankCard)
|
||||||
|
if err != nil || doctorBankCard == nil {
|
||||||
|
tx.Rollback()
|
||||||
|
return false, errors.New(err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 修改
|
||||||
|
doctorBankCardData := make(map[string]interface{}) // 医生银行卡数据
|
||||||
|
if bankId != 0 {
|
||||||
|
doctorBankCardData["bank_id"] = bankId
|
||||||
|
}
|
||||||
|
|
||||||
|
if bankCardCode != "" {
|
||||||
|
doctorBankCardData["bank_card_code"] = bankCardCode
|
||||||
|
doctorBankCardData["bank_card_code_mask"] = bankCardCodeMask
|
||||||
|
}
|
||||||
|
|
||||||
|
if provinceId != 0 {
|
||||||
|
doctorBankCardData["province_id"] = provinceId
|
||||||
|
doctorBankCardData["province"] = province
|
||||||
|
}
|
||||||
|
|
||||||
|
if cityId != 0 {
|
||||||
|
doctorBankCardData["city_id"] = cityId
|
||||||
|
doctorBankCardData["city"] = city
|
||||||
|
}
|
||||||
|
|
||||||
|
if countyId != 0 {
|
||||||
|
doctorBankCardData["county_id"] = countyId
|
||||||
|
doctorBankCardData["county"] = county
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(doctorBankCardData) > 0 {
|
||||||
|
err = doctorBankCardDao.EditDoctorBankCardById(tx, doctorId, doctorBankCardData)
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
return false, errors.New("修改失败")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 判断头像是否修改,同步修改im
|
// 判断头像是否修改,同步修改im
|
||||||
if userDoctor.Avatar != avatar {
|
if userDoctor.Avatar != avatar {
|
||||||
profileItem := []tencentIm.ProfileItem{
|
profileItem := []tencentIm.ProfileItem{
|
||||||
@ -732,6 +926,12 @@ func (r *UserDoctorService) AddUserDoctor(userId string, req requests.AddUserDoc
|
|||||||
bankCardCodeMask = start + "****" + end
|
bankCardCodeMask = start + "****" + end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否已绑定结算银行卡
|
||||||
|
var isBindBank int
|
||||||
|
if req.BankCardProvinceId != 0 && req.BankCardCityId != 0 && req.BankCardCountyId != 0 && req.BankId != "" && req.BankCardCode != "" {
|
||||||
|
isBindBank = 1
|
||||||
|
}
|
||||||
|
|
||||||
// 开始事务
|
// 开始事务
|
||||||
tx := global.Db.Begin()
|
tx := global.Db.Begin()
|
||||||
defer func() {
|
defer func() {
|
||||||
@ -767,7 +967,7 @@ func (r *UserDoctorService) AddUserDoctor(userId string, req requests.AddUserDoc
|
|||||||
IdcardStatus: 1, // 身份证默认审核通过
|
IdcardStatus: 1, // 身份证默认审核通过
|
||||||
IdenAuthStatus: 2,
|
IdenAuthStatus: 2,
|
||||||
MultiPointStatus: multiPointStatus,
|
MultiPointStatus: multiPointStatus,
|
||||||
IsBindBank: 0,
|
IsBindBank: isBindBank,
|
||||||
IsRecommend: req.IsRecommend,
|
IsRecommend: req.IsRecommend,
|
||||||
Avatar: avatar,
|
Avatar: avatar,
|
||||||
DoctorTitle: req.DoctorTitle,
|
DoctorTitle: req.DoctorTitle,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user