From 7c11b241c3b16bccd1dc9ea62a16d2b5d64dbc4f Mon Sep 17 00:00:00 2001 From: CeDo <cedoogle@gmail.com> Date: 星期二, 27 四月 2021 11:32:25 +0800 Subject: [PATCH] add:微心愿状态刷新任务 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 77 insertions(+), 18 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java index 5bfbc88..d1c97ae 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java @@ -161,6 +161,7 @@ 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(); @@ -178,9 +179,11 @@ }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); @@ -198,7 +201,7 @@ ComShopOrderVO shopOrderVO = new ComShopOrderVO(); //查询用户收货地址 ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(orderCreateDTO.getReceiverId()); - if(userAddressDO == null){ + if(userAddressDO == null||userAddressDO.getDeleteStatus()!=2){ return R.fail("收货地址不存在"); } //用户id @@ -287,6 +290,7 @@ comShopOrderOperateDAO.insert(orderOperateDO); shopOrderVO.setOrderNo(orderNo); shopOrderVO.setOrderTotal(orderTotal); + shopOrderVO.setOrderId(shopOrderDO.getId()); try { BigDecimal money = orderTotal; @@ -418,15 +422,14 @@ /** * 根据订单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("未查询到订单"); } @@ -441,9 +444,9 @@ 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("用户"); @@ -574,14 +577,30 @@ 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("订单不存在"); } @@ -598,23 +617,60 @@ 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.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("操作失败!"); @@ -623,7 +679,7 @@ @Override public R shopOrderExportData(ComShopOrderExportDTO comShopOrderExportDTO) { Page page = new Page(); - page.setSize(1000); + page.setSize(10000); page.setCurrent(1); IPage<ExcelShopOrderDTO> excelShopOrderDTO = comShopOrderDAO.selectOrderExport(page, comShopOrderExportDTO); return R.ok(excelShopOrderDTO.getRecords()); @@ -632,7 +688,7 @@ @Override public R shopOrderFundsExportData(ComShopFundsExportDTO comShopFundsExportDTO) { Page page = new Page(); - page.setSize(1000); + page.setSize(10000); page.setCurrent(1); IPage<ExcelShopFundsDTO> excelShopFundsDTO = comShopOrderDAO.selectFundsExport(page, comShopFundsExportDTO); return R.ok(excelShopFundsDTO.getRecords()); @@ -798,6 +854,9 @@ }catch (Exception e){ log.error("调用微信支付异常,异常原因:" + e.getMessage()); } + shopOrderVO.setOrderId(orderDO.getId()); + shopOrderVO.setOrderNo(orderDO.getOrderNo()); + shopOrderVO.setOrderTotal(orderDO.getTotalAmount()); return R.ok(shopOrderVO); } -- Gitblit v1.7.1