f
This commit is contained in:
@@ -154,6 +154,59 @@ func (h *CertificationHandler) ConfirmAuth(c *gin.Context) {
|
||||
h.response.Success(c, result, "状态确认成功")
|
||||
}
|
||||
|
||||
// ListSignPlatforms 可选签署平台列表
|
||||
func (h *CertificationHandler) ListSignPlatforms(c *gin.Context) {
|
||||
result, err := h.appService.ListSignPlatforms(c.Request.Context())
|
||||
if err != nil {
|
||||
h.response.BadRequest(c, err.Error())
|
||||
return
|
||||
}
|
||||
h.response.Success(c, result, "获取签署平台列表成功")
|
||||
}
|
||||
|
||||
// SelectSignPlatform 选择签署平台并生成企业认证链接
|
||||
func (h *CertificationHandler) SelectSignPlatform(c *gin.Context) {
|
||||
var cmd commands.SelectSignPlatformCommand
|
||||
cmd.UserID = h.getCurrentUserID(c)
|
||||
if cmd.UserID == "" {
|
||||
h.response.Unauthorized(c, "用户未登录")
|
||||
return
|
||||
}
|
||||
if err := c.ShouldBindJSON(&cmd); err != nil {
|
||||
h.response.BadRequest(c, "请求参数错误")
|
||||
return
|
||||
}
|
||||
result, err := h.appService.SelectSignPlatform(c.Request.Context(), &cmd)
|
||||
if err != nil {
|
||||
h.logger.Error("选择签署平台失败", zap.Error(err), zap.String("user_id", cmd.UserID))
|
||||
h.response.BadRequest(c, err.Error())
|
||||
return
|
||||
}
|
||||
h.response.Success(c, result, "已选择签署平台")
|
||||
}
|
||||
|
||||
// HandleFadadaCallback 法大大回调
|
||||
func (h *CertificationHandler) HandleFadadaCallback(c *gin.Context) {
|
||||
headers := make(map[string]string)
|
||||
for key, values := range c.Request.Header {
|
||||
if len(values) > 0 {
|
||||
headers[key] = values[0]
|
||||
}
|
||||
}
|
||||
body, err := io.ReadAll(c.Request.Body)
|
||||
if err != nil {
|
||||
h.logger.Error("读取法大大回调失败", zap.Error(err))
|
||||
c.String(400, "fail")
|
||||
return
|
||||
}
|
||||
if err := h.appService.HandleFadadaCallback(c.Request.Context(), headers, body); err != nil {
|
||||
h.logger.Error("处理法大大回调失败", zap.Error(err))
|
||||
c.String(400, "fail")
|
||||
return
|
||||
}
|
||||
c.Data(200, "application/json", []byte(`{"msg":"success"}`))
|
||||
}
|
||||
|
||||
// ConfirmSign 前端确认是否完成签署
|
||||
// @Summary 前端确认签署状态
|
||||
// @Description 前端轮询确认合同签署是否完成
|
||||
@@ -219,6 +272,38 @@ func (h *CertificationHandler) ApplyContract(c *gin.Context) {
|
||||
h.response.Success(c, result, "合同申请成功")
|
||||
}
|
||||
|
||||
// RefreshContractSignURL 刷新合同签署 iframe 长链
|
||||
func (h *CertificationHandler) RefreshContractSignURL(c *gin.Context) {
|
||||
userID := h.getCurrentUserID(c)
|
||||
if userID == "" {
|
||||
h.response.Unauthorized(c, "用户未登录")
|
||||
return
|
||||
}
|
||||
result, err := h.appService.RefreshContractSignURL(c.Request.Context(), userID)
|
||||
if err != nil {
|
||||
h.logger.Error("刷新签署链接失败", zap.Error(err), zap.String("user_id", userID))
|
||||
h.response.BadRequest(c, err.Error())
|
||||
return
|
||||
}
|
||||
h.response.Success(c, result, "签署链接已刷新")
|
||||
}
|
||||
|
||||
// RefreshContractPreviewURL 刷新合同预览链接
|
||||
func (h *CertificationHandler) RefreshContractPreviewURL(c *gin.Context) {
|
||||
userID := h.getCurrentUserID(c)
|
||||
if userID == "" {
|
||||
h.response.Unauthorized(c, "用户未登录")
|
||||
return
|
||||
}
|
||||
result, err := h.appService.RefreshContractPreviewURL(c.Request.Context(), userID)
|
||||
if err != nil {
|
||||
h.logger.Error("刷新合同预览链接失败", zap.Error(err), zap.String("user_id", userID))
|
||||
h.response.BadRequest(c, err.Error())
|
||||
return
|
||||
}
|
||||
h.response.Success(c, result, "预览链接已刷新")
|
||||
}
|
||||
|
||||
// RecognizeBusinessLicense OCR识别营业执照
|
||||
// @Summary OCR识别营业执照
|
||||
// @Description 上传营业执照图片进行OCR识别,自动填充企业信息
|
||||
@@ -451,6 +536,46 @@ func (h *CertificationHandler) AdminCompleteCertificationWithoutContract(c *gin.
|
||||
h.response.Success(c, result, "代用户完成认证成功")
|
||||
}
|
||||
|
||||
// AdminResetForResignContract 管理员触发重新认证
|
||||
// @Summary 管理员触发重新认证
|
||||
// @Description 将认证回退到 pending,用户可重新填写企业信息并走完整入驻流程;保留钱包、API Key、历史合同与 is_certified
|
||||
// @Tags 认证管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param request body commands.AdminResetForResignContractCommand true "管理员重新认证请求"
|
||||
// @Success 200 {object} responses.CertificationResponse "操作成功"
|
||||
// @Failure 400 {object} map[string]interface{} "请求参数错误"
|
||||
// @Failure 401 {object} map[string]interface{} "未认证"
|
||||
// @Failure 403 {object} map[string]interface{} "权限不足"
|
||||
// @Router /api/v1/certifications/admin/reset-for-resign-contract [post]
|
||||
func (h *CertificationHandler) AdminResetForResignContract(c *gin.Context) {
|
||||
adminID := h.getCurrentUserID(c)
|
||||
if adminID == "" {
|
||||
h.response.Unauthorized(c, "用户未登录")
|
||||
return
|
||||
}
|
||||
|
||||
var cmd commands.AdminResetForResignContractCommand
|
||||
if err := h.validator.BindAndValidate(c, &cmd); err != nil {
|
||||
return
|
||||
}
|
||||
cmd.AdminID = adminID
|
||||
|
||||
result, err := h.appService.AdminResetForResignContract(c.Request.Context(), &cmd)
|
||||
if err != nil {
|
||||
h.logger.Error("管理员触发重新认证失败",
|
||||
zap.Error(err),
|
||||
zap.String("admin_id", adminID),
|
||||
zap.String("user_id", cmd.UserID),
|
||||
)
|
||||
h.response.BadRequest(c, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
h.response.Success(c, result, "已重置为重新认证,请通知用户前往企业入驻重新填写企业信息")
|
||||
}
|
||||
|
||||
// AdminListSubmitRecords 管理端分页查询企业信息提交记录
|
||||
// @Summary 管理端企业审核列表
|
||||
// @Tags 认证管理
|
||||
|
||||
Reference in New Issue
Block a user