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

优化

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