| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.common.model.dtos.PageDTO; |
| | | import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; |
| | | import com.panzhihua.common.model.dtos.shop.*; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.service_community.dao.ComShopOrderDAO; |
| | | import com.panzhihua.service_community.model.dos.ComShopOrderDO; |
| | | import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateDTO; |
| | | import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateGoodsDTO; |
| | | import com.panzhihua.common.model.dtos.shop.ComShopOrderPreviewDTO; |
| | | import com.panzhihua.common.model.dtos.shop.PageComOrderListDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.shop.*; |
| | | import com.panzhihua.common.utlis.OrderNoUtils; |
| | | import com.panzhihua.common.utlis.StringUtils; |
| | |
| | | |
| | | /** |
| | | * 订单预览 |
| | | * @param orderPreviewDTO 请求参数 |
| | | * @return 订单预览数据 |
| | | * |
| | | * @param orderPreviewDTO 请求参数 |
| | | * @return 订单预览数据 |
| | | */ |
| | | @Override |
| | | public R orderPreview(ComShopOrderPreviewDTO orderPreviewDTO){ |
| | | public R orderPreview(ComShopOrderPreviewDTO orderPreviewDTO) { |
| | | |
| | | //返回参数 |
| | | ComShopOrderPreviewVO orderPreviewVO = new ComShopOrderPreviewVO(); |
| | |
| | | BigDecimal orderTotal = BigDecimal.ZERO; |
| | | Integer orderGoodsTotal = 0; |
| | | //判断提交方式 |
| | | if(orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.details)){//详情页提交 |
| | | if (orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.details)) {//详情页提交 |
| | | //查询商品信息 |
| | | ComShopGoodsDO goodsDO = comShopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>().eq("id",orderPreviewDTO.getGoodsId()) |
| | | .eq("status",ComShopGoodsDO.status.sell).eq("delete_status",ComShopGoodsDO.deleteStatus.no)); |
| | | if(goodsDO == null){ |
| | | ComShopGoodsDO goodsDO = comShopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>().eq("id", orderPreviewDTO.getGoodsId()) |
| | | .eq("status", ComShopGoodsDO.status.sell).eq("delete_status", ComShopGoodsDO.deleteStatus.no)); |
| | | if (goodsDO == null) { |
| | | return R.fail("商品已下架或已删除"); |
| | | } |
| | | //设置店铺id |
| | |
| | | |
| | | //查询商品规格信息 |
| | | ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(orderPreviewDTO.getGoodsAttrId()); |
| | | if(goodsAttrDO == null){ |
| | | if (goodsAttrDO == null) { |
| | | return R.fail("商品规格不存在"); |
| | | } |
| | | |
| | |
| | | orderGoodsVO.setPrice(goodsAttrDO.getPrice()); |
| | | orderGoodsVO.setNum(orderPreviewDTO.getBuyNum()); |
| | | orderGoodsList.add(orderGoodsVO); |
| | | }else if(orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.cart)){//购物车提交 |
| | | } else if (orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.cart)) {//购物车提交 |
| | | List<ComShopCartDO> cartList = comShopCartDAO.selectBatchIds(orderPreviewDTO.getCartIds()); |
| | | if(cartList.isEmpty()){ |
| | | if (cartList.isEmpty()) { |
| | | return R.fail("未找到购物车商品信息"); |
| | | } |
| | | //设置店铺id |
| | | storeId = cartList.get(0).getStoreId(); |
| | | //循环遍历购物车商品信息 |
| | | for (ComShopCartDO cartDO:cartList) { |
| | | for (ComShopCartDO cartDO : cartList) { |
| | | //商品信息赋值 |
| | | ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); |
| | | orderGoodsVO.setGoodsId(cartDO.getGoodsId()); |
| | |
| | | orderGoodsVO.setGoodsName(cartDO.getGoodsName()); |
| | | //查询商品规格 |
| | | ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(cartDO.getGoodsAttrId()); |
| | | if(goodsAttrDO != null){ |
| | | if (goodsAttrDO != null) { |
| | | orderGoodsVO.setPrice(goodsAttrDO.getPrice()); |
| | | }else{ |
| | | } else { |
| | | orderGoodsVO.setPrice(BigDecimal.ZERO); |
| | | } |
| | | orderTotal = orderTotal.add(orderGoodsVO.getPrice().multiply(BigDecimal.valueOf(cartDO.getAmount()))); |
| | |
| | | |
| | | //查询店铺信息 |
| | | ComShopStoreDO storeDO = comShopStoreDAO.selectById(storeId); |
| | | if(storeDO != null){ |
| | | if (storeDO != null) { |
| | | PageShopStoreVO shopStoreVO = new PageShopStoreVO(); |
| | | BeanUtils.copyProperties(storeDO,shopStoreVO); |
| | | BeanUtils.copyProperties(storeDO, shopStoreVO); |
| | | orderPreviewVO.setShopStoreVO(shopStoreVO); |
| | | } |
| | | |
| | | //查询默认收货地址 |
| | | //查询上次购买记录的收货地址 |
| | | List<ComShopOrderDO> shopOrders = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() |
| | | .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); |
| | | if(shopOrders.isEmpty()){//未查询到用户上一笔订单 |
| | | .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){ |
| | | .eq("user_id", orderPreviewDTO.getUserId()).eq("is_default", ComShopUserAddressDO.isDefault.yes)); |
| | | if (userAddressDO != null) { |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | BeanUtils.copyProperties(userAddressDO,userAddressVO); |
| | | BeanUtils.copyProperties(userAddressDO, userAddressVO); |
| | | orderPreviewVO.setUserAddressVO(userAddressVO); |
| | | }else{ |
| | | } else { |
| | | List<ComShopUserAddressDO> userAddressDOList = comShopUserAddressDAO.selectList(new QueryWrapper<ComShopUserAddressDO>() |
| | | .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); |
| | | if(!userAddressDOList.isEmpty()){ |
| | | .eq("user_id", orderPreviewDTO.getUserId()).orderByDesc("create_at")); |
| | | if (!userAddressDOList.isEmpty()) { |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | BeanUtils.copyProperties(userAddressDOList.get(0),userAddressVO); |
| | | BeanUtils.copyProperties(userAddressDOList.get(0), userAddressVO); |
| | | orderPreviewVO.setUserAddressVO(userAddressVO); |
| | | } |
| | | } |
| | | }else{//查询到用户上一笔订单 |
| | | } else {//查询到用户上一笔订单 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | BeanUtils.copyProperties(userAddressDO,userAddressVO); |
| | | BeanUtils.copyProperties(userAddressDO, userAddressVO); |
| | | orderPreviewVO.setUserAddressVO(userAddressVO); |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * 创建订单 |
| | | * @param orderCreateDTO 创建订单请求参数 |
| | | * @return 创建结果 |
| | | * |
| | | * @param orderCreateDTO 创建订单请求参数 |
| | | * @return 创建结果 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public R orderCreate(ComShopOrderCreateDTO orderCreateDTO){ |
| | | public R orderCreate(ComShopOrderCreateDTO orderCreateDTO) { |
| | | //创建返回参数 |
| | | ComShopOrderVO shopOrderVO = new ComShopOrderVO(); |
| | | |
| | | //查询用户收货地址 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(orderCreateDTO.getReceiverId()); |
| | | if(userAddressDO == null){ |
| | | if (userAddressDO == null) { |
| | | return R.fail("收货地址不存在"); |
| | | } |
| | | //用户id |
| | |
| | | |
| | | //创建订单商品信息 |
| | | List<ComShopOrderGoodsDO> orderGoodsDOList = new ArrayList<>(); |
| | | if(!orderCreateDTO.getOrderGoodsList().isEmpty()){ |
| | | for (ComShopOrderCreateGoodsDTO createGoodsDTO:orderCreateDTO.getOrderGoodsList()) { |
| | | if (!orderCreateDTO.getOrderGoodsList().isEmpty()) { |
| | | for (ComShopOrderCreateGoodsDTO createGoodsDTO : orderCreateDTO.getOrderGoodsList()) { |
| | | //查询当前商品信息 |
| | | ComShopGoodsDO goodsDO = comShopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>() |
| | | .eq("id",createGoodsDTO.getGoodsId()).eq("delete_status",ComShopGoodsDO.deleteStatus.no) |
| | | .eq("status",ComShopGoodsDO.status.sell)); |
| | | if(goodsDO == null){ |
| | | .eq("id", createGoodsDTO.getGoodsId()).eq("delete_status", ComShopGoodsDO.deleteStatus.no) |
| | | .eq("status", ComShopGoodsDO.status.sell)); |
| | | if (goodsDO == null) { |
| | | log.error("未查询到商品信息,商品已下架活已删除,商品id" + createGoodsDTO.getGoodsId()); |
| | | continue; |
| | | } |
| | |
| | | orderGoodsDO.setOrderNo(orderNo); |
| | | //查询当前商品规格 |
| | | ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(createGoodsDTO.getGoodsAttrId()); |
| | | if(goodsAttrDO == null){ |
| | | if (goodsAttrDO == null) { |
| | | log.error("未查询到商品规格信息,商品id" + createGoodsDTO.getGoodsId() + "商品规格id:" + createGoodsDTO.getGoodsAttrId()); |
| | | continue; |
| | | } |
| | |
| | | } |
| | | |
| | | //如果是购物车提交,需要将购物车内商品移除 |
| | | if(orderCreateDTO.getSubmitType().equals(ComShopOrderCreateDTO.submitType.cart)){ |
| | | if (orderCreateDTO.getSubmitType().equals(ComShopOrderCreateDTO.submitType.cart)) { |
| | | comShopCartDAO.deleteBatchIds(orderCreateDTO.getCartIds()); |
| | | } |
| | | |
| | |
| | | shopOrderDO.setTotalAmount(orderTotal); |
| | | shopOrderDO.setDiscountAmount(BigDecimal.ZERO); |
| | | shopOrderDO.setDeliveryType(deliveryType); |
| | | if(StringUtils.isNotEmpty(orderCreateDTO.getRemark())){ |
| | | if (StringUtils.isNotEmpty(orderCreateDTO.getRemark())) { |
| | | shopOrderDO.setRemark(orderCreateDTO.getRemark()); |
| | | } |
| | | this.baseMapper.insert(shopOrderDO); |
| | | |
| | | if(!orderGoodsDOList.isEmpty()){ |
| | | orderGoodsDOList.forEach(orderGoods ->{ |
| | | if (!orderGoodsDOList.isEmpty()) { |
| | | orderGoodsDOList.forEach(orderGoods -> { |
| | | orderGoods.setOrderId(shopOrderDO.getId()); |
| | | comShopOrderGoodsDAO.insert(orderGoods); |
| | | }); |
| | |
| | | |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.create); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(StringUtils.isNotEmpty(orderCreateDTO.getPhone())){ |
| | | if (StringUtils.isNotEmpty(orderCreateDTO.getPhone())) { |
| | | orderOperateDO.setOperationContent("用户" + orderCreateDTO.getPhone() + "下单"); |
| | | orderOperateDO.setOperationBy("用户" + orderCreateDTO.getPhone()); |
| | | }else { |
| | | } else { |
| | | orderOperateDO.setOperationContent("用户下单"); |
| | | orderOperateDO.setOperationBy("用户"); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 分页查询用户订单列表 |
| | | * @param comOrderListDTO 请求参数 |
| | | * @return 查询结果 |
| | | * |
| | | * @param comOrderListDTO 请求参数 |
| | | * @return 查询结果 |
| | | */ |
| | | @Override |
| | | public R pageOrderList(PageComOrderListDTO comOrderListDTO){ |
| | | Page page = new Page<>(comOrderListDTO.getPageNum(),comOrderListDTO.getPageSize()); |
| | | IPage<ComShopOrderPageVO> orderPageVOIPage = this.baseMapper.pageOrderList(page,comOrderListDTO); |
| | | if(!orderPageVOIPage.getRecords().isEmpty()){ |
| | | public R pageOrderList(PageComOrderListDTO comOrderListDTO) { |
| | | Page page = new Page<>(comOrderListDTO.getPageNum(), comOrderListDTO.getPageSize()); |
| | | IPage<ComShopOrderPageVO> orderPageVOIPage = this.baseMapper.pageOrderList(page, comOrderListDTO); |
| | | if (!orderPageVOIPage.getRecords().isEmpty()) { |
| | | orderPageVOIPage.getRecords().forEach(orderVo -> { |
| | | List<ComShopOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); |
| | | //查询订单下商品信息 |
| | | List<ComShopOrderGoodsDO> orderGoodsDOList = comShopOrderGoodsDAO.selectList(new QueryWrapper<ComShopOrderGoodsDO>() |
| | | .eq("order_no",orderVo.getOrderNo())); |
| | | if(!orderGoodsDOList.isEmpty()){ |
| | | .eq("order_no", orderVo.getOrderNo())); |
| | | if (!orderGoodsDOList.isEmpty()) { |
| | | orderGoodsDOList.forEach(orderGoods -> { |
| | | ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); |
| | | BeanUtils.copyProperties(orderGoods,orderGoodsVO); |
| | | BeanUtils.copyProperties(orderGoods, orderGoodsVO); |
| | | orderGoodsVO.setNum(orderGoods.getAmount()); |
| | | orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); |
| | | orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); |
| | |
| | | PageShopStoreVO shopStoreVO = new PageShopStoreVO(); |
| | | //查询店铺信息 |
| | | ComShopStoreDO shopStoreDO = comShopStoreDAO.selectById(orderVo.getStoreId()); |
| | | if(shopStoreDO != null){ |
| | | BeanUtils.copyProperties(shopStoreDO,shopStoreVO); |
| | | if (shopStoreDO != null) { |
| | | BeanUtils.copyProperties(shopStoreDO, shopStoreVO); |
| | | } |
| | | orderVo.setShopStoreVO(shopStoreVO); |
| | | }); |
| | |
| | | |
| | | /** |
| | | * 根据订单id查询订单详情 |
| | | * @param orderId 订单id |
| | | * @return 订单详情 |
| | | * |
| | | * @param orderId 订单id |
| | | * @return 订单详情 |
| | | */ |
| | | @Override |
| | | public R orderDetail(Long orderId) { |
| | |
| | | ComShopOrderPageVO orderVO = new ComShopOrderPageVO(); |
| | | //查询订单信息 |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); |
| | | if(shopOrderDO == null){ |
| | | if (shopOrderDO == null) { |
| | | return R.fail("未查询到订单"); |
| | | } |
| | | BeanUtils.copyProperties(shopOrderDO,orderVO); |
| | | BeanUtils.copyProperties(shopOrderDO, orderVO); |
| | | orderVO.setOrderTotal(shopOrderDO.getTotalAmount()); |
| | | |
| | | PageShopStoreVO shopStoreVO = new PageShopStoreVO(); |
| | | //查询店铺信息 |
| | | ComShopStoreDO shopStoreDO = comShopStoreDAO.selectById(shopOrderDO.getStoreId()); |
| | | if(shopStoreDO != null){ |
| | | BeanUtils.copyProperties(shopStoreDO,shopStoreVO); |
| | | if (shopStoreDO != null) { |
| | | BeanUtils.copyProperties(shopStoreDO, shopStoreVO); |
| | | } |
| | | orderVO.setShopStoreVO(shopStoreVO); |
| | | |
| | | List<ComShopOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); |
| | | //查询订单下商品信息 |
| | | List<ComShopOrderGoodsDO> orderGoodsDOList = comShopOrderGoodsDAO.selectList(new QueryWrapper<ComShopOrderGoodsDO>() |
| | | .eq("order_no",shopOrderDO.getOrderNo())); |
| | | if(!orderGoodsDOList.isEmpty()){ |
| | | .eq("order_no", shopOrderDO.getOrderNo())); |
| | | if (!orderGoodsDOList.isEmpty()) { |
| | | orderGoodsDOList.forEach(orderGoods -> { |
| | | ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); |
| | | BeanUtils.copyProperties(orderGoods,orderGoodsVO); |
| | | BeanUtils.copyProperties(orderGoods, orderGoodsVO); |
| | | orderGoodsVO.setNum(orderGoods.getAmount()); |
| | | orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); |
| | | orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); |
| | |
| | | ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); |
| | | //查询用户收货地址 |
| | | ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrderDO.getReceiverId()); |
| | | if(userAddressDO != null){ |
| | | BeanUtils.copyProperties(userAddressDO,userAddressVO); |
| | | if (userAddressDO != null) { |
| | | BeanUtils.copyProperties(userAddressDO, userAddressVO); |
| | | orderVO.setUserAddressVO(userAddressVO); |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * 根据订单id取消订单 |
| | | * @param orderId 订单id |
| | | * @param phone 操作用户手机号 |
| | | * @return 取消结果 |
| | | * |
| | | * @param orderId 订单id |
| | | * @param phone 操作用户手机号 |
| | | * @return 取消结果 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public R orderCancel(Long orderId,String phone){ |
| | | public R orderCancel(Long orderId, String phone) { |
| | | //查询订单 |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); |
| | | if(shopOrderDO == null){ |
| | | if (shopOrderDO == null) { |
| | | return R.fail("未查询到订单"); |
| | | } |
| | | if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dfk)){ |
| | | if (!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dfk)) { |
| | | return R.fail("已支付订单不可取消"); |
| | | } |
| | | //取消订单 |
| | | shopOrderDO.setStatus(ComShopOrderDO.status.yqx); |
| | | if(this.baseMapper.updateById(shopOrderDO) > 0){ |
| | | if (this.baseMapper.updateById(shopOrderDO) > 0) { |
| | | //添加订单操作记录 |
| | | ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); |
| | | orderOperateDO.setOrderNo(shopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.cancel); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(StringUtils.isNotEmpty(phone)){ |
| | | if (StringUtils.isNotEmpty(phone)) { |
| | | orderOperateDO.setOperationContent("用户" + phone + "取消订单"); |
| | | orderOperateDO.setOperationBy("用户" + phone); |
| | | }else { |
| | | } else { |
| | | orderOperateDO.setOperationContent("用户取消订单"); |
| | | orderOperateDO.setOperationBy("用户"); |
| | | } |
| | | comShopOrderOperateDAO.insert(orderOperateDO); |
| | | return R.ok(); |
| | | }else{ |
| | | } else { |
| | | return R.fail("取消订单失败"); |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * 根据订单id删除订单 |
| | | * @param orderId 订单id |
| | | * @return 删除结果 |
| | | * |
| | | * @param orderId 订单id |
| | | * @return 删除结果 |
| | | */ |
| | | @Override |
| | | public R orderDelete(Long orderId){ |
| | | public R orderDelete(Long orderId) { |
| | | //查询订单 |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); |
| | | if(shopOrderDO == null){ |
| | | if (shopOrderDO == null) { |
| | | return R.fail("未查询到订单"); |
| | | } |
| | | if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.ywc) && !shopOrderDO.getStatus().equals(ComShopOrderDO.status.yqx)){ |
| | | if (!shopOrderDO.getStatus().equals(ComShopOrderDO.status.ywc) && !shopOrderDO.getStatus().equals(ComShopOrderDO.status.yqx)) { |
| | | return R.fail("该订单状态不可删除"); |
| | | } |
| | | |
| | | shopOrderDO.setDeleteStatus(ComShopOrderDO.deleteStatus.yes); |
| | | if(this.baseMapper.updateById(shopOrderDO) > 0){ |
| | | if (this.baseMapper.updateById(shopOrderDO) > 0) { |
| | | return R.ok(); |
| | | }else{ |
| | | } else { |
| | | return R.fail("取消订单失败"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据订单id确认收货 |
| | | * @param orderId 订单id |
| | | * @param phone 手机号 |
| | | * @return 确认结果 |
| | | * |
| | | * @param orderId 订单id |
| | | * @param phone 手机号 |
| | | * @return 确认结果 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public R orderConfirm(Long orderId, String phone){ |
| | | public R orderConfirm(Long orderId, String phone) { |
| | | //查询订单 |
| | | ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); |
| | | if(shopOrderDO == null){ |
| | | if (shopOrderDO == null) { |
| | | return R.fail("未查询到订单"); |
| | | } |
| | | if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dsh)){ |
| | | if (!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dsh)) { |
| | | return R.fail("该订单状态不可确认收货"); |
| | | } |
| | | //订单确认收货 |
| | | shopOrderDO.setStatus(ComShopOrderDO.status.ywc); |
| | | if(this.baseMapper.updateById(shopOrderDO) > 0){ |
| | | if (this.baseMapper.updateById(shopOrderDO) > 0) { |
| | | //添加订单操作记录 |
| | | ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); |
| | | orderOperateDO.setOrderNo(shopOrderDO.getOrderNo()); |
| | | orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.complete); |
| | | orderOperateDO.setOperationTime(new Date()); |
| | | if(StringUtils.isNotEmpty(phone)){ |
| | | if (StringUtils.isNotEmpty(phone)) { |
| | | orderOperateDO.setOperationContent("用户" + phone + "确认收货"); |
| | | orderOperateDO.setOperationBy("用户" + phone); |
| | | }else { |
| | | } else { |
| | | orderOperateDO.setOperationContent("用户确认收货"); |
| | | orderOperateDO.setOperationBy("用户"); |
| | | } |
| | | comShopOrderOperateDAO.insert(orderOperateDO); |
| | | return R.ok(); |
| | | }else{ |
| | | } else { |
| | | return R.fail("确认收货失败"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 统计用户订单数量 |
| | | * @param userId 用户id |
| | | * @return 统计结果 |
| | | * |
| | | * @param userId 用户id |
| | | * @return 统计结果 |
| | | */ |
| | | @Override |
| | | public R orderStatistics(Long userId){ |
| | | public R orderStatistics(Long userId) { |
| | | OrderStatisticsVO orderStatisticsVO = new OrderStatisticsVO(); |
| | | //待付款订单数 |
| | | Integer paymentNum = 0; |
| | |
| | | //待收货订单数 |
| | | Integer receivingNum = 0; |
| | | List<ComShopOrderDO> shopOrderList = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() |
| | | .eq("user_id",userId).eq("delete_status",ComShopOrderDO.deleteStatus.no)); |
| | | if(!shopOrderList.isEmpty()){ |
| | | for (ComShopOrderDO orderDO:shopOrderList) { |
| | | if(orderDO.getStatus().equals(ComShopOrderDO.status.dfk)){ |
| | | .eq("user_id", userId).eq("delete_status", ComShopOrderDO.deleteStatus.no)); |
| | | if (!shopOrderList.isEmpty()) { |
| | | for (ComShopOrderDO orderDO : shopOrderList) { |
| | | if (orderDO.getStatus().equals(ComShopOrderDO.status.dfk)) { |
| | | paymentNum++; |
| | | }else if(orderDO.getStatus().equals(ComShopOrderDO.status.dfh)){ |
| | | } else if (orderDO.getStatus().equals(ComShopOrderDO.status.dfh)) { |
| | | deliverNum++; |
| | | }else if(orderDO.getStatus().equals(ComShopOrderDO.status.dsh)){ |
| | | } else if (orderDO.getStatus().equals(ComShopOrderDO.status.dsh)) { |
| | | receivingNum++; |
| | | } |
| | | } |
| | |
| | | |
| | | page.setPageNum(pageNum); |
| | | page.setPageSize(pageSize); |
| | | if(pageNum==null||new Long(0).equals(pageNum.longValue())){ |
| | | if (pageNum == null || new Long(0).equals(pageNum.longValue())) { |
| | | page.setPageNum(1l); |
| | | } |
| | | if(pageSize==null||new Long(0).equals(pageSize.longValue())){ |
| | | if (pageSize == null || new Long(0).equals(pageSize.longValue())) { |
| | | page.setPageSize(10l); |
| | | } |
| | | |
| | | this.baseMapper.pageOrderBy(page, pageComShopOrderSearchDTO); |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public R capitalDetailByStore(Long id) { |
| | | if(id==null){ |
| | | R.fail("订单号不能为空!"); |
| | | } |
| | | CapitalDetailVO vo = this.baseMapper.capitalDetailByStore(id); |
| | | return R.ok(vo); |
| | | } |
| | | } |