最新消息:20210917 已从crifan.com换到crifan.org

【记录】Mac下用Eclipse去开发销售易的自定义业务逻辑代码

Eclipse crifan 2004浏览 0评论

折腾:

【记录】Mac中下载和安装Eclipse并导入JAR 包

后,继续去在Mac中使用Eclipse开发销售易的项目。

参考:

PaaS后台开发培训

需要先去导入SDK

之前邮件发过:ingageSDK.jar

从官网:

帮助文档 – 开发者资源

中也有:

https://crm.xiaoshouyi.com/doc/document/docs/developerResources/ingageSDK.jar

参考:

https://crm.xiaoshouyi.com/doc/document/docs/productDoc/v1710/developerGuide/H5/developerGuide/index.html#t=developerGuide%2Fconnector%2Fconnector.htm

去创建连接器:

销售易自定义开发测试的客户端信息

  • Client_Id:043fdxxxa18142

  • Client_Secret:5f4efxxx766

  • Redirect_Uri:https://xxxx.com/

  • Package:other.eacpjk.bjbbkdkfcfdcf

拷贝代码后,把equals改为:contains,变为

package other.eacpjk.bjbbkdkfcfdcf;

import java.util.List;

import com.rkhd.platform.sdk.ScriptTrigger;

import com.rkhd.platform.sdk.exception.ScriptBusinessException;

import com.rkhd.platform.sdk.log.Logger;

import com.rkhd.platform.sdk.log.LoggerFactory;

import com.rkhd.platform.sdk.model.DataModel;

import com.rkhd.platform.sdk.param.ScriptTriggerParam;

import com.rkhd.platform.sdk.param.ScriptTriggerResult;

public class CreateCustomerRuleCheck implements ScriptTrigger {

   private static final Logger logger = LoggerFactory.getLogger();

   @Override

    public ScriptTriggerResult execute(ScriptTriggerParam scriptTriggerParam) throws ScriptBusinessException {

       if (scriptTriggerParam != null) {

               // 获取业务对象列表

               List<DataModel> modelList = scriptTriggerParam.getDataModelList();   

        if (modelList != null & modelList.size() > 0) {

                for (DataModel dataModel : modelList) {

                    // 获取业务对象备注信息;字段信息可通过业务对象的describe API获取

                String comment = (String) dataModel.getAttribute("comment");

                if ("forbid".contains(comment)) {

                        // 记录错误信息,可在销售易后台业务逻辑代码日志中查询/进行业务规则校验,这里是对备注这个字段进行的简单校验,校验失败抛出错误异常

                        logger.error("this account is not allowed to save");   

                        throw new ScriptBusinessException("新建客户失败");

               }

                }

          }

          return new ScriptTriggerResult(scriptTriggerParam.getDataModelList());

      }

      return null;

   }

}

再去src下创建scriptTrigger.xml

好像是没有起效果

重新登录试试

 

去点击测试:

 

点击测试

跳转到:

https://crm.xiaoshouyi.com/admin/admin-home/class=’pop_button’

然后没反应了。

去看了看,没问题:

难道客户搞错了,去选择客户:

结果这个客户是自定义的对象:

没有备注项,不是我要的。

突然发现,貌似此处改动的代码的逻辑出了问题:

之前是:

if ("forbid".equals(comment)) {

现在是:

if ("forbid".contains(comment)) {

变成了:

forbid字符串包含comment,肯定不对了。

所以去改为:

if (comment.contains("forbid")) {

然后再去更新包:

注意:需要先禁止停用,才能更新(点击更新才会弹出选择框,否则没有提示,做的不够好,应该有提示,需要停用才能更新)

终于生效了。

【总结】

更新一下代码:

逻辑是:

当新建客户account时,新建的用户的备注中,包含了forbid字符串,则新建失败,且提示:

新建客户失败:备注comment中包含了forbid则禁止创建新客户

package other.eacpjk.bjbbkdkfcfdcf;

import java.util.List;

import com.rkhd.platform.sdk.ScriptTrigger;

import com.rkhd.platform.sdk.exception.ScriptBusinessException;

import com.rkhd.platform.sdk.log.Logger;

import com.rkhd.platform.sdk.log.LoggerFactory;

import com.rkhd.platform.sdk.model.DataModel;

import com.rkhd.platform.sdk.param.ScriptTriggerParam;

import com.rkhd.platform.sdk.param.ScriptTriggerResult;

public class CreateCustomerRuleCheck implements ScriptTrigger {

   private static final Logger logger = LoggerFactory.getLogger();

   @Override

    public ScriptTriggerResult execute(ScriptTriggerParam scriptTriggerParam) throws ScriptBusinessException {

       if (scriptTriggerParam != null) {

               // 获取业务对象列表

               List<DataModel> modelList = scriptTriggerParam.getDataModelList();   

        if (modelList != null & modelList.size() > 0) {

                for (DataModel dataModel : modelList) {

                    // 获取业务对象备注信息;字段信息可通过业务对象的describe API获取

                String comment = (String) dataModel.getAttribute("comment");

//                if ("forbid".contains(comment)) {

                if (comment.contains("forbid")) {

                        // 记录错误信息,可在销售易后台业务逻辑代码日志中查询/进行业务规则校验,这里是对备注这个字段进行的简单校验,校验失败抛出错误异常

                        logger.error("this account is not allowed to save");   

                        throw new ScriptBusinessException("新建客户失败:备注comment中包含了forbid则禁止创建新客户");

               }

                }

          }

          return new ScriptTriggerResult(scriptTriggerParam.getDataModelList());

      }

      return null;

   }

}

效果:

对应的可以去查看到对应的日志:

转载请注明:在路上 » 【记录】Mac下用Eclipse去开发销售易的自定义业务逻辑代码

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
99 queries in 0.196 seconds, using 23.31MB memory