1.前后端使用的分支不一样,前端使用develop分支,后端使用dev-merge-3.0分支。
2.前端不再有菜单界面,因为后端就不像之前的mdd-ext框架有菜单接口menu/getMenuTree。本地开发阶段,请求的时候使用这种方式:http://ys-local.yyuap.com:3003/meta/voucherlist/mr_sales_forecast_list
3.登录验证问题,之前使用mdd-ext框架,请求进来后验证登录的interceptor使用的是LoginInterceptor,走的是基础服务的登录验证;而现在使用的是EucAccessTokenLoginVerifier,直接走的就是友户通验证,使用的token都是yht_access_token。
可以看到里边使用了友户通的验证地址,这个配置直接决定了你登录哪个环境后可以本地利用token进行验证,我这里配置的是测试环境的,所以只能通过登录测试环境来使用本地登录。
4.领域元数据仓库问题,目前咱们没有人力的元数据仓库,暂时用之前制造的领域元数据仓库来做样例。
5.修改项目结构,恢复到和咱们之前项目的差别最小,最小化大伙开发的成本。
6.统一三方包管理目前还有问题,
下边这几个包目前还是在项目中写死了,后续还是需要改。依赖的iuap-pom情况如下:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-pom</artifactId>
<version>2.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
7.报表服务的接口和之前有些变化
mdd的IReportBaseService:
mdd-ext的IReportBaseService:
孙敬宇帮忙问了下他们那边,说这个接口不准备兼容以前ext的样子,就保持现状一个query方法。
看了下现有报表代码,好像影响也不是太大,
因为没有影响到v1/query这个接口。新报表是用这个接口是用来取数据的(好久没弄报表了,不太确定)
8.Rule的编写会有一些差别
之前编写rule都是extends AbstractCommonRule,然后覆写execute方法
@Override
public RuleExecuteResult execute(BillContext billContext, Map<String, Object> map) throws Exception {
String id = null;
List<BizObject> bills = this.getBills(billContext, map);
if (null != bills && bills.size() > 0) {
id = bills.get(0).getId().toString();
}
if (StringUtils.isEmpty(app)) {
app = "requirementsplanning";
}
StringBuffer stringBuffer = MetaDaoHelper.referenceCheck(billContext.getFullname(),
id, new ArrayList<>(), app);
logger.error(stringBuffer.toString());
if (stringBuffer.length() > 0) {
throw new Exception(stringBuffer.toString());
}
return new RuleExecuteResult();
}
上边的方法大家应该都很熟悉,但是使用mdd框架(非ext)的时候,会有一些变化,extends AbstractRule代码会变成下边这样:
@Override
public <T> RuleExecuteResult execute(RuleContext ruleContext, T... tObjs) throws Exception {
UIMetaBaseInfo uiMetaBaseInfo = ruleContext.getUiMetaBaseInfo();
String id = null;
List<BizObject> bills = getBizObjects(uiMetaBaseInfo, ruleContext);
if (null != bills && bills.size() > 0) {
id = bills.get(0).getId().toString();
}
if (StringUtils.isEmpty(app)) {
app = "requirementsplanning";
}
StringBuffer stringBuffer = mddMetaDaoHelper.referenceCheck(uiMetaBaseInfo.getFullname(), id, new ArrayList<>(), app);
logger.error(stringBuffer.toString());
if (stringBuffer.length() > 0) {
throw new Exception(stringBuffer.toString());
}
return new RuleExecuteResult();
}
9.报错
(1)refreshTsRule
(2) 对viewApplication强转失败,是因为协议问题bug,对接yonbuilder出了bug,json强转强类型的时候报错。
10.目前这三个类处于不可用状态,缺的东西比较多,看着应该是通知领域元数据变更清理缓存相关的,
大伙可以研究各种新的相关组件。