From c9b157e19d101fd2d9a79c3db673f0c2cacd481c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 12 Jan 2021 18:10:50 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 2 +
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java | 23 +++++++++--
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderItem.java | 13 ++++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 27 +++++++++++++
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
index 06a441b..e9db49e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -125,9 +125,25 @@
}
-
-
-
+ /**
+ * 退款
+ *
+ * @param sysOrder
+ * @return
+ */
+ @RequestMapping(value = "/refundOrder")
+ @ResponseBody
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) {
+ SysUsers user = getMe();
+ sysOrder.setShopId(user.getShopId());
+ sysOrder.setStatu(Dictionary.ORDER_STATU_TK);
+ //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
+ sysOrder = orderService.checkAndSaveOrder(sysOrder);
+ orderService.refundOrderMoney(sysOrder);
+ //处理用户购买的产品
+ return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单退款成功");
+ }
/**
@@ -144,7 +160,6 @@
//处理用户购买的产品
return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单保存成功");
}
-
/**
* 新建订单
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderItem.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderItem.java
index 42eab39..dc1bdea 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderItem.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderItem.java
@@ -124,6 +124,19 @@
private ShoppingGoods shoppingGoods;
+ /**
+ * 原有数量
+ */
+ private int preCount;
+
+ public int getPreCount() {
+ return preCount;
+ }
+
+ public void setPreCount(int preCount) {
+ this.preCount = preCount;
+ }
+
public ShoppingGoods getShoppingGoods() {
return shoppingGoods;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index 40a7f9e..23cfd15 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -84,6 +84,8 @@
*/
public void updateReceiptMoney(SysOrder sysOrder) throws GlobleException;
+ public void refundOrderMoney(SysOrder sysOrder);
+
/**
* 创建订单
* @param session
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 51536f3..bef07ea 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -167,6 +167,14 @@
// 页面的pageOrder 参数只包含支付金额信息,不带有购买商品
for (SysOrderItem item : sysOrder.getItems()) {
+ // 若为退款,则先更新原有数量
+ if (orderStatus.equals(Dictionary.ORDER_STATU_TK)) {
+ SysOrderItem sysOrderItem = new SysOrderItem();
+ sysOrderItem.setId(item.getId());
+ sysOrderItem.setCount(item.getPreCount() - item.getCount());
+ orderItemDao.update(sysOrderItem);
+ }
+ item.setId(null);
ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(item.getGoodsId());
item.setType(shoppingGoods.getGoodType());
@@ -1215,4 +1223,23 @@
public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
}
+
+ @Override
+ public void refundOrderMoney(SysOrder pageOrder) {
+
+ changeOrderStatu(pageOrder);
+ // 设置会员充值卡使用情况
+ addMoneyCardUse(pageOrder);
+
+ // 新增出库单
+ addOutStore(pageOrder);
+
+ // 改变客户项目套餐使用情况
+ addTaocanProj(pageOrder);
+
+ // 设置业绩
+ achieveNewService.addAchaeveByOrder(pageOrder);
+
+ setShopSelCount(pageOrder);
+ }
}
--
Gitblit v1.9.1