package service import ( "cu-helper/cus-eng-con-sys/config" "cu-helper/cus-eng-con-sys/cryptokit" "cu-helper/cus-eng-con-sys/model" "cu-helper/cus-eng-con-sys/util" "github.com/go-resty/resty/v2" "github.com/mizuki1412/go-core-kit/class/exception" "github.com/mizuki1412/go-core-kit/service/logkit" "strings" "time" ) // ReqAccDelivery 验收确认请求 /* 验收确认分一个步骤进行 1、先获取指定人的deliveryId 2、获取businessKey 3、提交验收确认 */ func ReqAccDelivery(processInsId, taskId string) { businessKey := getRemandId(processInsId, taskId) deliveryId := getDeliveryId(processInsId, taskId, businessKey) jfPushProcess(processInsId, taskId, deliveryId, businessKey) } func jfPushProcess(processInsId, taskId, deliveryId, businessKey string) { h := model.NewHeader("application/x-www-form-urlencoded; charset=UTF-8") header := h.GenReqParam() f := model.NewJFPushProcess(processInsId, taskId, deliveryId, businessKey) form := f.GenReqParam() client := resty.New().SetRetryCount(5).SetRetryWaitTime(18 * time.Second) resp, err := client.R(). SetHeaders(header).SetFormData(form).Post(config.UrlPrefix + "/zjgd/frm/acceptanceComfirmController/jfPushProcess") if err != nil { panic(exception.New(err.Error())) } data := strings.Trim(resp.String(), `"`) logkit.Info("jfPushProcess:" + cryptokit.Decrypt(data)) } func getDeliveryId(processInsId, taskId, businessKey string) string { client := resty.New().SetRetryCount(5).SetRetryWaitTime(15 * time.Second) h := model.NewHeader("application/x-www-form-urlencoded; charset=UTF-8") header := h.GenReqParam() query := model.NewGoAccDeliveryEdit(businessKey, processInsId, taskId) resp, err := client.R(). SetHeaders(header).Get(config.UrlPrefix + "/zjgd/frm/acceptanceComfirmController/goAccDeliveryEdit?businessKey=" + query.BusinessKey + "&processInstanceId=" + query.ProcessInstanceId + "&taskId=" + query.TaskId + "&startLink=" + query.StartLink + "&endLink=" + query.EndLink + "&taskflag=" + query.TaskFlag + "&ranstr=" + query.Ranstr + "×tamp=" + query.Timestamp + "&_=" + query.TimestampPro) if err != nil { panic(exception.New(err.Error())) } deliveryId := util.HTMLContentFindFirst(resp.String(), "deliveryId") return deliveryId }