Commit 543be329 authored by yajun.zhang's avatar yajun.zhang

优化

parent 2dec1289
......@@ -6,7 +6,7 @@ import java.util.Objects;
import lombok.Getter;
@Getter
public enum ProblemType {
public enum ProblemTypeEnum {
PRODUCT_CONSULTATION(224, "商品咨询"),
SHIPPING_CONSULTATION(225, "发货咨询"),
......@@ -79,25 +79,25 @@ public enum ProblemType {
private final int code;
private final String desc;
public static Map<Integer,ProblemType> codeEnumMap = Maps.newHashMap();
public static Map<Integer, ProblemTypeEnum> codeEnumMap = Maps.newHashMap();
ProblemType(int code, String desc) {
ProblemTypeEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
static {
for (ProblemType problemType : ProblemType.values()) {
for (ProblemTypeEnum problemType : ProblemTypeEnum.values()) {
codeEnumMap.put(problemType.getCode(),problemType);
}
}
public static ProblemType getByCode(Integer code) {
public static ProblemTypeEnum getByCode(Integer code) {
if (code == null || code == 0) {
return null;
}
ProblemType problemType = codeEnumMap.get(code);
ProblemTypeEnum problemType = codeEnumMap.get(code);
if (Objects.nonNull(problemType)) {
return problemType;
}
......
......@@ -11,6 +11,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -34,6 +35,9 @@ public class KdspServiceImpl implements IKdspService {
public JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(
List<String> orderNos,Integer tenantId) {
if (CollectionUtils.isEmpty(orderNos)){
return JsonResult.buildSuccessResult("","");
}
String url = kdspOperationUrl+"/api/kdsp/op/order/getOrderDetailForWorkOder";
JsonResult<List<ThirdWorkOrderExportVo>> jsonResult = null;
try {
......
package cn.quantgroup.customer.service.impl;
import cn.quantgroup.customer.enums.KdspOrderStatusEnum;
import cn.quantgroup.customer.enums.ProblemTypeEnum;
import cn.quantgroup.customer.rest.param.mail.SendMailParam;
import cn.quantgroup.customer.rest.param.thirdworkorder.WorkOrderParam;
import cn.quantgroup.customer.rest.vo.JsonResult;
......@@ -8,7 +9,6 @@ import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderExportVo;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo;
import cn.quantgroup.customer.service.IKdspService;
import cn.quantgroup.customer.service.IThirdWorkOrderService;
import cn.quantgroup.customer.service.IWorkOrderService;
import cn.quantgroup.customer.util.DateUtil;
import cn.quantgroup.customer.util.EasyExcelUtil;
import cn.quantgroup.customer.util.MailUtil;
......@@ -19,36 +19,25 @@ import cn.quantgroup.third.customer.repo.LhpdsSysUserRepo;
import cn.quantgroup.third.customer.repo.WorkflowProcessInstanceTaskAssigneeRepo;
import java.io.File;
import java.io.FileInputStream;
import java.rmi.MarshalledObject;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
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;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.io.InputStreamResource;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
/**
......@@ -78,7 +67,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
ExecutorService executorService = Executors.newFixedThreadPool(2);
private static int pageSize = 10;
private static int pageSize = 500;
@Override
public JsonResult<Map<String, Object>> queryWorkOrder(WorkOrderParam param) {
long offset = (param.getPageNo() - 1) * param.getPageSize();
......@@ -291,10 +280,10 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
List<ThirdWorkOrderExportVo> exportVos = new ArrayList<>();
List<ThirdWorkOrderExportVo> dbData = new ArrayList<>();
List<ThirdWorkOrderExportVo> dbAllData = new ArrayList<>();
List<ThirdWorkOrderExportVo> kdspResult = new ArrayList<>();
for (int i = 1;i <= pageNo;i++){
Set<String> orderNos = new HashSet<>();
long offset = (param.getPageNo() - 1) * param.getPageSize();
String tempSql = sql.toString() + " limit "+offset+","+pageSize;
......@@ -312,7 +301,16 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
exportVo.setFeedbackChannel(objects[2].toString());
}
if (objects[3] != null) {
exportVo.setQuestionLevel(objects[3].toString());
Integer questionLevel = null;
try {
questionLevel = Integer.parseInt(objects[3].toString());
}catch (Exception ex){}
ProblemTypeEnum problemTypeEnum = ProblemTypeEnum.getByCode(questionLevel);
if (problemTypeEnum != null){
exportVo.setQuestionLevel(problemTypeEnum.getDesc());
}else {
exportVo.setQuestionLevel(objects[3].toString());
}
}
if (objects[4] != null) {
exportVo.setCreateUser(objects[4].toString());
......@@ -336,12 +334,13 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
if (objects[10] != null) {
exportVo.setCloseTime(objects[10].toString());
}
dbData.add(exportVo);
dbAllData.add(exportVo);
}
JsonResult<List<ThirdWorkOrderExportVo>> orderResult = iKdspService.getOrderDetailForWorkOder(new ArrayList<>(orderNos),tenantId);
if (!orderResult.isSuccess()){
log.error("工单导出查询订单信息失败:{}",orderResult.getMsg());
return;
}
List<ThirdWorkOrderExportVo> data = orderResult.getData();
if (CollectionUtils.isNotEmpty(data)){
......@@ -350,7 +349,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
}
Map<String, List<ThirdWorkOrderExportVo>> groupBy = kdspResult.stream().collect(Collectors.groupingBy(ThirdWorkOrderExportVo::getOrderNo));
for (ThirdWorkOrderExportVo exportVo : dbData){
for (ThirdWorkOrderExportVo exportVo : dbAllData){
List<ThirdWorkOrderExportVo> temp = groupBy.get(exportVo.getOrderNo());
if (CollectionUtils.isEmpty(temp)){
exportVos.add(exportVo);
......@@ -364,7 +363,6 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
orderExportVo.setOrderStatus(orderStatusEnum.getDesc());
}
orderExportVo.setId(exportVo.getId());
orderExportVo.setProcessInstanceId(exportVo.getProcessInstanceId());
orderExportVo.setCreateUser(exportVo.getCreateUser());
......
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