Selaa lähdekoodia

删除二手订单容错影响

chao 3 vuotta sitten
vanhempi
commit
96f099b0a5

+ 43 - 36
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -11,6 +11,7 @@ import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.service.CrudService;
 import com.thinkgem.jeesite.common.utils.DateUtils;
+import com.thinkgem.jeesite.common.utils.ObjectUtils;
 import com.thinkgem.jeesite.common.utils.StringUtils;
 import com.thinkgem.jeesite.modules.sys.entity.User;
 import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
@@ -71,29 +72,31 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
             if ("1".equals(bean.getReceiptType()) || "3".equals(bean.getReceiptType()) || "5".equals(bean.getReceiptType())) {
                 List<Map<String, Object>> orderIDs = cmDiscernReceiptDao.getOrderIDStr(bean.getId());
                 for (Map<String, Object> map : orderIDs) {
-                    if ("".equals(type)) {
-//					协销订单 0 普通订单 1',
-                        Integer orderType = (Integer) map.get("orderType");
-                        if (null != map.get("orderType")) {
-                            type += map.get("orderType").toString().equals("0") ? "协销" : "自主";
+                    if (!ObjectUtils.isEmpty(map)) {
+                        if ("".equals(type)) {
+                            // 协销订单 0 普通订单 1',
+                            Integer orderType = (Integer) map.get("orderType");
+                            if (null != map.get("orderType")) {
+                                type += map.get("orderType").toString().equals("0") ? "协销" : "自主";
+                            } else {
+                                type += "自主";
+                            }
+                            if (2 == orderType) {
+                                //呵呵商城订单
+                                Integer orderId = ((Long) map.get("orderID")).intValue();
+                                NewOrder order = newOrderDao.findByOrderID(orderId);
+                                String name = heHeNewOrderDao.findHeUser(order.getUserID());
+                                bean.setName(name);
+                                bean.setReceiptOrderType("2");
+                            }
                         } else {
-                            type += "自主";
+                            type += ("<br>" + (map.get("orderType").toString().equals("0") ? "协销" : "自主"));
                         }
-                        if (2 == orderType) {
-                            //呵呵商城订单
-                            Integer orderId = ((Long) map.get("orderID")).intValue();
-                            NewOrder order = newOrderDao.findByOrderID(orderId);
-                            String name = heHeNewOrderDao.findHeUser(order.getUserID());
-                            bean.setName(name);
-                            bean.setReceiptOrderType("2");
+                        if ("".equals(no)) {
+                            no += "<a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo") + "</a>";
+                        } else {
+                            no += ("<br><a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo")) + "</a>";
                         }
-                    } else {
-                        type += ("<br>" + (map.get("orderType").toString().equals("0") ? "协销" : "自主"));
-                    }
-                    if ("".equals(no)) {
-                        no += "<a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo") + "</a>";
-                    } else {
-                        no += ("<br><a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo")) + "</a>";
                     }
                 }
             }
