refactor(settlement): improve settlement order detail processing logic
Showing
1 changed file
with
11 additions
and
5 deletions
| ... | @@ -873,9 +873,13 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -873,9 +873,13 @@ public class SettlementServiceImpl implements SettlementService { |
| 873 | // 1. 先处理加餐 | 873 | // 1. 先处理加餐 |
| 874 | if (addOriginalDetailMap.containsKey(orderDetail.getId()) | 874 | if (addOriginalDetailMap.containsKey(orderDetail.getId()) |
| 875 | && addOriginalDetailMap.get(orderDetail.getId()).getCount() != orderDetail.getCount()) { | 875 | && addOriginalDetailMap.get(orderDetail.getId()).getCount() != orderDetail.getCount()) { |
| 876 | - SettlementDTO.SettlementOrderDetail addRecord = buildSettlementOrderDetail( | 876 | + final var orderDetailBO = addOriginalDetailMap.get(orderDetail.getId()); |
| 877 | + SettlementDTO.SettlementOrderDetail beforeChange = buildSettlementOrderDetail( | ||
| 878 | + order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetailBO.getCount(), orderDetail.getPrice(), "加餐", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | ||
| 879 | + classifyOrders.add(beforeChange); | ||
| 880 | + SettlementDTO.SettlementOrderDetail afterChange = buildSettlementOrderDetail( | ||
| 877 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "加餐", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | 881 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "加餐", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); |
| 878 | - classifyOrders.add(addRecord); | 882 | + classifyOrders.add(afterChange); |
| 879 | } | 883 | } |
| 880 | 884 | ||
| 881 | // 2. 再处理换菜 | 885 | // 2. 再处理换菜 |
| ... | @@ -885,7 +889,6 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -885,7 +889,6 @@ public class SettlementServiceImpl implements SettlementService { |
| 885 | SettlementDTO.SettlementOrderDetail beforeChange = buildSettlementOrderDetail( | 889 | SettlementDTO.SettlementOrderDetail beforeChange = buildSettlementOrderDetail( |
| 886 | order, orderDetail.getMenuDetailId(), orderDetailBO.getSkuId(), orderDetailBO.getCount(), orderDetailBO.getPrice(), "换菜前", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | 890 | order, orderDetail.getMenuDetailId(), orderDetailBO.getSkuId(), orderDetailBO.getCount(), orderDetailBO.getPrice(), "换菜前", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); |
| 887 | classifyOrders.add(beforeChange); | 891 | classifyOrders.add(beforeChange); |
| 888 | - | ||
| 889 | SettlementDTO.SettlementOrderDetail afterChange = buildSettlementOrderDetail( | 892 | SettlementDTO.SettlementOrderDetail afterChange = buildSettlementOrderDetail( |
| 890 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "换菜后", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | 893 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "换菜后", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); |
| 891 | classifyOrders.add(afterChange); | 894 | classifyOrders.add(afterChange); |
| ... | @@ -893,9 +896,12 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -893,9 +896,12 @@ public class SettlementServiceImpl implements SettlementService { |
| 893 | 896 | ||
| 894 | // 3. 判断已退款 | 897 | // 3. 判断已退款 |
| 895 | if (orderDetail.getServeStatus() == ServeStatusEnum.SERVE_REJECT) { | 898 | if (orderDetail.getServeStatus() == ServeStatusEnum.SERVE_REJECT) { |
| 896 | - SettlementDTO.SettlementOrderDetail refundRecord = buildSettlementOrderDetail( | 899 | + SettlementDTO.SettlementOrderDetail refundRecord1 = buildSettlementOrderDetail( |
| 900 | + order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), -orderDetail.getCount(), orderDetail.getPrice(), "已退款", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | ||
| 901 | + classifyOrders.add(refundRecord1); | ||
| 902 | + SettlementDTO.SettlementOrderDetail refundRecord2 = buildSettlementOrderDetail( | ||
| 897 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "已退款", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); | 903 | order, orderDetail.getMenuDetailId(), orderDetail.getSkuId(), orderDetail.getCount(), orderDetail.getPrice(), "已退款", menuName, customerName, hisCustomerNo, menuDetailMap, mealMap, skuMap); |
| 898 | - classifyOrders.add(refundRecord); | 904 | + classifyOrders.add(refundRecord2); |
| 899 | } | 905 | } |
| 900 | 906 | ||
| 901 | // 4. 如果既不是加餐,也不是换菜,也不是退款,才记录“订餐” | 907 | // 4. 如果既不是加餐,也不是换菜,也不是退款,才记录“订餐” | ... | ... |
-
Please register or login to post a comment