This commit is contained in:
=
2026-04-02 11:54:30 +08:00
parent 2cf8c7c69f
commit 1f23222533
3 changed files with 27 additions and 45 deletions
@@ -36,19 +36,19 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("工号") @Comment("工号")
@ColDefine(type = ColType.VARCHAR, width = 120) @ColDefine(type = ColType.VARCHAR, width = 120)
@DataCenterColumn(name = "工号", key = "JGH") @DataCenterColumn(name = "工号", key = "gh")
private String loginname; private String loginname;
@Column @Column
@Comment("姓名") @Comment("姓名")
@ColDefine(type = ColType.VARCHAR, width = 100) @ColDefine(type = ColType.VARCHAR, width = 100)
@DataCenterColumn(name = "姓名", key = "XM") @DataCenterColumn(name = "姓名", key = "xm")
private String username; private String username;
@Column @Column
@Comment("性别") @Comment("性别")
@ColDefine(type = ColType.VARCHAR, width = 10) @ColDefine(type = ColType.VARCHAR, width = 10)
@DataCenterColumn(name = "姓别", key = "XBM", dict = "USER_SEX") @DataCenterColumn(name = "姓别", key = "sex", dict = "USER_SEX")
private String sex; private String sex;
@Column @Column
@@ -69,7 +69,7 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("政治面貌") @Comment("政治面貌")
@ColDefine(type = ColType.VARCHAR, width = 100) @ColDefine(type = ColType.VARCHAR, width = 100)
@DataCenterColumn(name = "政治面貌", key = "ZZMMM", dict = "USER_POLITICAL") @DataCenterColumn(name = "政治面貌", key = "zzmm", dict = "USER_POLITICAL")
private String political; private String political;
@Column @Column
@@ -80,12 +80,13 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("民族") @Comment("民族")
@ColDefine(type = ColType.VARCHAR, width = 20) @ColDefine(type = ColType.VARCHAR, width = 20)
@DataCenterColumn(name = "民族", key = "MZM", dict = "USER_NATION") @DataCenterColumn(name = "民族", key = "mz", dict = "USER_NATION")
private String nation; private String nation;
@Column @Column
@Comment("籍贯") @Comment("籍贯")
@ColDefine(type = ColType.VARCHAR, width = 100) @ColDefine(type = ColType.VARCHAR, width = 100)
@DataCenterColumn(name = "籍贯", key = "jg")
private String nativePlace; private String nativePlace;
@Column @Column
@@ -101,19 +102,19 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("证件号码") @Comment("证件号码")
@ColDefine(type = ColType.VARCHAR, width = 30) @ColDefine(type = ColType.VARCHAR, width = 30)
@DataCenterColumn(name = "证件号码", key = "SFZJH") @DataCenterColumn(name = "证件号码", key = "sfzh")
private String idCard; private String idCard;
@Column @Column
@Comment("手机号码") @Comment("手机号码")
@ColDefine(type = ColType.VARCHAR, width = 32) @ColDefine(type = ColType.VARCHAR, width = 32)
@DataCenterColumn(name = "手机号码", key = "SJHM") @DataCenterColumn(name = "手机号码", key = "phone")
private String mobile; private String mobile;
@Column @Column
@Comment("学历") @Comment("学历")
@ColDefine(type = ColType.VARCHAR, width = 20) @ColDefine(type = ColType.VARCHAR, width = 20)
@DataCenterColumn(name = "学历", key = "ZGXLM", dict = "USER_EDUCATION") @DataCenterColumn(name = "学历", key = "zgxl", dict = "USER_EDUCATION")
private String education; private String education;
@Column @Column
@@ -124,7 +125,7 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("学位") @Comment("学位")
@ColDefine(type = ColType.VARCHAR, width = 50) @ColDefine(type = ColType.VARCHAR, width = 50)
// @DataCenterColumn(name = "学位", key = "zgxwmc") @DataCenterColumn(name = "学位", key = "zgxw")
private String academicDegree; private String academicDegree;
@Column @Column
@@ -178,7 +179,7 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("来校时间") @Comment("来校时间")
@ColDefine(type = ColType.VARCHAR, width = 10) @ColDefine(type = ColType.VARCHAR, width = 10)
@DataCenterColumn(name = "来校时间", key = "LXRQ") @DataCenterColumn(name = "来校时间", key = "cjgzsj")
private String arrivalAtSchoolDate; private String arrivalAtSchoolDate;
@Column @Column
@@ -189,7 +190,7 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("在职状态") @Comment("在职状态")
@ColDefine(type = ColType.VARCHAR, width = 30) @ColDefine(type = ColType.VARCHAR, width = 30)
@DataCenterColumn(name = "当前状态码", key = "DQZTM", dict = "USER_STATE") @DataCenterColumn(name = "当前状态码", key = "on_duty_status", dict = "USER_STATE")
private String userState; private String userState;
@Column @Column
@@ -201,7 +202,7 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("教职工类别码") @Comment("教职工类别码")
@ColDefine(type = ColType.VARCHAR, width = 30) @ColDefine(type = ColType.VARCHAR, width = 30)
@DataCenterColumn(name = "教职工类别码", key = "JZGLBM", dict = "USER_PERSON_TYPE") @DataCenterColumn(name = "教职工类别码", key = "usertype", dict = "USER_PERSON_TYPE")
private String personType; private String personType;
@Column @Column
@@ -218,11 +219,13 @@ public class Sys_user extends BaseModel implements Serializable {
@Column @Column
@Comment("预计离校时间/最后离校时间") @Comment("预计离校时间/最后离校时间")
@ColDefine(type = ColType.DATE) @ColDefine(type = ColType.DATE)
@DataCenterColumn(name = "离校时间", key = "lxsj")
private Date expectedLeaveSchoolDate; private Date expectedLeaveSchoolDate;
@Column @Column
@Comment("退休时间") @Comment("退休时间")
@ColDefine(type = ColType.DATE) @ColDefine(type = ColType.DATE)
@DataCenterColumn(name = "离校时间", key = "txsj")
private Date retireDate; private Date retireDate;
@Column @Column
@@ -112,49 +112,27 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
try { try {
// 获取数据中心的字典 // 获取数据中心的字典
List<Sys_data_dict> dataDictList = dao().query(Sys_data_dict.class, Cnd.NEW()); List<Sys_data_dict> dataDictList = dao().query(Sys_data_dict.class, Cnd.NEW());
// 字典码表Map,key为父级编码,value为子级字典列表
Map<String, List<Sys_data_dict>> dataDictMap = dataDictList.stream().collect(Collectors.groupingBy(Sys_data_dict::getParentCode)); Map<String, List<Sys_data_dict>> dataDictMap = dataDictList.stream().collect(Collectors.groupingBy(Sys_data_dict::getParentCode));
// token url参数 // 请求人员数据
Map<String, String> tokenParams = Map.of( HttpRequest httpRequest = HttpUtil.createGet("http://211.82.200.130:10003/api/139/1/5000");
"grant_type", "password",
"scope", "read",
"username", "3848A3C738EFBB2C2E76E0D59B419DACA16A80F3AB0354CD",
"password", "3848A3C738EFBB2C2E76E0D59B419DACA16A80F3AB0354CD"
);
String params = URLUtil.buildQuery(tokenParams, StandardCharsets.UTF_8); log.info("请求人员数据:{}", httpRequest);
String tokenUrl = "https://bd.hdc.edu.cn/sjjkfwpt/api/bd-api/oauth/token" + (StrUtil.isBlank(params) ? "" : "?" + params);
HttpRequest tokenHttpRequest = HttpUtil.createPost(tokenUrl);
tokenHttpRequest.header("Content-Type", "application/json");
tokenHttpRequest.header("Authorization", "Basic MTE0OjU5M2UwNGI4YTE4NWRlMzkyNjY4ZmY0ZDJhZGMyZTEw");
log.info("请求token: {}", tokenHttpRequest);
String tokenResBody = tokenHttpRequest.execute().body();
log.info("请求token结果: {}", tokenResBody);
JSONObject tokenJsonBody = JSONUtil.parseObj(tokenResBody);
// 请求数据
HttpRequest httpRequest = HttpUtil.createGet("https://bd.hdc.edu.cn/sjjkfwpt/api/bd-api/get/JZGJCSJZLB");
httpRequest.form(Map.of("access_token", tokenJsonBody.getStr("access_token"), "pageSize", 5000, "page", 1));
log.info("请求人员数据: {}", httpRequest);
String resBody = httpRequest.execute().body(); String resBody = httpRequest.execute().body();
log.info("请求人员数据结果: {}", resBody); log.info("请求人员数据结果:{}", resBody);
JSONObject jsonBody = JSONUtil.parseObj(resBody); JSONObject jsonBody = JSONUtil.parseObj(resBody);
if (jsonBody.getInt("code") != 200) { if (jsonBody.getInt("code") != 200) {
throw new BaseException("获取人员数据失败,错误码: " + jsonBody.getInt("code") + ";错误原因:" + jsonBody.getStr("msg")); throw new BaseException("获取人员数据失败,错误码:" + jsonBody.getInt("code") + ";错误原因:" + jsonBody.getStr("msg"));
} }
List<JSONObject> rawDataList = new ArrayList<>(); List<JSONObject> rawDataList = new ArrayList<>();
JSONArray data = jsonBody.getJSONArray("data"); JSONObject data = jsonBody.getJSONObject("data");
JSONArray rows = data.getJSONArray("rows");
if (!data.isEmpty()) { if (rows != null && !rows.isEmpty()) {
// 先收集所有原始数据 rawDataList = rows.stream().map(v -> (JSONObject) v).toList();
rawDataList = data.stream().map(v -> (JSONObject) v).toList(); log.info("数据拉取进度:{}/{}", rawDataList.size(), rawDataList.size());
log.info("数据拉取进度: {}/{}", rawDataList.size(), jsonBody.getInt("total"));
} else { } else {
log.warn("当前未获取到数据"); log.warn("当前未获取到数据");
} }
@@ -178,7 +156,7 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
mapping.field.set(sysUser, sysDataDict.getName()); mapping.field.set(sysUser, sysDataDict.getName());
} else { } else {
// 特殊处理 根据身份证号获取性别和出生年月 // 特殊处理 根据身份证号获取性别和出生年月
if ("SFZJH".equals(mapping.field.getName())) { if ("sfzh".equals(mapping.field.getName())) {
String idCard = raw.getStr(mapping.key); String idCard = raw.getStr(mapping.key);
// 设置出生年月 // 设置出生年月
try { try {
@@ -245,6 +245,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
cnd.andEX("year(info.createTime)", "=", pageForm.getYear()); cnd.andEX("year(info.createTime)", "=", pageForm.getYear());
cnd.and("info.userId", "=", SecurityUtil.getUserId()); cnd.and("info.userId", "=", SecurityUtil.getUserId());
cnd.desc("createTime"); cnd.desc("createTime");
// cnd.groupBy("info.id");
sql.setCondition(cnd); sql.setCondition(cnd);
return listPageVO(pageForm, sql, ClubRegisterPageVo.class); return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
} }