InTheMiddle.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using ConsoleApp1.Controller.CY_API;
  2. using Newtonsoft.Json;
  3. using Newtonsoft.Json.Linq;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace ConsoleApp1.Controller.DDing_API
  10. {
  11. public class InTheMiddle
  12. {
  13. private DingdingAPI Ding = new DingdingAPI();
  14. private CY_NC_Api _cy = new CY_NC_Api();
  15. private string employee = "";
  16. /// <summary>
  17. /// 更新智能人事花名册信息
  18. /// </summary>
  19. /// <returns></returns>
  20. public string smartworks(Dictionary<string, object> dic)
  21. {
  22. string token = Ding.dttoken();
  23. //string agentid = Ding.get_auth_info();
  24. string smartwork = Ding.smartwork(token);
  25. if (dic.LongCount() == 4)
  26. {
  27. employee = Ding.employee(dic);
  28. }
  29. else if (dic.LongCount() == 5)
  30. {
  31. employee = Ding.The_Contract(dic);
  32. }
  33. return employee;
  34. }
  35. /// <summary>
  36. /// 获取员工信息并更新至氚云
  37. /// </summary>
  38. /// <returns></returns>
  39. public string Update_smartwork()
  40. {
  41. try
  42. {
  43. string access_token = Ding.dttoken();
  44. //if (string.IsNullOrEmpty(access_token))
  45. //{
  46. access_token = Ding.dttoken();
  47. //}
  48. int offset = 0, size = 50; string userid_list; int next_cursor;
  49. //string field_filter_list = "sys00-name, sys00-mainDeptId, sys00-mainDept,sys05-nowContractStartTime, sys05-nowContractEndTime, sys00-position, sys00-confirmJoinTime, sys01-positionLevel,sys05-contractPeriodType, sys05-contractRenewCount, userid";
  50. do
  51. {
  52. string queryonjob = Ding.smartwork_smartwork(access_token, "2,3,5,-1", offset, size);
  53. JObject json = JsonConvert.DeserializeObject<JObject>(queryonjob.ToString());
  54. next_cursor = json["result"]["data_list"].Count();
  55. //next_cursor = json["result"]["next_cursor"].ToString()!= null || json["result"]["next_cursor"].ToString() != "" ? Convert.ToInt32(json["result"]["next_cursor"]) : 0;
  56. userid_list = json["result"]["data_list"].ToString().Replace("[", "").Replace("\"", "").Replace("]", "").Trim();
  57. //string value1 = Ding.listemployee(userid_list);
  58. string value = Ding.smartwork_list(access_token, userid_list, null);
  59. JObject json1 = JsonConvert.DeserializeObject<JObject>(value);
  60. foreach (var item in json1["result"])
  61. {
  62. JObject json2 = JsonConvert.DeserializeObject<JObject>(item.ToString());
  63. _cy.employee(json2);
  64. _cy.Basic(json2);
  65. }
  66. offset = offset + size;
  67. } while (next_cursor >= 50);
  68. return "OK";
  69. }
  70. catch (Exception ex)
  71. {
  72. throw ex;
  73. }
  74. }
  75. }
  76. }