@@ -137,29 +140,33 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
             ReceiptOrderInfoVo roi = null; //这是通过订单列表上的一条收款记录对应的多个订单中的一个订单
             if ("1".equals(relation.getRelationType())) { // relation.orderID 指的是子订单id
                 roi = cmDiscernReceiptDao.getOrderInfoByShopOrderID(relation.getOrderID());
-                roi.setRelationType("1");
-                if ("5".equals(vo.getReceiptType())) {
-                    //供应商退款,已退金额
-                    List<CmRefundShopRecord> records = cmRefundShopRecordDao.getRefundedRecords(roi.getShopOrderID());
-                    if (records != null && records.size() > 0) {
-                        Double collect = records.stream().mapToDouble(CmRefundShopRecord::getRefundAmount).sum();
-                        roi.setRefundsAmount(collect);
-                    } else {
-                        roi.setRefundsAmount(0d);
+                if (null != roi) {
+                    roi.setRelationType("1");
+                    if ("5".equals(vo.getReceiptType())) {
+                        //供应商退款,已退金额
+                        List<CmRefundShopRecord> records = cmRefundShopRecordDao.getRefundedRecords(roi.getShopOrderID());
+                        if (records != null && records.size() > 0) {
+                            Double collect = records.stream().mapToDouble(CmRefundShopRecord::getRefundAmount).sum();
+                            roi.setRefundsAmount(collect);
+                        } else {
+                            roi.setRefundsAmount(0d);
+                        }
+                        //查询收款供应商退款金额
+                        BigDecimal shopRefundAmount = cmRefundShopRecordDao.findShopRefund(Integer.valueOf(roi.getShopOrderID()));
+                        BigDecimal refundsAmount = MathUtil.add(roi.getRefundsAmount(), shopRefundAmount);
+                        roi.setRefundsAmount(refundsAmount.doubleValue());
                     }
-                    //查询收款供应商退款金额
-                    BigDecimal shopRefundAmount = cmRefundShopRecordDao.findShopRefund(Integer.valueOf(roi.getShopOrderID()));
-                    BigDecimal refundsAmount = MathUtil.add(roi.getRefundsAmount(), shopRefundAmount);
-                    roi.setRefundsAmount(refundsAmount.doubleValue());
                 }
             }
             if ("2".equals(relation.getRelationType())) { // relation.orderID 指的是主订单id
                 roi = cmDiscernReceiptDao.getOrderInfoByOrderID(relation.getOrderID());
-                roi.setRelationType("2");
+                if (null != roi) {
+                    roi.setRelationType("2");
+                }
             }
-            if (roi != null) {
+            if (null != roi) {
                 List<ReceiptRecordVo> receiptRecordByOrderID = cmDiscernReceiptDao.findReceiptRecordByOrderID(roi);
-//                暂时不启用抹平明细
+                //                暂时不启用抹平明细
                 if (CollectionUtils.isNotEmpty(receiptRecordByOrderID)) {
                     for (ReceiptRecordVo v : receiptRecordByOrderID) {
                         if (StringUtils.equals("3", v.getConfirmType())) {

+ 9 - 7
src/main/java/com/caimei/modules/order/service/CmPayShopService.java

@@ -158,13 +158,15 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
                 }
             }
             newShopOrders.forEach(shopOrder -> {
-                NewOrder order = newOrderDao.findByOrderID(shopOrder.getOrderID());
-                if ("2".equals(order.getOrderType())) {
-                    //呵呵商城订单
-                    shopOrder.setOrderType(2);
-                    if (StringUtils.isBlank(shopOrder.getClubName())) {
-                        String name = heHeNewOrderDao.findHeUser(order.getUserID());
-                        shopOrder.setClubName(name);
+                if (null != shopOrder) {
+                    NewOrder order = newOrderDao.findByOrderID(shopOrder.getOrderID());
+                    if (null != order && "2".equals(order.getOrderType())) {
+                        //呵呵商城订单
+                        shopOrder.setOrderType(2);
+                        if (StringUtils.isBlank(shopOrder.getClubName())) {
+                            String name = heHeNewOrderDao.findHeUser(order.getUserID());
+                            shopOrder.setClubName(name);
+                        }
                     }
                 }
             });

+ 14 - 12
src/main/java/com/caimei/modules/order/service/CmRefundShopService.java

@@ -67,18 +67,20 @@ public class CmRefundShopService extends CrudService<CmRefundShopDao, CmRefundSh
             String str = "";
             String ono = "";
             for (String i : idInfo) {
-                String no = i.split("_")[0];
-                String od = i.split("_")[1];
-                String id = i.split("_")[2];
-                if ("".equals(str)) {
-                    str += ("<a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + no + "</a>");
-                } else {
-                    str += ("<br><a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + no + "</a>");
-                }
-                if ("".equals(ono)) {
-                    ono += ("<a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + od + "</a>");
-                } else {
-                    ono += ("<br><a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + od + "</a>");
+                if (StringUtils.isNotEmpty(i)) {
+                    String no = i.split("_")[0];
+                    String od = i.split("_")[1];
+                    String id = i.split("_")[2];
+                    if ("".equals(str)) {
+                        str += ("<a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + no + "</a>");
+                    } else {
+                        str += ("<br><a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + no + "</a>");
+                    }
+                    if ("".equals(ono)) {
+                        ono += ("<a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + od + "</a>");
+                    } else {
+                        ono += ("<br><a href=" + Global.getAdminPath() + "/order/detail?id=" + id + ">" + od + "</a>");
+                    }
                 }
             }
             crs.setShopOrderIDs(str);