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 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); } } }