Commit 0c1f5c9582f36f00796f251d0c88e48ba7e1d09e

Authored by YunaiV
1 parent f8b4a08f

trade:完善订单详情

Showing 13 changed files with 103 additions and 33 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/TradeOrderController.java
@@ -9,6 +9,8 @@ import cn.iocoder.yudao.module.trade.controller.admin.order.vo.*; @@ -9,6 +9,8 @@ import cn.iocoder.yudao.module.trade.controller.admin.order.vo.*;
9 import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; 9 import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert;
10 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; 10 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
11 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; 11 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
  12 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
  13 +import cn.iocoder.yudao.module.trade.service.order.TradeOrderLogService;
12 import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; 14 import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService;
13 import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; 15 import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService;
14 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
@@ -37,6 +39,8 @@ public class TradeOrderController { @@ -37,6 +39,8 @@ public class TradeOrderController {
37 private TradeOrderUpdateService tradeOrderUpdateService; 39 private TradeOrderUpdateService tradeOrderUpdateService;
38 @Resource 40 @Resource
39 private TradeOrderQueryService tradeOrderQueryService; 41 private TradeOrderQueryService tradeOrderQueryService;
  42 + @Resource
  43 + private TradeOrderLogService tradeOrderLogService;
40 44
41 @Resource 45 @Resource
42 private MemberUserApi memberUserApi; 46 private MemberUserApi memberUserApi;
@@ -70,13 +74,15 @@ public class TradeOrderController { @@ -70,13 +74,15 @@ public class TradeOrderController {
70 if (order == null) { 74 if (order == null) {
71 return success(null); 75 return success(null);
72 } 76 }
73 -  
74 // 查询订单项 77 // 查询订单项
75 List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(id); 78 List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(id);
76 - // TODO @puhui999:orderLog 79 +
77 // 拼接数据 80 // 拼接数据
78 MemberUserRespDTO user = memberUserApi.getUser(order.getUserId()); 81 MemberUserRespDTO user = memberUserApi.getUser(order.getUserId());
79 - return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, user)); 82 + MemberUserRespDTO brokerageUser = order.getBrokerageUserId() != null ?
  83 + memberUserApi.getUser(order.getBrokerageUserId()) : null;
  84 + List<TradeOrderLogDO> orderLogs = tradeOrderLogService.getOrderLogListByOrderId(id);
  85 + return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs, user, brokerageUser));
