Exemplo n.º 1
0
        public void GetSalesOrderObjTest()
        {
            var client  = new FxiaokeClient();
            var request = new CrmDataQueryV2Request()
            {
                CorpAccessToken   = CorpAccessToken,
                CorpId            = CorpId,
                CurrentOpenUserId = "FSUID_0642D2A6D0AC2FEDF2BF0930E9469F98",
                Data = new CrmDataQueryV2Request.CrmDataQueryData
                {
                    DataObjectApiName = "SalesOrderObj",
                    Search_query_info = new CrmDataQueryV2Request.CrmDataSearchQueryInfo
                    {
                        Offset  = 0,
                        Limit   = 1000,
                        Filters = new List <CrmDataQueryV2Request.CrmDataSearchQueryInfoFilter>
                        {
                            new CrmDataQueryV2Request.CrmDataSearchQueryInfoFilter
                            {
                                Field_name   = "name",
                                Field_values = new List <string> {
                                    "O20180906-0007"
                                },
                                Operator = "EQ"
                            }
                        },
                        Orders = new List <CrmDataQueryV2Request.CrmDataSearchQueryInfoOrder>
                        {
                            new CrmDataQueryV2Request.CrmDataSearchQueryInfoOrder
                            {
                                IsAsc     = false,
                                FieldName = "create_time"
                            }
                        }
                    }
                }
            };
            var  json   = JsonConvert.SerializeObject(request);
            var  result = client.Execute(request);
            long asd    = 0;

            asd = long.Parse(result.Response.Data.DataList[0]["order_time"].ToString());
            var time = new DateTime(asd);

            Assert.IsTrue(result.Success, result.Message);
        }
Exemplo n.º 2
0
 public ApiResult <CrmDataQueryV2Response> Execute(CrmDataQueryV2Request request)
 {
     return(Execute <CrmDataQueryV2Request, CrmDataQueryV2Response>("/cgi/crm/v2/data/query", request));
 }
Exemplo n.º 3
0
        public static void QueryAccount()
        {
            var relations = File.ReadAllLines("F://客户UID对应关系.csv").Select(x =>
            {
                var arr = x.Split(',');
                return(new { supplierid = arr[0], accountid = arr[1] });
            });
            var categories = File.ReadAllLines("F://客户类目分布.csv", Encoding.Default).Select(x =>
            {
                var arr = x.Split(',');
                return(new { category = arr[0], accountName = arr[1] });
            });

            System.Console.WriteLine(relations.Count());
            System.Console.WriteLine(categories.Count());

            var count      = 0;
            var client     = new FxiaokeClient();
            var accountRel = new List <Tuple <string, string, string> >();

            foreach (var x in categories)
            {
                if (count++ % 100 == 0)
                {
                    Init();
                    System.Console.WriteLine($"已执行{count}/{categories.Count()}个");
                }

                var request = new CrmDataQueryV2Request()
                {
                    CorpAccessToken   = CorpAccessToken,
                    CorpId            = CorpId,
                    CurrentOpenUserId = DefaultOpenUserId,
                    Data = new CrmDataQueryV2Request.CrmDataQueryData
                    {
                        DataObjectApiName = "AccountObj",
                        Search_query_info = new CrmDataQueryV2Request.CrmDataSearchQueryInfo
                        {
                            Offset  = 0,
                            Limit   = 10,
                            Filters = new List <CrmDataQueryV2Request.CrmDataSearchQueryInfoFilter>
                            {
                                new CrmDataQueryV2Request.CrmDataSearchQueryInfoFilter
                                {
                                    Field_name   = "name",
                                    Field_values = new List <string> {
                                        x.accountName
                                    },
                                    Operator = "EQ"
                                },
                                new CrmDataQueryV2Request.CrmDataSearchQueryInfoFilter
                                {
                                    Field_name   = "record_type",
                                    Field_values = new List <string> {
                                        "record_type"
                                    },
                                    Operator = "EQ"
                                }
                            }
                        }
                    }
                };
                var result = client.Execute(request);
                if (!result.Success)
                {
                    System.Console.WriteLine(x.accountName + "|" + result.Message);
                    File.AppendAllText("F://账号ID对应关系.csv", $"{x.category},{x.accountName},{result.Message}\r\n");
                    accountRel.Add(Tuple.Create(x.category, x.accountName, result.Message));
                }
                File.AppendAllText("F://账号ID对应关系.csv", $"{x.category},{x.accountName},{result.Response?.Data?.DataList?.FirstOrDefault()?["_id"]?.ToString()}\r\n");
                accountRel.Add(Tuple.Create(x.category, x.accountName, result.Response?.Data?.DataList?.FirstOrDefault()?["_id"]?.ToString()));
            }

            File.WriteAllLines("F://账号ID对应关系-copy.csv", accountRel.Select(x => $"{x.Item1},{x.Item2},{x.Item3}"));

            System.Console.WriteLine(accountRel.Count());
            var newxls = new List <string>();

            foreach (var item in accountRel)
            {
                newxls.Add($"{item.Item1},{item.Item2},{relations.FirstOrDefault(x => x.accountid == item.Item3)?.supplierid}");
            }

            File.WriteAllLines("F://类目商家ID统计.csv", newxls);
        }