Commit 5bfca56efa58d6132086350b205d8a33a6c83d74

Authored by puhui999
1 parent db7e47fa

fix:完善 TODO 提到的问题

yudao-module-mall/yudao-module-trade-biz/pom.xml
@@ -23,7 +23,6 @@ @@ -23,7 +23,6 @@
23 <artifactId>yudao-module-trade-api</artifactId> 23 <artifactId>yudao-module-trade-api</artifactId>
24 <version>${revision}</version> 24 <version>${revision}</version>
25 </dependency> 25 </dependency>
26 -  
27 <dependency> 26 <dependency>
28 <groupId>cn.iocoder.boot</groupId> 27 <groupId>cn.iocoder.boot</groupId>
29 <artifactId>yudao-module-product-api</artifactId> 28 <artifactId>yudao-module-product-api</artifactId>
@@ -44,6 +43,11 @@ @@ -44,6 +43,11 @@
44 <artifactId>yudao-module-member-api</artifactId> 43 <artifactId>yudao-module-member-api</artifactId>
45 <version>${revision}</version> 44 <version>${revision}</version>
46 </dependency> 45 </dependency>
  46 + <dependency>
  47 + <groupId>cn.iocoder.boot</groupId>
  48 + <artifactId>yudao-module-system-api</artifactId>
  49 + <version>${revision}</version>
  50 + </dependency>
47 51
48 <!-- 业务组件 --> 52 <!-- 业务组件 -->
49 <dependency> 53 <dependency>
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
@@ -6,7 +6,9 @@ import cn.hutool.core.util.IdUtil; @@ -6,7 +6,9 @@ import cn.hutool.core.util.IdUtil;
6 import cn.hutool.core.util.ObjectUtil; 6 import cn.hutool.core.util.ObjectUtil;
7 import cn.hutool.core.util.StrUtil; 7 import cn.hutool.core.util.StrUtil;
8 import cn.iocoder.yudao.framework.common.core.KeyValue; 8 import cn.iocoder.yudao.framework.common.core.KeyValue;
  9 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
9 import cn.iocoder.yudao.framework.common.enums.TerminalEnum; 10 import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
  11 +import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
10 import cn.iocoder.yudao.framework.common.pojo.PageResult; 12 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 13 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
12 import cn.iocoder.yudao.module.member.api.address.AddressApi; 14 import cn.iocoder.yudao.module.member.api.address.AddressApi;
@@ -21,6 +23,11 @@ import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi; @@ -21,6 +23,11 @@ import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
21 import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO; 23 import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO;
22 import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; 24 import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi;
23 import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; 25 import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO;
  26 +import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
  27 +import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
  28 +import cn.iocoder.yudao.module.system.api.notify.dto.NotifyTemplateReqDTO;
  29 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  30 +import cn.iocoder.yudao.module.system.enums.notify.NotifyTemplateTypeEnum;
24 import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; 31 import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO;
25 import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; 32 import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO;
26 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; 33 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO;
@@ -29,6 +36,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettle @@ -29,6 +36,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettle
29 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; 36 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO;
30 import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; 37 import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert;
31 import cn.iocoder.yudao.module.trade.dal.dataobject.cart.TradeCartDO; 38 import cn.iocoder.yudao.module.trade.dal.dataobject.cart.TradeCartDO;
  39 +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
32 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; 40 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
33 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; 41 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
34 import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderItemMapper; 42 import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderItemMapper;
@@ -38,6 +46,7 @@ import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum; @@ -38,6 +46,7 @@ import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum;
38 import cn.iocoder.yudao.module.trade.enums.order.*; 46 import cn.iocoder.yudao.module.trade.enums.order.*;
39 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; 47 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties;
40 import cn.iocoder.yudao.module.trade.service.cart.TradeCartService; 48 import cn.iocoder.yudao.module.trade.service.cart.TradeCartService;
  49 +import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService;
