作者:Eddy 历史版本:1 最后编辑:龚清 更新时间:2024-11-20 15:41
适用版本:v3.3.6+;
目前仅提供:数据获取、数据保存接口说明;
dependency
Local版本
<dependency>
<groupId>com.lc.ibps.provider.base</groupId>
<artifactId>ibps-provider-form</artifactId>
</dependency>
FeignClient版本
<dependency>
<groupId>com.lc.ibps.provider.base</groupId>
<artifactId>ibps-provider-form-client</artifactId>
</dependency>
配置说明
添加了相关依赖后直接调用即可,以上两个依赖二选一。
API说明
获取数据、保存数据
接口:com.lc.ibps.form.api.IBoInstanceService
实现:com.lc.ibps.form.provider.BoInstanceProvider
/**
* 通过BODef的code初始化DataObject对象,并将数据data装载到对象中
* <pre>
* 初始化时会自动补齐所有属性。
* 比如BODef有name属性,而传入的data数据中没有name的值,则会补齐name并将值设置为空
* </pre>
* @param code bo编码
* @param data bo实例数据,其中bo、subBo、sonBo是bo编码,bm、mc是bo的编码
* <pre>
* json-->{
* bo:{
* bm:'zs', mc:'张三',
* subBo:[{bm:'zxs', mc:'张小三'}],
* sonBo:[{bm:'zxxs', mc:'张小小三'}]
* }
* }
* </pre>
* @return
*/
APIResult<DataObjectModel> createDataObject(DataObjectVo dataObjectVo);
/**
* 根据保存模式、实例ID、bo编码 获取实例数据
*
* @param saveMode 数据保存模式 {@link DataSaveMode}
* @param bizId 业务id
* @param code bo编码
* @return
*/
APIResult<DataObjectModel> getDataObject(String saveMode, String bizId, String boCode, Integer boVersion);
/**
* 保存实例
* 需要 分布式事务
* @param saveMode 数据保存模式 {@link DataSaveMode}
* @param dataObject 数据对象
* @return
*/
APIResult<com.lc.ibps.base.bo.model.BoResultVo> save(DataObjectModel dataObject);
}
使用示例
package com.lc.ibps.skeleton.provider;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.lc.ibps.base.bo.constants.DataSaveMode;
import com.lc.ibps.base.bo.model.BoResultVo;
import com.lc.ibps.base.bo.model.DataObjectModel;
import com.lc.ibps.base.bo.persistence.vo.DataObjectVo;
import com.lc.ibps.cloud.entity.APIResult;
import com.lc.ibps.form.api.IBoInstanceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* 基础模型(业务对象)
*
* <pre>
* 构建组:ibps-provider-skeleton
* 作者:zhongjh
* 邮箱:zjh20140614@163.com
* 日期:2021年1月4日-上午9:23:40
* 版权:广州流辰信息技术有限公司版权所有
* </pre>
*/
@Api(tags = "基础模型", value = "基础模型")
@RestController
@RequestMapping(value = "/form/action")
public class FormActionProvider {
@Resource
private IBoInstanceService boInstance;
//获取数据
@ApiOperation(value = "get", notes = "get")
@RequestMapping(value = "/get",method = RequestMethod.GET)
public String get() {
APIResult<DataObjectModel> result = boInstance.getDataObject(DataSaveMode.TABLE, "2", "t_test", 1);
return result.toJsonString();
}
//保存数据
@ApiOperation(value = "save", notes = "save")
@RequestMapping(value = "/save",method = RequestMethod.GET)
public String save() {
DataObjectVo dataObjectVo = new DataObjectVo();
dataObjectVo.setCode("t_test");
dataObjectVo.setVersion(1);
dataObjectVo.setData("{\"money\":\"922337203685477580\",\"name\":\"jim\",\"id\":\"2\"}");
APIResult<DataObjectModel> dataObjectModel = boInstance.createDataObject(dataObjectVo);
DataObjectModel dataObject = new DataObjectModel();
if(dataObjectModel.isSuccess()) {
dataObject = dataObjectModel.getData();
}
dataObject.setFormOptions(null);
dataObject.setSaveMode(DataSaveMode.TABLE);
APIResult<BoResultVo> result = boInstance.save(dataObject);
return result.toJsonString();
}
}