package controller import ( "github.com/gin-gonic/gin" "hospital-admin-api/api/requests" "hospital-admin-api/api/responses" cav2 "hospital-admin-api/extend/ca_v2" "hospital-admin-api/global" "hospital-admin-api/utils" ) type CaV2 struct{} // GetServiceURL 获取云证书生命周期管理界面链接地址 func (r *CaV2) GetServiceURL(c *gin.Context) { caRequest := requests.CaV2Request{} req := caRequest.GetServiceURL if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } if msg := req.ValidateBusinessFields(); msg != "" { responses.FailWithMessage(msg, c) return } client := cav2.NewClientFromConfig() result, err := client.GetServiceURL(cav2.GetServiceURLRequest{ CertType: req.CertType, Type: req.Type, EntityID: req.EntityID, UserName: req.UserName, UserIDCard: req.UserIDCard, UserPhone: req.UserPhone, Email: req.Email, EnterpriseName: req.EnterpriseName, SocialCreditCode: req.SocialCreditCode, DeptPerson: req.DeptPerson, DeptPersonCode: req.DeptPersonCode, DeptPersonPhone: req.DeptPersonPhone, AgentName: req.AgentName, AgentIDCard: req.AgentIDCard, AuthMethod: req.AuthMethod, }) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(result, c) } // CertSign 云证书签名 func (r *CaV2) CertSign(c *gin.Context) { caRequest := requests.CaV2Request{} req := caRequest.CertSign if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } client := cav2.NewClientFromConfig() result, err := client.CertSign(cav2.CertSignRequest{ EntityID: req.EntityID, RequestID: req.RequestID, BusinessType: req.BusinessType, ToSign: req.ToSign, NotifyURL: req.NotifyURL, JumpURL: req.JumpURL, ExtParam: req.ExtParam, }) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(result, c) } // GetCertSignResult 获取云证书签名结果 func (r *CaV2) GetCertSignResult(c *gin.Context) { caRequest := requests.CaV2Request{} req := caRequest.GetCertSignResult if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } client := cav2.NewClientFromConfig() result, err := client.GetCertSignResult(cav2.GetCertSignResultRequest{ RequestID: req.RequestID, }) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(result, c) } // PasswordLessSignInfo 云证书免密签署状态查询 func (r *CaV2) PasswordLessSignInfo(c *gin.Context) { caRequest := requests.CaV2Request{} req := caRequest.PasswordLessSignInfo if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } client := cav2.NewClientFromConfig() result, err := client.PasswordLessSignInfo(cav2.PasswordLessSignInfoRequest{ EntityID: req.EntityID, }) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(result, c) }