using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using NewLife.Data;
using NewLife.IO;
using NewLife.Log;
using NewLife.Security;
using NewLife.Serialization;
namespace Test
{
class Program
{
static void Main(String[] args)
{
XTrace.UseConsole();
try
{
Test1();
}
catch (Exception ex)
{
XTrace.WriteException(ex);
}
Console.WriteLine("OK!");
Console.ReadKey();
}
static void Test1()
{
var snow = new Snowflake();
var dt = new DateTime(2000, 1, 1);
var id = snow.GetId(dt);
XTrace.WriteLine("{0} {1} {1:X16}", dt, id);
dt = new DateTime(2020, 1, 1);
id = snow.GetId(dt);
XTrace.WriteLine("{0} {1} {1:X16}", dt, id);
dt = new DateTime(2022, 1, 1);
id = snow.GetId(dt);
XTrace.WriteLine("{0} {1} {1:X16}", dt, id);
dt = new DateTime(2023, 1, 1);
id = snow.GetId(dt);
XTrace.WriteLine("{0} {1} {1:X16}", dt, id);
dt = new DateTime(2022, 11, 11);
for (int i = 0; i < 365; i++)
{
dt = dt.AddDays(1);
id = snow.GetId(dt);
XTrace.WriteLine("{0} {1} {1:X16}", dt, id);
if (id >= 700_00000000_00000000) break;
}
}
static async void Test2()
{
var key = "dingbvcq0mz3pidpwtch";
var secret = "7OTdnimQwf5LJnVp8e0udX1wPxKyCsspLqM2YcBDawvg3BlIkzxIsOs1YhDjiOxj";
var url = "https://oapi.dingtalk.com/gettoken?appkey={key}&appsecret={secret}";
url = url.Replace("{key}", key).Replace("{secret}", secret);
var http = new HttpClient();
var html = await http.GetStringAsync(url);
XTrace.WriteLine(html);
var js = new JsonParser(html).Decode() as IDictionary<String, Object>;
var token = js["access_token"] as String;
XTrace.WriteLine("token: {0}", token);
var url2 = "https://oapi.dingtalk.com/user/listbypage?access_token={token}&department_id=1&offset=0&size=100";
url2 = url2.Replace("{token}", token);
var html2 = await http.GetStringAsync(url2);
XTrace.WriteLine(html2);
}
static void Test3()
{
using var csv = new CsvFile("Area.csv");
while (true)
{
var line = csv.ReadLine();
if (line == null) break;
for (int i = 0; i < line.Length; i++)
{
if (line[i].Length >= 45) XTrace.WriteLine(line[i]);
}
}
}
}
}
|