新增了医院管理
This commit is contained in:
@@ -126,7 +126,7 @@ func (r *DoctorInquiryConfigService) GetDoctorInquiryConfig(inquiryConfigId int6
|
||||
}
|
||||
|
||||
// 获取医生医院数据
|
||||
hospitalDao := dao.Hospital{}
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, err := hospitalDao.GetHospitalById(userDoctor.HospitalID)
|
||||
|
||||
// 获取系统问诊配置
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/model"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/global"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type AreaService struct{}
|
||||
|
||||
// AddArea 新增地区
|
||||
func (r *AreaService) AddArea(req requests.AddArea) (bool, error) {
|
||||
if *req.AreaType == 1 {
|
||||
return false, errors.New("不可添加国家")
|
||||
}
|
||||
|
||||
// 检测上级是否存在
|
||||
maps := make(map[string]interface{})
|
||||
maps["parent_id"] = req.ParentId
|
||||
if *req.AreaType == 4 {
|
||||
maps["area_type"] = 3
|
||||
}
|
||||
if *req.AreaType == 3 {
|
||||
maps["area_type"] = 2
|
||||
}
|
||||
|
||||
if *req.AreaType == 2 {
|
||||
maps["area_type"] = 1
|
||||
}
|
||||
|
||||
areaDao := dao.AreaDao{}
|
||||
_, err := areaDao.GetAreaList(maps)
|
||||
if err != nil {
|
||||
return false, errors.New("上级地区错误")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
fmt.Println(r)
|
||||
}
|
||||
}()
|
||||
|
||||
parentId, err := strconv.ParseInt(req.ParentId, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 新增优惠卷表
|
||||
area := &model.Area{
|
||||
AreaName: req.AreaName,
|
||||
ParentId: parentId,
|
||||
Zip: req.Zip,
|
||||
AreaType: *req.AreaType,
|
||||
}
|
||||
|
||||
area, err = areaDao.AddArea(tx, area)
|
||||
if err != nil || area == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// PutArea 修改地区
|
||||
func (r *AreaService) PutArea(areaId int, req requests.PutArea) (bool, error) {
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaById(areaId)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
fmt.Println(r)
|
||||
}
|
||||
}()
|
||||
|
||||
areaData := make(map[string]interface{})
|
||||
|
||||
if req.AreaName != area.AreaName {
|
||||
areaData["area_name"] = req.AreaName
|
||||
}
|
||||
|
||||
if req.Zip != "" {
|
||||
if req.Zip != area.Zip {
|
||||
areaData["zip"] = req.Zip
|
||||
}
|
||||
}
|
||||
|
||||
if len(areaData) > 0 {
|
||||
err = areaDao.EditAreaById(tx, areaId, areaData)
|
||||
if err != nil || area == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
@@ -1,113 +1,3 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/model"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/global"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type BasicService struct{}
|
||||
|
||||
// AddArea 新增地区
|
||||
func (r *BasicService) AddArea(req requests.AddArea) (bool, error) {
|
||||
if *req.AreaType == 1 {
|
||||
return false, errors.New("不可添加国家")
|
||||
}
|
||||
|
||||
// 检测上级是否存在
|
||||
maps := make(map[string]interface{})
|
||||
maps["parent_id"] = req.ParentId
|
||||
if *req.AreaType == 4 {
|
||||
maps["area_type"] = 3
|
||||
}
|
||||
if *req.AreaType == 3 {
|
||||
maps["area_type"] = 2
|
||||
}
|
||||
|
||||
if *req.AreaType == 2 {
|
||||
maps["area_type"] = 1
|
||||
}
|
||||
|
||||
areaDao := dao.AreaDao{}
|
||||
_, err := areaDao.GetAreaList(maps)
|
||||
if err != nil {
|
||||
return false, errors.New("上级地区错误")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
fmt.Println(r)
|
||||
}
|
||||
}()
|
||||
|
||||
parentId, err := strconv.ParseInt(req.ParentId, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 新增优惠卷表
|
||||
area := &model.Area{
|
||||
AreaName: req.AreaName,
|
||||
ParentId: parentId,
|
||||
Zip: req.Zip,
|
||||
AreaType: *req.AreaType,
|
||||
}
|
||||
|
||||
area, err = areaDao.AddArea(tx, area)
|
||||
if err != nil || area == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// PutArea 修改地区
|
||||
func (r *BasicService) PutArea(areaId int, req requests.PutArea) (bool, error) {
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaById(areaId)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
fmt.Println(r)
|
||||
}
|
||||
}()
|
||||
|
||||
areaData := make(map[string]interface{})
|
||||
|
||||
if req.AreaName != area.AreaName {
|
||||
areaData["area_name"] = req.AreaName
|
||||
}
|
||||
|
||||
if req.Zip != "" {
|
||||
if req.Zip != area.Zip {
|
||||
areaData["zip"] = req.Zip
|
||||
}
|
||||
}
|
||||
|
||||
if len(areaData) > 0 {
|
||||
err = areaDao.EditAreaById(tx, areaId, areaData)
|
||||
if err != nil || area == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/dto"
|
||||
"hospital-admin-api/api/model"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/global"
|
||||
)
|
||||
|
||||
type HospitalService struct {
|
||||
}
|
||||
|
||||
// AddHospital 新增医院
|
||||
func (r *HospitalService) AddHospital(req requests.AddHospital) (bool, error) {
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
|
||||
// 检测医院是否重复
|
||||
maps := make(map[string]interface{})
|
||||
maps["hospital_name"] = req.HospitalName
|
||||
maps["province_id"] = req.ProvinceId
|
||||
maps["city_id"] = req.CityId
|
||||
hospitals, err := hospitalDao.GetHospitalList(maps)
|
||||
if err != nil {
|
||||
return false, errors.New("医院重复添加")
|
||||
}
|
||||
|
||||
if len(hospitals) != 0 {
|
||||
return false, errors.New("医院重复添加")
|
||||
}
|
||||
|
||||
var province string
|
||||
var city string
|
||||
var county string
|
||||
|
||||
areaDao := dao.AreaDao{}
|
||||
if req.ProvinceId != 0 {
|
||||
area, err := areaDao.GetAreaById(req.ProvinceId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("省份数据错误")
|
||||
}
|
||||
province = area.AreaName
|
||||
}
|
||||
|
||||
if req.CityId != 0 {
|
||||
area, err := areaDao.GetAreaById(req.CityId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("城市数据错误")
|
||||
}
|
||||
city = area.AreaName
|
||||
}
|
||||
|
||||
if req.CountyId != 0 {
|
||||
area, err := areaDao.GetAreaById(req.CountyId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("城市数据错误")
|
||||
}
|
||||
county = area.AreaName
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
// 新增商品表
|
||||
hospital := &model.Hospital{
|
||||
HospitalName: req.HospitalName,
|
||||
HospitalStatus: *req.HospitalStatus,
|
||||
HospitalLevelName: req.HospitalLevelName,
|
||||
PostCode: req.PostCode,
|
||||
TelePhone: req.TelePhone,
|
||||
ProvinceId: req.ProvinceId,
|
||||
Province: province,
|
||||
CityId: req.CityId,
|
||||
City: city,
|
||||
CountyId: req.CountyId,
|
||||
County: county,
|
||||
Address: req.Address,
|
||||
Lat: req.Lat,
|
||||
Lng: req.Lng,
|
||||
Desc: req.Desc,
|
||||
}
|
||||
|
||||
hospital, err = hospitalDao.AddHospital(tx, hospital)
|
||||
if err != nil || hospital == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// PutHospital 修改医院
|
||||
func (r *HospitalService) PutHospital(hospitalId int64, req requests.PutHospital) (bool, error) {
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
area, err := hospitalDao.GetHospitalById(hospitalId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("省份数据错误")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
fmt.Println(r)
|
||||
}
|
||||
}()
|
||||
|
||||
hospitalData := make(map[string]interface{})
|
||||
|
||||
if req.HospitalName != area.HospitalName {
|
||||
hospitalData["hospital_name"] = req.HospitalName
|
||||
}
|
||||
|
||||
if *req.HospitalStatus != area.HospitalStatus {
|
||||
hospitalData["hospital_status"] = req.HospitalStatus
|
||||
}
|
||||
|
||||
if req.HospitalLevelName != area.HospitalLevelName {
|
||||
hospitalData["hospital_level_name"] = req.HospitalLevelName
|
||||
}
|
||||
|
||||
if req.PostCode != "" {
|
||||
if req.PostCode != area.PostCode {
|
||||
hospitalData["post_code"] = req.PostCode
|
||||
}
|
||||
}
|
||||
|
||||
if req.TelePhone != "" {
|
||||
if req.TelePhone != area.TelePhone {
|
||||
hospitalData["tele_phone"] = req.TelePhone
|
||||
}
|
||||
}
|
||||
|
||||
if req.ProvinceId != 0 {
|
||||
if req.ProvinceId != area.ProvinceId {
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaById(req.ProvinceId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("省份数据错误")
|
||||
}
|
||||
|
||||
hospitalData["province_id"] = req.ProvinceId
|
||||
hospitalData["province"] = area.AreaName
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if req.CityId != 0 {
|
||||
if req.CityId != area.CityId {
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaById(req.CityId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("省份数据错误")
|
||||
}
|
||||
|
||||
hospitalData["city_id"] = req.CityId
|
||||
hospitalData["city"] = area.AreaName
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if req.CountyId != 0 {
|
||||
if req.CountyId != area.CountyId {
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaById(req.CountyId)
|
||||
if err != nil || area == nil {
|
||||
return false, errors.New("省份数据错误")
|
||||
}
|
||||
|
||||
hospitalData["county_id"] = req.CountyId
|
||||
hospitalData["county"] = area.AreaName
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if req.Address != "" {
|
||||
if req.Address != area.Address {
|
||||
hospitalData["address"] = req.Address
|
||||
}
|
||||
}
|
||||
|
||||
if req.Lat != "" {
|
||||
if req.Lat != area.Lat {
|
||||
hospitalData["lat"] = req.Lat
|
||||
}
|
||||
}
|
||||
|
||||
if req.Lng != "" {
|
||||
if req.Lng != area.Lng {
|
||||
hospitalData["lng"] = req.Lng
|
||||
}
|
||||
}
|
||||
|
||||
if req.Desc != "" {
|
||||
if req.Desc != area.Desc {
|
||||
hospitalData["desc"] = req.Desc
|
||||
}
|
||||
}
|
||||
|
||||
if len(hospitalData) > 0 {
|
||||
err = hospitalDao.EditHospitalById(tx, hospitalId, hospitalData)
|
||||
if err != nil || area == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// GetHospital 系统优惠卷详情
|
||||
func (r *HospitalService) GetHospital(hospitalId int64) (g *dto.HospitalDto, err error) {
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, err := hospitalDao.GetHospitalById(hospitalId)
|
||||
if err != nil || hospital == nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
g = dto.GetHospitalDto(hospital)
|
||||
|
||||
return g, nil
|
||||
}
|
||||
@@ -157,7 +157,7 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
|
||||
|
||||
if userDoctor.HospitalID != hospitalId {
|
||||
// 获取医院数据
|
||||
hospitalDao := dao.Hospital{}
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, err := hospitalDao.GetHospitalById(hospitalId)
|
||||
if err != nil || hospital == nil {
|
||||
return false, errors.New("医院错误")
|
||||
@@ -773,7 +773,7 @@ func (r *UserDoctorService) AddUserDoctor(userId string, req requests.AddUserDoc
|
||||
}
|
||||
|
||||
// 获取医院数据
|
||||
hospitalDao := dao.Hospital{}
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, err := hospitalDao.GetHospitalById(hospitalId)
|
||||
if err != nil || hospital == nil {
|
||||
return false, errors.New("医院错误")
|
||||
@@ -1179,7 +1179,7 @@ func (r *UserDoctorService) PutUserDoctorPending(doctorId int64, req requests.Pu
|
||||
}
|
||||
|
||||
// 获取医院名称
|
||||
hospitalDao := dao.Hospital{}
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, err := hospitalDao.GetHospitalById(userDoctor.HospitalID)
|
||||
if err != nil {
|
||||
return false, errors.New("审核失败")
|
||||
|
||||
Reference in New Issue
Block a user