diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreOrderRepository.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreOrderRepository.java index ed236017..f351a4a0 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreOrderRepository.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreOrderRepository.java @@ -54,4 +54,6 @@ public interface YxStoreOrderRepository extends JpaRepository findByOrderIdIn(List ids); +} diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java index 5053b0d1..e40bbfa0 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java @@ -44,6 +44,7 @@ import java.io.IOException; import java.text.MessageFormat; import java.text.ParseException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -388,21 +389,14 @@ public class StoreOrderController { @RequestParam(name = "orderStatus") String orderStatus, @RequestParam(name = "orderType") String orderType, @RequestParam(name = "listContent") String listContent) throws IOException, ParseException { - List list = (List)getYxStoreList(criteria, pageable, orderStatus, orderType).get("content"); + List list; if(StringUtils.isEmpty(listContent)){ - yxStoreOrderService.download(list, response); + list = (List)getYxStoreList(criteria, pageable, orderStatus, orderType).get("content"); }else { List idList = JSONArray.parseArray(listContent).toJavaList(String.class); - List yxStoreOrderDTOS = new ArrayList<>(); - for(YxStoreOrderDTO yx : list){ - for(String ids : idList){ - if(yx.getOrderId().equals(ids)){ - yxStoreOrderDTOS.add(yx); - } - } - } - yxStoreOrderService.download(yxStoreOrderDTOS, response); + list = (List)yxStoreOrderService.queryAll(idList).get("content"); } + yxStoreOrderService.download(list, response); } public Map getYxStoreList(YxStoreOrderQueryCriteria criteria, diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/YxStoreOrderService.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/YxStoreOrderService.java index a0c9d65d..cbcf2632 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/YxStoreOrderService.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/YxStoreOrderService.java @@ -79,4 +79,7 @@ public interface YxStoreOrderService { */ //@CacheEvict(allEntries = true) void delete(Integer id); -} \ No newline at end of file + + + Map queryAll(List ids); +} diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreOrderServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreOrderServiceImpl.java index 78999a8e..4cb1bece 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreOrderServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreOrderServiceImpl.java @@ -319,7 +319,70 @@ public class YxStoreOrderServiceImpl implements YxStoreOrderService { return map; } + @Override + public Map queryAll(List ids){ + List yxStoreOrders = yxStoreOrderRepository.findByOrderIdIn(ids); + List storeOrderDTOS = new ArrayList<>(); + for (YxStoreOrder yxStoreOrder :yxStoreOrders) { + YxStoreOrderDTO yxStoreOrderDTO = yxStoreOrderMapper.toDto(yxStoreOrder); + + Integer _status = OrderUtil.orderStatus(yxStoreOrder.getPaid(),yxStoreOrder.getStatus(), + yxStoreOrder.getRefundStatus()); + + if(yxStoreOrder.getStoreId() > 0) { + String storeName = systemStoreService.findById(yxStoreOrder.getStoreId()).getName(); + yxStoreOrderDTO.setStoreName(storeName); + } + + //订单状态 + String orderStatusStr = OrderUtil.orderStatusStr(yxStoreOrder.getPaid() + ,yxStoreOrder.getStatus(),yxStoreOrder.getShippingType() + ,yxStoreOrder.getRefundStatus()); + + if(_status == 3){ + String refundTime = OrderUtil.stampToDate(String.valueOf(yxStoreOrder + .getRefundReasonTime())); + String str = "申请退款
"+ + "退款原因:"+yxStoreOrder.getRefundReasonWap()+"
" + + "备注说明:"+yxStoreOrder.getRefundReasonWapExplain()+"
" + + "退款时间:"+refundTime+"
"; + orderStatusStr = str; + } + yxStoreOrderDTO.setStatusName(orderStatusStr); + + yxStoreOrderDTO.set_status(_status); + + String payTypeName = OrderUtil.payTypeName(yxStoreOrder.getPayType() + ,yxStoreOrder.getPaid()); + yxStoreOrderDTO.setPayTypeName(payTypeName); + + yxStoreOrderDTO.setPinkName(orderType(yxStoreOrder.getId() + ,yxStoreOrder.getPinkId(),yxStoreOrder.getCombinationId() + ,yxStoreOrder.getSeckillId(),yxStoreOrder.getBargainId(), + yxStoreOrder.getShippingType())); + + List cartInfos = yxStoreOrderCartInfoRepository + .findByOid(yxStoreOrder.getId()); + List cartInfoDTOS = new ArrayList<>(); + for (StoreOrderCartInfo cartInfo : cartInfos) { + StoreOrderCartInfoDTO cartInfoDTO = new StoreOrderCartInfoDTO(); + cartInfoDTO.setCartInfoMap(JSON.parseObject(cartInfo.getCartInfo())); + + cartInfoDTOS.add(cartInfoDTO); + } + yxStoreOrderDTO.setCartInfoList(cartInfoDTOS); + yxStoreOrderDTO.setUserDTO(userService.findById(yxStoreOrder.getUid())); + + storeOrderDTOS.add(yxStoreOrderDTO); + + } + + Map map = new LinkedHashMap<>(2); + map.put("content",storeOrderDTOS); + + return map; + } @Override public List queryAll(YxStoreOrderQueryCriteria criteria){ return yxStoreOrderMapper.toDto(yxStoreOrderRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); @@ -406,4 +469,4 @@ public class YxStoreOrderServiceImpl implements YxStoreOrderService { FileUtil.downloadExcel(list, response); } -} \ No newline at end of file +} diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxUserServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxUserServiceImpl.java index e2067c29..8619c11e 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxUserServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/impl/YxUserServiceImpl.java @@ -100,8 +100,11 @@ public class YxUserServiceImpl implements YxUserService { @Override public YxUserDTO findById(Integer uid) { Optional yxUser = yxUserRepository.findById(uid); - ValidationUtil.isNull(yxUser,"YxUser","uid",uid); - return yxUserMapper.toDto(yxUser.get()); +// ValidationUtil.isNull(yxUser,"YxUser","uid",uid); + if(yxUser.isPresent()){ + return yxUserMapper.toDto(yxUser.get()); + } + return new YxUserDTO(); } @Override @@ -144,4 +147,4 @@ public class YxUserServiceImpl implements YxUserService { public void incBrokeragePrice(double price, int uid) { yxUserRepository.incBrokeragePrice(price,uid); } -} \ No newline at end of file +}