fadd
This commit is contained in:
@@ -10,7 +10,7 @@ import (
|
||||
// CreateSignFlow 基于签署任务模板创建签署任务(POST /sign-task/create-with-template)
|
||||
// - autoStart:无填单时创建即自动提交;有填单时创建后填控件再 Start(完成自动提交)
|
||||
// - 签署顺序:甲方 orderNo=1 先签(短信/验证);乙方 orderNo=2 后签,由系统按模板免验证签自动盖章
|
||||
// - 乙方参与方开启免验证签(requestVerifyFree + freeSignType=template)
|
||||
// - 乙方参与方开启免验证签(requestVerifyFree=true + freeSignType=template);requestVerifyFree 时 businessId 必传
|
||||
func (c *Client) CreateSignFlow(req *CreateSignFlowRequest) (*CreateSignFlowResult, error) {
|
||||
if err := validateCreateSignFlowRequest(req); err != nil {
|
||||
return nil, err
|
||||
@@ -31,6 +31,11 @@ func (c *Client) CreateSignFlow(req *CreateSignFlowRequest) (*CreateSignFlowResu
|
||||
// 有填单须先填再提交,创建时不能 autoStart;无填单则创建时自动提交
|
||||
autoStart := !needFill
|
||||
|
||||
businessID, err := c.resolveBusinessID()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
subject := strings.TrimSpace(req.Subject)
|
||||
if subject == "" {
|
||||
if c.config.Contract != nil && c.config.Contract.Name != "" {
|
||||
@@ -55,7 +60,8 @@ func (c *Client) CreateSignFlow(req *CreateSignFlowRequest) (*CreateSignFlowResu
|
||||
AutoFinish: true,
|
||||
SignInOrder: true,
|
||||
ExpiresTime: expiresTime,
|
||||
FreeSignType: freeSignTypeTemplate, // 按模板免验证签,无需 businessId
|
||||
FreeSignType: freeSignTypeTemplate, // 按模板免验证签
|
||||
BusinessID: businessID, // requestVerifyFree=true 时必传场景码
|
||||
TransReferenceID: strings.TrimSpace(req.TransReferenceID),
|
||||
Actors: actors,
|
||||
})
|
||||
@@ -338,7 +344,19 @@ func (c *Client) GenerateContractSigning(req *ContractSigningRequest) (*Contract
|
||||
}, nil
|
||||
}
|
||||
|
||||
const freeSignTypeTemplate = "template" // 根据模板免验证签(无需 businessId)
|
||||
const freeSignTypeTemplate = "template" // 根据模板免验证签;requestVerifyFree 时仍须传 businessId
|
||||
|
||||
// resolveBusinessID 免验证签场景码(requestVerifyFree=true 时 businessId 必传)
|
||||
func (c *Client) resolveBusinessID() (string, error) {
|
||||
if c.config == nil {
|
||||
return "", fmt.Errorf("法大大配置为空")
|
||||
}
|
||||
businessID := strings.TrimSpace(c.config.NoAuthSceneCode)
|
||||
if businessID == "" {
|
||||
return "", fmt.Errorf("法大大 no_auth_scene_code(免验证签场景码)不能为空:requestVerifyFree 时 businessId 必传")
|
||||
}
|
||||
return businessID, nil
|
||||
}
|
||||
|
||||
func (c *Client) buildSignActors(req *CreateSignFlowRequest) []signTaskActor {
|
||||
partyAActorID := c.config.ResolvePartyAActorID()
|
||||
@@ -366,7 +384,7 @@ func (c *Client) buildSignActors(req *CreateSignFlowRequest) []signTaskActor {
|
||||
},
|
||||
}
|
||||
|
||||
// 乙方(平台)后签 OrderNo=2:甲方签完后由系统按模板免验证签自动盖章
|
||||
// 乙方(平台)后签 OrderNo=2:甲方签完后由系统按模板免验证签自动盖章(任务级传 businessId)
|
||||
partyB := signTaskActor{
|
||||
Actor: &actor{
|
||||
ActorType: "corp",
|
||||
|
||||
Reference in New Issue
Block a user