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.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;
|
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.transaction.annotation.Transactional;
|
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;
|
|
@Autowired
|
private ApsWorkOrderJobLogMapper jobLogMapper;
|
|
/**
|
* 查询工单同步
|
*
|
* @param id 工单同步主键
|
* @return 工单同步
|
*/
|
@Override
|
public ApsWorkOrderJob selectApsWorkOrderJobById(Long id)
|
{
|
return apsWorkOrderJobMapper.selectApsWorkOrderJobById(id);
|
}
|
|
/**
|
* 查询工单同步列表
|
*
|
* @param apsWorkOrderJob 工单同步
|
* @return 工单同步
|
*/
|
@Override
|
public List<ApsWorkOrderJob> 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);
|
}
|
|
|
@Transactional
|
@Override
|
public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
|
|
HttpHeaders headers = new HttpHeaders();
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
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);
|
}
|
}
|