zhanghl
2025-04-18 05e6a50c5b89931948077f5110e29e7ce9bc04b4
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -6,8 +6,9 @@
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 com.aps.job.domain.ApsWorkOrderJobLog;
import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
import com.aps.job.param.ApsWorkOrderJobParam;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
@@ -18,6 +19,7 @@
import com.aps.job.mapper.ApsWorkOrderJobMapper;
import com.aps.job.domain.ApsWorkOrderJob;
import com.aps.job.service.IApsWorkOrderJobService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
/**
@@ -41,6 +43,8 @@
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private ApsWorkOrderJobLogMapper jobLogMapper;
    /**
     * 查询工单同步
@@ -117,37 +121,56 @@
    }
    @Transactional
    @Override
    public void batchInsertApsWorkOrderJob() {
    public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
        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<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
            ResponseEntity<String> 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<ApsWorkOrderJob> 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);
        Integer PageIndex = 3;
        Integer PageSize = 600;
        Boolean continueFlag = true;
        /*  while (continueFlag){*/
        ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
        String requestString = JSONObject.toJSONString(param);
        HttpEntity<String> request = new HttpEntity<>(requestString, headers);
        ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
        log.setRequestData(requestString);
        log.setPageNum(Long.valueOf(PageIndex));
        log.setPageCount(Long.valueOf(PageSize));
        log.setCreateTime(DateUtils.getNowDate());
        jobLogMapper.insertApsWorkOrderJobLog(log);
        if (response.getStatusCode().is2xxSuccessful()) {
            JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
            if ("200".equals(responseBodyJson.getString("status"))) {
                JSONArray result = responseBodyJson.getJSONArray("data");
                if (result != null) {
                    List<ApsWorkOrderJob> jobs = new ArrayList<>();
                    for (int i = 0; i < result.size(); i++) {
                        ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class);
                        JSONObject jsonObject = result.getJSONObject(i);
                        order.setOrderId(jsonObject.get("ID").toString());
                        order.setCreateTime(DateUtils.getNowDate());
                        order.setPageIndex(i);
                        order.setPageNum(PageIndex);
                        order.setDelFlag("0");
                        order.setProcessStatus("0");
                        jobs.add(order);
                    }
                    apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
                }
                log.setResult("success");
            }else{
                log.setResponseData(response.getBody());
            }
       /* }*/
        }
        else {
            log.setResponseData(response.getBody());
            log.setResult("request fail");
        }
        jobLogMapper.updateApsWorkOrderJobLog(log);
    }
}