| | |
| | | comShopOrderOperateDAO.insert(orderOperateDO); |
| | | shopOrderVO.setOrderNo(orderNo); |
| | | shopOrderVO.setOrderTotal(orderTotal); |
| | | shopOrderVO.setOrderId(shopOrderDO.getId()); |
| | | |
| | | try { |
| | | BigDecimal money = orderTotal; |
| | |
| | | |
| | | /** |
| | | * 根据订单id取消订单 |
| | | * @param orderId 订单id |
| | | * @param phone 操作用户手机号 |
| | | * @param comShopOrderQueryDTO 订单信息 |
| | | * @return 取消结果 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public R orderCancel(Long orderId,String phone){ |
| | | public R orderCancel(ComShopOrderQueryDTO comShopOrderQueryDTO){ |
| | | //查询订单 |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(comShopOrderQueryDTO.getOrderId()); |
| | | if(shopOrderDO == null){ |
| | | return R.fail("未查询到订单"); |
| | | } |
| | |
| | | orderOperateDO.setOrderNo(shopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.cancel); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(StringUtils.isNotEmpty(phone)){ |
| | | orderOperateDO.setOperationContent("用户" + phone + "取消订单"); |
| | | orderOperateDO.setOperationBy("用户" + phone); |
| | | if(comShopOrderQueryDTO.getIsAdmin()){ |
| | | orderOperateDO.setOperationContent("管理员" + comShopOrderQueryDTO.getOperUserAccount() + "取消订单"); |
| | | orderOperateDO.setOperationBy("用户" + comShopOrderQueryDTO.getOperUserAccount()); |
| | | }else { |
| | | orderOperateDO.setOperationContent("用户取消订单"); |
| | | orderOperateDO.setOperationBy("用户"); |
| | |
| | | comShopOrderDO.setLogisticsNo(orderShipDTO.getLogisticsNo()); |
| | | int updated = comShopOrderDAO.updateById(comShopOrderDO); |
| | | if(updated==1){ |
| | | //创建订单操作记录 |
| | | ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); |
| | | orderOperateDO.setOrderNo(comShopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.deliver); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(orderShipDTO.getIsAdmin()){ |
| | | orderOperateDO.setOperationContent(orderShipDTO.getOperUserAccount()+"已发货"); |
| | | orderOperateDO.setOperationBy(orderShipDTO.getOperUserAccount()); |
| | | }else { |
| | | orderOperateDO.setOperationContent(orderShipDTO.getOperUserAccount() + "已发货"); |
| | | orderOperateDO.setOperationBy(orderShipDTO.getOperUserAccount()); |
| | | } |
| | | int inserted = comShopOrderOperateDAO.insert(orderOperateDO); |
| | | if(inserted!=1){ |
| | | log.error("订单发货日志保存错误"); |
| | | } |
| | | return R.ok("发货成功"); |
| | | } |
| | | return R.fail("发货失败!"); |
| | | } |
| | | |
| | | @Override |
| | | public R deliverOrder(Long orderId) { |
| | | ComShopOrderDO comShopOrderDO = comShopOrderDAO.selectById(orderId); |
| | | public R deliverOrder(ComShopOrderDeliverDTO orderDeliverDTO) { |
| | | ComShopOrderDO comShopOrderDO = comShopOrderDAO.selectById(orderDeliverDTO.getOrderId()); |
| | | if(comShopOrderDO==null){ |
| | | return R.fail("订单不存在"); |
| | | } |
| | |
| | | comShopOrderDO.setStatus(3); |
| | | int updated = comShopOrderDAO.updateById(comShopOrderDO); |
| | | if(updated==1){ |
| | | |
| | | //创建订单操作记录 |
| | | ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); |
| | | orderOperateDO.setOrderNo(comShopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.deliver); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(orderDeliverDTO.getIsAdmin()){ |
| | | orderOperateDO.setOperationContent(orderDeliverDTO.getOperUserAccount() + "已发货"); |
| | | orderOperateDO.setOperationBy(orderDeliverDTO.getOperUserAccount()); |
| | | }else { |
| | | orderOperateDO.setOperationContent(orderDeliverDTO.getOperUserAccount() + "已发货"); |
| | | orderOperateDO.setOperationBy(orderDeliverDTO.getOperUserAccount()); |
| | | } |
| | | int inserted = comShopOrderOperateDAO.insert(orderOperateDO); |
| | | if(inserted!=1){ |
| | | log.error("订单发货日志保存错误"); |
| | | } |
| | | return R.ok("开始配送"); |
| | | } |
| | | return R.fail("操作失败!"); |
| | | } |
| | | |
| | | @Override |
| | | public R finishDeliverOrder(Long orderId) { |
| | | ComShopOrderDO comShopOrderDO = comShopOrderDAO.selectById(orderId); |
| | | public R finishDeliverOrder(ComShopOrderDeliverDTO orderDeliverDTO) { |
| | | ComShopOrderDO comShopOrderDO = comShopOrderDAO.selectById(orderDeliverDTO.getOrderId()); |
| | | if(comShopOrderDO==null){ |
| | | return R.fail("订单不存在"); |
| | | } |
| | | if(!(comShopOrderDO.getDeliveryStatus() == 4)){ |
| | | if(comShopOrderDO.getDeliveryStatus() != 4 && comShopOrderDO.getDeliveryStatus() != 3){ |
| | | return R.fail("订单还未开始配送"); |
| | | } |
| | | if(!(comShopOrderDO.getStatus() == 3)){ |
| | | return R.fail("订单还未发货"); |
| | | } |
| | | comShopOrderDO.setStatus(4); |
| | | //comShopOrderDO.setStatus(4); |
| | | comShopOrderDO.setDeliveryStatus(5); |
| | | int updated = comShopOrderDAO.updateById(comShopOrderDO); |
| | | if(updated==1){ |
| | | //创建订单操作记录 |
| | | ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); |
| | | orderOperateDO.setOrderNo(comShopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.complete); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(orderDeliverDTO.getIsAdmin()){ |
| | | orderOperateDO.setOperationContent("订单已完成"); |
| | | orderOperateDO.setOperationBy(orderDeliverDTO.getOperUserAccount()); |
| | | }else { |
| | | orderOperateDO.setOperationContent("订单已完成"); |
| | | orderOperateDO.setOperationBy(orderDeliverDTO.getOperUserAccount()); |
| | | } |
| | | int inserted = comShopOrderOperateDAO.insert(orderOperateDO); |
| | | if(inserted!=1){ |
| | | log.error("订单发货日志保存错误"); |
| | | } |
| | | return R.ok("配送完成"); |
| | | } |
| | | return R.fail("操作失败!"); |
| | |
| | | }catch (Exception e){ |
| | | log.error("调用微信支付异常,异常原因:" + e.getMessage()); |
| | | } |
| | | shopOrderVO.setOrderId(orderDO.getId()); |
| | | shopOrderVO.setOrderNo(orderDO.getOrderNo()); |
| | | shopOrderVO.setOrderTotal(orderDO.getTotalAmount()); |
| | | return R.ok(shopOrderVO); |
| | | } |
| | | |