147 lines
5.9 KiB
Java

package com.zhgd.xmgl.modules.govtapi;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.zhgd.xmgl.modules.realnamestatistics.entity.ProjectOperationsAnalysis;
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.entity.WorkerMonthAttendanceStatistics;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 湖里政务平台开放api调用
*
* @author HZI.HUI
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class GovtOpenApiService {
@Value("${govt.host:}")
public String govtHost;
/**
* 考勤打卡
*
* @param workerAttendance
*/
public void workerAttendanceSync(WorkerAttendance workerAttendance) {
try {
String result = HttpUtil.post(govtHost + "/openapi/labour/worker/attendance/sync", JSONUtil.toJsonStr(workerAttendance), 6000);
JSONObject jsonObject = JSONUtil.parseObj(result);
String code = jsonObject.getStr("code");
if ("200".equals(code)) {
log.info("[劳务管理-考勤打卡-同步到政务] 成功,数据:{}", JSONUtil.toJsonStr(workerAttendance));
return;
}
log.error("[劳务管理-考勤打卡-同步到政务] 失败,数据:{}, 错误:{}", JSONUtil.toJsonStr(workerAttendance), result);
} catch (Exception e) {
log.error("[劳务管理-考勤打卡-同步到政务] 失败,数据:{}, 异常:", JSONUtil.toJsonStr(workerAttendance), e);
}
}
/**
* 劳务管理-考情统计-同步到政务
*
* @param statistics
*/
public void workerMonthAttendanceStatisticsSync(WorkerMonthAttendanceStatistics statistics) {
try {
String result = HttpUtil.post(govtHost + "/openapi/labour/worker/month/attendance/statistics/sync", JSONUtil.toJsonStr(statistics), 6000);
JSONObject jsonObject = JSONUtil.parseObj(result);
String code = jsonObject.getStr("code");
if ("200".equals(code)) {
log.info("[劳务管理-考情统计-同步到政务] 成功,数据:{}", JSONUtil.toJsonStr(statistics));
return;
}
log.error("[劳务管理-考情统计-同步到政务] 失败,数据:{}, 错误:{}", JSONUtil.toJsonStr(statistics), result);
} catch (Exception e) {
log.error("[劳务管理-考情统计-同步到政务] 失败,数据:{}, 异常:", JSONUtil.toJsonStr(statistics), e);
}
}
/**
* 劳务管理-开放api-实名制统计
*
* @param analysisList
*/
public void projectOperationsAnalysisUpdateSync(List<ProjectOperationsAnalysis> analysisList) {
if (CollUtil.isEmpty(analysisList)) {
return;
}
for (ProjectOperationsAnalysis projectOperationsAnalysis : analysisList) {
try {
String result = HttpUtil.post(govtHost + "/openapi/labour/project/operations/analysis/update", JSONUtil.toJsonStr(projectOperationsAnalysis), 20000);
JSONObject jsonObject = JSONUtil.parseObj(result);
String code = jsonObject.getStr("code");
if ("200".equals(code)) {
log.info("[劳务管理-实名制统计-同步到政务] 成功,数据:{}", JSONUtil.toJsonStr(projectOperationsAnalysis));
continue;
}
log.error("[劳务管理-实名制统计-同步到政务] 失败,数据:{}, 错误:{}", JSONUtil.toJsonStr(projectOperationsAnalysis), result);
} catch (Exception e) {
log.error("[劳务管理-实名制统计-同步到政务] 失败,数据:{}, 异常:", JSONUtil.toJsonStr(projectOperationsAnalysis), e);
}
}
}
/**
* 劳务管理-开放api-劳务人员新增
*
* @param workerInfo
*/
public void workerInfoAddSync(WorkerInfo workerInfo) {
try {
String result = HttpUtil.post(govtHost + "/openapi/labour/worker/info/add", JSONUtil.toJsonStr(workerInfo), 6000);
JSONObject jsonObject = JSONUtil.parseObj(result);
String code = jsonObject.getStr("code");
if ("200".equals(code)) {
log.info("[劳务管理-劳务人员新增-同步到政务] 成功,数据:{}", JSONUtil.toJsonStr(workerInfo));
return;
}
log.error("[劳务管理-劳务人员新增-同步到政务] 失败,数据:{}, 错误:{}", JSONUtil.toJsonStr(workerInfo), result);
} catch (Exception e) {
log.error("[劳务管理-劳务人员新增-同步到政务] 失败,数据:{}, 异常:", JSONUtil.toJsonStr(workerInfo), e);
}
}
/**
* 劳务管理-开放api-劳务人员新增
*
* @param workerInfo
*/
public void workerInfoDelSync(WorkerInfo workerInfo) {
try {
String result = HttpUtil.post(govtHost + "/openapi/labour/worker/info/del/sync", JSONUtil.toJsonStr(workerInfo), 6000);
JSONObject jsonObject = JSONUtil.parseObj(result);
String code = jsonObject.getStr("code");
if ("200".equals(code)) {
log.info("[劳务管理-劳务人员删除-同步到政务] 成功,数据:{}", JSONUtil.toJsonStr(workerInfo));
return;
}
log.error("[劳务管理-劳务人员删除-同步到政务] 失败,数据:{}, 错误:{}", JSONUtil.toJsonStr(workerInfo), result);
} catch (Exception e) {
log.error("[劳务管理-劳务人员删除-同步到政务] 失败,数据:{}, 异常:", JSONUtil.toJsonStr(workerInfo), e);
}
}
}