From 8da7ca5f5a5466c76b0d0abe23c7935e13e09136 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期六, 26 十一月 2022 12:50:34 +0800 Subject: [PATCH] Merge branch 'local_20221104' into huacheng_test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 146 insertions(+), 10 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java index b6595b3..6888a49 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java @@ -1,32 +1,36 @@ package com.panzhihua.service_community.service.impl; import cn.hutool.core.collection.CollUtil; +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.shop.ComShopFlowerRefundOrderDTO; +import com.panzhihua.common.model.dtos.shop.ComShopOrderQueryDTO; import com.panzhihua.common.model.dtos.shop.PageComOrderRefundDTO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; +import com.panzhihua.common.model.vos.shop.ComShopFlowerOrderGoodsVO; import com.panzhihua.common.model.vos.shop.ComShopFlowerRefundOrderVO; +import com.panzhihua.common.model.vos.shop.ComShopOrderCountVO; import com.panzhihua.common.utlis.OrderNoUtils; import com.panzhihua.common.utlis.WxPayUtils; import com.panzhihua.common.utlis.wx.WXPayUtil; -import com.panzhihua.service_community.dao.ComShopFlowerOrderDAO; -import com.panzhihua.service_community.dao.ComShopFlowerOrderPayDAO; -import com.panzhihua.service_community.dao.ComShopFlowerRefundOrderDAO; -import com.panzhihua.service_community.model.dos.ComShopFlowerOrderDO; -import com.panzhihua.service_community.model.dos.ComShopFlowerOrderPayDO; -import com.panzhihua.service_community.model.dos.ComShopFlowerRefundOrderDO; +import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComShopFlowerRefundOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Date; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; /** * @ClassName: ComShopFlowerRefundOrderServiceImpl @@ -54,14 +58,24 @@ private ComShopFlowerOrderDAO comShopFlowerOrderDAO; @Resource private ComShopFlowerOrderPayDAO comShopFlowerOrderPayDAO; + @Resource + private ComShopFlowerOrderGoodsDAO comShopFlowerOrderGoodsDAO; + @Resource + private ComShopFlowerGoodsDAO comShopFlowerGoodsDAO; + + @Resource + private ComShopFlowerGoodsAttrDAO comShopFlowerGoodsAttrDAO; + @Resource + private ConvenientMerchantDAO convenientMerchantDAO; @Override + @Transactional(rollbackFor = Exception.class) public R createRefundOrder(ComShopFlowerRefundOrderDTO comShopFlowerRefundOrderDTO) { ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = new ComShopFlowerRefundOrderDO(); BeanUtils.copyProperties(comShopFlowerRefundOrderDTO, comShopFlowerRefundOrderDO); // 生成退款订单号 - String refundOrderNo = OrderNoUtils.NextOrderNo(comShopFlowerRefundOrderDTO.getUserId()); + String refundOrderNo = OrderNoUtils.NextOrderNoFlower(comShopFlowerRefundOrderDTO.getUserId()); comShopFlowerRefundOrderDO.setRefundOrderNo(refundOrderNo); comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.clz); comShopFlowerRefundOrderDO.setDeleteStatus(ComShopFlowerRefundOrderDO.deleteStatus.no); @@ -73,10 +87,41 @@ public R pageRefundOrder(PageComOrderRefundDTO pageComOrderRefundDTO) { Page page = new Page<>(pageComOrderRefundDTO.getPageNum(), pageComOrderRefundDTO.getPageSize()); IPage<ComShopFlowerRefundOrderVO> pages = this.baseMapper.pageRefundOrder(page, pageComOrderRefundDTO); + for (ComShopFlowerRefundOrderVO comShopFlowerRefundOrderVO : pages.getRecords()) { + String orderNo = comShopFlowerRefundOrderVO.getOrderNo(); + List<ComShopFlowerOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); + // 查询订单下商品信息 + List<ComShopFlowerOrderGoodsDO> orderGoodsDOList = comShopFlowerOrderGoodsDAO + .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no",orderNo)); + StringBuilder sbr = new StringBuilder(); + if (!orderGoodsDOList.isEmpty()) { + orderGoodsDOList.forEach(orderGoods -> { + ComShopFlowerOrderGoodsVO orderGoodsVO = new ComShopFlowerOrderGoodsVO(); + BeanUtils.copyProperties(orderGoods, orderGoodsVO); + orderGoodsVO.setNum(orderGoods.getAmount()); + orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); + orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); + + orderGoodsVOS.add(orderGoodsVO); + sbr.append(orderGoods.getGoodsName()).append(" "); + }); + } + comShopFlowerRefundOrderVO.setOrderGoodsVOList(orderGoodsVOS); + comShopFlowerRefundOrderVO.setGoodsName(sbr.toString()); + + ConvenientMerchantVO shopStoreVO = new ConvenientMerchantVO(); + // 查询店铺信息 + ConvenientMerchantDO shopStoreDO = convenientMerchantDAO.selectById(comShopFlowerRefundOrderVO.getStoreId()); + if (shopStoreDO != null) { + BeanUtils.copyProperties(shopStoreDO, shopStoreVO); + } + comShopFlowerRefundOrderVO.setConvenientMerchantVO(shopStoreVO); + } return R.ok(pages); } @Override + @Transactional(rollbackFor = Exception.class) public R updateRefundOrder(ComShopFlowerRefundOrderDTO comShopFlowerRefundOrderDTO) { ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = this.baseMapper.selectById(comShopFlowerRefundOrderDTO.getId()); @@ -118,6 +163,9 @@ // orderPayDO.setWxTradeNo(wxPayNotifyOrderDTO.getWxTradeNo()); orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.yes); orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tkcg); + //更新订单状态 + comShopFlowerOrderDO.setStatus(ComShopFlowerOrderDO.status.ytk); + comShopFlowerOrderDAO.updateById(comShopFlowerOrderDO); }else { //退款失败 comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); @@ -141,4 +189,92 @@ this.baseMapper.updateById(comShopFlowerRefundOrderDO); return R.ok(); } + + @Override + public R selectCountGroupStatus(Long storeId){ + String[] statusStr = {"clz","tkcg","tksb","yqx","tkz"}; + List<ComShopOrderCountVO> comShopOrderCountVOS = this.baseMapper.selectCountGroupStatus(storeId); + Map<Integer, Integer> collect = comShopOrderCountVOS.stream().collect(Collectors.toMap(ComShopOrderCountVO::getStatus, ComShopOrderCountVO::getAmount)); + Map<String,Integer> retMap = new HashMap<>(); + int amountTotal = 0; + for (int i = 0; i < statusStr.length; i++) { + if (collect.containsKey(i)) { + Integer amount = collect.get(i); + amountTotal = amountTotal + amount; + retMap.put(statusStr[i],amount); + }else { + retMap.put(statusStr[i],0); + } + } + retMap.put("zdd",amountTotal); + return R.ok(retMap); + } + + /** + * 根据订单id取消订单 + * + * @param \ + * @return 取消结果 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R orderCancel(Long id) { + this.baseMapper.updateCancel(id,ComShopFlowerRefundOrderDO.status.yqx); + return R.ok(); + } + + + @Override + public R refundOrderDetail(Long id){ + ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = this.baseMapper.selectById(id); + if (isNull(comShopFlowerRefundOrderDO)){ + return R.fail("未查询到该退款订单"); + } + ComShopFlowerRefundOrderVO comShopFlowerRefundOrderVO = new ComShopFlowerRefundOrderVO(); + BeanUtils.copyProperties(comShopFlowerRefundOrderDO,comShopFlowerRefundOrderVO); + String orderNo = comShopFlowerRefundOrderDO.getOrderNo(); + List<ComShopFlowerOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); + // 查询订单下商品信息 + List<ComShopFlowerOrderGoodsDO> orderGoodsDOList = comShopFlowerOrderGoodsDAO + .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no",orderNo)); + StringBuilder sbr = new StringBuilder(); + if (!orderGoodsDOList.isEmpty()) { + orderGoodsDOList.forEach(orderGoods -> { + ComShopFlowerOrderGoodsVO orderGoodsVO = new ComShopFlowerOrderGoodsVO(); + BeanUtils.copyProperties(orderGoods, orderGoodsVO); + orderGoodsVO.setNum(orderGoods.getAmount()); + orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); + orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); + // 查询商品信息判断商品状态 + ComShopFlowerGoodsDO goodsDO = comShopFlowerGoodsDAO.selectById(orderGoods.getGoodsId()); + if (goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.deleteStatus.yes) + || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.status.recovery)) { + orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.ysc); + } else if (goodsDO.getStatus().equals(ComShopFlowerGoodsDO.status.lower)) { + orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.yxj); + } else if (goodsDO.getStatus().equals(ComShopFlowerGoodsDO.status.sell)) { + orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.csz); + } + + // 根据商品规格id查询商品规格 + ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); + if (goodsAttrDO != null) { + orderGoodsVO.setGoodsAttr(goodsAttrDO.getGoodsAttrName()); + } + orderGoodsVOS.add(orderGoodsVO); + sbr.append(orderGoods.getGoodsName()).append(" "); + }); + } + comShopFlowerRefundOrderVO.setOrderGoodsVOList(orderGoodsVOS); + comShopFlowerRefundOrderVO.setGoodsName(sbr.toString()); + + ConvenientMerchantVO shopStoreVO = new ConvenientMerchantVO(); + // 查询店铺信息 + ConvenientMerchantDO shopStoreDO = convenientMerchantDAO.selectById(comShopFlowerRefundOrderDO.getStoreId()); + if (shopStoreDO != null) { + BeanUtils.copyProperties(shopStoreDO, shopStoreVO); + } + comShopFlowerRefundOrderVO.setConvenientMerchantVO(shopStoreVO); + return R.ok(comShopFlowerRefundOrderVO); + } } -- Gitblit v1.7.1