From 23c90bbf80577e8e3f4f227b5431a79fe5ebef6e Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期一, 28 十一月 2022 15:20:57 +0800
Subject: [PATCH] Merge branch 'local_20221104' into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java | 497 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 307 insertions(+), 190 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
index b79f608..8c6ec90 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -31,6 +32,7 @@
import java.util.*;
import java.util.stream.Collectors;
+import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
/**
@@ -65,6 +67,10 @@
private ConvenientElevatingPointDAO convenientElevatingPointDAO;
@Resource
private ComShopFlowerEvaluateDAO comShopFlowerEvaluateDAO;
+ @Resource
+ private ComShopFlowerRefundOrderDAO comShopFlowerRefundOrderDAO;
+ @Resource
+ private ComShopFlowerOrderDeliveryDAO comShopFlowerOrderDeliveryDAO;
@Value("${hcMin.app.isTest}")
@@ -215,9 +221,9 @@
// 店铺id
Long storeId = 0L;
// 生成订单号
- String orderNo = OrderNoUtils.NextOrderNo(userId);
+ String orderNo = OrderNoUtils.NextOrderNoFlower(userId);
// 配送方式
- Integer deliveryType = 0;
+ Integer deliveryType = 1;
// 订单总金额
BigDecimal orderTotal = BigDecimal.ZERO;
// 创建订单商品信息
@@ -233,10 +239,11 @@
continue;
}
storeId = goodsDO.getStoreId();
- deliveryType = goodsDO.getDeliveryType();
+ deliveryType = orderCreateDTO.getDeliveryType();
ComShopFlowerOrderGoodsDO orderGoodsDO = new ComShopFlowerOrderGoodsDO();
orderGoodsDO.setGoodsId(goodsDO.getId());
orderGoodsDO.setGoodsName(goodsDO.getName());
+
orderGoodsDO.setStoreId(storeId);
orderGoodsDO.setUserId(userId);
orderGoodsDO.setAmount(createGoodsDTO.getNum());
@@ -249,11 +256,12 @@
continue;
}
- if (goodsAttrDO.getSale() < createGoodsDTO.getNum()) {
+ if (goodsAttrDO.getStock() < createGoodsDTO.getNum()) {
return R.fail("该规格库存不足,无法下单");
}
+ orderGoodsDO.setGoodsAttrName(goodsAttrDO.getGoodsAttrName());
orderGoodsDO.setGoodsAttrId(goodsAttrDO.getId());
- orderGoodsDO.setGoodsAttrPrice(goodsAttrDO.getPrice());
+ orderGoodsDO.setGoodsAttrPrice(createGoodsDTO.getPrice());
orderGoodsDO.setPrice(goodsAttrDO.getPrice());
orderGoodsDO.setCollatePrice(goodsAttrDO.getCollatePrice());
orderGoodsDO.setFreeShippingPrice(goodsAttrDO.getFreeShippingPrice());
@@ -261,18 +269,15 @@
orderGoodsDOList.add(orderGoodsDO);
// 将商品金额计算到订单总金额
orderTotal = orderTotal
- .add(orderGoodsDO.getGoodsAttrPrice().multiply(BigDecimal.valueOf(orderGoodsDO.getAmount())));
+ .add(createGoodsDTO.getPrice().multiply(BigDecimal.valueOf(createGoodsDTO.getNum())));
}
}
- // 如果是购物车提交,需要将购物车内商品移除
- /*if (orderCreateDTO.getSubmitType().equals(ComShopOrderCreateDTO.submitType.cart)) {
- comShopCartDAO.deleteBatchIds(orderCreateDTO.getCartIds());
- }*/
// 创建订单信息
ComShopFlowerOrderDO shopOrderDO = new ComShopFlowerOrderDO();
shopOrderDO.setOrderNo(orderNo);
shopOrderDO.setStoreId(storeId);
shopOrderDO.setUserId(userId);
+ //TODO
shopOrderDO.setStatus(ComShopFlowerOrderDO.status.dfk);
shopOrderDO.setPayStatus(ComShopFlowerOrderDO.payStatus.no);
shopOrderDO.setReceiverId(orderCreateDTO.getReceiverId());
@@ -354,6 +359,7 @@
orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice());
orderGoodsVOS.add(orderGoodsVO);
});
+ orderVo.setGoodsAttrName(orderGoodsDOList.get(0).getGoodsAttrName());
}
orderVo.setOrderGoodsVOList(orderGoodsVOS);
@@ -364,6 +370,13 @@
BeanUtils.copyProperties(convenientMerchantDO, shopStoreVO);
}
orderVo.setConvenientMerchantVO(shopStoreVO);
+ //已完成、已退款才有评论
+ if (ComShopFlowerOrderDO.status.ywc == orderVo.getStatus() || ComShopFlowerOrderDO.status.ytk == orderVo.getStatus()) {
+ ComShopFlowerEvaluateVO comShopFlowerEvaluateVO = comShopFlowerEvaluateDAO.selectByOrderNo(orderVo.getOrderNo());
+ if (nonNull(comShopFlowerEvaluateVO)) {
+ orderVo.setComShopFlowerEvaluateVO(comShopFlowerEvaluateVO);
+ }
+ }
});
}
return R.ok(orderPageVOIPage);
@@ -376,17 +389,29 @@
* @return 订单详情
*/
@Override
- public R orderDetail(Long orderId) {
-
+ public R orderDetail(Long orderId, String phone) {
ComShopFlowerOrderPageVO orderVO = new ComShopFlowerOrderPageVO();
- // 查询订单信息
- ComShopFlowerOrderDO shopOrderDO = this.baseMapper.selectById(orderId);
+ ComShopFlowerOrderDO shopOrderDO = null;
+ if (StrUtil.isEmpty(phone)) {
+ // 查询订单信息
+ shopOrderDO = this.baseMapper.selectById(orderId);
+ } else {
+ //查询自提点信息
+ ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectOne(new LambdaQueryWrapper<ConvenientElevatingPointDO>().eq(ConvenientElevatingPointDO::getWechatAccount, phone));
+ if (isNull(convenientElevatingPointDO)) {
+ return R.fail("自提点不存在");
+ }
+ Long pointDOId = convenientElevatingPointDO.getId();
+ shopOrderDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopFlowerOrderDO>().eq(ComShopFlowerOrderDO::getId, orderId).eq(ComShopFlowerOrderDO::getPointId, pointDOId));
+ }
+
+
if (shopOrderDO == null) {
return R.fail("未查询到订单");
}
BeanUtils.copyProperties(shopOrderDO, orderVO);
orderVO.setOrderTotal(shopOrderDO.getTotalAmount());
-
+ orderVO.setOrderId(orderId);
ConvenientMerchantVO shopStoreVO = new ConvenientMerchantVO();
// 查询店铺信息
ConvenientMerchantDO shopStoreDO = convenientMerchantDAO.selectById(shopOrderDO.getStoreId());
@@ -453,7 +478,7 @@
if (null != pointId) {
ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(pointId);
ConvenientElevatingPointVO convenientElevatingPointVO = new ConvenientElevatingPointVO();
- BeanUtils.copyProperties(convenientElevatingPointVO, convenientElevatingPointDO);
+ BeanUtils.copyProperties(convenientElevatingPointDO, convenientElevatingPointVO);
orderVO.setConvenientElevatingPointVO(convenientElevatingPointVO);
}
//已完成、已退款才有评论
@@ -463,7 +488,16 @@
orderVO.setComShopFlowerEvaluateVO(comShopFlowerEvaluateVO);
}
}
+ //设置退款金额
+ ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = comShopFlowerRefundOrderDAO.selectOne(new LambdaQueryWrapper<ComShopFlowerRefundOrderDO>().eq(ComShopFlowerRefundOrderDO::getOrderId, shopOrderDO.getOrderNo()));
+ if (nonNull(comShopFlowerRefundOrderDO)) {
+ orderVO.setRefundAmount(comShopFlowerRefundOrderDO.getRefundAmount());
+ }
+ //如果状态时取消状态,更新时间为去取消时间
+ if (shopOrderDO.getStatus() == ComShopFlowerOrderDO.status.yqx) {
+ orderVO.setCancelTime(shopOrderDO.getUpdateAt());
+ }
return R.ok(orderVO);
}
@@ -482,68 +516,71 @@
if (shopOrderDO == null) {
return R.fail("未查询到订单");
}
- if (!shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.ddps)) {
- return R.fail("已配送订单不可取消");
- }
- // 取消订单
- shopOrderDO.setStatus(ComShopFlowerOrderDO.status.yqx);
- //退款
- String refundNo = WXPayUtil.generateNonceStr();
- try {
- String refundStr = WxPayUtils.refund(appid, mchId, shopOrderDO.getWxTardeNo(), shopOrderDO.getPayAmount(),
- shopOrderDO.getPayAmount(), refundNo, isTest);
- log.info("退款请求接口返回参数:{}", refundStr);
- Map<String, String> mapResult = WXPayUtil.xmlToMap(refundStr);
- if (CollUtil.isNotEmpty(mapResult)) {
- String return_code = (String) mapResult.get("return_code");
- String result_code = (String) mapResult.get("result_code");
- String return_msg = mapResult.get("return_msg");
- ComShopFlowerOrderPayDO orderPayDO = new ComShopFlowerOrderPayDO();
+ if (shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.ddps)||shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.dfh)) {
+ // 取消订单
+ shopOrderDO.setStatus(ComShopFlowerOrderDO.status.yqx);
+ //退款
+ String refundNo = WXPayUtil.generateNonceStr();
+ try {
+ String refundStr = WxPayUtils.refund(appid, mchId, shopOrderDO.getOrderNo(), shopOrderDO.getPayAmount(),
+ shopOrderDO.getPayAmount(), refundNo, isTest);
+ log.info("退款请求接口返回参数:{}", refundStr);
+ Map<String, String> mapResult = WXPayUtil.xmlToMap(refundStr);
+ if (CollUtil.isNotEmpty(mapResult)) {
+ String return_code = (String) mapResult.get("return_code");
+ String result_code = (String) mapResult.get("result_code");
+ String return_msg = mapResult.get("return_msg");
+ ComShopFlowerOrderPayDO orderPayDO = new ComShopFlowerOrderPayDO();
- orderPayDO.setOrderNo(shopOrderDO.getOrderNo());
- orderPayDO.setOrderAmount(shopOrderDO.getTotalAmount());
- orderPayDO.setPayTime(new Date());
- orderPayDO.setStoreId(shopOrderDO.getStoreId());
- orderPayDO.setDeliveryType(shopOrderDO.getDeliveryType());
- orderPayDO.setOrderId(shopOrderDO.getId());
- orderPayDO.setPayType(ComShopFlowerOrderPayDO.payType.qx);
- if ("SUCCESS".equals(return_code) && return_code.equals(result_code)) {
- //退款成功
- // 添加订单支付记录表
- orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.yes);
- orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tkcg);
+ orderPayDO.setOrderNo(shopOrderDO.getOrderNo());
+ orderPayDO.setOrderAmount(shopOrderDO.getTotalAmount());
+ orderPayDO.setPayTime(new Date());
+ orderPayDO.setStoreId(shopOrderDO.getStoreId());
+ orderPayDO.setDeliveryType(shopOrderDO.getDeliveryType());
+ orderPayDO.setOrderId(shopOrderDO.getId());
+ orderPayDO.setPayType(ComShopFlowerOrderPayDO.payType.qx);
+ if ("SUCCESS".equals(return_code) && return_code.equals(result_code)) {
+ //退款成功
+ // 添加订单支付记录表
+ orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.yes);
+ orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tkcg);
- } else {
- //退款失败
- // 添加订单支付记录表
- orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.no);
- orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tksb);
- shopOrderDO.setRemark(shopOrderDO.getRemark() + "_" + return_msg);
+ } else {
+ //退款失败
+ // 添加订单支付记录表
+ orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.no);
+ orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tksb);
+ shopOrderDO.setRemark(shopOrderDO.getRemark() + "_" + return_msg);
+ }
+ comShopFlowerOrderPayDAO.insert(orderPayDO);
}
- comShopFlowerOrderPayDAO.insert(orderPayDO);
+ } catch (Exception e) {
+ log.error("申请退款失败," + e.getMessage());
+ e.printStackTrace();
+ return R.fail("取消订单失败");
}
- } catch (Exception e) {
- log.error("申请退款失败," + e.getMessage());
- e.printStackTrace();
- }
- if (this.baseMapper.updateById(shopOrderDO) > 0) {
- // 添加订单操作记录
- ComShopFlowerOrderOperateDO orderOperateDO = new ComShopFlowerOrderOperateDO();
- orderOperateDO.setOrderNo(shopOrderDO.getOrderNo());
- orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.cancel);
- orderOperateDO.setOperationTime(new Date());
- if (comShopOrderQueryDTO.getIsAdmin()) {
- orderOperateDO.setOperationContent("管理员" + comShopOrderQueryDTO.getOperUserAccount() + "取消订单");
- orderOperateDO.setOperationBy("用户" + comShopOrderQueryDTO.getOperUserAccount());
+ if (this.baseMapper.updateById(shopOrderDO) > 0) {
+ // 添加订单操作记录
+ ComShopFlowerOrderOperateDO orderOperateDO = new ComShopFlowerOrderOperateDO();
+ orderOperateDO.setOrderNo(shopOrderDO.getOrderNo());
+ orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.cancel);
+ orderOperateDO.setOperationTime(new Date());
+ if (comShopOrderQueryDTO.getIsAdmin()) {
+ orderOperateDO.setOperationContent("管理员" + comShopOrderQueryDTO.getOperUserAccount() + "取消订单");
+ orderOperateDO.setOperationBy("用户" + comShopOrderQueryDTO.getOperUserAccount());
+ } else {
+ orderOperateDO.setOperationContent("用户取消订单");
+ orderOperateDO.setOperationBy("用户");
+ }
+ comShopFlowerOrderOperateDAO.insert(orderOperateDO);
+ return R.ok();
} else {
- orderOperateDO.setOperationContent("用户取消订单");
- orderOperateDO.setOperationBy("用户");
+ return R.fail("取消订单失败");
}
- comShopFlowerOrderOperateDAO.insert(orderOperateDO);
- return R.ok();
- } else {
- return R.fail("取消订单失败");
+ }else {
+ return R.fail("该订单不可取消");
}
+
}
@@ -554,6 +591,7 @@
* @return 删除结果
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public R orderDelete(Long orderId) {
// 查询订单
ComShopFlowerOrderDO shopOrderDO = this.baseMapper.selectById(orderId);
@@ -592,7 +630,7 @@
return R.fail("该订单状态不可确认收货");
}
// 订单确认收货
- shopOrderDO.setStatus(ComShopOrderDO.status.ywc);
+ shopOrderDO.setStatus(ComShopFlowerOrderDO.status.dpj);
shopOrderDO.setReceivingTime(new Date());
if (this.baseMapper.updateById(shopOrderDO) > 0) {
// 添加订单操作记录
@@ -614,40 +652,6 @@
}
}
- /**
- * 统计用户订单数量
- *
- * @param userId 用户id
- * @return 统计结果
- */
- @Override
- public R orderStatistics(Long userId) {
- /*OrderStatisticsVO orderStatisticsVO = new OrderStatisticsVO();
- // 待付款订单数
- Integer paymentNum = 0;
- // 待发货订单数
- Integer deliverNum = 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)) {
- paymentNum++;
- } else if (orderDO.getStatus().equals(ComShopOrderDO.status.dfh)) {
- deliverNum++;
- } else if (orderDO.getStatus().equals(ComShopOrderDO.status.dsh)) {
- receivingNum++;
- }
- }
- }
- orderStatisticsVO.setPaymentNum(paymentNum);
- orderStatisticsVO.setDeliverNum(deliverNum);
- orderStatisticsVO.setReceivingNum(receivingNum);
- return R.ok(orderStatisticsVO);*/
- return R.ok();
- }
/**
* 订单发货
@@ -661,7 +665,7 @@
if (comShopOrderDO == null) {
return R.fail("订单不存在");
}
- if (!(comShopOrderDO.getStatus() == 1) || !(comShopOrderDO.getDeliveryStatus() == 1)) {
+ if (!(comShopOrderDO.getStatus() == ComShopFlowerOrderDO.status.dfh) || (comShopOrderDO.getDeliveryStatus() == ComShopFlowerOrderDO.deliveryStatus.yes)) {
return R.fail("订单发货失败,订单状态不允许发货");
}
@@ -682,13 +686,9 @@
orderOperateDO.setOrderNo(comShopOrderDO.getOrderNo());
orderOperateDO.setOperationType(ComShopFlowerOrderOperateDO.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());
- }
+
+ orderOperateDO.setOperationContent(orderShipDTO.getOperUserAccount() + "已发货");
+ orderOperateDO.setOperationBy(orderShipDTO.getOperUserAccount());
int inserted = comShopFlowerOrderOperateDAO.insert(orderOperateDO);
if (inserted != 1) {
log.error("订单发货日志保存错误");
@@ -707,10 +707,7 @@
if (!(comShopOrderDO.getStatus() == 2) || !(comShopOrderDO.getDeliveryStatus() == 1)) {
return R.fail("当前订单不能配送");
}
- /*ComShopStoreDO storeDO = comShopStoreDAO.selectById(comShopOrderDO.getStoreId());
- if (storeDO.getDeliveryType() != 1) {
- return R.fail("该商家不支持通过商家配送");
- }*/
+
comShopOrderDO.setDeliveryStatus(4);
comShopOrderDO.setDeliveryType(1);
comShopOrderDO.setStatus(3);
@@ -752,7 +749,7 @@
return R.fail("订单还未发货");
}
// comShopOrderDO.setStatus(4);
- comShopOrderDO.setDeliveryStatus(5);
+ comShopOrderDO.setDeliveryStatus(2);
int updated = comShopFlowerOrderDAO.updateById(comShopOrderDO);
if (updated == 1) {
// 创建订单操作记录
@@ -776,53 +773,6 @@
return R.fail("操作失败!");
}
- @Override
- public R shopOrderExportData(ComShopOrderExportDTO comShopOrderExportDTO) {
-// Page page = new Page();
-// page.setSize(10000);
-// page.setCurrent(1);
-// IPage<ExcelShopOrderDTO> excelShopOrderDTO = comShopOrderDAO.selectOrderExport(page, comShopOrderExportDTO);
- return R.ok();
- }
-
- @Override
- public R shopOrderFundsExportData(ComShopFundsExportDTO comShopFundsExportDTO) {
-// Page page = new Page();
-// page.setSize(10000);
-// page.setCurrent(1);
-// IPage<ExcelShopFundsDTO> excelShopFundsDTO = comShopOrderDAO.selectFundsExport(page, comShopFundsExportDTO);
- return R.ok(null);
- }
-
- @Override
- public R getFundsStat(Long userId) {
- /* ComShopFundsVO comShopFundsVO = comShopOrderDAO.queryStatis(userId);
- if (comShopFundsVO == null) {
- comShopFundsVO = new ComShopFundsVO();
- comShopFundsVO.setMonthTotal(new BigDecimal(0));
- comShopFundsVO.setTodayTotal(new BigDecimal(0));
- comShopFundsVO.setWeekTotal(new BigDecimal(0));
- }*/
- return R.ok();
- }
-
- @Override
- public R pageShopFunds(PageComShopFundsSearchDTO pageComShopFundsSearchDTO) {
- /*Long pageNum = pageComShopFundsSearchDTO.getPageNum();
- Long pageSize = pageComShopFundsSearchDTO.getPageSize();
- Page page = new Page();
- if (pageNum == null || 0 == pageNum.longValue()) {
- pageNum = 1l;
- }
- if (pageSize == null || 0 == pageSize.longValue()) {
- pageSize = 10l;
- }
- page.setCurrent(pageNum);
- page.setSize(pageSize);
- IPage<ComShopFundsOrderVO> comShopFundsOrderVOIPage =
- comShopOrderDAO.pageShopFunds(page, pageComShopFundsSearchDTO);*/
- return R.ok();
- }
@Override
public R pageShopOrder(PageComShopOrderSearchDTO pageComShopOrderSearchDTO) {
@@ -841,15 +791,6 @@
IPage<ComShopOrderSearchVO> ipage = this.baseMapper.pageOrderBy(page, pageComShopOrderSearchDTO);
return R.ok(ipage);
- }
-
- @Override
- public R capitalDetailByStore(Long id) {
- /*if (id == null) {
- R.fail("订单号不能为空!");
- }
- CapitalDetailVO vo = this.baseMapper.capitalDetailByStore(id);*/
- return R.ok();
}
/**
@@ -874,7 +815,12 @@
log.error("未查询到支付订单,订单回调失败,订单号:" + wxPayNotifyOrderDTO.getOrderTradeNo());
return;
}
- shopOrderDO.setStatus(ComShopFlowerOrderDO.status.ddps);
+ if (ComShopFlowerOrderDO.deliveryType.store == shopOrderDO.getDeliveryType()) {
+ shopOrderDO.setStatus(ComShopFlowerOrderDO.status.ddps);
+ } else {
+ shopOrderDO.setStatus(ComShopFlowerOrderDO.status.dfh);
+ }
+
shopOrderDO.setPayType(ComShopFlowerOrderDO.payType.wx);
shopOrderDO.setPayStatus(ComShopFlowerOrderDO.payStatus.yes);
shopOrderDO.setPayAmount(BigDecimal.valueOf(Double.valueOf(wxPayNotifyOrderDTO.getCashFee()) / 100));
@@ -947,6 +893,8 @@
* @param orderPayDTO 请求参数
* @return 支付对象
*/
+ @Override
+ @Transactional(rollbackFor = Exception.class)
public R wxPay(OrderPayDTO orderPayDTO) {
// 创建返回参数
ComShopFlowerOrderVO shopOrderVO = new ComShopFlowerOrderVO();
@@ -977,32 +925,201 @@
@Override
public R pageOrderByStoreId(PageComFlowerOrderListDTO pageComFlowerOrderListDTO) {
-
Page page = new Page(pageComFlowerOrderListDTO.getPageNum(), pageComFlowerOrderListDTO.getPageSize());
+ IPage<ComShopFlowerOrderStoreListVO> orderPageVOIPage = this.baseMapper.pageOrderByStoreId(page, pageComFlowerOrderListDTO);
+ if (!orderPageVOIPage.getRecords().isEmpty()) {
+ orderPageVOIPage.getRecords().forEach(orderVo -> {
+ if (null != orderVo.getPointId()) {
+ ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(orderVo.getPointId());
+ ConvenientElevatingPointVO convenientElevatingPointVO = new ConvenientElevatingPointVO();
+ BeanUtils.copyProperties(convenientElevatingPointDO, convenientElevatingPointVO);
+ orderVo.setConvenientElevatingPointVO(convenientElevatingPointVO);
- IPage<ComShopFlowerOrderStoreListVO> ipage = this.baseMapper.pageOrderByStoreId(page, pageComFlowerOrderListDTO);
- return R.ok(ipage);
+ }
+ });
+ }
+ return R.ok(orderPageVOIPage);
}
@Override
- public R selectCountByDeliveryType(Integer deliveryType) {
- List<ComShopOrderCountVO> comShopOrderCountVOS = this.baseMapper.selectCountByDeliveryType(deliveryType);
+ public R selectCountByDeliveryType(Integer deliveryType, Long userId) {
+ //1.等待配送 2.配送中 3.待收货 4.待评价 5.已完成 6.已取消 7.已退款 8.待发货
+ String[] statusStr = {"ddps", "psz", "dsh", "dpj", "ywc", "yqx", "ytk", "dfh"};
+ ConvenientMerchantVO convenientMerchantVO = convenientMerchantDAO.selectMerchantByUserId(userId);
+ List<ComShopOrderCountVO> comShopOrderCountVOS = this.baseMapper.selectCountByDeliveryType(deliveryType, convenientMerchantVO.getId());
Map<Integer, Integer> collect = comShopOrderCountVOS.stream().collect(Collectors.toMap(ComShopOrderCountVO::getStatus, ComShopOrderCountVO::getAmount));
- ComShopOrderCountVO comShopOrderCountVO = new ComShopOrderCountVO();
- comShopOrderCountVO.setStatus(8);
- comShopOrderCountVO.setAmount(0);
- for (int i = 1; i < 8; i++) {
+ 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);
- comShopOrderCountVO.setAmount(amount + comShopOrderCountVO.getAmount());
- }else {
- collect.put(i,0);
+ amountTotal = amountTotal + amount;
+ retMap.put(statusStr[i], amount);
+ } else {
+ retMap.put(statusStr[i], 0);
}
}
- collect.put(comShopOrderCountVO.getStatus(),comShopOrderCountVO.getAmount());
+ retMap.put("zdd", amountTotal);
- return R.ok(collect);
+ return R.ok(retMap);
+ }
+
+ @Override
+ public R selectCountByUserId(Long userId) {
+ ConvenientMerchantVO convenientMerchantVO = convenientMerchantDAO.selectMerchantByUserId(userId);
+ Long storeId = convenientMerchantVO.getId();
+ Map<String, Object> retMap = new HashMap<>();
+ //查询我的店铺订单量
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountByStoreId(storeId, null);
+ Map<String, Integer> zddlMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ retMap.put("zddl", zddlMap);
+ //查询我的店铺拼单订单
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS1 = this.baseMapper.selectCountByStoreId(storeId, ComShopFlowerOrderDO.deliveryType.store);
+ Map<String, Integer> pdddMap = comShopOrderStoreIdCountVOS1.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ retMap.put("pddd", pdddMap);
+ //查询我的店铺快递订单
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS2 = this.baseMapper.selectCountByStoreId(storeId, ComShopFlowerOrderDO.deliveryType.express);
+ Map<String, Integer> kdddMap = comShopOrderStoreIdCountVOS2.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ retMap.put("kddd", kdddMap);
+
+ //拼单订单各状态
+ R r = this.selectCountByDeliveryType(ComShopFlowerOrderDO.deliveryType.store, userId);
+ retMap.put("pdddStatus", r.getData());
+
+ //快递订单各状态
+ R r1 = this.selectCountByDeliveryType(ComShopFlowerOrderDO.deliveryType.express, userId);
+ retMap.put("kdddStatus", r1.getData());
+ //营业额
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS3 = this.baseMapper.selectSumAmountByStoreId(storeId);
+ Map<String, Integer> yyeMap = comShopOrderStoreIdCountVOS3.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ retMap.put("yye", yyeMap);
+ //在售商品
+ Integer countSale = comShopFlowerGoodsDAO.selectCountSaleByStoreId(storeId);
+ retMap.put("countSale", countSale);
+ //退款申请
+ Integer refundOrder = comShopFlowerRefundOrderDAO.selectCountByStoreId(storeId);
+ retMap.put("refundOrder", refundOrder);
+
+ return R.ok(retMap);
}
+ /**
+ * 获取商家的营业额和可结算金额
+ *
+ * @param storeId
+ * @return
+ */
+ @Override
+ public R getQuota(Long storeId) {
+ //营业额
+ BigDecimal turnover = this.baseMapper.selectTurnover(storeId);
+ //可结算
+ BigDecimal settlement = this.baseMapper.selectSettlement(storeId);
+
+ Map<String, Object> retMap = new HashMap<>();
+ retMap.put("turnover", turnover);
+ retMap.put("settlement", settlement);
+ return R.ok(retMap);
+
+ }
+
+
+ @Override
+ public R selectSumOrderAndAmountByStoreId(Long storeId) {
+ List<ComShopOrderStoreIdNumVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectSumOrderAndAmountByStoreId(storeId);
+ Map<String, Object> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdNumVO::getCountName, ComShopOrderStoreIdNumVO::getCountNum));
+ return R.ok(retMap);
+ }
+
+ public R selectOrderLineChart(Long storeId, Integer type, Integer tab) {
+ if (tab == 1) {
+ if (1 == type) {
+ //近15天的订单量
+ int days = 15;
+ return getCountByStoreIdAndDays(storeId, days);
+ } else if (2 == type) {
+ //近30天的订单量
+ int days = 30;
+ return getCountByStoreIdAndDays(storeId, days);
+ } else {
+ //今年所有月份订单量
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountOrderMonthByStoreId(storeId);
+ Map<String, Integer> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ List<String> yearMonths = DateUtils.getYearMonths();
+ for (String yearMonth : yearMonths) {
+ if (!retMap.containsKey(yearMonth)) {
+ retMap.put(yearMonth, 0);
+ }
+ }
+ return R.ok(retMap);
+ }
+ } else if (2 == tab) {
+ if (1 == type) {
+ //近15天的营收
+ int days = 15;
+ return getSumByStoreIdAndDays(storeId, days);
+ } else if (2 == type) {
+ //近30天的营收
+ int days = 30;
+ return getSumByStoreIdAndDays(storeId, days);
+ } else {
+ //今年所有月份订单量
+ List<ComShopOrderStoreIdNumVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectOrderSumMonthByStoreId(storeId);
+ Map<String, BigDecimal> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdNumVO::getCountName, ComShopOrderStoreIdNumVO::getCountNum));
+ List<String> yearMonths = DateUtils.getYearMonths();
+ for (String yearMonth : yearMonths) {
+ if (!retMap.containsKey(yearMonth)) {
+ retMap.put(yearMonth, BigDecimal.ZERO);
+ }
+ }
+ return R.ok(retMap);
+ }
+ }
+ return R.ok();
+
+ }
+
+ private R getCountByStoreIdAndDays(Long storeId, int days) {
+ List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountOrderDayByStoreId(storeId, days);
+ Map<String, Integer> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
+ List<String> beforeDays = DateUtils.getBeforeDays(days);
+ for (String beforeDay : beforeDays) {
+ if (!retMap.containsKey(beforeDay)) {
+ retMap.put(beforeDay, 0);
+ }
+ }
+ return R.ok(retMap);
+ }
+
+ private R getSumByStoreIdAndDays(Long storeId, int days) {
+ List<ComShopOrderStoreIdNumVO> comShopOrderStoreIdNumVOS = this.baseMapper.selectOrderSumPayDayByStoreId(storeId, days);
+ Map<String, BigDecimal> retMap = comShopOrderStoreIdNumVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdNumVO::getCountName, ComShopOrderStoreIdNumVO::getCountNum));
+ List<String> beforeDays = DateUtils.getBeforeDays(days);
+ for (String beforeDay : beforeDays) {
+ if (!retMap.containsKey(beforeDay)) {
+ retMap.put(beforeDay, BigDecimal.ZERO);
+ }
+ }
+ return R.ok(retMap);
+ }
+
+ @Override
+ public R pageOrderByDeliveryNo(PageComFlowerOrderListDTO pageComFlowerOrderListDTO) {
+ Page page = new Page(pageComFlowerOrderListDTO.getPageNum(), pageComFlowerOrderListDTO.getPageSize());
+ IPage<ComShopFlowerOrderStoreListVO> orderPageVOIPage = this.baseMapper.pageOrderByDeliveryNo(page, pageComFlowerOrderListDTO);
+ ComShopFlowerOrderDeliveryNoListVO comShopFlowerOrderDeliveryNoListVO = new ComShopFlowerOrderDeliveryNoListVO();
+ ComShopFlowerOrderDeliveryDO comShopFlowerOrderDeliveryDO = comShopFlowerOrderDeliveryDAO.selectById(pageComFlowerOrderListDTO.getDeliveryId());
+ ComShopFlowerOrderDeliveryVO comShopFlowerOrderDeliveryVO = new ComShopFlowerOrderDeliveryVO();
+ BeanUtils.copyProperties(comShopFlowerOrderDeliveryDO, comShopFlowerOrderDeliveryVO);
+
+ Long pointId = comShopFlowerOrderDeliveryDO.getPointId();
+ ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(pointId);
+ ConvenientElevatingPointVO convenientElevatingPointVO = new ConvenientElevatingPointVO();
+ BeanUtils.copyProperties(convenientElevatingPointDO, convenientElevatingPointVO);
+ comShopFlowerOrderDeliveryVO.setConvenientElevatingPointVO(convenientElevatingPointVO);
+ comShopFlowerOrderDeliveryNoListVO.setComShopFlowerOrderDeliveryVO(comShopFlowerOrderDeliveryVO);
+ comShopFlowerOrderDeliveryNoListVO.setPage(orderPageVOIPage);
+ return R.ok(comShopFlowerOrderDeliveryNoListVO);
+ }
}
--
Gitblit v1.7.1