zoukankan      html  css  js  c++  java
  • 纷享集成API函数注意点

    https://www.fxiaoke.com/mob/guide/crmdoc/src/8-4-2object.html
    1.context

    获取绑定对象的明细数据

    返回值类型:Map

    context.details

    但是明细不止一条,我们应该如何获得所有的明细条数后再进行每个条数遍历

    Map map = context.details as Map //这里获取明细为Map类型且为 {XXX=[数据1,数据2,数据3]}
    List list = map.QuoteLinesObj as List //这里的map.XXX对应的就是Map里面的key的值

    list.each{it->

    Map map1 = it as Map

    String XXXX=map1.XXXXX as String

    }

    2.Fx.object

    Fx.object:和对象操作有关的API

    1.1、创建业务对象-create

    def(Boolean error,Map data,String errorMessage) = Fx.object.create("AccountObj",["name":"客户"])
    注意事项:预设对象不推荐使用这个API创建,可以使用下面一个创建的API;
    此函数不会触发新建对象业务逻辑(判断权限、触发审批流工作流等)。
    Map create_map=[:]
    create_map = [
    "字段一":XXX1,//别忘了逗号
    "字段二":XXX2,//别忘了逗号
    ]
    def(Boolean error,Map data,String errorMessage) = Fx.object.create("AccountObj",create_map)
    1.2.对象创建同时新建从对象:Fx.object.create(<String apiName>,<Map<String,Map> objectData>,<Map details>,
    <boolean withBizLogic>)
     def(Boolean error,Map data,String errorMessage) = Fx.object.create("object_2fJ1o__c",
    ["name":"主从同时新建主1"],["object_Ssm46__c":[["name":"张三1"]]],true)
    这里面的<String apiName>是主对象的APIname <Map<String,Map> objectData>是主对象的字段和值
    <Map details>为[从对象的APIName :[["字段1":"XXX1"],["字段2":"XXX2"]]]
    从对象可以传空值也就是没有创建从对象直接传[:]
    注意事项:创建的对象必填字段我梦在create的时候可以赋值为null
    def(Boolean error,Map data,String errorMessage) = Fx.object.create("object_2fJ1o__c",
    ["name":"主从同时新建主1","XXX":null],null,true)


    1.3、更新业务对象-update

    def (Boolean error,Map data,String errorMessage) =  Fx.object.update("AccountObj","id123456",
    ["name":"纷享销客"],true)
    //这里的
    ["name":"纷享销客"]也可以使用create_map格式。 true可写可不写,不写默认为触发工作流

    1.6、批量按业务对象Id查询业务对象数据-findByIds

    Fx.object.findByIds(<String apiName>,<List objectDataIds>)
    这里面注意点
    def (Boolean error,List data,String errorMessage) =  
    Fx.object.findByIds("AccountObj",["e6a338ae8a944cdfb2bae737db1aa12f",
    "4cd5a9f902af4f66a34df35a53630237"])
    注意:返回的是list类型,而且虽然可以查到所有值,但只能最多显示一百条

    1.7、按查询条件查询业务对象-find

    • 普通查询:Fx.object.find(<String apiName>,<List<Map> criteria>,<BigDecimal limit>,<BigDecimal skip>) 
    • def (Boolean error,QueryResult data,String errorMessage) =  
    • Fx.object.find("AccountObj",[["name":"纷享销客"],["create_time": Operator.GT(1602325440000)]],
    • 10,0);
      注意:返回的
      QueryResult为[size=X,total=X,dataList=[]]
      这里面的total可以大于100,表示所有的,但是返回最多只显示100条数据,所以需要我们做分页
    • 分页链接   分页
      def(Boolean targetFindError, QueryResult targetFindDatas, String targetFindErrorMessage) = Fx.object.find("LeadsObj", [["field_d3dMC__c": companyCode]], 100, 0);
        if( targetFindError ){
          reBoolean = true;
          reMap.put("error",  reBoolean);
          reMap.put("errorMessage",  "查询统一社会信用代码相同的线索的数量失败!");
          return reMap;
        }
        Integer totalNum = targetFindDatas.total as Integer
        log.info("总数量为:"+totalNum)
        //计算分页页数
        Integer page = totalNum/100 as Integer
        Range range = Ranges.of(0,page)
      
      
    1.7.2、
    • 查询并排序:Fx.object.find(<String apiName>,<List<Map> criteria>,<Map orderBy>,
      <BigDecimal limit>,<BigDecimal skip>) 参数说明:
    def (Boolean error,QueryResult data,String errorMessage) =  Fx.object.find("AccountObj",
    [["name":"分享逍客"],["create_time": Operator.GT(1602325440000)]],["name":1],10,0);
    注意:
    ["create_time": Operator.GT(1602325440000)]并不仅仅限于时间戳,其他的字段也可以进行判空等操作

    1.8.1、作废业务对象(批量作废没写,在这里补充)
    ActionAttribute attribute = ActionAttribute.build{
    //跳过审批流(这个参数为true,批量作废是异步的 不管有没有配置审批流)
    triggerApprovalFlow = false
    //跳过工作流
    triggerWorkflow = false
    //跳过前后动作函数
    skipFunctionAction = true
    }

    List objectIds = [
    "5f461674d1838e0001a43937",
    "5f461673d1838e0001a4386d"
    ]

    def ret = Fx.object.bulkRemove("object_oMTq9__c",objectIds,attribute)
    if( ret[0] ){
    Fx.log.info("批量作废异常原因为:" + ret[2])
    }

    1.9、更换负责人-changeOwner

    • 定义:Fx.object.changeOwner(<String ObjectAPIName>,<String ObjectDataId>,<String OwnerId>)
    def (Boolean error,Map data,String errorMessage) = 
    Fx.object.changeOwner("AccountObj","ed47841898054749a2ec9be9e6e5d728","1001")
    注意:这里面的更换负责人字段必须使用changeOwner;但是在创建create的时候可以直接赋值
    注意2:"1011"这是字符串,所以有必要把[1011]通过String user_id=list.get(0) as String

    1.15、获取单选/多选业务名称/选项名称-getOptionName

    Fx.object.getOptionName(<String objectAPIName>,<String filedAPIName>,<String value>)

    def (Boolean error,String data,String errorMessage) = Fx.object.getOptionName("AccountObj",
    "lock_status","0")//对象API 字段API 对应的string
    注意:这里的意思是通过某个多选/单选字段对应的字段名,其下面有好多中文对应的字符串,我们可以获得此字符串
    对应的中文名字

    Fx.org

          Fx.org:和系统用户操作有关的API

    1、按用户ID查询用户信息-findUserById

         定义:Fx.org.findUserById(String userId)

         data返回值类型:Map

         例:

    def(Boolean error,Map data,String errorMessage) = Fx.org.findUserById("1001")
    

    2、按用户Id列表查询若干用户信息-findByUserIds

         定义:Fx.org.findByUserIds(List userIdList)

         data返回值类型:Map

         例:

    def (Boolean error,Map data,String errorMessage) = Fx.org.findByUserIds(["1001","1002"])
    
     
    Fx.json.parse(s)
    log.info(data.content);
    log.info("!!!!")
    Object mReturnData = data.content as Object;
    log.info(mReturnData.class)
    String s = mReturnData as String
    def res = Fx.json.parse(s)
    log.info("@@@@@")
    log.info(res)
    Map m = res as Map
    log.info(m.code)
    String sCodeData = m["code"] as String;
    String sMessage = m["message"] as String;



     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    SpringBoot Actuator
    Mysql中实现row_number
    .添加索引和类型,同时设定edgengram分词和charsplit分词
    mysql临时禁用触发器
    centos6.7下安装mvn 、安装elasticsearch下ik分词
    ElasticSearch 自定义排序处理
    ElasticSearch返回不同的type的序列化
    Elasticsearch判断多列存在、bool条件组合查询示例
    C#多线程环境下调用 HttpWebRequest 并发连接限制
    centos6.7安装Redis
  • 原文地址:https://www.cnblogs.com/almm/p/14548376.html
Copyright © 2011-2022 走看看