Commit 5bfca56efa58d6132086350b205d8a33a6c83d74
1 parent
db7e47fa
fix:完善 TODO 提到的问题
Showing
6 changed files
with
141 additions
and
21 deletions
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 | } |