Yonyou U8Cloud 3.6 二次开发环境搭建及自定义API开发测试

        最新发布的U8Cloud3.6发布后,忍不住拿来尝尝鲜。一路安装配置后,登入系统发现界面风格看着有点像NC65了,菜单布局有原来的Outlook侧边栏,调整为瀑布式菜单,也许是考虑今后功能扩展等,菜单项会增加吧,另外就是新增了一些接口参数,从这里也看出U8Cloud的开放性较57有了很大的改善。详细变化可参考相关的发版文档,这里仅记录一下二次开发环境的搭建以及自定义API接口的开发测试过程。

主界面:

菜单项:

 

  1、eclipse版本和插件

        由于U8C主要程序框架仍是NC57,因此原NC57的开发插件仍可以使用,只是由于U8C使用的是JDK8版本,所以在eclipse3.7版本下不兼容,因此eclipse需要3.8版本以上,本人使用的3.8.2版本,因为版本过高可能导致插件不兼容,即便这样,原插件中的MDP插件(元数据设计插件)在3.8.2也出现了不兼容的情况。不过,NC57的元数据还比较初级,二次开发不使元数据方式有没太大影响。

2、服务启动调整

        中间件的启动参数,需要自己手工调整一下,如果按插件生成的配置,启动中间件会报错并自动终止。具体配置如下:

 

mainClass:nc.bs.mw.start.AloneBootstrap

program args:start

vm args :-server -Xmx2048m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=1024m -Dsun.reflect.noInflation=true -Dsun.reflect.inflationThreshold=0 -Duser.timezone=GMT+8 -Dnc.server.name=server -Dnc.server.startCount=0 -DNC_JAVA_HOME=${FIELD_NC_HOME}\ufjdk -Dnc.runMode=develop -Dnc.bs.logging.format=text -Dnc.server.location=${FIELD_NC_HOME} -Drun.side=server -Dnc.run.side=server -Disdevelop=true -cp ${FIELD_NC_HOME}\starter.jar;${FIELD_NC_HOME}\ufjdk\lib\tools.jar;${FIELD_NC_HOME}\ant\lib\ant-launcher.jar;${FIELD_NC_HOME}\lib\cnytiruces.jar

正常启动后,控制台显示如下就说明正常了。

 

3、自定义API开发

        在工程的public源码目录中新增自定义API接口u8c.pubitf.action.IAPICustmerDevelop的实现类       

package u8c.impl.userdef.demo.action;

import javax.servlet.http.HttpServletRequest;

import nc.vo.pub.BusinessException;
import u8c.bs.exception.ConfigException;
import u8c.pubitf.action.IAPICustmerDevelop;

public class HelloWorldAction implements IAPICustmerDevelop {

	@Override
	public String doAction(HttpServletRequest requ) throws BusinessException,
			ConfigException {
		// TODO Auto-generated method stub
		return "Hello U8Cloud 3.6!";
	}

}

         导出补丁并到中间件服务器,重启中间件后,通过postman测试(可参考U8Cloud 3.5 试用笔记_hot.wind的博客-CSDN博客中API调用相关内容),api的url为:http://[ip]:[port]/u8cloud/api/dev/define,自定义API需要增加一个请求参数custdevpclass,对应自定义的api接口实现类全路径,示例中为u8c.impl.userdef.demo.action.HelloWorldAction

        

 

用友t是一种企业级软件开发平台,提供了丰富的扩展开发功能和接口。以下是一个用友t的扩展开发案例代码。 案例:根据用户输入的销售订单号查询订单相关信息并展示在页面上。 ``` // 引入用友t提供的接口 import com.yonyou.trade.chk.service.TradeService; import com.yonyou.trade.dts.service.TradeDataQueryService; // 定义一个方法,用于查询订单信息 public void queryOrderInfo(String orderNo) { // 调用用友t提供的接口,查询订单相关信息 TradeService tradeService = ServiceBeanFactory.getBean(TradeService.class); TradeDataQueryService tradeDataQueryService = ServiceBeanFactory.getBean(TradeDataQueryService.class); // 根据订单号查询订单信息 TradeOrderDto tradeOrderDto = tradeService.getTradeOrderByCode(orderNo); // 获取订单相关信息 String customerName = tradeOrderDto.getCustomerName(); Date orderDate = tradeOrderDto.getOrderDate(); double totalPrice = tradeOrderDto.getTotalPrice(); // 在页面上展示订单信息 System.out.println("订单信息:"); System.out.println("订单号:" + orderNo); System.out.println("客户姓名:" + customerName); System.out.println("订单日期:" + orderDate); System.out.println("订单总价:" + totalPrice); } ``` 上述代码首先引入用友t提供的接口,然后定义一个方法`queryOrderInfo`,该方法通过调用用友t提供的接口,根据用户输入的销售订单号查询订单相关信息。然后,从查询结果中获取订单的客户姓名、订单日期和订单总价等信息,并在页面上展示出来。 以上是一个简单的用友t扩展开发案例代码,可以根据实际需求进行修改和优化。用友t提供了丰富的扩展开发功能和接口,可以通过开发人员的自定义代码来实现各种功能和定制化需求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值