From b30e1a48f2bc5f65a0efd2e69e090fed2d7a627c Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期四, 17 十一月 2022 15:56:43 +0800 Subject: [PATCH] #feat 订单退款和查询 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopFlowerOrderPayDO.java | 6 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComShopFlowerOrderDAO.xml | 10 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java | 186 ++++++++++++++-------- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerRefundOrderServiceImpl.java | 59 +++++- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopFlowerOrderService.java | 7 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 27 +++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderCountVO.java | 31 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopFlowerApi.java | 9 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java | 3 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ShopFlowerApi.java | 23 +- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java | 5 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopFlowerOrderDAO.java | 8 + springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java | 70 ++++++++ 13 files changed, 348 insertions(+), 96 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java index edb9839..25ee016 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java @@ -348,4 +348,74 @@ public R settle(String settleDate){ return R.ok(umfPayUtil.settle(settleDate)); } + + + @PostMapping("flowerWxNotify") + public void flowerWxNotify(HttpServletRequest request, HttpServletResponse response) { + log.error("微信支付回调start"); + String inputLine = ""; + String notityXml = ""; + try { + while ((inputLine = request.getReader().readLine()) != null) { + notityXml += inputLine; + } + // 关闭流 + request.getReader().close(); + log.error("微信回调内容信息:" + notityXml); + // 解析成Json + org.json.JSONObject xmlJson = XML.toJSONObject(notityXml); + if (StringUtils.isNotEmpty(xmlJson.toString())) { + JSONObject resultData = JSON.parseObject(xmlJson.get("xml").toString()); + // 成功支付订单 + if (resultData.getString("result_code").equals("SUCCESS") + && resultData.getString("return_code").equals("SUCCESS")) { + WxPayNotifyOrderDTO notifyOrderDTO = new WxPayNotifyOrderDTO(); + // 订单号 + String orderTradeNo = resultData.getString("out_trade_no"); + notifyOrderDTO.setOrderTradeNo(orderTradeNo); + // 微信支付订单号 + String wxTradeNo = resultData.getString("transaction_id"); + notifyOrderDTO.setWxTradeNo(wxTradeNo); + // 订单金额 + String totalFee = resultData.getString("total_fee"); + notifyOrderDTO.setTotalFee(totalFee); + // 支付完成时间 + String payTime = resultData.getString("time_end"); + notifyOrderDTO.setPayTime(payTime); + // 现金支付金额 + String cashFee = resultData.getString("cash_fee"); + notifyOrderDTO.setCashFee(cashFee); + + // 根据订单号修改订单信息 + communityService.wxOrderPayNotify(notifyOrderDTO); + + // 封装 返回值 + StringBuffer buffer = new StringBuffer(); + buffer.append("<xml>"); + buffer.append("<return_code>SUCCESS</return_code>"); + buffer.append("<return_msg>OK</return_msg>"); + buffer.append("</xml>"); + + // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功 + PrintWriter writer = response.getWriter(); + // 返回 + writer.print(buffer.toString()); + } else {// 未成功支付订单 + // 封装 返回值 + StringBuffer buffer = new StringBuffer(); + buffer.append("<xml>"); + buffer.append("<return_code>FAIL</return_code>"); + buffer.append("<return_msg>FAIL</return_msg>"); + buffer.append("</xml>"); + + // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功 + PrintWriter writer = response.getWriter(); + // 返回 + writer.print(buffer.toString()); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java index 2b6f4c8..b02afe2 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java @@ -28,7 +28,7 @@ private String goodsName; @ApiModelProperty(value = "店铺名称", example = "小二的店") private String storeName; - @ApiModelProperty(value = "订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消)", example = "1") + @ApiModelProperty(value = "订单状态(1.等待配送 2.配送中 3.待收货 4.待评价 5.已完成 6.已取消 7.已退款)", example = "1") private Integer status; @ApiModelProperty(value = "下单时间-开始", example = "2021-4-10 10:38:25") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -46,4 +46,7 @@ private Long storeId; @ApiModelProperty(hidden = true) private Long storeUserId; + + @ApiModelProperty("配送方式(1.自提 2.快递)") + private Integer deliveryType; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderCountVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderCountVO.java new file mode 100644 index 0000000..815ea72 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderCountVO.java @@ -0,0 +1,31 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @auther yh + * @create 2022-11-08 17:25:45 + * @describe 统计订单数VO + */ +@Data +@ApiModel("统计订单数VO") +public class ComShopOrderCountVO { + + + + /** + * 订单状态(1.等待配送 2.配送中 3.待收货 4.待评价 5.已完成 6.已取消 7.已退款) + */ + @ApiModelProperty("订单状态(1.等待配送 2.配送中 3.待收货 4.待评价 5.已完成 6.已取消 7.已退款 8.总订单)") + private Integer status; + + /** + * 订单数量 + */ + @ApiModelProperty("订单数量") + private Integer amount; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java index ca73e19..e89e7b1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java @@ -94,4 +94,7 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; + + private String address; + } \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index 2d0617e..411a6d5 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -10954,4 +10954,31 @@ */ @PostMapping("/shopFlower/pageOrderByStoreId") R pageOrderByStoreId(@RequestBody PageComFlowerOrderListDTO pageComFlowerOrderListDTO); + + /** + * 微信支付订单回调 + * + * @param wxPayNotifyOrderDTO + * 订单支付回调参数 + */ + @PostMapping("/shopFlower/wxOrderPayNotify") + void wxOrderPayNotifyFlower(@RequestBody WxPayNotifyOrderDTO wxPayNotifyOrderDTO); + + /** + * 点击去支付订单 + * + * @param orderPayDTO + * 请求参数 + * @return 支付对象 + */ + @PostMapping("/shopFlower/wxPay") + R wxPayFlower(@RequestBody OrderPayDTO orderPayDTO); + + /** + * 统计查询订单数量 + * @param deliveryType + * @return + */ + @GetMapping("/shopFlower/selectCountByDeliveryType") + R selectCountByDeliveryType(Integer deliveryType); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ShopFlowerApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ShopFlowerApi.java index ba27d7e..5a4bdd6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ShopFlowerApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ShopFlowerApi.java @@ -3,10 +3,10 @@ import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO; import com.panzhihua.common.model.dtos.shop.PageComShopFlowerGoodsDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; -import com.panzhihua.common.model.vos.shop.AddShopFlowerGoodsVO; -import com.panzhihua.common.model.vos.shop.PageShopGoodsVO; +import com.panzhihua.common.model.vos.shop.*; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.validated.AddGroup; @@ -104,22 +104,25 @@ return communityService.getAllGoodsCategories(); } - /*@ApiOperation(value = "订单_分页列表", response = ComShopOrderSearchVO.class) + @GetMapping("/order/selectCountByDeliveryType") + public R selectCountByDeliveryType(Integer deliveryType){ + return communityService.selectCountByDeliveryType(deliveryType); + } + + @ApiOperation(value = "商家查询 订单_分页列表", response = ComShopOrderSearchVO.class) @PostMapping("/order/page") public R page(@RequestBody @Validated PageComShopOrderSearchDTO pageComShopOrderSearchDTO) { - // pageComShopOrderSearchDTO.setUserId(this.getUserId()); - ClazzUtils.setIfStringIsEmpty(pageComShopOrderSearchDTO); - return communityService.pageShopOrder(pageComShopOrderSearchDTO); + pageComShopOrderSearchDTO.setStoreUserId(this.getUserId()); + return communityService.pageShopOrderFlower(pageComShopOrderSearchDTO); } - @ApiOperation(value = "订单_详细", response = ComShopOrderPageVO.class) + @ApiOperation(value = "订单_详细", response = ComShopFlowerOrderPageVO.class) @GetMapping("/order/detail") - @ShopOperLog(operType = 11) public R detail(@RequestParam("orderId") Long orderId) { - return communityService.orderDetail(orderId); + return communityService.orderDetailFlower(orderId); } - @ApiOperation(value = "订单_导出表格") + /*@ApiOperation(value = "订单_导出表格") @PostMapping("/order/export") @ShopOperLog(operType = 12) public R export(@RequestBody ComShopOrderExportDTO comShopOrderExportDTO) { diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopFlowerApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopFlowerApi.java index cd76cd9..3c959cf 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopFlowerApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopFlowerApi.java @@ -409,7 +409,7 @@ * 订单支付回调参数 */ @PostMapping("/wxOrderPayNotify") - public void wxOrderPayNotify(@RequestBody WxPayNotifyOrderDTO wxPayNotifyOrderDTO) { + public void wxOrderPayNotifyFlower(@RequestBody WxPayNotifyOrderDTO wxPayNotifyOrderDTO) { comShopFlowerOrderService.wxOrderPayNotify(wxPayNotifyOrderDTO); } @@ -421,10 +421,15 @@ * @return 支付对象 */ @PostMapping("/wxPay") - public R wxPay(@RequestBody OrderPayDTO orderPayDTO) { + public R wxPayFlower(@RequestBody OrderPayDTO orderPayDTO) { return comShopFlowerOrderService.wxPay(orderPayDTO); } + @GetMapping("/selectCountByDeliveryType") + public R selectCountByDeliveryType(Integer deliveryType){ + return comShopFlowerOrderService.selectCountByDeliveryType(deliveryType); + } + /** * 统计用户订单数量 diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopFlowerOrderDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopFlowerOrderDAO.java index 94cdbd1..361e333 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopFlowerOrderDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopFlowerOrderDAO.java @@ -7,6 +7,7 @@ import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; import com.panzhihua.common.model.vos.shop.ComShopFlowerOrderPageVO; import com.panzhihua.common.model.vos.shop.ComShopFlowerOrderStoreListVO; +import com.panzhihua.common.model.vos.shop.ComShopOrderCountVO; import com.panzhihua.common.model.vos.shop.ComShopOrderSearchVO; import com.panzhihua.service_community.model.dos.ComShopFlowerOrderDO; import org.apache.ibatis.annotations.Mapper; @@ -58,4 +59,11 @@ void updateOrderStatus(@Param("deliveryId") Long deliveryId, @Param("serviceTime") Date serviceTime, @Param("status") int status); IPage<ComShopFlowerOrderStoreListVO> pageOrderByStoreId(@Param("page") Page page,@Param("comOrderListDTO") PageComFlowerOrderListDTO comOrderListDTO); + + /** + * 根据类型统计订单数量 + * @param deliveryType + * @return + */ + List<ComShopOrderCountVO> selectCountByDeliveryType(@Param("deliveryType") Integer deliveryType); } \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopFlowerOrderPayDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopFlowerOrderPayDO.java index d725d0c..c08eb16 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopFlowerOrderPayDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopFlowerOrderPayDO.java @@ -88,7 +88,7 @@ /** * 原始订单id */ - private String orderId; + private Long orderId; /** * 退款订单号 */ @@ -96,11 +96,11 @@ /** * 退款状态(1.处理中 2.退款成功 3.退款失败 4.已取消 5.退款中) */ - private String refundStatus; + private Integer refundStatus; /** * 类型(1.支付 2.退款 3.取消) */ - private String payType; + private Integer payType; /** * 支付状态(1.未支付 2.已支付) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopFlowerOrderService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopFlowerOrderService.java index 0ef99ce..96145ee 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopFlowerOrderService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopFlowerOrderService.java @@ -191,4 +191,11 @@ * @return */ R pageOrderByStoreId(PageComFlowerOrderListDTO pageComFlowerOrderListDTO); + + /** + * 查询订单总数 + * @param deliveryType + * @return + */ + R selectCountByDeliveryType(Integer deliveryType); } 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 95fe246..b79f608 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,5 +1,6 @@ package com.panzhihua.service_community.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -14,6 +15,7 @@ import com.panzhihua.common.utlis.OrderNoUtils; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.common.utlis.WxPayUtils; +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.ComShopFlowerOrderService; @@ -26,10 +28,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; import static java.util.Objects.nonNull; @@ -41,7 +41,7 @@ @Slf4j @Service public class ComShopFlowerOrderServiceImpl extends ServiceImpl<ComShopFlowerOrderDAO, ComShopFlowerOrderDO> - implements ComShopFlowerOrderService { + implements ComShopFlowerOrderService { @Resource private ComShopFlowerGoodsDAO comShopFlowerGoodsDAO; @@ -67,22 +67,21 @@ private ComShopFlowerEvaluateDAO comShopFlowerEvaluateDAO; - @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; /** * 订单预览 * - * @param orderPreviewDTO - * 请求参数 + * @param orderPreviewDTO 请求参数 * @return 订单预览数据 */ @Override @@ -99,8 +98,8 @@ if (orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.details)) {// 详情页提交 // 查询商品信息 ComShopFlowerGoodsDO goodsDO = - comShopFlowerGoodsDAO.selectOne(new QueryWrapper<ComShopFlowerGoodsDO>().eq("id", orderPreviewDTO.getGoodsId()) - .eq("status", ComShopGoodsDO.status.sell).eq("delete_status", ComShopGoodsDO.deleteStatus.no)); + comShopFlowerGoodsDAO.selectOne(new QueryWrapper<ComShopFlowerGoodsDO>().eq("id", orderPreviewDTO.getGoodsId()) + .eq("status", ComShopGoodsDO.status.sell).eq("delete_status", ComShopGoodsDO.deleteStatus.no)); if (goodsDO == null) { return R.fail("商品已下架或已删除"); } @@ -112,7 +111,7 @@ if (goodsAttrDO == null) { return R.fail("商品规格不存在"); } - if (goodsAttrDO.getSale() < orderPreviewDTO.getBuyNum()){ + if (goodsAttrDO.getSale() < orderPreviewDTO.getBuyNum()) { return R.fail("该规格库存不足,无法下单"); } @@ -168,8 +167,8 @@ // 查询默认收货地址 ComShopFlowerUserAddressDO userDefaultAddressDO = - comShopFlowerUserAddressDAO.selectOne(new QueryWrapper<ComShopFlowerUserAddressDO>().eq("delete_status", 2) - .eq("user_id", orderPreviewDTO.getUserId()).eq("is_default", ComShopUserAddressDO.isDefault.yes)); + comShopFlowerUserAddressDAO.selectOne(new QueryWrapper<ComShopFlowerUserAddressDO>().eq("delete_status", 2) + .eq("user_id", orderPreviewDTO.getUserId()).eq("is_default", ComShopUserAddressDO.isDefault.yes)); // 查询用户收货地址中的默认地址 if (userDefaultAddressDO != null) { @@ -180,10 +179,10 @@ // 查询上次购买记录的收货地址 // 查询到用户上一笔订单 List<ComShopFlowerOrderDO> shopOrders = this.baseMapper.selectList(new QueryWrapper<ComShopFlowerOrderDO>() - .eq("delete_status", 2).eq("user_id", orderPreviewDTO.getUserId()).orderByDesc("create_at")); + .eq("delete_status", 2).eq("user_id", orderPreviewDTO.getUserId()).orderByDesc("create_at")); if (shopOrders != null && shopOrders.size() > 0) { ComShopFlowerUserAddressDO userAddressDO = - comShopFlowerUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); + comShopFlowerUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); if (userAddressDO != null) { ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); BeanUtils.copyProperties(userAddressDO, userAddressVO); @@ -198,8 +197,7 @@ /** * 创建订单 * - * @param orderCreateDTO - * 创建订单请求参数 + * @param orderCreateDTO 创建订单请求参数 * @return 创建结果 */ @Transactional(rollbackFor = Exception.class) @@ -228,8 +226,8 @@ for (ComShopOrderCreateGoodsDTO createGoodsDTO : orderCreateDTO.getOrderGoodsList()) { // 查询当前商品信息 ComShopFlowerGoodsDO goodsDO = - comShopFlowerGoodsDAO.selectOne(new QueryWrapper<ComShopFlowerGoodsDO>().eq("id", createGoodsDTO.getGoodsId()) - .eq("delete_status", ComShopGoodsDO.deleteStatus.no).eq("status", ComShopGoodsDO.status.sell)); + comShopFlowerGoodsDAO.selectOne(new QueryWrapper<ComShopFlowerGoodsDO>().eq("id", createGoodsDTO.getGoodsId()) + .eq("delete_status", ComShopGoodsDO.deleteStatus.no).eq("status", ComShopGoodsDO.status.sell)); if (goodsDO == null) { log.error("未查询到商品信息,商品已下架活已删除,商品id" + createGoodsDTO.getGoodsId()); continue; @@ -247,11 +245,11 @@ ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(createGoodsDTO.getGoodsAttrId()); if (goodsAttrDO == null) { log.error( - "未查询到商品规格信息,商品id" + createGoodsDTO.getGoodsId() + "商品规格id:" + createGoodsDTO.getGoodsAttrId()); + "未查询到商品规格信息,商品id" + createGoodsDTO.getGoodsId() + "商品规格id:" + createGoodsDTO.getGoodsAttrId()); continue; } - if (goodsAttrDO.getSale() < createGoodsDTO.getNum()){ + if (goodsAttrDO.getSale() < createGoodsDTO.getNum()) { return R.fail("该规格库存不足,无法下单"); } orderGoodsDO.setGoodsAttrId(goodsAttrDO.getId()); @@ -263,7 +261,7 @@ orderGoodsDOList.add(orderGoodsDO); // 将商品金额计算到订单总金额 orderTotal = orderTotal - .add(orderGoodsDO.getGoodsAttrPrice().multiply(BigDecimal.valueOf(orderGoodsDO.getAmount()))); + .add(orderGoodsDO.getGoodsAttrPrice().multiply(BigDecimal.valueOf(orderGoodsDO.getAmount()))); } } // 如果是购物车提交,需要将购物车内商品移除 @@ -317,7 +315,7 @@ } // 调用wx支付 String xml = WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "商品购买", orderCreateDTO.getOpenId(), - orderNo, money,null); + orderNo, money, null); log.info("微信支付返回参数:" + xml); shopOrderVO.setPayResult(xml); } catch (Exception e) { @@ -329,8 +327,7 @@ /** * 分页查询用户订单列表 * - * @param comOrderListDTO - * 请求参数 + * @param comOrderListDTO 请求参数 * @return 查询结果 */ @Override @@ -342,7 +339,7 @@ List<ComShopFlowerOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); // 查询订单下商品信息 List<ComShopFlowerOrderGoodsDO> orderGoodsDOList = comShopFlowerOrderGoodsDAO - .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no", orderVo.getOrderNo())); + .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no", orderVo.getOrderNo())); if (!orderGoodsDOList.isEmpty()) { orderGoodsDOList.forEach(orderGoods -> { ComShopFlowerOrderGoodsVO orderGoodsVO = new ComShopFlowerOrderGoodsVO(); @@ -375,8 +372,7 @@ /** * 根据订单id查询订单详情 * - * @param orderId - * 订单id + * @param orderId 订单id * @return 订单详情 */ @Override @@ -402,7 +398,7 @@ List<ComShopFlowerOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); // 查询订单下商品信息 List<ComShopFlowerOrderGoodsDO> orderGoodsDOList = comShopFlowerOrderGoodsDAO - .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no", shopOrderDO.getOrderNo())); + .selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().eq("order_no", shopOrderDO.getOrderNo())); StringBuilder sbr = new StringBuilder(); if (!orderGoodsDOList.isEmpty()) { orderGoodsDOList.forEach(orderGoods -> { @@ -414,7 +410,7 @@ // 查询商品信息判断商品状态 ComShopFlowerGoodsDO goodsDO = comShopFlowerGoodsDAO.selectById(orderGoods.getGoodsId()); if (goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.deleteStatus.yes) - || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.status.recovery)) { + || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.status.recovery)) { orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.ysc); } else if (goodsDO.getStatus().equals(ComShopFlowerGoodsDO.status.lower)) { orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.yxj); @@ -428,7 +424,7 @@ orderGoodsVO.setGoodsAttr(goodsAttrDO.getGoodsAttrName()); } orderGoodsVOS.add(orderGoodsVO); - sbr.append(orderGoods.getGoodsName() + " "); + sbr.append(orderGoods.getGoodsName()).append(" "); }); } orderVO.setOrderGoodsVOList(orderGoodsVOS); @@ -444,8 +440,8 @@ // 操作日志 List<ComShopFlowerOrderOperateDO> listOperLog = - comShopFlowerOrderOperateDAO.selectList(new LambdaQueryWrapper<ComShopFlowerOrderOperateDO>() - .eq(ComShopFlowerOrderOperateDO::getOrderNo, shopOrderDO.getOrderNo())); + comShopFlowerOrderOperateDAO.selectList(new LambdaQueryWrapper<ComShopFlowerOrderOperateDO>() + .eq(ComShopFlowerOrderOperateDO::getOrderNo, shopOrderDO.getOrderNo())); List<ComShopFlowerOrderOperateVO> listOperLogVO = new ArrayList<>(listOperLog.size()); listOperLog.forEach(logDO -> { ComShopFlowerOrderOperateVO copyVO = new ComShopFlowerOrderOperateVO(); @@ -454,20 +450,19 @@ }); orderVO.setLogs(listOperLogVO); Long pointId = shopOrderDO.getPointId(); - if (null!= pointId){ + if (null != pointId) { ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(pointId); ConvenientElevatingPointVO convenientElevatingPointVO = new ConvenientElevatingPointVO(); - BeanUtils.copyProperties(convenientElevatingPointVO,convenientElevatingPointDO); + BeanUtils.copyProperties(convenientElevatingPointVO, convenientElevatingPointDO); orderVO.setConvenientElevatingPointVO(convenientElevatingPointVO); } //已完成、已退款才有评论 - if (ComShopFlowerOrderDO.status.ywc == shopOrderDO.getStatus() || ComShopFlowerOrderDO.status.ytk == shopOrderDO.getStatus()){ - ComShopFlowerEvaluateVO comShopFlowerEvaluateVO = comShopFlowerEvaluateDAO.selectByOrderNo(shopOrderDO.getOrderNo()); - if (nonNull(comShopFlowerEvaluateVO)){ + if (ComShopFlowerOrderDO.status.ywc == shopOrderDO.getStatus() || ComShopFlowerOrderDO.status.ytk == shopOrderDO.getStatus()) { + ComShopFlowerEvaluateVO comShopFlowerEvaluateVO = comShopFlowerEvaluateDAO.selectByOrderNo(shopOrderDO.getOrderNo()); + if (nonNull(comShopFlowerEvaluateVO)) { orderVO.setComShopFlowerEvaluateVO(comShopFlowerEvaluateVO); } } - return R.ok(orderVO); @@ -476,8 +471,7 @@ /** * 根据订单id取消订单 * - * @param comShopOrderQueryDTO - * 订单信息 + * @param comShopOrderQueryDTO 订单信息 * @return 取消结果 */ @Transactional(rollbackFor = Exception.class) @@ -493,6 +487,45 @@ } // 取消订单 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(); + + 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); + } + comShopFlowerOrderPayDAO.insert(orderPayDO); + } + } catch (Exception e) { + log.error("申请退款失败," + e.getMessage()); + e.printStackTrace(); + } if (this.baseMapper.updateById(shopOrderDO) > 0) { // 添加订单操作记录 ComShopFlowerOrderOperateDO orderOperateDO = new ComShopFlowerOrderOperateDO(); @@ -517,8 +550,7 @@ /** * 根据订单id删除订单 * - * @param orderId - * 订单id + * @param orderId 订单id * @return 删除结果 */ @Override @@ -529,7 +561,7 @@ return R.fail("未查询到订单"); } if (!shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.ywc) - && !shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.yqx)) { + && !shopOrderDO.getStatus().equals(ComShopFlowerOrderDO.status.yqx)) { return R.fail("该订单状态不可删除"); } @@ -544,10 +576,8 @@ /** * 根据订单id确认收货 * - * @param orderId - * 订单id - * @param phone - * 手机号 + * @param orderId 订单id + * @param phone 手机号 * @return 确认结果 */ @Transactional(rollbackFor = Exception.class) @@ -587,8 +617,7 @@ /** * 统计用户订单数量 * - * @param userId - * 用户id + * @param userId 用户id * @return 统计结果 */ @Override @@ -623,8 +652,7 @@ /** * 订单发货 * - * @param orderShipDTO - * 订单发货信息 + * @param orderShipDTO 订单发货信息 * @return 发货结果 */ @Override @@ -827,8 +855,7 @@ /** * 微信支付订单回调 * - * @param wxPayNotifyOrderDTO - * 订单支付回调参数 + * @param wxPayNotifyOrderDTO 订单支付回调参数 */ @Transactional(rollbackFor = Exception.class) @Override @@ -842,7 +869,7 @@ log.info("微信订单支付回调开始查询订单"); // 查询订单 ComShopFlowerOrderDO shopOrderDO = this.baseMapper.selectOne(new QueryWrapper<ComShopFlowerOrderDO>().lambda() - .eq(ComShopFlowerOrderDO::getOrderNo, wxPayNotifyOrderDTO.getOrderTradeNo())); + .eq(ComShopFlowerOrderDO::getOrderNo, wxPayNotifyOrderDTO.getOrderTradeNo())); if (shopOrderDO == null) { log.error("未查询到支付订单,订单回调失败,订单号:" + wxPayNotifyOrderDTO.getOrderTradeNo()); return; @@ -853,13 +880,13 @@ shopOrderDO.setPayAmount(BigDecimal.valueOf(Double.valueOf(wxPayNotifyOrderDTO.getCashFee()) / 100)); shopOrderDO.setWxTardeNo(wxPayNotifyOrderDTO.getWxTradeNo()); shopOrderDO.setPayTime( - DateUtils.stringToDate(wxPayNotifyOrderDTO.getPayTime(), new SimpleDateFormat("yyyyMMddHHmmss"))); + DateUtils.stringToDate(wxPayNotifyOrderDTO.getPayTime(), new SimpleDateFormat("yyyyMMddHHmmss"))); this.baseMapper.updateById(shopOrderDO); // 查询订单商品 List<ComShopFlowerOrderGoodsDO> orderGoodsList = - comShopFlowerOrderGoodsDAO.selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().lambda() - .eq(ComShopFlowerOrderGoodsDO::getOrderNo, shopOrderDO.getOrderNo())); + comShopFlowerOrderGoodsDAO.selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().lambda() + .eq(ComShopFlowerOrderGoodsDO::getOrderNo, shopOrderDO.getOrderNo())); if (!orderGoodsList.isEmpty()) { int goodsNub = 0; for (ComShopFlowerOrderGoodsDO orderGood : orderGoodsList) { @@ -907,14 +934,17 @@ orderPayDO.setPayStatus(ComShopFlowerOrderPayDO.payStatus.yes); orderPayDO.setPayAmount(shopOrderDO.getPayAmount()); orderPayDO.setPayTime(shopOrderDO.getPayTime()); + orderPayDO.setStoreId(shopOrderDO.getStoreId()); + orderPayDO.setDeliveryType(shopOrderDO.getDeliveryType()); + orderPayDO.setOrderId(shopOrderDO.getId()); + orderPayDO.setPayType(ComShopFlowerOrderPayDO.payType.zf); comShopFlowerOrderPayDAO.insert(orderPayDO); } /** * 订单去支付 * - * @param orderPayDTO - * 请求参数 + * @param orderPayDTO 请求参数 * @return 支付对象 */ public R wxPay(OrderPayDTO orderPayDTO) { @@ -922,7 +952,7 @@ ComShopFlowerOrderVO shopOrderVO = new ComShopFlowerOrderVO(); // 查询订单 ComShopFlowerOrderDO orderDO = comShopFlowerOrderDAO.selectOne( - new QueryWrapper<ComShopFlowerOrderDO>().lambda().eq(ComShopFlowerOrderDO::getOrderNo, orderPayDTO.getOrderNo())); + new QueryWrapper<ComShopFlowerOrderDO>().lambda().eq(ComShopFlowerOrderDO::getOrderNo, orderPayDTO.getOrderNo())); if (orderDO == null) { return R.fail("订单不存在"); } @@ -933,7 +963,7 @@ } // 调用wx支付 String xml = WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "商品购买", orderPayDTO.getOpenId(), - orderDO.getOrderNo(), money,null); + orderDO.getOrderNo(), money, null); log.info("微信支付返回参数:" + xml); shopOrderVO.setPayResult(xml); } catch (Exception e) { @@ -948,9 +978,31 @@ @Override public R pageOrderByStoreId(PageComFlowerOrderListDTO pageComFlowerOrderListDTO) { - Page page = new Page(pageComFlowerOrderListDTO.getPageNum(),pageComFlowerOrderListDTO.getPageSize()); + Page page = new Page(pageComFlowerOrderListDTO.getPageNum(), pageComFlowerOrderListDTO.getPageSize()); IPage<ComShopFlowerOrderStoreListVO> ipage = this.baseMapper.pageOrderByStoreId(page, pageComFlowerOrderListDTO); return R.ok(ipage); } + + @Override + public R selectCountByDeliveryType(Integer deliveryType) { + List<ComShopOrderCountVO> comShopOrderCountVOS = this.baseMapper.selectCountByDeliveryType(deliveryType); + 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++) { + if (collect.containsKey(i)) { + Integer amount = collect.get(i); + comShopOrderCountVO.setAmount(amount + comShopOrderCountVO.getAmount()); + }else { + collect.put(i,0); + } + } + collect.put(comShopOrderCountVO.getStatus(),comShopOrderCountVO.getAmount()); + + return R.ok(collect); + } + + } 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..b6595b3 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; @@ -11,8 +12,10 @@ 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; @@ -22,6 +25,7 @@ import javax.annotation.Resource; import java.util.Date; +import java.util.Map; import java.util.Objects; /** @@ -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,7 @@ comShopFlowerRefundOrderDO.setStatus(ComShopFlowerRefundOrderDO.status.tksb); comShopFlowerRefundOrderDO.setHandleResult(ComShopFlowerRefundOrderDO.handleResult.refuse); } - this.baseMapper.updateById(comShopFlowerRefundOrderDO); - return R.ok(); } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComShopFlowerOrderDAO.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComShopFlowerOrderDAO.xml index 986c0b0..61ac788 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComShopFlowerOrderDAO.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComShopFlowerOrderDAO.xml @@ -66,12 +66,13 @@ sr.pay_time, sr.delivery_type, sr.delivery_status, sr.logistics_company, sr.logistics_no, sr.create_at, uad.name as receiver_name, uad.phone as receiver_phone, group_concat(og.goods_name) - as goodsName, ss.name as store_name + as goodsName, ss.name as store_name ,ccep.adress FROM com_shop_flower_order sr LEFT JOIN com_shop_flower_order_goods og ON sr.id = og.order_id LEFT JOIN com_shop_flower_goods_attr ga ON og.goods_attr_id = ga.id LEFT JOIN sys_user su ON sr.user_id = su.user_id LEFT JOIN com_shop_flower_user_address uad ON sr.receiver_id = uad.id LEFT JOIN com_convenient_merchants ss ON sr.store_id = ss.id + LEFT JOIN com_convenient_elevating_point ccep on ccep.id = sr.point_id WHERE sr.delete_status = 1 <if test='pageComShopOrderSearchDTO.userId != null'> AND sr.user_id = #{pageComShopOrderSearchDTO.userId} @@ -108,6 +109,9 @@ </if> <if test='pageComShopOrderSearchDTO.storeUserId != null '> AND ss.sys_user_id = #{pageComShopOrderSearchDTO.storeUserId} + </if> + <if test='pageComShopOrderSearchDTO.deliveryType != null '> + AND sr.delivery_type = #{pageComShopOrderSearchDTO.deliveryType} </if> GROUP BY sr.id ORDER BY sr.create_at DESC </select> @@ -150,5 +154,9 @@ </if> </select> + <select id="selectCountByDeliveryType" + resultType="com.panzhihua.common.model.vos.shop.ComShopOrderCountVO"> + SELECT count(1) amount , `status` FROM com_shop_flower_order WHERE delivery_type = #{deliveryType} GROUP BY `status` + </select> </mapper> \ No newline at end of file -- Gitblit v1.7.1