Commit 745219d3 authored by yajun.zhang's avatar yajun.zhang

优化程序

parent 611f44b9
......@@ -29,8 +29,9 @@ public class ThirdWorkOrderRest {
return thirdWorkOrderService.queryWorkOrder(param);
}
@PostMapping("/export")
public JsonResult export(@RequestBody WorkOrderParam param,@RequestHeader("account") String account) {
return thirdWorkOrderService.export(param,account);
public JsonResult export(@RequestBody WorkOrderParam param,@RequestHeader("account") String account,
@RequestHeader("qg-tenant-id") Integer tenantId) {
return thirdWorkOrderService.export(param,account,tenantId);
}
......
......@@ -17,6 +17,6 @@ import java.util.Map;
public interface IKdspService {
JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(List<String> orderNos);
JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(List<String> orderNos,Integer tenantId);
}
......@@ -17,5 +17,5 @@ public interface IThirdWorkOrderService {
JsonResult<Map<String,Object>> queryWorkOrder(WorkOrderParam param);
JsonResult export(WorkOrderParam param,String account);
JsonResult export(WorkOrderParam param,String account,Integer tenantId);
}
......@@ -7,7 +7,9 @@ import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderExportVo;
import cn.quantgroup.customer.service.IKdspService;
import cn.quantgroup.customer.service.http.IHttpService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -22,7 +24,7 @@ import org.springframework.stereotype.Service;
public class KdspServiceImpl implements IKdspService {
// @Value("${kdsp.operation.http}")
@Value("${kdsp-operation}")
private String kdspOperationUrl;
@Autowired
......@@ -30,12 +32,14 @@ public class KdspServiceImpl implements IKdspService {
@Override
public JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(
List<String> orderNos) {
List<String> orderNos,Integer tenantId) {
String url = "http://kdsp-operation-yxm.liangkebang.net/api/kdsp/op/order/getOrderDetailForWorkOder";
String url = kdspOperationUrl+"/api/kdsp/op/order/getOrderDetailForWorkOder";
JsonResult<List<ThirdWorkOrderExportVo>> jsonResult = null;
try {
String result = httpService.postJson(url, orderNos);
Map<String,String> header = new HashMap<>();
header.put("qg-tenant-id",tenantId.toString());
String result = httpService.post(url, header,orderNos);
jsonResult = GSON.fromJson(result, JsonResult.class);
log.info("工单查询订单详情返回值:{}", result);
} catch (Exception ex) {
......
......@@ -27,6 +27,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.Resource;
......@@ -72,7 +74,10 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
@Value("${customer.transaction.mail.from}")
private String from;
private static int pageSize = 500;
ExecutorService executorService = Executors.newFixedThreadPool(2);
private static int pageSize = 10;
@Override
public JsonResult<Map<String, Object>> queryWorkOrder(WorkOrderParam param) {
long offset = (param.getPageNo() - 1) * param.getPageSize();
......@@ -216,8 +221,15 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
}
@Override
public JsonResult export(WorkOrderParam param,String account) {
public JsonResult export(WorkOrderParam param,String account,Integer tenantId) {
executorService.execute(()->{
doExportBusiness(param,account,tenantId);
});
return JsonResult.buildSuccessResult("系统处理中,导出成功后将发送到您企业邮箱中","");
}
private void doExportBusiness(WorkOrderParam param,String account,Integer tenantId) {
try {
StringBuffer sql = new StringBuffer();
sql.append("SELECT lc.create_time,lc.id,lc.field14,lc.field51,lc.create_user createUser,assignee.assignee acceptUser,"
......@@ -269,18 +281,17 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
Object countResult = countQuery.getSingleResult();
int count = Integer.parseInt(countResult.toString());
if (count == 0){
// return ;
return;
}
int pageNo = (count + pageSize - 1) / pageSize;
List<ThirdWorkOrderExportVo> exportVos = new ArrayList<>();
List<ThirdWorkOrderExportVo> dbData = new ArrayList<>();
List<ThirdWorkOrderExportVo> kdspResult = new ArrayList<>();
for (int i = 1;i <= pageNo;i++){
List<String> orderNos = new ArrayList<>();
Set<String> orderNos = new HashSet<>();
long offset = (param.getPageNo() - 1) * param.getPageSize();
String tempSql = sql.toString() + " limit "+offset+","+pageSize;
Query nativeQuery = entityManager.createNativeQuery(tempSql);
......@@ -324,12 +335,11 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
dbData.add(exportVo);
}
JsonResult<List<ThirdWorkOrderExportVo>> orderDetailForWorkOder = iKdspService.getOrderDetailForWorkOder(
orderNos);
if (!orderDetailForWorkOder.isSuccess()){
JsonResult<List<ThirdWorkOrderExportVo>> orderResult = iKdspService.getOrderDetailForWorkOder(new ArrayList<>(orderNos),tenantId);
if (!orderResult.isSuccess()){
log.error("工单导出查询订单信息失败:{}",orderResult.getMsg());
}
List<ThirdWorkOrderExportVo> data = orderDetailForWorkOder.getData();
List<ThirdWorkOrderExportVo> data = orderResult.getData();
if (CollectionUtils.isNotEmpty(data)){
kdspResult.addAll(data);
}
......@@ -375,11 +385,6 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
}
}catch (Exception ex){
log.error("导出excel异常",ex);
}finally {
}
return JsonResult.buildSuccessResult("查询成功","");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment