From 910dc5032ce1826f8d751a031cd3619a2227d1b9 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期五, 25 十一月 2022 14:48:33 +0800 Subject: [PATCH] 三说会堂事件统计修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++------- 1 files changed, 68 insertions(+), 14 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 feeac7a..adccd32 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,5 +1,6 @@ package com.panzhihua.service_community.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -7,12 +8,15 @@ import com.panzhihua.common.model.dtos.shop.PageComOrderRefundDTO; import com.panzhihua.common.model.vos.R; 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.service.ComShopFlowerRefundOrderService; import lombok.extern.slf4j.Slf4j; @@ -21,8 +25,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Date; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; /** * @ClassName: ComShopFlowerRefundOrderServiceImpl @@ -35,19 +39,21 @@ public class ComShopFlowerRefundOrderServiceImpl extends ServiceImpl<ComShopFlowerRefundOrderDAO, ComShopFlowerRefundOrderDO> implements ComShopFlowerRefundOrderService { - @Value("${hc_min.app.isTest}") + @Value("${hcMin.app.isTest}") private Boolean isTest; - @Value("${hc_min.app.appid}") + @Value("${hcMin.app.appid}") private String appid; - @Value("${hc_min.app.payKey}") + @Value("${hcMin.app.payKey}") private String payKey; - @Value("${hc_min.app.mchId}") + @Value("${hcMin.app.mchId}") private String mchId; - @Value("${hc_min.app.notifyUrl}") + @Value("${hcMin.app.notifyUrl}") private String notifyUrl; @Resource private ComShopFlowerOrderDAO comShopFlowerOrderDAO; + @Resource + private ComShopFlowerOrderPayDAO comShopFlowerOrderPayDAO; @Override @@ -73,6 +79,7 @@ @Override public R updateRefundOrder(ComShopFlowerRefundOrderDTO comShopFlowerRefundOrderDTO) { ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = this.baseMapper.selectById(comShopFlowerRefundOrderDTO.getId()); + if (Objects.isNull(comShopFlowerRefundOrderDO)) { return R.fail("不存在该退款订单"); } @@ -80,19 +87,49 @@ //处理退款事宜 comShopFlowerRefundOrderDO.setRefundTime(new Date()); comShopFlowerRefundOrderDO.setHandleTime(new Date()); - + comShopFlowerRefundOrderDO.setHandleResult(ComShopFlowerRefundOrderDO.handleResult.agree); //微信处理退款 try { String refundNo = WXPayUtil.generateNonceStr(); ComShopFlowerOrderDO comShopFlowerOrderDO = comShopFlowerOrderDAO.selectById(comShopFlowerRefundOrderDO.getOrderId()); String refundStr = WxPayUtils.refund(appid, mchId, comShopFlowerOrderDO.getWxTardeNo(), comShopFlowerRefundOrderDO.getPayAmount(), comShopFlowerRefundOrderDO.getRefundAmount(), refundNo, isTest); - log.info(refundStr); - comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tkcg); - comShopFlowerRefundOrderDO.setHandleResult(ComShopFlowerRefundOrderDO.handleResult.agree); + 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(comShopFlowerOrderDO.getOrderNo()); + orderPayDO.setOrderAmount(comShopFlowerOrderDO.getTotalAmount()); + orderPayDO.setPayTime(new Date()); + orderPayDO.setStoreId(comShopFlowerOrderDO.getStoreId()); + orderPayDO.setDeliveryType(comShopFlowerOrderDO.getDeliveryType()); + orderPayDO.setOrderId(comShopFlowerOrderDO.getId()); + orderPayDO.setPayType(ComShopFlowerOrderPayDO.payType.tk); + orderPayDO.setRefundOrderNo(comShopFlowerRefundOrderDO.getRefundOrderNo()); + orderPayDO.setPayAmount(comShopFlowerRefundOrderDO.getRefundAmount()); + if ("SUCCESS".equals(return_code) && return_code.equals(result_code)) { + //退款成功 + comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tkcg); + // 添加订单支付记录表 +// orderPayDO.setWxTradeNo(wxPayNotifyOrderDTO.getWxTradeNo()); + orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.yes); + orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tkcg); + }else { + //退款失败 + comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); + comShopFlowerRefundOrderDO.setRemark(comShopFlowerRefundOrderDO.getRemark() + "_"+return_msg); + // 添加订单支付记录表 + orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.no); + orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tksb); + } + comShopFlowerOrderPayDAO.insert(orderPayDO); + } } catch (Exception e) { - log.error(e.getMessage()); + log.error("申请退款失败,"+e.getMessage()); e.printStackTrace(); } @@ -101,9 +138,26 @@ comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); comShopFlowerRefundOrderDO.setHandleResult(ComShopFlowerRefundOrderDO.handleResult.refuse); } - this.baseMapper.updateById(comShopFlowerRefundOrderDO); - return R.ok(); } + + 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); + } } -- Gitblit v1.7.1