41 import cn.iocoder.yudao.module.trade.service.price.TradePriceService; 50 import cn.iocoder.yudao.module.trade.service.price.TradePriceService;
42 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO; 51 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO;
43 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO; 52 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO;
@@ -74,6 +83,8 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -74,6 +83,8 @@ public class TradeOrderServiceImpl implements TradeOrderService {
74 private TradeCartService tradeCartService; 83 private TradeCartService tradeCartService;
75 @Resource 84 @Resource
76 private TradePriceService tradePriceService; 85 private TradePriceService tradePriceService;
  86 + @Resource
  87 + private DeliveryExpressService deliveryExpressService;
77 88
78 @Resource 89 @Resource
79 private ProductSkuApi productSkuApi; 90 private ProductSkuApi productSkuApi;
@@ -85,7 +96,10 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -85,7 +96,10 @@ public class TradeOrderServiceImpl implements TradeOrderService {
85 private CouponApi couponApi; 96 private CouponApi couponApi;
86 @Resource 97 @Resource
87 private MemberUserApi memberUserApi; 98 private MemberUserApi memberUserApi;
88 - 99 + @Resource
  100 + private AdminUserApi adminUserApi;
  101 + @Resource
  102 + private NotifyMessageSendApi notifyMessageSendApi;
89 @Resource 103 @Resource
90 private TradeOrderProperties tradeOrderProperties; 104 private TradeOrderProperties tradeOrderProperties;
91 105
@@ -123,7 +137,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -123,7 +137,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
123 /** 137 /**
124 * 计算订单价格 138 * 计算订单价格
125 * 139 *
126 - * @param userId 用户编号 140 + * @param userId 用户编号
127 * @param settlementReqVO 结算信息 141 * @param settlementReqVO 结算信息
128 * @return 订单价格 142 * @return 订单价格
129 */ 143 */
@@ -162,7 +176,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -162,7 +176,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
162 /** 176 /**
163 * 校验收件地址是否存在 177 * 校验收件地址是否存在
164 * 178 *
165 - * @param userId 用户编号 179 + * @param userId 用户编号
166 * @param addressId 收件地址编号 180 * @param addressId 收件地址编号
167 * @return 收件地址 181 * @return 收件地址
168 */ 182 */
@@ -181,7 +195,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -181,7 +195,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
181 order.setStatus(TradeOrderStatusEnum.UNPAID.getStatus()); 195 order.setStatus(TradeOrderStatusEnum.UNPAID.getStatus());
182 order.setType(TradeOrderTypeEnum.NORMAL.getType()); 196 order.setType(TradeOrderTypeEnum.NORMAL.getType());
183 order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()); 197 order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus());
184 - order.setProductCount(getSumValue(calculateRespBO.getItems(), TradePriceCalculateRespBO.OrderItem::getCount, Integer::sum)); 198 + order.setProductCount(getSumValue(calculateRespBO.getItems(), TradePriceCalculateRespBO.OrderItem::getCount, Integer::sum));
185 order.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源? 199 order.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源?
186 // 支付信息 200 // 支付信息
187 order.setAdjustPrice(0).setPayed(false); 201 order.setAdjustPrice(0).setPayed(false);
@@ -201,12 +215,12 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -201,12 +215,12 @@ public class TradeOrderServiceImpl implements TradeOrderService {
201 215
202 /** 216 /**
203 * 执行创建完创建完订单后的逻辑 217 * 执行创建完创建完订单后的逻辑
204 - * 218 + * <p>
205 * 例如说:优惠劵的扣减、积分的扣减、支付单的创建等等 219 * 例如说:优惠劵的扣减、积分的扣减、支付单的创建等等
206 * 220 *
207 - * @param userId 用户编号  
208 - * @param createReqVO 创建订单请求  
209 - * @param tradeOrderDO 交易订单 221 + * @param userId 用户编号
  222 + * @param createReqVO 创建订单请求
  223 + * @param tradeOrderDO 交易订单
210 * @param calculateRespBO 订单价格计算结果 224 * @param calculateRespBO 订单价格计算结果
211 */ 225 */
212 private void afterCreateTradeOrder(Long userId, AppTradeOrderCreateReqVO createReqVO, 226 private void afterCreateTradeOrder(Long userId, AppTradeOrderCreateReqVO createReqVO,
@@ -265,11 +279,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -265,11 +279,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
265 279
266 /** 280 /**
267 * 校验交易订单满足被支付的条件 281 * 校验交易订单满足被支付的条件
268 - * 282 + * <p>
269 * 1. 交易订单未支付 283 * 1. 交易订单未支付
270 * 2. 支付单已支付 284 * 2. 支付单已支付
271 * 285 *
272 - * @param id 交易订单编号 286 + * @param id 交易订单编号
273 * @param payOrderId 支付订单编号 287 * @param payOrderId 支付订单编号
274 * @return 交易订单 288 * @return 交易订单
275 */ 289 */
@@ -324,8 +338,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -324,8 +338,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
324 public void deliveryOrder(Long userId, TradeOrderDeliveryReqVO deliveryReqVO) { 338 public void deliveryOrder(Long userId, TradeOrderDeliveryReqVO deliveryReqVO) {
325 // 校验并获得交易订单(可发货) 339 // 校验并获得交易订单(可发货)
326 TradeOrderDO order = validateOrderDeliverable(deliveryReqVO.getId()); 340 TradeOrderDO order = validateOrderDeliverable(deliveryReqVO.getId());
327 -  
328 - // TODO 芋艿:logisticsId 校验存在 341 + // TODO 芋艿:logisticsId 校验存在 发货物流公司 fix
  342 + DeliveryExpressDO deliveryExpress = deliveryExpressService.getDeliveryExpress(deliveryReqVO.getLogisticsId());
  343 + if (deliveryExpress == null) {
  344 + throw exception(DELIVERY_EXPRESS_NOT_EXISTS);
  345 + }
329 346
330 // 更新 TradeOrderDO 状态为已发货,等待收货 347 // 更新 TradeOrderDO 状态为已发货,等待收货
331 int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), 348 int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(),
@@ -338,8 +355,32 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -338,8 +355,32 @@ public class TradeOrderServiceImpl implements TradeOrderService {
338 355
339 // TODO 芋艿:发送订单变化的消息 356 // TODO 芋艿:发送订单变化的消息
340 357
341 - // TODO 芋艿:发送站内信  
342 - 358 + // TODO 芋艿:发送站内信 fix
  359 + // 1、获取模版编码为 order_delivery 的模版,判断是否存在 存在放回 true
  360 + if (!notifyMessageSendApi.validateNotifyTemplate("order_delivery")) {
  361 + // 1、1 站内信模版不存在则创建模版
  362 + NotifyTemplateReqDTO templateReqDTO = new NotifyTemplateReqDTO();
  363 + templateReqDTO.setName("订单发货通知模版");
  364 + templateReqDTO.setCode("order_delivery");
  365 + templateReqDTO.setType(NotifyTemplateTypeEnum.NOTIFICATION_MESSAGE.getType()); // 系统消息
  366 + // 获取操作用户
  367 + // AdminUserRespDTO user = adminUserApi.getUser(userId);
  368 + // templateReqDTO.setNickname(user.getNickname());
  369 + templateReqDTO.setNickname(UserTypeEnum.ADMIN.getName());
  370 + templateReqDTO.setContent("订单:{orderId}{msg}");
  371 + templateReqDTO.setStatus(CommonStatusEnum.ENABLE.getStatus());
  372 + notifyMessageSendApi.createNotifyTemplate(templateReqDTO);
  373 + }
  374 + // 2、构造消息
  375 + Map<String, Object> msgMap = new HashMap<>();
  376 + msgMap.put("orderId", deliveryReqVO.getId());
  377 + msgMap.put("msg", TradeOrderStatusEnum.DELIVERED.getStatus());
  378 + // 2、发送站内信
  379 + notifyMessageSendApi.sendSingleMessageToAdmin(
  380 + new NotifySendSingleToUserReqDTO()
  381 + .setUserId(userId)
  382 + .setTemplateCode("order_delivery")
  383 + .setTemplateParams(msgMap));
343 // TODO 芋艿:OrderLog 384 // TODO 芋艿:OrderLog
344 385
345 // TODO 设计:like:是否要单独一个 delivery 发货单表??? 386 // TODO 设计:like:是否要单独一个 delivery 发货单表???
@@ -349,7 +390,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -349,7 +390,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
349 390
350 /** 391 /**
351 * 校验交易订单满足被发货的条件 392 * 校验交易订单满足被发货的条件
352 - * 393 + * <p>
353 * 1. 交易订单未发货 394 * 1. 交易订单未发货
354 * 395 *
355 * @param id 交易订单编号 396 * @param id 交易订单编号
@@ -363,7 +404,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -363,7 +404,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
363 } 404 }
364 // 校验订单是否是待发货状态 405 // 校验订单是否是待发货状态
365 if (!TradeOrderStatusEnum.isUndelivered(order.getStatus()) 406 if (!TradeOrderStatusEnum.isUndelivered(order.getStatus())
366 - || ObjectUtil.notEqual(order.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus())) { 407 + || ObjectUtil.notEqual(order.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus())) {
367 throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED); 408 throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED);
368 } 409 }
369 return order; 410 return order;
@@ -397,11 +438,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -397,11 +438,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
397 438
398 /** 439 /**
399 * 校验交易订单满足可售货的条件 440 * 校验交易订单满足可售货的条件
400 - * 441 + * <p>
401 * 1. 交易订单待收货 442 * 1. 交易订单待收货
402 * 443 *
403 * @param userId 用户编号 444 * @param userId 用户编号
404 - * @param id 交易订单编号 445 + * @param id 交易订单编号
405 * @return 交易订单 446 * @return 交易订单
406 */ 447 */
407 private TradeOrderDO validateOrderReceivable(Long userId, Long id) { 448 private TradeOrderDO validateOrderReceivable(Long userId, Long id) {
@@ -476,7 +517,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { @@ -476,7 +517,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
476 public void updateOrderItemAfterSaleStatus(Long id, Integer oldAfterSaleStatus, Integer newAfterSaleStatus, Integer refundPrice) { 517 public void updateOrderItemAfterSaleStatus(Long id, Integer oldAfterSaleStatus, Integer newAfterSaleStatus, Integer refundPrice) {
477 // 如果退款成功,则 refundPrice 非空 518 // 如果退款成功,则 refundPrice 非空
478 if (Objects.equals(newAfterSaleStatus, TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus()) 519 if (Objects.equals(newAfterSaleStatus, TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())
479 - && refundPrice == null) { 520 + && refundPrice == null) {
480 throw new IllegalArgumentException(StrUtil.format("id({}) 退款成功,退款金额不能为空", id)); 521 throw new IllegalArgumentException(StrUtil.format("id({}) 退款成功,退款金额不能为空", id));
481 } 522 }
482 523
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.java
1 package cn.iocoder.yudao.module.system.api.notify; 1 package cn.iocoder.yudao.module.system.api.notify;
2 2
3 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO; 3 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
  4 +import cn.iocoder.yudao.module.system.api.notify.dto.NotifyTemplateReqDTO;
4 5
5 import javax.validation.Valid; 6 import javax.validation.Valid;
6 7
@@ -27,4 +28,8 @@ public interface NotifyMessageSendApi { @@ -27,4 +28,8 @@ public interface NotifyMessageSendApi {
27 */ 28 */
28 Long sendSingleMessageToMember(@Valid NotifySendSingleToUserReqDTO reqDTO); 29 Long sendSingleMessageToMember(@Valid NotifySendSingleToUserReqDTO reqDTO);
29 30
  31 +
  32 + boolean validateNotifyTemplate(String orderDelivery);
  33 +
  34 + void createNotifyTemplate(NotifyTemplateReqDTO templateReqDTO);
30 } 35 }
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/dto/NotifyTemplateReqDTO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.notify.dto;
  2 +
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import cn.iocoder.yudao.framework.common.validation.InEnum;
  5 +import lombok.Data;
  6 +
  7 +import javax.validation.constraints.NotEmpty;
  8 +import javax.validation.constraints.NotNull;
  9 +
  10 +@Data
  11 +public class NotifyTemplateReqDTO {
  12 +
  13 + @NotEmpty(message = "模版名称不能为空")
  14 + private String name;
  15 +
  16 + @NotNull(message = "模版编码不能为空")
  17 + private String code;
  18 +
  19 + @NotNull(message = "模版类型不能为空")
  20 + private Integer type;
  21 +
  22 + @NotEmpty(message = "发送人名称不能为空")
  23 + private String nickname;
  24 +
  25 + @NotEmpty(message = "模版内容不能为空")
  26 + private String content;
  27 +
  28 + @NotNull(message = "状态不能为空")
  29 + @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}")
  30 + private Integer status;
  31 +
  32 + private String remark;
  33 +
  34 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/notify/NotifyTemplateTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.enums.notify;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 通知模板类型枚举
  8 + *
  9 + * @author HUIHUI
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum NotifyTemplateTypeEnum {
  14 +
  15 + /**
  16 + * 系统消息
  17 + */
  18 + SYSTEM_MESSAGE(2),
  19 + /**
  20 + * 通知消息
  21 + */
  22 + NOTIFICATION_MESSAGE(1);
  23 +
  24 + private final Integer type;
  25 +
  26 +}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApiImpl.java
1 package cn.iocoder.yudao.module.system.api.notify; 1 package cn.iocoder.yudao.module.system.api.notify;
2 2
3 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO; 3 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
4 -import cn.iocoder.yudao.module.system.service.notify.NotifyMessageService; 4 +import cn.iocoder.yudao.module.system.api.notify.dto.NotifyTemplateReqDTO;
5 import cn.iocoder.yudao.module.system.service.notify.NotifySendService; 5 import cn.iocoder.yudao.module.system.service.notify.NotifySendService;
6 import org.springframework.stereotype.Service; 6 import org.springframework.stereotype.Service;
7 7
@@ -30,4 +30,14 @@ public class NotifyMessageSendApiImpl implements NotifyMessageSendApi { @@ -30,4 +30,14 @@ public class NotifyMessageSendApiImpl implements NotifyMessageSendApi {
30 reqDTO.getTemplateCode(), reqDTO.getTemplateParams()); 30 reqDTO.getTemplateCode(), reqDTO.getTemplateParams());
31 } 31 }
32 32
  33 + @Override
  34 + public boolean validateNotifyTemplate(String orderDelivery) {
  35 + return false;
  36 + }
  37 +
  38 + @Override
  39 + public void createNotifyTemplate(NotifyTemplateReqDTO templateReqDTO) {
  40 +
  41 + }
  42 +
33 } 43 }