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), "订单保存成功"); } /** * 新建订单 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; } 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 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); } }