GiftCardVO.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.ylx.giftCard.domain.vo;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.ylx.giftCard.domain.GiftCard;
  4. import io.swagger.annotations.ApiModelProperty;
  5. import lombok.Data;
  6. import java.math.BigDecimal;
  7. /**
  8. * 礼品卡视图对象(Value Object)类
  9. * 用于封装礼品卡相关的数据,提供前端展示使用
  10. */
  11. @Data
  12. public class GiftCardVO {
  13. @ApiModelProperty("礼品卡ID")
  14. private Long id;
  15. @ApiModelProperty("礼品卡名称")
  16. private String name;
  17. @ApiModelProperty("礼品卡金额")
  18. private BigDecimal amount;
  19. @ApiModelProperty("礼品卡图片URL")
  20. private String imageUrl;
  21. @ApiModelProperty("销售数量")
  22. private Integer sales;
  23. @ApiModelProperty("库存数量")
  24. private Integer stock;
  25. @ApiModelProperty("售罄状态")
  26. private Boolean isSoldOut;
  27. /**
  28. * 构造函数,用于将实体对象转换为视图对象
  29. *
  30. * @param entity 礼品卡实体对象
  31. */
  32. public GiftCardVO(GiftCard entity) {
  33. this.id = entity.getId();
  34. this.name = entity.getName();
  35. this.amount = entity.getAmount();
  36. this.imageUrl = entity.getImageUrl();
  37. this.sales = entity.getSales();
  38. this.stock = entity.getStock();
  39. // 判断库存是否为null或小于等于0,若是则标记为售罄
  40. this.isSoldOut = ObjectUtil.isNull(entity.getStock()) || entity.getStock() <= 0;
  41. }
  42. }