FormFeignClient.java 3.89 KB
package com.hotent.Feign;

import com.hotent.Feign.exception.FormFeignFallbackException;
import com.hotent.entity.CommonResult;
import com.hotent.entity.query.QueryFilter;
import com.hotent.vo.DataTemplateQueryVo;
import com.hotent.vo.FormDataTemplateDraftVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Optional;

/**
 * @Author: Cola
 * @Date: 2021/08/17/11:12
 * @Description: eip-uc微服务远程接口
 **/

@FeignClient(name="${eip.feignClient.form:eip-form}",contextId = "api-manager-eip-form",fallbackFactory = FormFeignFallbackException.class)
public interface FormFeignClient {
    // 业务数据模板列表(分页条件查询)数据
    @RequestMapping(value="/${openApi.prefix}/form/dataTemplate/v1/listToJson", method= RequestMethod.POST, produces={"application/json; charset=utf-8" })
    public CommonResult listToJson(@RequestBody QueryFilter queryFilter) throws Exception;

    /**
     * 保存业务模板草稿
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/${openApi.prefix}/form/dataTemplate/v1/boSaveDraft",method=RequestMethod.POST, produces = { "application/json; charset=utf-8" })
    public CommonResult<String> boSaveDraft(@RequestBody FormDataTemplateDraftVo dataTemplateDraftVo) throws Exception;


    // Vue表单预览
    @RequestMapping(value="/${openApi.prefix}/form/form/v1/previewDesignVue", method= RequestMethod.GET, produces={"application/json; charset=utf-8" })
    public CommonResult previewDesignVue(@RequestParam(value = "formId") String formId) throws Exception;

    // 根据表单ID获取表单明细
    @RequestMapping(value="/${openApi.prefix}/form/form/v1/getFormById", method=RequestMethod.GET, produces={"application/json; charset=utf-8" })
    public CommonResult getFormById(@RequestParam(value = "id") String id) throws Exception;

    // 查询
    @RequestMapping(value = "/${openApi.prefix}/form/customQuery/v1/doQuery", method = RequestMethod.POST, produces = {"application/json; charset=utf-8"})
    public CommonResult doQuery(@RequestParam(required = false,value = "alias") Optional<String> alias, @RequestBody Optional<String> queryData,
                               @RequestParam(required = false,value = "page") Optional<Integer> page) throws Exception;

    // 取得树形数据

    /**
     *
     * @param alias 别名
     * @param mapParam 动态传入的字段
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/${openApi.prefix}/form/customDialog/v1/getTreeData", method= RequestMethod.GET, produces={"application/json; charset=utf-8" })
    public CommonResult getTreeData(@RequestParam(value = "alias") String alias, @RequestParam(value = "mapParam") String mapParam) throws Exception;

    // 根据表单key获取业务数据模板相关信息

    /**
     *
     * @param alias 数据报表别名
     * @param needDisplayFileds 是否需要显示字段
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/${openApi.prefix}/form/dataTemplate/v1/getBpmDataTemplateInfo",method=RequestMethod.GET, produces = { "application/json; charset=utf-8" })
    public CommonResult getBpmDataTemplateInfo( @RequestParam(value = "alias") String alias,@RequestParam(value = "needDisplayFileds") Optional<Boolean> needDisplayFileds) throws Exception;

    /**
     * 业务数据模板列表(分页条件查询)数据
     * @return
     * @throws Exception
     * PageJson
     * @exception
     */
    @RequestMapping(value="/${openApi.prefix}/form/dataTemplate/v1/listJson", method=RequestMethod.POST, produces={"application/json; charset=utf-8" })
    public CommonResult listJson(@RequestBody DataTemplateQueryVo dataTemplateQueryVo) throws Exception;

}