ZkDataPushTask.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package me.zhengjie.modules.quartz.task;
  2. import cn.hutool.http.HttpRequest;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import lombok.RequiredArgsConstructor;
  6. import lombok.extern.slf4j.Slf4j;
  7. import me.zhengjie.modules.dm.user.service.DmUserService;
  8. import me.zhengjie.modules.dm.user.service.dto.DmUserDto;
  9. import me.zhengjie.modules.dm.user.service.dto.DmUserQueryCriteria;
  10. import me.zhengjie.modules.system.service.DeptService;
  11. import me.zhengjie.modules.system.service.dto.DeptDto;
  12. import me.zhengjie.modules.system.service.dto.DeptQueryNoAuthCriteria;
  13. import me.zhengjie.utils.SecurityUtils;
  14. import me.zhengjie.utils.StringUtils;
  15. import org.springframework.stereotype.Component;
  16. import org.springframework.util.ObjectUtils;
  17. import java.text.SimpleDateFormat;
  18. import java.util.Date;
  19. import java.util.List;
  20. import java.util.Map;
  21. @Slf4j
  22. @RequiredArgsConstructor
  23. @Component
  24. public class ZkDataPushTask {
  25. private final String key = "DMERPYT!@#$QWER2021+{:>";
  26. private final String fpApi = "http://10.208.128.14:8069/";
  27. private final DmUserService dmUserService;
  28. private final DeptService deptService;
  29. public void run() {
  30. log.info("pushAttendanceData 执行开始");
  31. pushAttendanceData();
  32. log.info("pushAttendanceData 执行结束");
  33. }
  34. private void pushAttendanceData(){
  35. String yktAttendanceApi = "http://192.168.1.25:8000/api/thirdparty/v2/user/getAttendance";
  36. String erpAttendanceApi = "http://10.22.2.65:16000/attendance-api/device/identify/callback";
  37. Map<String,Object> newToken = SecurityUtils.getToken(key);
  38. JSONObject param = new JSONObject();
  39. param.put("timestamp",newToken.get("timestamp"));
  40. param.put("nonce",newToken.get("nonce"));
  41. String res = HttpRequest.get(yktAttendanceApi)
  42. .header("XYTACCESSTOKEN",newToken.get("token").toString() )
  43. .body(param.toJSONString()).execute().body();
  44. if(StringUtils.isNotEmpty(res)) {
  45. log.info("res:"+res);
  46. JSONArray attendanceArray = JSONArray.parseArray(res);
  47. for(int i = 0;i<attendanceArray.size();i++){
  48. JSONObject attendance = attendanceArray.getJSONObject(i);
  49. //组装返回数据
  50. JSONObject ertAttendanceJSON = new JSONObject();
  51. ertAttendanceJSON.put("deviceKey",attendance.getString("roomDevice"));
  52. ertAttendanceJSON.put("personId",attendance.getString("userNumber"));
  53. ertAttendanceJSON.put("time",attendance.getString("attendanceTime"));
  54. ertAttendanceJSON.put("type","face_0");
  55. HttpRequest.get(erpAttendanceApi).body(ertAttendanceJSON.toJSONString()).execute().body();
  56. }
  57. } else {
  58. log.info("res is null.");
  59. }
  60. }
  61. private void pushFeiPuDeptData() throws Exception {
  62. String api = "openapi/deptOperate";
  63. List<DeptDto> deptDtoList = deptService.queryAll(new DeptQueryNoAuthCriteria());
  64. if(!ObjectUtils.isEmpty(deptDtoList)){
  65. for(DeptDto deptDto: deptDtoList){
  66. JSONObject param = new JSONObject();
  67. param.put("deptId",deptDto.getId());
  68. param.put("deptName",deptDto.getName());
  69. param.put("pDeptId",deptDto.getPid());
  70. param.put("sort",deptDto.getDeptSort());
  71. param.put("operateType",1);
  72. String res = HttpRequest.post(fpApi+api)
  73. .form("dept",param.toJSONString()).execute().body();
  74. log.info("res:"+res);
  75. }
  76. }
  77. }
  78. private void pushFeiPuUserData(){
  79. String api = "openapi/personOperate";
  80. List<Map<String,String>> dmUserDtoList = dmUserService.queryAll();
  81. if(!ObjectUtils.isEmpty(dmUserDtoList)){
  82. for(Map<String,String> map: dmUserDtoList){
  83. JSONObject param = new JSONObject();
  84. param.put("userId",map.get("id"));
  85. param.put("userName",map.get("name"));
  86. param.put("deptId",map.get("deptId"));
  87. Integer sex = null;
  88. if(StringUtils.isNotBlank(map.get("sex"))){
  89. if(StringUtils.equals("男",map.get("sex"))){
  90. sex = 2;
  91. } else if(StringUtils.equals("女",map.get("sex"))) {
  92. sex = 1;
  93. }
  94. }
  95. param.put("sex",sex);
  96. param.put("cardId",map.get("cardId"));
  97. param.put("operateType",1);
  98. String res = HttpRequest.post(fpApi+api)
  99. .form("person",param.toJSONString()).execute().body();
  100. log.info("res:"+res);
  101. }
  102. }
  103. }
  104. }