| | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | if(shopOrders.isEmpty()){//未查询到用户上一笔订单 |
| | | //查询用户收货地址中的默认地址 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectOne(new QueryWrapper<ComShopUserAddressDO>() |
| | | .eq("delete_status", 2) |
| | | .eq("user_id",orderPreviewDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); |
| | | if(userAddressDO != null){ |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | |
| | | }else{//查询到用户上一笔订单 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); |
| | | if(userAddressDO != null){ |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | BeanUtils.copyProperties(userAddressDO,userAddressVO); |
| | | orderPreviewVO.setUserAddressVO(userAddressVO); |
| | | if(userAddressDO.getDeleteStatus() == 2) { |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | BeanUtils.copyProperties(userAddressDO, userAddressVO); |
| | | orderPreviewVO.setUserAddressVO(userAddressVO); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(orderPreviewVO); |
| | |
| | | ComShopOrderVO shopOrderVO = new ComShopOrderVO(); |
| | | //查询用户收货地址 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(orderCreateDTO.getReceiverId()); |
| | | if(userAddressDO == null){ |
| | | if(userAddressDO == null||userAddressDO.getDeleteStatus()!=2){ |
| | | return R.fail("收货地址不存在"); |
| | | } |
| | | //用户id |
| | |
| | | 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.setDeliveryStatus(2); |
| | | comShopOrderDO.setDeliveryType(2); |
| | | comShopOrderDO.setStatus(3); |
| | | comShopOrderDO.setDeliveryTime(Calendar.getInstance().getTime()); |
| | | comShopOrderDO.setLogisticsCompany(orderShipDTO.getLogisticsCompany()); |
| | | comShopOrderDO.setLogisticsNo(orderShipDTO.getLogisticsNo()); |
| | | int updated = comShopOrderDAO.updateById(comShopOrderDO); |
| | |
| | | comShopOrderDO.setDeliveryStatus(4); |
| | | comShopOrderDO.setDeliveryType(1); |
| | | comShopOrderDO.setStatus(3); |
| | | comShopOrderDO.setDeliveryTime(Calendar.getInstance().getTime()); |
| | | int updated = comShopOrderDAO.updateById(comShopOrderDO); |
| | | if(updated==1){ |
| | | |
| | |
| | | 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()); |
| | |
| | | }catch (Exception e){ |
| | | log.error("调用微信支付异常,异常原因:" + e.getMessage()); |
| | | } |
| | | shopOrderVO.setOrderId(orderDO.getId()); |
| | | shopOrderVO.setOrderNo(orderDO.getOrderNo()); |
| | | shopOrderVO.setOrderTotal(orderDO.getTotalAmount()); |
| | | return R.ok(shopOrderVO); |
| | | } |
| | | |