1.前后端使用的分支不一样,前端使用develop分支,后端使用dev-merge-3.0分支。
    2.前端不再有菜单界面,因为后端就不像之前的mdd-ext框架有菜单接口menu/getMenuTree。本地开发阶段,请求的时候使用这种方式:http://ys-local.yyuap.com:3003/meta/voucherlist/mr_sales_forecast_list
    image.png

    3.登录验证问题,之前使用mdd-ext框架,请求进来后验证登录的interceptor使用的是LoginInterceptor,走的是基础服务的登录验证;而现在使用的是EucAccessTokenLoginVerifier,直接走的就是友户通验证,使用的token都是yht_access_token。
    image.png
    image.png
    可以看到里边使用了友户通的验证地址,这个配置直接决定了你登录哪个环境后可以本地利用token进行验证,我这里配置的是测试环境的,所以只能通过登录测试环境来使用本地登录。

    4.领域元数据仓库问题,目前咱们没有人力的元数据仓库,暂时用之前制造的领域元数据仓库来做样例。
    5.修改项目结构,恢复到和咱们之前项目的差别最小,最小化大伙开发的成本。
    6.统一三方包管理目前还有问题,
    image.png
    下边这几个包目前还是在项目中写死了,后续还是需要改。依赖的iuap-pom情况如下:

    1. <dependencyManagement>
    2. <dependencies>
    3. <dependency>
    4. <groupId>com.yonyou.iuap</groupId>
    5. <artifactId>iuap-pom</artifactId>
    6. <version>2.0.0-SNAPSHOT</version>
    7. <type>pom</type>
    8. <scope>import</scope>
    9. </dependency>
    10. </dependencies>
    11. </dependencyManagement>

    7.报表服务的接口和之前有些变化
    mdd的IReportBaseService:image.png
    mdd-ext的IReportBaseService:
    image.png
    孙敬宇帮忙问了下他们那边,说这个接口不准备兼容以前ext的样子,就保持现状一个query方法。
    看了下现有报表代码,好像影响也不是太大,
    image.png
    因为没有影响到v1/query这个接口。新报表是用这个接口是用来取数据的(好久没弄报表了,不太确定)

    8.Rule的编写会有一些差别
    之前编写rule都是extends AbstractCommonRule,然后覆写execute方法

    1. @Override
    2. public RuleExecuteResult execute(BillContext billContext, Map<String, Object> map) throws Exception {
    3. String id = null;
    4. List<BizObject> bills = this.getBills(billContext, map);
    5. if (null != bills && bills.size() > 0) {
    6. id = bills.get(0).getId().toString();
    7. }
    8. if (StringUtils.isEmpty(app)) {
    9. app = "requirementsplanning";
    10. }
    11. StringBuffer stringBuffer = MetaDaoHelper.referenceCheck(billContext.getFullname(),
    12. id, new ArrayList<>(), app);
    13. logger.error(stringBuffer.toString());
    14. if (stringBuffer.length() > 0) {
    15. throw new Exception(stringBuffer.toString());
    16. }
    17. return new RuleExecuteResult();
    18. }

    上边的方法大家应该都很熟悉,但是使用mdd框架(非ext)的时候,会有一些变化,extends AbstractRule代码会变成下边这样:
    image.png

    1. @Override
    2. public <T> RuleExecuteResult execute(RuleContext ruleContext, T... tObjs) throws Exception {
    3. UIMetaBaseInfo uiMetaBaseInfo = ruleContext.getUiMetaBaseInfo();
    4. String id = null;
    5. List<BizObject> bills = getBizObjects(uiMetaBaseInfo, ruleContext);
    6. if (null != bills && bills.size() > 0) {
    7. id = bills.get(0).getId().toString();
    8. }
    9. if (StringUtils.isEmpty(app)) {
    10. app = "requirementsplanning";
    11. }
    12. StringBuffer stringBuffer = mddMetaDaoHelper.referenceCheck(uiMetaBaseInfo.getFullname(), id, new ArrayList<>(), app);
    13. logger.error(stringBuffer.toString());
    14. if (stringBuffer.length() > 0) {
    15. throw new Exception(stringBuffer.toString());
    16. }
    17. return new RuleExecuteResult();
    18. }

    9.报错
    (1)refreshTsRule
    image.png
    (2) 对viewApplication强转失败,是因为协议问题bug,对接yonbuilder出了bug,json强转强类型的时候报错。image.png

    10.目前这三个类处于不可用状态,缺的东西比较多,看着应该是通知领域元数据变更清理缓存相关的,
    image.png
    image.png
    image.png

    大伙可以研究各种新的相关组件。