package com.aps.job.service.impl; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.aps.common.core.utils.DateUtils; import com.aps.common.core.utils.StringUtils; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import com.aps.job.mapper.ApsWorkOrderJobMapper; import com.aps.job.domain.ApsWorkOrderJob; import com.aps.job.service.IApsWorkOrderJobService; import org.springframework.web.client.RestTemplate; /** * 工单同步Service业务层处理 * * @author zhl * @date 2025-04-17 */ @Service public class ApsWorkOrderJobServiceImpl implements IApsWorkOrderJobService { @Autowired private ApsWorkOrderJobMapper apsWorkOrderJobMapper; /** * 获取订单接口 * */ @Value("${u9.workOrderJobUrl}") private String getWorkOrderUrl; @Autowired private RestTemplate restTemplate; /** * 查询工单同步 * * @param id 工单同步主键 * @return 工单同步 */ @Override public ApsWorkOrderJob selectApsWorkOrderJobById(Long id) { return apsWorkOrderJobMapper.selectApsWorkOrderJobById(id); } /** * 查询工单同步列表 * * @param apsWorkOrderJob 工单同步 * @return 工单同步 */ @Override public List selectApsWorkOrderJobList(ApsWorkOrderJob apsWorkOrderJob) { return apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob); } /** * 新增工单同步 * * @param apsWorkOrderJob 工单同步 * @return 结果 */ @Override public int insertApsWorkOrderJob(ApsWorkOrderJob apsWorkOrderJob) { apsWorkOrderJob.setCreateTime(DateUtils.getNowDate()); return apsWorkOrderJobMapper.insertApsWorkOrderJob(apsWorkOrderJob); } /** * 修改工单同步 * * @param apsWorkOrderJob 工单同步 * @return 结果 */ @Override public int updateApsWorkOrderJob(ApsWorkOrderJob apsWorkOrderJob) { apsWorkOrderJob.setUpdateTime(DateUtils.getNowDate()); return apsWorkOrderJobMapper.updateApsWorkOrderJob(apsWorkOrderJob); } /** * 批量删除工单同步 * * @param ids 需要删除的工单同步主键 * @return 结果 */ @Override public int deleteApsWorkOrderJobByIds(Long[] ids) { return apsWorkOrderJobMapper.deleteApsWorkOrderJobByIds(ids); } /** * 删除工单同步信息 * * @param id 工单同步主键 * @return 结果 */ @Override public int deleteApsWorkOrderJobById(Long id) { return apsWorkOrderJobMapper.deleteApsWorkOrderJobById(id); } @Override public void batchInsertApsWorkOrderJob() { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); Integer PageIndex=1; Integer PageSize=10; Boolean continueFlag=true; /* while (continueFlag){*/ JSONObject requestBody = new JSONObject(); requestBody.put("PageIndex", PageIndex); requestBody.put("PageSize", PageSize); HttpEntity request = new HttpEntity<>(requestBody.toJSONString(), headers); ResponseEntity response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class); if (response.getStatusCode().is2xxSuccessful()) { String responseBody = response.getBody(); if(StringUtils.isNotEmpty(responseBody)){ JSONObject responseBodyJson = JSONObject.parseObject(responseBody); if("200".equals(responseBodyJson.getString("status"))){ JSONArray result = responseBodyJson.getJSONArray("data"); List jobs = new ArrayList<>(); if (result!=null){ for (int i = 0; i < result.size(); i++) { ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class); jobs.add(order); } } apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs); } } } /* }*/ } }