RSImplService.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.malk.ruisi.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.malk.ruisi.service.RSService;
  4. import com.malk.server.aliwork.YDConf;
  5. import com.malk.server.aliwork.YDParam;
  6. import com.malk.server.common.McException;
  7. import com.malk.service.aliwork.YDClient;
  8. import com.malk.service.aliwork.YDService;
  9. import com.malk.service.dingtalk.DDClient;
  10. import com.malk.service.dingtalk.DDClient_Contacts;
  11. import com.malk.utils.UtilMap;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.Arrays;
  16. import java.util.List;
  17. import java.util.Map;
  18. @Service
  19. @Slf4j
  20. public class RSImplService implements RSService {
  21. @Autowired
  22. private YDService ydService;
  23. @Autowired
  24. private YDClient ydClient;
  25. @Autowired
  26. private DDClient_Contacts ddClient_contacts;
  27. @Autowired
  28. private DDClient ddClient;
  29. @Autowired
  30. private static final long DEPT_ID = 933074211L; // 合作加盟校区
  31. /// 创建企业账号: loginI/userId 都为 SHR 工号
  32. private void createExclusiveUser(String loginId, String name) {
  33. final String PASS_WORD = "tzr@111111";
  34. Map info = UtilMap.map("userid", loginId);
  35. ddClient_contacts.createUser_dingTalk(ddClient.getAccessToken(), loginId, PASS_WORD, name, Arrays.asList(DEPT_ID), info);
  36. }
  37. /**
  38. * 同步钉钉企业账号
  39. */
  40. @Override
  41. public void syncDingTalk_exclusive() {
  42. List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
  43. .formUuid("FORM-11B80FC621CA4DB9A35364CFBFF7287538KR")
  44. .build());
  45. dataList.forEach(data -> {
  46. if (!"是".equals(UtilMap.getString(data, "radioField_m0hlup9w"))) {
  47. String userId = UtilMap.getString(data, "textField_lztc6k3k");
  48. String message = "";
  49. try {
  50. this.createExclusiveUser(userId, UtilMap.getString(data, "textField_lxsm8xow"));
  51. } catch (McException e) {
  52. message = e.getMessage();
  53. log.error(e.getMessage(), e);
  54. }
  55. ydClient.operateData(YDParam.builder()
  56. .formInstanceId(UtilMap.getString(data, "instanceId"))
  57. .useLatestVersion(true)
  58. .updateFormDataJson(JSON.toJSONString(UtilMap.map("radioField_m0hlup9w, employeeField_m0hlup9v, textareaField_m0hs4k90", "是", Arrays.asList(userId), message)))
  59. .build(), YDConf.FORM_OPERATION.update);
  60. }
  61. });
  62. }
  63. /**
  64. * 重置企业账号密码
  65. */
  66. @Override
  67. public void resetPwd(Map data) {
  68. ddClient_contacts.updateUser_dingTalk(ddClient.getAccessToken(), UtilMap.getString(data, "userId"), Arrays.asList(DEPT_ID), UtilMap.map("init_password", UtilMap.getString(data, "password")));
  69. }
  70. }