| | |
| | | boolean saveState = true; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try{ |
| | | |
| | | |
| | | String deliveryId=""; |
| | | String oddNumber; |
| | |
| | | Integer quantity = 0; |
| | | double money = 0.0; |
| | | AtomicReference<Double> otherMoney = new AtomicReference<>(0.0); |
| | | //获取对象集合循环进行新增修改 |
| | | |
| | | //先把其他金额副表的金额与数量置0 |
| | | deliveryOtherMoneyList.forEach(deliveryOtherMoney -> { |
| | | deliveryOtherMoney.setQuantity(0.0); |
| | | }); |
| | | |
| | | //获取对象集合循环进行新增修改 |
| | | if (!orderDetaillist.isEmpty()) { |
| | | for (OrderDetail orderDetail : orderDetaillist) { |
| | | |
| | |
| | | Map<String,Double> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, Double>>(){}); |
| | | if(otherColumns!=null){ |
| | | otherColumns.forEach((key, value) ->{ |
| | | deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{ |
| | | if(deliveryOtherMoney.getColumn().equals(key)){ |
| | | deliveryOtherMoney.setQuantity (otherColumns.get(key)==null?0:otherColumns.get(key)); |
| | | deliveryOtherMoney.setQuantity(((value==null?0:value)*orderDetail.getDeliveryDetail().getQuantity())); |
| | | } |
| | | }); |
| | | if(value!=null) { |
| | | deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{ |
| | | if(deliveryOtherMoney.getColumn().equals(key)){ |
| | | deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+(value * orderDetail.getDeliveryDetail().getQuantity())); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | //新增发货明细数据 |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1); |
| | |
| | | } else { |
| | | return false; |
| | | } |
| | | }catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | |
| | | return saveState; |
| | | } |