test.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import com.alibaba.fastjson.JSONObject;
  2. import com.malk.jiuyousimu.Boot;
  3. import com.malk.jiuyousimu.service.Impl.DeptServiceImpl;
  4. import com.malk.server.aliwork.YDConf;
  5. import com.malk.server.aliwork.YDParam;
  6. import com.malk.server.dingtalk.DDConf;
  7. import com.malk.service.aliwork.YDClient;
  8. import com.malk.service.dingtalk.*;
  9. import com.malk.utils.UtilMap;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.junit.Test;
  12. import org.junit.runner.RunWith;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.boot.test.context.SpringBootTest;
  16. import org.springframework.test.context.junit4.SpringRunner;
  17. import java.util.*;
  18. @Slf4j
  19. @RunWith(SpringRunner.class)
  20. @SpringBootTest(classes = Boot.class)
  21. public class test {
  22. @Autowired
  23. private DDConf ddConf;
  24. @Autowired
  25. private DDClient_Event ddClient_event;
  26. @Autowired
  27. private DDClient ddClient;
  28. @Autowired
  29. private DeptServiceImpl payService;
  30. @Autowired
  31. private DDClient_Workflow ddClient_workflow;
  32. @Value("${dingtalk.appKey}")
  33. private String APP_EKY;
  34. @Value("${dingtalk.appSecret}")
  35. private String APP_SECRET;
  36. @Autowired
  37. private YDClient ydClient;
  38. @Autowired
  39. private DDClient_Contacts ddClient_contacts;
  40. @Test
  41. public void sonUpdateTest(){
  42. // Map processData = ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(APP_EKY, APP_SECRET), "Zd7HDIdGTkiGFFtsoHkg3A03891763390051");
  43. //
  44. // System.out.println(processData);
  45. // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  46. // Map formData = ydClient.queryData(YDParam.builder()
  47. // .appType("APP_PG9VWQVT23CRFBOOOG6Y")
  48. // .systemToken("73D66971EQO1KI40NT9M96FHV3BK3CZNBQGJMWX1")
  49. // .formInstanceId("5f507775-7387-436e-ade7-78243d75c311")
  50. // .useLatestVersion(true)
  51. // .build(),
  52. // YDConf.FORM_QUERY.retrieve_id).getFormData();
  53. //// syncDept(98604036,false);
  54. // LocalDate today = LocalDate.now().plusDays(1);
  55. // String dateStr = today.format(formatter);
  56. // long timestamp = today.atStartOfDay(ZoneId.systemDefault())
  57. // .toInstant()
  58. // .toEpochMilli();
  59. // System.out.println(timestamp);
  60. }
  61. public void syncDept(long deptId,boolean isNeedKS){
  62. List<Map> list = ddClient_contacts.listSubDepartmentDetail(ddClient.getAccessToken(), deptId);
  63. for (Map map : list) {
  64. System.out.println(map.toString());
  65. long subDeptId = UtilMap.getLong(map,"dept_id");
  66. String subDeptName = UtilMap.getString(map,"name");
  67. String selectField_mjgj9non = "班组";
  68. Map formData=new HashMap();
  69. if(isNeedKS){
  70. syncDept(subDeptId,false);
  71. selectField_mjgj9non = "室";
  72. }else {
  73. formData.put("radioField_mke10pcc",subDeptName.contains("外包")?"外包":"班组");
  74. }
  75. List<String> strings = ddClient_contacts.listDepartmentUserId(ddClient.getAccessToken(), subDeptId);
  76. List<String> admins =new ArrayList<>();
  77. for(String string : strings){
  78. Map userInfo = ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), string);
  79. List<Map> leader_in_dept = UtilMap.getList(userInfo,"leader_in_dept");
  80. for(Map leader : leader_in_dept){
  81. if(UtilMap.getString(leader,"dept_id").equals(String.valueOf(subDeptId))&&UtilMap.getBoolean(leader,"leader")){
  82. admins.add(string);
  83. }
  84. }
  85. }
  86. formData.put("selectField_mjgj9non",selectField_mjgj9non);
  87. formData.put("employeeField_mjgj9noh",admins);
  88. formData.put("departmentSelectField_mjgj9noi", Arrays.asList(String.valueOf(subDeptId)));
  89. formData.put("departmentSelectField_mjgqcjsw",Arrays.asList(String.valueOf(deptId)));
  90. formData.put("radioField_mjgsdrat","开启");
  91. System.out.println(formData.toString());
  92. ydClient.operateData(YDParam.builder().appType("APP_PG9VWQVT23CRFBOOOG6Y")
  93. .systemToken("73D66971EQO1KI40NT9M96FHV3BK3CZNBQGJMWX1").formUuid("FORM-651D1713A25E423FB4EC1A5A06A7A741QWEY").formDataJson(JSONObject.toJSONString(formData)).build(), YDConf.FORM_OPERATION.create);
  94. }
  95. }
  96. }