From f3e7ecf643ec517ad93b80a50e63eaab90b6461b Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期二, 07 二月 2023 15:51:22 +0800 Subject: [PATCH] 三说会堂事件搜索修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java | 75 ++++++++++++++++++++++++++++++++++--- 1 files changed, 68 insertions(+), 7 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 89993e9..9bf0c48 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,10 +1,14 @@ package com.panzhihua.service_community.service.impl; +import cn.binarywang.wx.miniapp.api.WxMaService; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; 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.constants.Constants; import com.panzhihua.common.model.dtos.shop.ComShopFlowerRefundOrderDTO; import com.panzhihua.common.model.dtos.shop.ComShopOrderQueryDTO; import com.panzhihua.common.model.dtos.shop.PageComOrderRefundDTO; @@ -13,19 +17,25 @@ 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.model.vos.user.SysUserVO; +import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.OrderNoUtils; import com.panzhihua.common.utlis.WxPayUtils; +import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.wx.WXPayUtil; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComShopFlowerRefundOrderService; +import com.panzhihua.service_community.util.WxMaConfiguration; import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; 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.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; @@ -62,11 +72,16 @@ private ComShopFlowerOrderGoodsDAO comShopFlowerOrderGoodsDAO; @Resource private ComShopFlowerGoodsDAO comShopFlowerGoodsDAO; - @Resource private ComShopFlowerGoodsAttrDAO comShopFlowerGoodsAttrDAO; @Resource private ConvenientMerchantDAO convenientMerchantDAO; + @Resource + private WxMaConfiguration wxMaConfiguration; + @Resource + private UserService userService; + @Resource + private ConvenientElevatingPointDAO convenientElevatingPointDAO; @Override @@ -80,6 +95,19 @@ comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.clz); comShopFlowerRefundOrderDO.setDeleteStatus(ComShopFlowerRefundOrderDO.deleteStatus.no); this.baseMapper.insert(comShopFlowerRefundOrderDO); + //商家接受退款信息 + ConvenientMerchantVO convenientMerchantVO = convenientMerchantDAO.selectMerchantById(comShopFlowerRefundOrderDTO.getStoreId()); + WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID); + R sysUserVOR = userService.getSysUserVOByPhone(convenientMerchantVO.getMobilePhone()); + if (R.isOk(sysUserVOR)) { + SysUserVO sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(sysUserVOR.getData()), SysUserVO.class); + try { + DecimalFormat df = new DecimalFormat("#.00"); + WxUtil.sendNewRefundOrderNotice(sysUserVO.getOpenid(),maService.getAccessToken(),refundOrderNo,df.format(comShopFlowerRefundOrderDO.getRefundAmount()),DateUtil.format(comShopFlowerRefundOrderDO.getRefundTime(),"yyyy-MM-dd HH:mm")); + } catch (WxErrorException e) { + e.printStackTrace(); + } + } return R.ok(); } @@ -89,6 +117,15 @@ IPage<ComShopFlowerRefundOrderVO> pages = this.baseMapper.pageRefundOrder(page, pageComOrderRefundDTO); for (ComShopFlowerRefundOrderVO comShopFlowerRefundOrderVO : pages.getRecords()) { String orderNo = comShopFlowerRefundOrderVO.getOrderNo(); + ComShopFlowerOrderDO comShopFlowerOrderDO = comShopFlowerOrderDAO.selectById(comShopFlowerRefundOrderVO.getOrderId()); + if (nonNull(comShopFlowerOrderDO)){ + comShopFlowerRefundOrderVO.setTotalAmount(comShopFlowerOrderDO.getTotalAmount()); + ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(comShopFlowerOrderDO.getPointId()); + if (nonNull(convenientElevatingPointDO)){ + comShopFlowerRefundOrderVO.setPointName(convenientElevatingPointDO.getName()); + } + } + List<ComShopFlowerOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); // 查询订单下商品信息 List<ComShopFlowerOrderGoodsDO> orderGoodsDOList = comShopFlowerOrderGoodsDAO @@ -101,7 +138,7 @@ orderGoodsVO.setNum(orderGoods.getAmount()); orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); - + orderGoodsVO.setGoodsAttr(orderGoods.getGoodsAttrName()); orderGoodsVOS.add(orderGoodsVO); sbr.append(orderGoods.getGoodsName()).append(" "); }); @@ -110,13 +147,16 @@ comShopFlowerRefundOrderVO.setOrderGoodsVOList(orderGoodsVOS); comShopFlowerRefundOrderVO.setGoodsName(sbr.toString()); - ConvenientMerchantVO shopStoreVO = new ConvenientMerchantVO(); + // 查询店铺信息 +/* ConvenientMerchantVO shopStoreVO = new ConvenientMerchantVO(); ConvenientMerchantDO shopStoreDO = convenientMerchantDAO.selectById(comShopFlowerRefundOrderVO.getStoreId()); if (shopStoreDO != null) { BeanUtils.copyProperties(shopStoreDO, shopStoreVO); } comShopFlowerRefundOrderVO.setConvenientMerchantVO(shopStoreVO); +*/ + } return R.ok(pages); } @@ -128,7 +168,8 @@ if (Objects.isNull(comShopFlowerRefundOrderDO)) { return R.fail("不存在该退款订单"); - } + } ComShopFlowerOrderDO comShopFlowerOrderDO = comShopFlowerOrderDAO.selectById(comShopFlowerRefundOrderDO.getOrderId()); + if (ComShopFlowerRefundOrderDO.handleResult.agree.equals(comShopFlowerRefundOrderDTO.getHandleResult())) { //处理退款事宜 comShopFlowerRefundOrderDO.setRefundTime(new Date()); @@ -137,9 +178,8 @@ //微信处理退款 try { String refundNo = WXPayUtil.generateNonceStr(); - ComShopFlowerOrderDO comShopFlowerOrderDO = comShopFlowerOrderDAO.selectById(comShopFlowerRefundOrderDO.getOrderId()); String refundStr = WxPayUtils.refund(appid, mchId, comShopFlowerOrderDO.getOrderNo(), comShopFlowerRefundOrderDO.getPayAmount(), - comShopFlowerRefundOrderDO.getRefundAmount(), refundNo, isTest); + comShopFlowerRefundOrderDO.getPayAmount(), refundNo, isTest); log.info("退款请求接口返回参数:{}" , refundStr); Map<String, String> mapResult = WXPayUtil.xmlToMap(refundStr); if (CollUtil.isNotEmpty(mapResult)) { @@ -167,13 +207,18 @@ //更新订单状态 comShopFlowerOrderDO.setStatus(ComShopFlowerOrderDO.status.ytk); comShopFlowerOrderDAO.updateById(comShopFlowerOrderDO); + + //退款成功发送消息 + sendRefundNotice(comShopFlowerRefundOrderDO, comShopFlowerOrderDO,"同意退款"); }else { //退款失败 comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); - comShopFlowerRefundOrderDO.setRemark(comShopFlowerRefundOrderDO.getRemark() + "_"+return_msg); + comShopFlowerRefundOrderDO.setRemark(comShopFlowerRefundOrderDO.getRemark() + "_退款失败"); // 添加订单支付记录表 orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.no); orderPayDO.setRefundStatus(ComShopFlowerOrderPayDO.refundStatus.tksb); + //退款失败发送消息 + sendRefundNotice(comShopFlowerRefundOrderDO, comShopFlowerOrderDO,"退款失败"); } comShopFlowerOrderPayDAO.insert(orderPayDO); } @@ -186,11 +231,27 @@ comShopFlowerRefundOrderDO.setHandleTime(new Date()); comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); comShopFlowerRefundOrderDO.setHandleResult(ComShopFlowerRefundOrderDO.handleResult.refuse); + //拒绝退款发送消息 + sendRefundNotice(comShopFlowerRefundOrderDO, comShopFlowerOrderDO,"拒绝退款"); } this.baseMapper.updateById(comShopFlowerRefundOrderDO); return R.ok(); } + private void sendRefundNotice(ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO, ComShopFlowerOrderDO comShopFlowerOrderDO,String msg) { + WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID); + R userOpenId = userService.getUserOpenId(comShopFlowerOrderDO.getUserId()); + if (R.isOk(userOpenId)) { + String openid = userOpenId.getData().toString(); + try { + DecimalFormat df = new DecimalFormat("#.00"); + WxUtil.sendRefundNotice(openid,maService.getAccessToken(),comShopFlowerRefundOrderDO.getRefundOrderNo(),df.format(comShopFlowerRefundOrderDO.getRefundAmount()),msg); + } catch (WxErrorException e) { + e.printStackTrace(); + } + } + } + @Override public R selectCountGroupStatus(Long storeId){ String[] statusStr = {"clz","tkcg","tksb","yqx","tkz"}; -- Gitblit v1.7.1