package controller import ( "github.com/gin-gonic/gin" "hospital-admin-api/api/requests" "hospital-admin-api/api/responses" "hospital-admin-api/api/service" "hospital-admin-api/global" "hospital-admin-api/utils" "strconv" ) type Admin struct{} // GetCaptcha 获取验证码 func (b *Admin) GetCaptcha(c *gin.Context) { id, b64s, err := utils.GenerateCaptcha() if err != nil { responses.FailWithMessage("验证码获取失败", c) } responses.OkWithData(gin.H{ "id": id, "b64s": b64s, }, c) } // Login 登陆 func (b *Admin) Login(c *gin.Context) { var adminRequest requests.AdminRequest if err := c.ShouldBind(&adminRequest.Login); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(adminRequest.Login); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 验证验证码 // isValid := utils.VerifyCaptcha(login) // if !isValid { // // 验证码错误 // responses.FailWithMessage("验证码错误", c) // return // } // 登陆 adminService := service.AdminService{} token, err := adminService.Login(adminRequest.Login) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(token, c) } // GetOssSign 获取oss签名 func (b *Admin) GetOssSign(c *gin.Context) { var adminRequest requests.AdminRequest if err := c.ShouldBind(&adminRequest.GetOssSign); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(adminRequest.GetOssSign); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 获取oss签名 adminService := service.AdminService{} ossSign, _ := adminService.GetOssSign(adminRequest.GetOssSign) responses.OkWithData(ossSign, c) } // GetDecryptCardNum 获取解密身份证号 func (b *Admin) GetDecryptCardNum(c *gin.Context) { var adminRequest requests.AdminRequest if err := c.ShouldBind(&adminRequest.GetDecryptCardNum); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(adminRequest.GetDecryptCardNum); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 将 id 转换为 int64 类型 userId, err := strconv.ParseInt(adminRequest.GetDecryptCardNum.UserId, 10, 64) if err != nil { responses.Fail(c) return } var familyId int64 if adminRequest.GetDecryptCardNum.FamilyId != "" { familyId, err = strconv.ParseInt(adminRequest.GetDecryptCardNum.FamilyId, 10, 64) if err != nil { responses.Fail(c) return } } // 获取用户身份证号 userService := service.UserService{} userCardNum, _ := userService.GetUserCardNum(userId, familyId) responses.OkWithData(userCardNum, c) } // GetDecryptBank 获取解密银行卡号 func (b *Admin) GetDecryptBank(c *gin.Context) { id := c.Param("doctor_id") if id == "" { responses.FailWithMessage("缺少参数", c) return } // 将 id 转换为 int64 类型 doctorId, err := strconv.ParseInt(id, 10, 64) if err != nil { responses.Fail(c) return } // 获取解密银行卡号 userService := service.UserService{} userCardNum, _ := userService.GetUserBankNumByDoctorId(doctorId) responses.OkWithData(userCardNum, c) }