80 } 86 }
81 87
82 @GetMapping("/get-express-track-list") 88 @GetMapping("/get-express-track-list")
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
@@ -141,4 +141,8 @@ public class TradeOrderBaseVO { @@ -141,4 +141,8 @@ public class TradeOrderBaseVO {
141 141
142 @Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") 142 @Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
143 private Integer pointPrice; 143 private Integer pointPrice;
  144 +
  145 + @Schema(description = "VIP 减免金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "888")
  146 + private Integer vipPrice;
  147 +
144 } 148 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java
@@ -12,24 +12,28 @@ import java.util.List; @@ -12,24 +12,28 @@ import java.util.List;
12 @Data 12 @Data
13 public class TradeOrderDetailRespVO extends TradeOrderBaseVO { 13 public class TradeOrderDetailRespVO extends TradeOrderBaseVO {
14 14
15 - @Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")  
16 - private String receiverAreaName;  
17 -  
18 /** 15 /**
19 * 订单项列表 16 * 订单项列表
20 */ 17 */
21 private List<Item> items; 18 private List<Item> items;
22 19
23 /** 20 /**
24 - * 用户信息 21 + * 下单用户信息
25 */ 22 */
26 private MemberUserRespVO user; 23 private MemberUserRespVO user;
  24 + /**
  25 + * 推广用户信息
  26 + */
  27 + private MemberUserRespVO brokerageUser;
27 28
28 /** 29 /**
29 - * TODO 订单操作日志, 先模拟一波 30 + * 操作日志列表
30 */ 31 */
31 private List<OrderLog> logs; 32 private List<OrderLog> logs;
32 33
  34 + @Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
  35 + private String receiverAreaName;
  36 +
33 @Schema(description = "管理后台 - 交易订单的操作日志") 37 @Schema(description = "管理后台 - 交易订单的操作日志")
34 @Data 38 @Data
35 public static class OrderLog { 39 public static class OrderLog {
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
@@ -74,8 +74,6 @@ public class AppTradeOrderController { @@ -74,8 +74,6 @@ public class AppTradeOrderController {
74 return success(true); 74 return success(true);
75 } 75 }
76 76
77 - // TODO @芋艿:如果拼团活动、秒杀活动、砍价活动时,是不是要额外在返回活动之类的信息;  
78 - // TODO @puhui999:需要的  
79 @GetMapping("/get-detail") 77 @GetMapping("/get-detail")
80 @Operation(summary = "获得交易订单") 78 @Operation(summary = "获得交易订单")
81 @Parameter(name = "id", description = "交易订单编号") 79 @Parameter(name = "id", description = "交易订单编号")
@@ -91,7 +89,6 @@ public class AppTradeOrderController { @@ -91,7 +89,6 @@ public class AppTradeOrderController {
91 // 查询物流公司 89 // 查询物流公司
92 DeliveryExpressDO express = order.getLogisticsId() != null && order.getLogisticsId() > 0 ? 90 DeliveryExpressDO express = order.getLogisticsId() != null && order.getLogisticsId() > 0 ?
93 deliveryExpressService.getDeliveryExpress(order.getLogisticsId()) : null; 91 deliveryExpressService.getDeliveryExpress(order.getLogisticsId()) : null;
94 - // TODO @puhui999:如果门店自提,信息的拼接;  
95 // 最终组合 92 // 最终组合
96 return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, tradeOrderProperties, express)); 93 return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, tradeOrderProperties, express));
97 } 94 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
@@ -29,6 +29,7 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.cart.CartDO; @@ -29,6 +29,7 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.cart.CartDO;
29 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; 29 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
30 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; 30 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
31 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; 31 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
  32 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
32 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; 33 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum;
33 import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO; 34 import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
34 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; 35 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties;
@@ -42,7 +43,6 @@ import org.mapstruct.Mapping; @@ -42,7 +43,6 @@ import org.mapstruct.Mapping;
42 import org.mapstruct.Mappings; 43 import org.mapstruct.Mappings;
43 import org.mapstruct.factory.Mappers; 44 import org.mapstruct.factory.Mappers;
44 45
45 -import java.time.LocalDateTime;  
46 import java.util.ArrayList; 46 import java.util.ArrayList;
47 import java.util.List; 47 import java.util.List;
48 import java.util.Map; 48 import java.util.Map;
@@ -115,7 +115,6 @@ public interface TradeOrderConvert { @@ -115,7 +115,6 @@ public interface TradeOrderConvert {
115 return createReqDTO; 115 return createReqDTO;
116 } 116 }
117 117
118 - // TODO 芋艿:可简化  
119 default PageResult<TradeOrderPageItemRespVO> convertPage(PageResult<TradeOrderDO> pageResult, 118 default PageResult<TradeOrderPageItemRespVO> convertPage(PageResult<TradeOrderDO> pageResult,
120 List<TradeOrderItemDO> orderItems, 119 List<TradeOrderItemDO> orderItems,
121 Map<Long, MemberUserRespDTO> memberUserMap) { 120 Map<Long, MemberUserRespDTO> memberUserMap) {
@@ -138,24 +137,19 @@ public interface TradeOrderConvert { @@ -138,24 +137,19 @@ public interface TradeOrderConvert {
138 ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean); 137 ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean);
139 138
140 default TradeOrderDetailRespVO convert(TradeOrderDO order, List<TradeOrderItemDO> orderItems, 139 default TradeOrderDetailRespVO convert(TradeOrderDO order, List<TradeOrderItemDO> orderItems,
141 - MemberUserRespDTO user) { 140 + List<TradeOrderLogDO> orderLogs,
  141 + MemberUserRespDTO user, MemberUserRespDTO brokerageUser) {
142 TradeOrderDetailRespVO orderVO = convert2(order, orderItems); 142 TradeOrderDetailRespVO orderVO = convert2(order, orderItems);
143 // 处理收货地址 143 // 处理收货地址
144 orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); 144 orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId()));
145 // 处理用户信息 145 // 处理用户信息
146 orderVO.setUser(convert(user)); 146 orderVO.setUser(convert(user));
147 - // TODO puhui999:模拟订单操作日志  
148 - ArrayList<TradeOrderDetailRespVO.OrderLog> orderLogs = new ArrayList<>();  
149 - for (int i = 0; i < 6; i++) {  
150 - TradeOrderDetailRespVO.OrderLog orderLog = new TradeOrderDetailRespVO.OrderLog();  
151 - orderLog.setContent("订单操作" + i);  
152 - orderLog.setCreateTime(LocalDateTime.now());  
153 - orderLog.setUserType(i % 2 == 0 ? 2 : 1);  
154 - orderLogs.add(orderLog);  
155 - }  
156 - orderVO.setLogs(orderLogs); 147 + orderVO.setBrokerageUser(convert(brokerageUser));
  148 + // 处理日志
  149 + orderVO.setLogs(convertList03(orderLogs));
157 return orderVO; 150 return orderVO;
158 } 151 }
  152 + List<TradeOrderDetailRespVO.OrderLog> convertList03(List<TradeOrderLogDO> orderLogs);
159 153
160 TradeOrderDetailRespVO convert2(TradeOrderDO order, List<TradeOrderItemDO> items); 154 TradeOrderDetailRespVO convert2(TradeOrderDO order, List<TradeOrderItemDO> items);
161 155
@@ -176,7 +170,6 @@ public interface TradeOrderConvert { @@ -176,7 +170,6 @@ public interface TradeOrderConvert {
176 170
177 AppProductPropertyValueDetailRespVO convert02(ProductPropertyValueDetailRespDTO bean); 171 AppProductPropertyValueDetailRespVO convert02(ProductPropertyValueDetailRespDTO bean);
178 172
179 - // TODO 芋艿:可简化  
180 default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems, 173 default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems,
181 TradeOrderProperties tradeOrderProperties, 174 TradeOrderProperties tradeOrderProperties,
182 DeliveryExpressDO express) { 175 DeliveryExpressDO express) {
@@ -244,9 +237,6 @@ public interface TradeOrderConvert { @@ -244,9 +237,6 @@ public interface TradeOrderConvert {
244 if (address != null) { 237 if (address != null) {
245 respVO.getAddress().setAreaName(AreaUtils.format(address.getAreaId())); 238 respVO.getAddress().setAreaName(AreaUtils.format(address.getAreaId()));
246 } 239 }
247 - // TODO 芋艿:积分的接入;  
248 - respVO.setUsedPoint(1);  
249 - respVO.setTotalPoint(100);  
250 return respVO; 240 return respVO;
251 } 241 }
252 242
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderLogConvert.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.convert.order;
  2 +
  3 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
  4 +import cn.iocoder.yudao.module.trade.service.order.bo.logger.TradeOrderLogCreateReqBO;
  5 +import org.mapstruct.Mapper;
  6 +import org.mapstruct.factory.Mappers;
  7 +
  8 +@Mapper
  9 +public interface TradeOrderLogConvert {
  10 +
  11 + TradeOrderLogConvert INSTANCE = Mappers.getMapper(TradeOrderLogConvert.class);
  12 +
  13 + TradeOrderLogDO convert(TradeOrderLogCreateReqBO createReqBO);
  14 +
  15 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/order/TradeOrderLogMapper.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.mysql.order;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  4 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +import java.util.List;
  8 +
  9 +@Mapper
  10 +public interface TradeOrderLogMapper extends BaseMapperX<TradeOrderLogDO> {
  11 +
  12 + default List<TradeOrderLogDO> selectListByOrderId(Long orderId) {
  13 + return selectList(TradeOrderLogDO::getOrderId, orderId);
  14 + }
  15 +
  16 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/order/core/aop/TradeOrderLogAspect.java
@@ -88,8 +88,9 @@ public class TradeOrderLogAspect { @@ -88,8 +88,9 @@ public class TradeOrderLogAspect {
88 .setOperateType(orderLog.operateType().getType()).setContent(content); 88 .setOperateType(orderLog.operateType().getType()).setContent(content);
89 orderLogService.createOrderLog(createBO); 89 orderLogService.createOrderLog(createBO);
90 } catch (Exception ex) { 90 } catch (Exception ex) {
91 - // todo 芋艿:清理上下文  
92 log.error("[doAfterReturning][orderLog({}) 订单日志错误]", toJsonString(orderLog), ex); 91 log.error("[doAfterReturning][orderLog({}) 订单日志错误]", toJsonString(orderLog), ex);
  92 + } finally {
  93 + clear();
93 } 94 }
94 } 95 }
95 96
@@ -127,4 +128,13 @@ public class TradeOrderLogAspect { @@ -127,4 +128,13 @@ public class TradeOrderLogAspect {
127 USER_TYPE.set(userType); 128 USER_TYPE.set(userType);
128 } 129 }
129 130
  131 + private static void clear() {
  132 + USER_ID.remove();
  133 + USER_TYPE.remove();
  134 + ORDER_ID.remove();
  135 + BEFORE_STATUS.remove();
  136 + AFTER_STATUS.remove();
  137 + EXTS.remove();
  138 + }
  139 +
130 } 140 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/message/TradeMessageServiceImpl.java
@@ -25,6 +25,9 @@ public class TradeMessageServiceImpl implements TradeMessageService { @@ -25,6 +25,9 @@ public class TradeMessageServiceImpl implements TradeMessageService {
25 25
26 @Override 26 @Override
27 public void sendMessageWhenDeliveryOrder(TradeOrderMessageWhenDeliveryOrderReqBO reqBO) { 27 public void sendMessageWhenDeliveryOrder(TradeOrderMessageWhenDeliveryOrderReqBO reqBO) {
  28 + if (true) {
  29 + return;
  30 + }
28 // 1、构造消息 31 // 1、构造消息
29 Map<String, Object> msgMap = new HashMap<>(2); 32 Map<String, Object> msgMap = new HashMap<>(2);
30 msgMap.put("orderId", reqBO.getOrderId()); 33 msgMap.put("orderId", reqBO.getOrderId());
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderLogService.java
1 package cn.iocoder.yudao.module.trade.service.order; 1 package cn.iocoder.yudao.module.trade.service.order;
2 2
  3 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
3 import cn.iocoder.yudao.module.trade.service.order.bo.logger.TradeOrderLogCreateReqBO; 4 import cn.iocoder.yudao.module.trade.service.order.bo.logger.TradeOrderLogCreateReqBO;
4 import org.springframework.scheduling.annotation.Async; 5 import org.springframework.scheduling.annotation.Async;
5 6
  7 +import java.util.List;
  8 +
6 /** 9 /**
7 * 交易下单日志 Service 接口 10 * 交易下单日志 Service 接口
8 * 11 *
@@ -21,4 +24,12 @@ public interface TradeOrderLogService { @@ -21,4 +24,12 @@ public interface TradeOrderLogService {
21 @Async 24 @Async
22 void createOrderLog(TradeOrderLogCreateReqBO logDTO); 25 void createOrderLog(TradeOrderLogCreateReqBO logDTO);
23 26
  27 + /**
  28 + * 获得交易订单日志列表
  29 + *
  30 + * @param orderId 订单编号
  31 + * @return 交易订单日志列表
  32 + */
  33 + List<TradeOrderLogDO> getOrderLogListByOrderId(Long orderId);
  34 +
24 } 35 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderLogServiceImpl.java
1 package cn.iocoder.yudao.module.trade.service.order; 1 package cn.iocoder.yudao.module.trade.service.order;
2 2
  3 +import cn.iocoder.yudao.module.trade.convert.order.TradeOrderLogConvert;
  4 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderLogDO;
  5 +import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderLogMapper;
3 import cn.iocoder.yudao.module.trade.service.order.bo.logger.TradeOrderLogCreateReqBO; 6 import cn.iocoder.yudao.module.trade.service.order.bo.logger.TradeOrderLogCreateReqBO;
4 import org.springframework.stereotype.Service; 7 import org.springframework.stereotype.Service;
5 8
  9 +import javax.annotation.Resource;
  10 +import java.util.List;
  11 +
6 /** 12 /**
7 * 交易下单日志 Service 实现类 13 * 交易下单日志 Service 实现类
8 * 14 *
@@ -12,10 +18,17 @@ import org.springframework.stereotype.Service; @@ -12,10 +18,17 @@ import org.springframework.stereotype.Service;
12 @Service 18 @Service
13 public class TradeOrderLogServiceImpl implements TradeOrderLogService { 19 public class TradeOrderLogServiceImpl implements TradeOrderLogService {
14 20
  21 + @Resource
  22 + private TradeOrderLogMapper tradeOrderLogMapper;
  23 +
15 @Override 24 @Override
16 public void createOrderLog(TradeOrderLogCreateReqBO createReqBO) { 25 public void createOrderLog(TradeOrderLogCreateReqBO createReqBO) {
17 - // TODO 芋艿:存储还没搞  
18 - System.out.println(); 26 + tradeOrderLogMapper.insert(TradeOrderLogConvert.INSTANCE.convert(createReqBO));
  27 + }
  28 +
  29 + @Override
  30 + public List<TradeOrderLogDO> getOrderLogListByOrderId(Long orderId) {
  31 + return tradeOrderLogMapper.selectListByOrderId(orderId);
19 } 32 }
20 33
21 } 34 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
@@ -211,8 +211,6 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { @@ -211,8 +211,6 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
211 return order; 211 return order;
212 } 212 }
213 213
214 - // TODO @puhui999:订单超时,自动取消;  
215 -  
216 private TradeOrderDO createTradeOrder(Long userId, String clientIp, AppTradeOrderCreateReqVO createReqVO, 214 private TradeOrderDO createTradeOrder(Long userId, String clientIp, AppTradeOrderCreateReqVO createReqVO,
217 TradePriceCalculateRespBO calculateRespBO) { 215 TradePriceCalculateRespBO calculateRespBO) {
218 TradeOrderDO order = TradeOrderConvert.INSTANCE.convert(userId, clientIp, createReqVO, calculateRespBO); 216 TradeOrderDO order = TradeOrderConvert.INSTANCE.convert(userId, clientIp, createReqVO, calculateRespBO);
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/bo/logger/TradeOrderLogCreateReqBO.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.service.order.bo.logger; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.service.order.bo.logger;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
  5 +import javax.validation.constraints.NotEmpty;
5 import javax.validation.constraints.NotNull; 6 import javax.validation.constraints.NotNull;
6 7
7 /** 8 /**
@@ -42,10 +43,12 @@ public class TradeOrderLogCreateReqBO { @@ -42,10 +43,12 @@ public class TradeOrderLogCreateReqBO {
42 /** 43 /**
43 * 操作类型 44 * 操作类型
44 */ 45 */
  46 + @NotNull(message = "操作类型不能为空")
45 private Integer operateType; 47 private Integer operateType;
46 /** 48 /**
47 * 操作明细 49 * 操作明细
48 */ 50 */
  51 + @NotEmpty(message = "操作明细不能为空")
49 private String content; 52 private String content;
50 53
51 } 54 }