diff --git a/cash-api/order-server/src/main/java/com/czg/controller/admin/AdminOrderController.java b/cash-api/order-server/src/main/java/com/czg/controller/admin/AdminOrderController.java index 3cc2a6f2..b2e95871 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/admin/AdminOrderController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/admin/AdminOrderController.java @@ -2,6 +2,7 @@ package com.czg.controller.admin; import com.czg.annotation.Debounce; import com.czg.annotation.SaStaffCheckPermission; +import com.czg.config.RabbitPublisher; import com.czg.order.dto.OrderInfoAddDTO; import com.czg.order.dto.OrderInfoPrintDTO; import com.czg.order.dto.OrderInfoQueryDTO; @@ -35,6 +36,8 @@ public class AdminOrderController { private OrderInfoService orderInfoService; @Resource private PayService payService; + @Resource + private RabbitPublisher rabbitPublisher; /** * 订单列表 @@ -91,7 +94,11 @@ public class AdminOrderController { @PostMapping("/refundOrder") @Debounce(value = "#refundDTO.orderId") public CzgResult refundOrder(@Validated @RequestBody OrderInfoRefundDTO refundDTO) { - return payService.refundOrderBefore(refundDTO); + CzgResult result = payService.refundOrderBefore(refundDTO); + if (result.getCode() == 200 && refundDTO.getRefundDetails() != null && !refundDTO.getRefundDetails().isEmpty()) { + rabbitPublisher.sendOrderReturnPrintMsg(refundDTO.getOrderId().toString()); + } + return result; } /** diff --git a/cash-common/cash-common-mq/src/main/java/com/czg/config/RabbitPublisher.java b/cash-common/cash-common-mq/src/main/java/com/czg/config/RabbitPublisher.java index 15233bed..ddaedff0 100644 --- a/cash-common/cash-common-mq/src/main/java/com/czg/config/RabbitPublisher.java +++ b/cash-common/cash-common-mq/src/main/java/com/czg/config/RabbitPublisher.java @@ -53,6 +53,15 @@ public class RabbitPublisher { sendMsg(RabbitConstants.Queue.ORDER_PRINT_QUEUE, orderId); } + /** + * 退款订单打印消息 + * @param orderId 订单id + */ + public void sendOrderReturnPrintMsg(String orderId) { + //厨房票 + sendMsg(RabbitConstants.Queue.ORDER_MACHINE_PRINT_QUEUE, orderId); + } + /** * 交班小票打印消息 * diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateService.java index 594e2b6c..421a3fca 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateService.java @@ -24,11 +24,12 @@ public interface ShopActivateService extends IService { /** * @param memAmount 充值金额 + * @param activateId 参加活动Id * @param relationId 关联Id * 霸王餐时 订单id * 充值奖励 的关联id 是tb_shop_user_flow的充值 记录id * 支付/退款 tb_order_payment.id */ - void giveActivate(ShopUser shopUser, BigDecimal memAmount, Long relationId); + void giveActivate(ShopUser shopUser, BigDecimal memAmount, Long activateId, Long relationId); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/vo/OrderDetailSmallVO.java b/cash-common/cash-common-service/src/main/java/com/czg/order/vo/OrderDetailSmallVO.java index 5e558296..964fb0c0 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/vo/OrderDetailSmallVO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/vo/OrderDetailSmallVO.java @@ -24,6 +24,7 @@ public class OrderDetailSmallVO implements Serializable { @Serial private static final long serialVersionUID = 1L; + private Long id; private String productImg; private String productName; private String skuName; diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateServiceImpl.java index c3b6daef..ca18e992 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateServiceImpl.java @@ -81,11 +81,11 @@ public class ShopActivateServiceImpl extends ServiceImpl getCoupons(String couponJson) { - Map couponMap = JSONObject.parseObject(couponJson, new TypeReference<>() { - }); + Map couponMap; + try { + couponMap = JSONObject.parseObject(couponJson, new TypeReference<>() { + }); + } catch (Exception e) { + return new ArrayList<>(); + } + if (couponMap.isEmpty()) { return new ArrayList<>(); } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index 778c07ed..ed3bdf1f 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -268,11 +268,21 @@ public class ShopUserServiceImpl extends ServiceImpl i @Override public ShopUserDetailDTO getInfo(Long shopId, long userId) { ShopUser shopUser = getOne(new QueryWrapper().eq(ShopUser::getShopId, shopId).eq(ShopUser::getUserId, userId)); + long couponNum = 0; if (shopUser == null) { - return null; + UserInfo userInfo = userInfoService.getById(userId); + if (userInfo == null) { + throw new ApiNotPrintException("用户信息不存在"); + } + shopUser = BeanUtil.copyProperties(userInfo, ShopUser.class); + shopUser.setShopId(shopId); + shopUser.setId(null); + shopUser.setUserId(userId); + save(shopUser); + shopUser = getById(shopUser.getId()); + }else { + couponNum = shopActivateCouponRecordService.count(new QueryWrapper().eq(ShopActivateCouponRecord::getShopUserId, shopUser.getId()).eq(ShopActivateCouponRecord::getStatus, 0)); } - - long couponNum = shopActivateCouponRecordService.count(new QueryWrapper().eq(ShopActivateCouponRecord::getShopUserId, shopUser.getId()).eq(ShopActivateCouponRecord::getStatus, 0)); ShopUserDetailDTO shopUserDetailDTO = BeanUtil.copyProperties(shopUser, ShopUserDetailDTO.class); shopUserDetailDTO.setCouponNum(couponNum); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java b/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java index 315f977a..e3ccbbd8 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java @@ -16,6 +16,7 @@ public class VipPayParamDTO { @NotNull(message = "店铺不能为空") private Long shopId; private Long shopUserId; + private Long activateId; /** * 霸王餐使用 */ diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 2071a5f2..46f2eed9 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -429,13 +429,13 @@ public class OrderInfoServiceImpl extends ServiceImpl map = JSONObject.parseObject(JSONObject.toJSONString(jsPayResp.getPayInfo())); - case CzgLtPayResp ltPayResp -> map = JSONObject.parseObject(JSONObject.toJSONString(ltPayResp.getPayInfo())); + case CzgLtPayResp ltPayResp -> + map = JSONObject.parseObject(JSONObject.toJSONString(ltPayResp.getPayInfo())); case CzgScanPayResp scanPayResp -> map = JSONObject.parseObject(JSONObject.toJSONString(scanPayResp.getPayInfo())); default -> throw new IllegalStateException("Unexpected value: " + data);