ErpDataSyncTask.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /*
  2. * Copyright 2019-2020 Zheng Jie
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package me.zhengjie.modules.quartz.task;
  17. import cn.hutool.http.HttpRequest;
  18. import com.alibaba.fastjson.JSONArray;
  19. import com.alibaba.fastjson.JSONObject;
  20. import lombok.RequiredArgsConstructor;
  21. import lombok.extern.slf4j.Slf4j;
  22. import me.zhengjie.modules.dm.company.domain.DmCompany;
  23. import me.zhengjie.modules.dm.user.domain.DmUser;
  24. import me.zhengjie.modules.dm.user.service.DmUserService;
  25. import me.zhengjie.modules.dm.user.service.dto.DmUserDto;
  26. import me.zhengjie.modules.system.domain.Dept;
  27. import me.zhengjie.modules.system.domain.Job;
  28. import me.zhengjie.modules.system.domain.Role;
  29. import me.zhengjie.modules.system.domain.User;
  30. import me.zhengjie.modules.system.service.DeptService;
  31. import me.zhengjie.modules.system.service.JobService;
  32. import me.zhengjie.modules.system.service.RoleService;
  33. import me.zhengjie.modules.system.service.UserService;
  34. import me.zhengjie.modules.system.service.dto.DeptDto;
  35. import me.zhengjie.modules.system.service.dto.UserDto;
  36. import me.zhengjie.utils.StringUtils;
  37. import org.springframework.security.crypto.password.PasswordEncoder;
  38. import org.springframework.stereotype.Component;
  39. import java.util.HashSet;
  40. import java.util.Set;
  41. import java.util.UUID;
  42. /**
  43. * ERP 数据同步
  44. * @author Sky
  45. */
  46. @Slf4j
  47. @RequiredArgsConstructor
  48. @Component
  49. public class ErpDataSyncTask {
  50. // private final String erpApiUrl = "http://121.31.41.88:29312";
  51. // private final String sign = "e34b2f59-0e9d-45ed-a32a-f4abd4381000";
  52. // private final String header_key = "X_AUTO_USER_INFO_HEAD";
  53. // private final String header_value = "{\"id\":\"anonymous\",\"tenantId\":\"caih\"}";
  54. //
  55. // private final DeptService deptService;
  56. // private final UserService userService;
  57. // private final DmUserService dmUserService;
  58. // private final PasswordEncoder passwordEncoder;
  59. //
  60. // public void run() {
  61. // log.info("deptsync 执行开始");
  62. // deptsync();
  63. // log.info("deptsync 执行结束");
  64. //
  65. // log.info("usersync 执行开始");
  66. // usersync();
  67. // log.info("usersync 执行结束");
  68. // }
  69. //
  70. // private JSONObject getDatas(String api, int pagenum, int pagesize) {
  71. // String res = HttpRequest.get(erpApiUrl + api)
  72. // .header(header_key, header_value)
  73. // .body("{\n" +
  74. // " \"formData\":{\n" +
  75. // " \"pageNum\":" + pagenum + ",\n" +
  76. // " \"pageSize\":" + pagesize + "\n" +
  77. // " },\n" +
  78. // " \"product\":\"17\",\n" +
  79. // " \"sign\":\"" + sign + "\"\n" +
  80. // "}").execute().body();
  81. // JSONObject json = JSONObject.parseObject(res);
  82. // return json;
  83. // }
  84. //
  85. // private int gettotal(String api) {
  86. // JSONObject json = getDatas(api, 0, 100);
  87. // return json.getJSONObject("page").getInteger("totalCount");
  88. // }
  89. //
  90. // /**
  91. // * 部门数据同步
  92. // */
  93. // private void deptsync() {
  94. // String api = "/api-third-party/busi/comm/usky/queryGroup";
  95. //
  96. // //计算总页数
  97. // int total = gettotal(api);
  98. // int pagesize = 100;
  99. // int pagetotal = (total / pagesize);
  100. // if (total % pagesize != 0) {
  101. // pagetotal++;
  102. // }
  103. //
  104. // //按页获取
  105. // for (int k = 0; k < pagetotal; k++) {
  106. // JSONObject json = getDatas(api, k, pagesize);
  107. // JSONArray datas = json.getJSONArray("data");
  108. // JSONObject item;
  109. // Dept dept;
  110. // for (int i = 0; i < datas.size(); i++) {
  111. // item = datas.getJSONObject(i);
  112. // dept = new Dept();
  113. //
  114. // if (StringUtils.isBlank(item.getString("groupId"))) {
  115. // dept.setId(UUID.randomUUID().toString());
  116. // } else {
  117. // dept.setId(item.getString("groupId"));
  118. // }
  119. // dept.setName(item.getString("groupName"));
  120. //
  121. // if (item.getString("parentId").equals("~")) {
  122. // dept.setPid(null);
  123. // } else {
  124. // dept.setPid(item.getString("parentId"));
  125. // }
  126. // dept.setDeptSort(item.getInteger("sort"));
  127. // dept.setEnabled(item.getBoolean("groupStatus"));
  128. // dept.setTreeNames(item.getString("groupNamePath"));
  129. // dept.setTreeIds(item.getString("groupIdPath"));
  130. // dept.setDeptType(item.getInteger("groupType"));
  131. // dept.setDescription(item.getString("groupName"));
  132. //
  133. // try {
  134. // DeptDto deptDto = deptService.findById(item.getString("groupId"));
  135. // if (deptDto != null) {
  136. // deptService.update(dept);
  137. // } else {
  138. // deptService.create(dept);
  139. // }
  140. // } catch (Exception ex) {
  141. // System.out.println(JSONObject.toJSON(dept));
  142. // }
  143. // }
  144. // }
  145. // }
  146. //
  147. // /**
  148. // * 人员数据同步
  149. // */
  150. // private void usersync() {
  151. //
  152. // String api = "/api-third-party/busi/comm/usky/queryUser";
  153. //
  154. // //计算总页数
  155. // int total = gettotal(api);
  156. // int pagesize = 100;
  157. // int pagetotal = (total / pagesize);
  158. // if (total % pagesize != 0) {
  159. // pagetotal++;
  160. // }
  161. //
  162. // //按页获取
  163. // for (int k = 0; k < pagetotal; k++) {
  164. // JSONObject json = getDatas(api, k, pagesize);
  165. // JSONArray datas = json.getJSONArray("data");
  166. // JSONObject item;
  167. // User user;
  168. // UserDto userDto;
  169. // Dept dept;
  170. // DmUser dmUser;
  171. // DmUserDto dmUserDto;
  172. // for (int i = 0; i < datas.size(); i++) {
  173. // item = datas.getJSONObject(i);
  174. // user = new User();
  175. // user.setId(item.getString("userId"));
  176. // user.setUsercode(item.getString("userCode"));
  177. // user.setNickName(item.getString("userName"));
  178. // user.setUsername(item.getString("userAccount"));
  179. //
  180. // if(StringUtils.isBlank(item.getString("sex"))){
  181. // user.setGender("");
  182. // }else{
  183. // user.setGender(item.getString("sex").equals("m") ? "男" : "女");
  184. // }
  185. //
  186. // user.setEmail(item.getString("email"));
  187. // user.setPhone(item.getString("mobile"));
  188. // user.setPassword(passwordEncoder.encode("12345678"));
  189. // user.setEnabled(item.getInteger("userStatus") == 1);
  190. // user.setIsAdmin(false);
  191. // user.setOrgPassword("12345678");
  192. // dept = new Dept();
  193. // dept.setId(item.getString("userGroupId"));
  194. // if (StringUtils.isBlank(dept.getId())) {
  195. // dept.setId("0001T110000000000UKL");
  196. // }
  197. // user.setDept(dept);
  198. //
  199. // Set<Job> jobs = new HashSet<Job>();
  200. // Job job = new Job();
  201. // job.setId("10");
  202. // jobs.add(job);
  203. // user.setJobs(jobs);
  204. //
  205. // Set<Role> roles = new HashSet<Role>();
  206. //
  207. // Role role = new Role();
  208. // role.setId("2");//普通用户
  209. // roles.add(role);
  210. // user.setRoles(roles);
  211. // dmUser = new DmUser();
  212. // dmUser.setDept(dept);
  213. // dmUser.setId(user.getId());
  214. // dmUser.setEmail(user.getEmail());
  215. // dmUser.setContacts(user.getPhone());
  216. // dmUser.setName(user.getNickName());
  217. // dmUser.setSex(user.getGender());
  218. // dmUser.setUserNumber(user.getUsercode());
  219. // dmUser.setUsercode(user.getUsercode());
  220. // dmUser.setJobs(jobs);
  221. // dmUser.setRoles(roles);
  222. // dmUser.setCardid(UUID.randomUUID().toString());
  223. //
  224. // try {
  225. // //1、入用户库
  226. // dmUserDto = dmUserService.findById(dmUser.getId());
  227. //
  228. // if (dmUserDto != null) {
  229. // dmUserService.update(dmUser);
  230. // } else {
  231. // dmUserService.create(dmUser);
  232. // }
  233. // user.setDmUser(dmUser);
  234. //
  235. // //2、入账户库并与用户库关联
  236. // userDto = userService.findById(user.getId());
  237. // if (userDto != null) {
  238. // userService.update(user);
  239. // } else {
  240. // userService.create(user);
  241. // }
  242. // } catch (Exception e) {
  243. // e.printStackTrace();
  244. // }
  245. // }
  246. // }
  247. // }
  248. }