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