纷享自定义函数:客户回填工商信息(天眼查)

客户在使用CRM系统之前,数据一般都是在OA、ERP、Excel里,没有准确完整的g工商信息,通过纷享的自定义函数,配合计划任务,可以把工商信息,批量更新到客户信息里。具体代码如下:

/*
  客户导入时刷新天眼查字段信息
*/

Map fieldMapping=[:] //工商库字段 映射  CRM客户模块字段API
fieldMapping.put("Name","name")   //data-name="客户名称"
fieldMapping.put("Email","email") //data-name="邮箱"
fieldMapping.put("WebSiteUrl","url" )//data-name="网址"
fieldMapping.put("PhoneNumber","tel" )//data-name="电话"
fieldMapping.put("CreditCode" ,"uniform_social_credit_code" )//data-name="税号"
fieldMapping.put("Address" ,"address" )//data-name="地区定位.详细地址"
fieldMapping.put("ShortStatus" ,"field_UzsOx__c" )//data-name="企业状态" 
fieldMapping.put("CheckDate" ,"field_9O8d6__c" )//data-name="核准日期"
fieldMapping.put("RegistCapi","field_WEm93__c" )//data-name="注册资本"
fieldMapping.put("Scope" ,"field_C6opK__c" )//data-name="经营范围"
fieldMapping.put("BelongOrg","field_C5p2v__c" )//data-name="登记机关"
fieldMapping.put("orgNumber" ,"field_kBumU__c" )//data-name="组织机构代码"
fieldMapping.put("StartDate" ,"field_s47n9__c" )//data-name="营业期限自"
fieldMapping.put("EndDate","field_y602L__c" )//data-name="营业期限至"
fieldMapping.put("Status" ,"field_xO6Vr__c" )//data-name="经营状态"

fieldMapping.put("OperName" ,"field_xE6Vr__c" )//data-name="法人代表"
fieldMapping.put("industryName" ,"field_QogEm__c " )//data-name="行业"

fieldMapping.put("Province","province")   //注册省份
fieldMapping.put("city","city") //注册城市
fieldMapping.put("district","district" )//注册区县

List  areaFieldList=["Province","city","district"]


List dateFieldList=[]
dateFieldList.add("CheckDate")
dateFieldList.add("StartDate")
dateFieldList.add("EndDate")
dateFieldList.add("CompanyStartDate")


String id=context.data._id as String //客户ID
String name=context.data.name as String //客户名称
log.info("客户名称:"+name)
//name="北京纷扬科技有限责任公司"
//1、获取根据企业名称查询到的工商信息列表
def (boolean error,HttpResult result,String errorMessage)=
Fx.proxy.callAPI("industry.getCompanyByName",null,["KeyWord":name])  
//log.info(result)
Map content=result.content as Map
List companyEsObjects = content.companyEsObjects as List
log.info(companyEsObjects.get(0))
Map map=companyEsObjects.get(0) as Map

if( map.Name ==name){
  log.info("KeyNo:"+map.KeyNo)
  //若一致则表明是可以被精确匹配上的,再查这条数据的详情,用于回填所需的字段
  def (boolean return_error,HttpResult  return_result,String  return_errorMessage) =
  Fx.proxy.callAPI("industry.getCompanyById",null,["KeyNo":map.KeyNo])
  log.info(return_result)
  Map companyInfoArgs=return_result.content as Map //工商库列表
  List<Map> companyInfoArgsList=companyInfoArgs.companyInfoArgs as List

  Map updateMap=[:]
  //log.info(companyInfoArgsList)
  companyInfoArgsList.each{
    item ->
    /* //工商返回格式 
        {
            "Value":"北京纷扬科技有限责任公司",
            "Key":"Name",
            "Caption":"企业名称"
        },*/
    log.info("工商库字段名 :"+item.Caption)
    log.info("工商库字段API :"+item.Key)
    log.info("工商库字段值 :"+item.Value)
    //判断映射字段是否存在
    if(fieldMapping.containsKey(item.Key)){
      //判断字段类型如果为日期,特殊处理
      if(dateFieldList.contains(item.Key)){
        if((item.Value as String)!="--"){
           Date date = Date.of(item.Value as String )
           updateMap.put(fieldMapping[item.Key], date)
        }
       
      }//判断字段类型如果为地区,特殊处理
      else if(areaFieldList.contains(item.Key)){
        String Code = Fx.location.findCountryAreaCode(item.Value as String,fieldMapping[item.Key] as String)
         updateMap.put(fieldMapping[item.Key], Code)
      }else{
         updateMap.put(fieldMapping[item.Key], item.Value as String)
      }
     
    }
    log.info("--------------------------------------")
  }
  
  log.info("更新集合:"+updateMap)
  def updateResult=  Fx.object.update("AccountObj",id,updateMap,false)
  log.info("更新客户信息--执行结果:"+updateResult)
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值