package cn.ey.biz.module.weaver.api;

import cn.ey.biz.module.weaver.common.Constants;
import cn.ey.biz.module.weaver.autoconfigure.FeignConfiguration;
import lombok.Data;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;

/**
 *流程数据：流程签字意见 (对外)
 *
 */
@FeignClient(name= Constants.WEAVER_NAME, url="${weaver.service.url}", configuration = FeignConfiguration.class)
public interface GetWorkflowRequestLogsService {

    @RequestMapping(method= RequestMethod.POST, value="/api/workflow/paService/getWorkflowRequestLogs",
            consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
            produces = MediaType.TEXT_PLAIN_VALUE)
    List<WorkflowRequestLogsResponse> getWorkflowRequestLogs( WorkflowRequestLogsRequest  request);

    @Data
    class WorkflowRequestLogsRequest{
        String conditions;	       // 非必填	高级搜索条件，该接口暂未处理高级搜索。	""
        String endId; 	           //  非必填	对应workflow_requestbase表中的logid。如 升序，endid = 100 , pageSize = 10，取endid为90~99的签字意见数据。	"100"
        String pageSize;		   // 非必填	一页显示多少条记录	"1"
        String requestId;	      //必填	要查询流程的请求id	"10"
        String userId;	          //必填	使用该用户的多语言设置，及登录用户使用的语言，中文简体，繁体，英文。	"11"
        String workflowId;	      //必填	要查询的流程id	"11"
    }

    @Data
    class WorkflowRequestLogsResponse{
        String annexDocHtmls;		//相关附件
        String id;		            //id
        String nodeId;		        //节点id
        String nodeName;		//节点名称
        String operateDate;		//操作日期
        String operateTime;		//操作时间
        String operateType;		 //操作类型名称
        String operatorDept;	 //操作部门
        String operatorId;		 //操作者id
        String operatorName;     //操作者姓名
        String receivedPersons;  //接收者名称
        String remark;		     //流转签字意见
        String signDocHtmls;		//相关文档
        String signWorkFlowHtmls;	//相关流程
    }

}
