|
@@ -1,8 +1,12 @@
|
|
|
package org.dromara.server.sync.service;
|
|
package org.dromara.server.sync.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
+import cn.hutool.http.HttpRequest;
|
|
|
|
|
+import cn.hutool.http.HttpResponse;
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.dromara.common.core.exception.ServiceException;
|
|
|
import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
|
|
import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
|
|
|
import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
|
|
import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
|
|
|
import org.dromara.server.common.constant.DefaultConstants;
|
|
import org.dromara.server.common.constant.DefaultConstants;
|
|
@@ -34,100 +38,113 @@ public class SyncTrainService {
|
|
|
private final SyncDeptStrategyContent syncDeptStrategyContent;
|
|
private final SyncDeptStrategyContent syncDeptStrategyContent;
|
|
|
private final SyncUserStrategyContent syncUserStrategyContent;
|
|
private final SyncUserStrategyContent syncUserStrategyContent;
|
|
|
|
|
|
|
|
- public void syncTrainClass() {
|
|
|
|
|
- // HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
|
|
- // req.body(getQueryBodyForClass());
|
|
|
|
|
- //
|
|
|
|
|
- // SyncFullDataBo dataBo = JSONUtil.toBean(req.execute().body(), SyncFullDataBo.class);
|
|
|
|
|
- //
|
|
|
|
|
|
|
+ public Boolean syncTrainClass() {
|
|
|
|
|
+ HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
|
|
+ req.body(getQueryBodyForClass());
|
|
|
|
|
+ try (HttpResponse res = req.execute()) {
|
|
|
|
|
+ SyncFullDataBo dataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
|
|
|
|
|
+ List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
|
|
+ for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
|
|
|
|
|
+ ResourceDept dept = convertClassToDept(list);
|
|
|
|
|
+ resourceDeptlist.add(dept);
|
|
|
|
|
+ }
|
|
|
|
|
+ log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
|
|
|
|
|
+ syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error(e.getMessage());
|
|
|
|
|
+ throw new ServiceException(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // region 模拟测试数据
|
|
|
// List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
// List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
- // for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
|
|
|
|
|
- // ResourceDept dept = convertClassToDept(list);
|
|
|
|
|
- // resourceDeptlist.add(dept);
|
|
|
|
|
- // }
|
|
|
|
|
- // log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
|
|
|
|
|
|
|
+ // ResourceDept dept = new ResourceDept();
|
|
|
|
|
+ // resourceDeptlist.add(dept);
|
|
|
|
|
+ // dept.setDept_id("1828720861385904129");
|
|
|
|
|
+ // dept.setDept_name("2024年秋季学期乡镇长进修班");
|
|
|
|
|
+ // dept.setYear(2004);
|
|
|
|
|
+ // dept.setSemester("1");
|
|
|
//
|
|
//
|
|
|
- // region 模拟测试数据
|
|
|
|
|
- List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
|
|
- ResourceDept dept = new ResourceDept();
|
|
|
|
|
- resourceDeptlist.add(dept);
|
|
|
|
|
- dept.setDept_id("1828720861385904129");
|
|
|
|
|
- dept.setDept_name("2024年秋季学期乡镇长进修班");
|
|
|
|
|
- dept.setYear(2004);
|
|
|
|
|
- dept.setSemester("1");
|
|
|
|
|
-
|
|
|
|
|
- dept.setPayBegin(DateUtil.parse("2024-08-28 00:00:00"));
|
|
|
|
|
- dept.setCheckDate(DateUtil.parseDate("2024-08-28 00:00:00"));
|
|
|
|
|
- dept.setBeginDate(DateUtil.parseDate("2024-08-31 00:00:00"));
|
|
|
|
|
- dept.setEndDate(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
- dept.setPayEnd(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
- dept.setChooseRoom("0");
|
|
|
|
|
- dept.setCanEat("1");
|
|
|
|
|
- dept.setPayCheck("0");
|
|
|
|
|
- dept.setPlanCount(100);
|
|
|
|
|
- dept.setDept_num("9");
|
|
|
|
|
- dept.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
|
|
|
|
+ // dept.setPayBegin(DateUtil.parse("2024-08-28 00:00:00"));
|
|
|
|
|
+ // dept.setCheckDate(DateUtil.parseDate("2024-08-28 00:00:00"));
|
|
|
|
|
+ // dept.setBeginDate(DateUtil.parseDate("2024-08-31 00:00:00"));
|
|
|
|
|
+ // dept.setEndDate(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ // dept.setPayEnd(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ // dept.setChooseRoom("0");
|
|
|
|
|
+ // dept.setCanEat("1");
|
|
|
|
|
+ // dept.setPayCheck("0");
|
|
|
|
|
+ // dept.setPlanCount(100);
|
|
|
|
|
+ // dept.setDept_num("9");
|
|
|
|
|
+ // dept.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
|
|
+ // syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
|
|
|
|
|
+ // return true
|
|
|
// endregion
|
|
// endregion
|
|
|
|
|
|
|
|
- syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public void syncTrainee() {
|
|
|
|
|
- // List<ResourcePerson> resourcePersonList = new ArrayList<>();
|
|
|
|
|
- // SyncFullDataBo traineeDataBo = new SyncFullDataBo();
|
|
|
|
|
- // HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
|
|
- // req.body(getQueryBodyForTrainee());
|
|
|
|
|
- // // 获取到培训学员数据
|
|
|
|
|
- // try(HttpResponse res = req.execute()) {
|
|
|
|
|
- // traineeDataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
|
|
|
|
|
- // resourcePersonList = getResourcePeople(traineeDataBo);
|
|
|
|
|
- // } catch (Exception e){
|
|
|
|
|
- // log.error(e.getMessage());
|
|
|
|
|
- // }
|
|
|
|
|
- // // 获取到的学员与培训班对应关系
|
|
|
|
|
- // List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
|
|
- // req.body(getQueryBodyForClassTrainee());
|
|
|
|
|
- // try (HttpResponse res = req.execute()) {
|
|
|
|
|
- // SyncFullDataBo classTraineeDataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
|
|
|
|
|
- // resourcePersonDeptList = getResourcePersonDeptList(classTraineeDataBo);
|
|
|
|
|
- // } catch (Exception e) {
|
|
|
|
|
- // log.error(e.getMessage());
|
|
|
|
|
- // }
|
|
|
|
|
- // region 模拟测试数据
|
|
|
|
|
- List<ResourcePerson> resourcePersonList = new ArrayList<>();
|
|
|
|
|
- ResourcePerson person = new ResourcePerson();
|
|
|
|
|
- person.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
|
|
- person.setUserId("1799827959791554562");
|
|
|
|
|
- person.setDeptId("1828720861385904129");
|
|
|
|
|
- person.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
|
|
- person.setRealName("赵开羽");
|
|
|
|
|
- person.setSex("1");
|
|
|
|
|
- person.setPhone("18974390367");
|
|
|
|
|
- person.setIdNumber("XP4aO5yhQyNPUctSqDOU9Syh9KUo/DN8");
|
|
|
|
|
- person.setCategory("2");
|
|
|
|
|
- person.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
|
|
|
|
|
- resourcePersonList.add(person);
|
|
|
|
|
|
|
+ public Boolean syncTrainee() {
|
|
|
|
|
+ HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
|
|
+ req.body(getQueryBodyForTrainee());
|
|
|
|
|
+ // 获取到培训学员数据
|
|
|
|
|
+ try (HttpResponse res = req.execute()) {
|
|
|
|
|
+ SyncFullDataBo traineeDataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
|
|
|
|
|
+ List<ResourcePerson> resourcePersonList = getResourcePeople(traineeDataBo);
|
|
|
|
|
|
|
|
- List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
|
|
- ResourcePersonDept personDept = new ResourcePersonDept();
|
|
|
|
|
- personDept.setUserId("1799827959791554562");
|
|
|
|
|
- personDept.setDeptId("1828720861385904129");
|
|
|
|
|
- personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
|
|
- personDept.setDelFlag("0");
|
|
|
|
|
- resourcePersonDeptList.add(personDept);
|
|
|
|
|
|
|
+ // 获取到的学员与培训班对应关系
|
|
|
|
|
+ req.body(getQueryBodyForClassTrainee());
|
|
|
|
|
+ try (HttpResponse resTraineeClass = req.execute()) {
|
|
|
|
|
+ SyncFullDataBo classTraineeDataBo = JSONUtil.toBean(resTraineeClass.body(), SyncFullDataBo.class);
|
|
|
|
|
+ List<ResourcePersonDept> resourcePersonDeptList = getResourcePersonDeptList(classTraineeDataBo);
|
|
|
|
|
|
|
|
|
|
+ getResourcePeople(resourcePersonDeptList, resourcePersonList);
|
|
|
|
|
+ log.info("[全量获取到的培训学员数据]-[{}]条-[{}]", resourcePersonList.size(), JSONUtil.toJsonStr(traineeDataBo));
|
|
|
|
|
+
|
|
|
|
|
+ syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error(e.getMessage());
|
|
|
|
|
+ throw new ServiceException(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error(e.getMessage());
|
|
|
|
|
+ throw new ServiceException(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // region 模拟测试数据
|
|
|
|
|
+ // List<ResourcePerson> resourcePersonList = new ArrayList<>();
|
|
|
|
|
+ // ResourcePerson person = new ResourcePerson();
|
|
|
|
|
+ // person.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
|
|
+ // person.setUserId("1799827959791554562");
|
|
|
|
|
+ // person.setDeptId("1828720861385904129");
|
|
|
|
|
+ // person.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
|
|
+ // person.setRealName("赵开羽");
|
|
|
|
|
+ // person.setSex("1");
|
|
|
|
|
+ // person.setPhone("18974390367");
|
|
|
|
|
+ // person.setIdNumber("XP4aO5yhQyNPUctSqDOU9Syh9KUo/DN8");
|
|
|
|
|
+ // person.setCategory("2");
|
|
|
|
|
+ // person.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
|
|
|
|
|
+ // resourcePersonList.add(person);
|
|
|
|
|
+ //
|
|
|
|
|
+ // List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
|
|
+ // ResourcePersonDept personDept = new ResourcePersonDept();
|
|
|
|
|
+ // personDept.setUserId("1799827959791554562");
|
|
|
|
|
+ // personDept.setDeptId("1828720861385904129");
|
|
|
|
|
+ // personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
|
|
+ // personDept.setDelFlag("0");
|
|
|
|
|
+ // resourcePersonDeptList.add(personDept);
|
|
|
|
|
+ //
|
|
|
// personDept = new ResourcePersonDept();
|
|
// personDept = new ResourcePersonDept();
|
|
|
// personDept.setUserId("1799827959791554562");
|
|
// personDept.setUserId("1799827959791554562");
|
|
|
// personDept.setDeptId("ffe051b8cf2e45ddb899d596108699d7");
|
|
// personDept.setDeptId("ffe051b8cf2e45ddb899d596108699d7");
|
|
|
// personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
// personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
// personDept.setDelFlag("0");
|
|
// personDept.setDelFlag("0");
|
|
|
// resourcePersonDeptList.add(personDept);
|
|
// resourcePersonDeptList.add(personDept);
|
|
|
- // endregion
|
|
|
|
|
-
|
|
|
|
|
- getResourcePeople(resourcePersonDeptList, resourcePersonList);
|
|
|
|
|
- // log.info("[全量获取到的培训学员数据]-[{}]条-[{}]", resourcePersonList.size(), JSONUtil.toJsonStr(traineeDataBo));
|
|
|
|
|
|
|
+ // getResourcePeople(resourcePersonDeptList, resourcePersonList);
|
|
|
|
|
+ //
|
|
|
|
|
+ // syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
|
|
|
|
|
|
|
|
- syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
|
|
|
|
|
|
|
+ // return true;
|
|
|
|
|
+ // endregion
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -501,6 +518,7 @@ public class SyncTrainService {
|
|
|
dept.setDept_num(list.get(34));
|
|
dept.setDept_num(list.get(34));
|
|
|
// TODO 2024-11-15 luoyibo 这处租户Id原则上是从全量接口获取,暂时设置为默认值
|
|
// TODO 2024-11-15 luoyibo 这处租户Id原则上是从全量接口获取,暂时设置为默认值
|
|
|
dept.setTenantId(DefaultConstants.TENANT_ID);
|
|
dept.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
|
|
+ dept.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
|
|
|
return dept;
|
|
return dept;
|
|
|
}
|
|
}
|
|
|
|
|
|