From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java | 85 ++++++++++++++++++++++++++++-------------- 1 files changed, 56 insertions(+), 29 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 37ce854..4367e2c 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 @@ -29,6 +29,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -155,18 +156,33 @@ } //查询默认收货地址 - //查询上次购买记录的收货地址 - List<ComShopOrderDO> shopOrders = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() - .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); - if(shopOrders.isEmpty()){//未查询到用户上一笔订单 - //查询用户收货地址中的默认地址 - ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectOne(new QueryWrapper<ComShopUserAddressDO>() - .eq("user_id",orderPreviewDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); - if(userAddressDO != null){ - ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); - BeanUtils.copyProperties(userAddressDO,userAddressVO); - orderPreviewVO.setUserAddressVO(userAddressVO); - }else{ + ComShopUserAddressDO userDefaultAddressDO = comShopUserAddressDAO.selectOne(new QueryWrapper<ComShopUserAddressDO>() + .eq("delete_status", 2) + .eq("user_id",orderPreviewDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); + + //查询用户收货地址中的默认地址 + if(userDefaultAddressDO != null){ + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + BeanUtils.copyProperties(userDefaultAddressDO,userAddressVO); + orderPreviewVO.setUserAddressVO(userAddressVO); + }else{ + //查询上次购买记录的收货地址 + //查询到用户上一笔订单 + List<ComShopOrderDO> shopOrders = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() + .eq("delete_status", 2) + .eq("user_id",orderPreviewDTO.getUserId()) + .orderByDesc("create_at")); + if(shopOrders!=null && shopOrders.size()>0) { + ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); + if (userAddressDO != null) { + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + BeanUtils.copyProperties(userAddressDO, userAddressVO); + orderPreviewVO.setUserAddressVO(userAddressVO); + } + } + //无默认地址, 无上一单记录 地址 + /* + if(orderPreviewVO.getUserAddressVO()==null){ List<ComShopUserAddressDO> userAddressDOList = comShopUserAddressDAO.selectList(new QueryWrapper<ComShopUserAddressDO>() .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); if(!userAddressDOList.isEmpty()){ @@ -175,14 +191,10 @@ orderPreviewVO.setUserAddressVO(userAddressVO); } } - }else{//查询到用户上一笔订单 - ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); - if(userAddressDO != null){ - ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); - BeanUtils.copyProperties(userAddressDO,userAddressVO); - orderPreviewVO.setUserAddressVO(userAddressVO); - } + */ } + + return R.ok(orderPreviewVO); } @@ -198,7 +210,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 +299,7 @@ comShopOrderOperateDAO.insert(orderOperateDO); shopOrderVO.setOrderNo(orderNo); shopOrderVO.setOrderTotal(orderTotal); + shopOrderVO.setOrderId(shopOrderDO.getId()); try { BigDecimal money = orderTotal; @@ -384,6 +397,16 @@ orderGoodsVO.setNum(orderGoods.getAmount()); orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); + //查询商品信息判断商品状态 + ComShopGoodsDO goodsDO = comShopGoodsDAO.selectById(orderGoods.getGoodsId()); + if(goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopGoodsDO.deleteStatus.yes) || goodsDO.getDeleteStatus().equals(ComShopGoodsDO.status.recovery)){ + orderGoodsVO.setGoodsStatus(ComShopOrderGoodsVO.goodsStatus.ysc); + }else if(goodsDO.getStatus().equals(ComShopGoodsDO.status.lower)){ + orderGoodsVO.setGoodsStatus(ComShopOrderGoodsVO.goodsStatus.yxj); + }else if(goodsDO.getStatus().equals(ComShopGoodsDO.status.sell)){ + orderGoodsVO.setGoodsStatus(ComShopOrderGoodsVO.goodsStatus.csz); + } + //根据商品规格id查询商品规格 ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); if(goodsAttrDO != null){ @@ -418,15 +441,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 +463,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("用户"); @@ -499,6 +521,7 @@ } //订单确认收货 shopOrderDO.setStatus(ComShopOrderDO.status.ywc); + shopOrderDO.setReceivingTime(new Date()); if(this.baseMapper.updateById(shopOrderDO) > 0){ //添加订单操作记录 ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); @@ -570,6 +593,7 @@ 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); @@ -612,6 +636,7 @@ comShopOrderDO.setDeliveryStatus(4); comShopOrderDO.setDeliveryType(1); comShopOrderDO.setStatus(3); + comShopOrderDO.setDeliveryTime(Calendar.getInstance().getTime()); int updated = comShopOrderDAO.updateById(comShopOrderDO); if(updated==1){ @@ -648,11 +673,10 @@ 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()); @@ -852,6 +876,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