|
@@ -0,0 +1,289 @@
|
|
|
|
|
+package com.ruoyi.shop.order.domain.vo;
|
|
|
|
|
+
|
|
|
|
|
+import cn.afterturn.easypoi.excel.annotation.Excel;
|
|
|
|
|
+import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
|
|
|
|
|
+import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
|
|
|
|
|
+import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
|
|
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
|
|
|
|
+import com.alibaba.excel.annotation.ExcelProperty;
|
|
|
|
|
+import com.ruoyi.business.domain.vo.BusinessVo;
|
|
|
|
|
+import com.ruoyi.business.service.IBusinessService;
|
|
|
|
|
+import com.ruoyi.common.annotation.ExcelDictFormat;
|
|
|
|
|
+import com.ruoyi.common.convert.ExcelBooleanConvert;
|
|
|
|
|
+import com.ruoyi.common.convert.ExcelDateTimeConvert;
|
|
|
|
|
+import com.ruoyi.common.convert.ExcelEnumConvert;
|
|
|
|
|
+import com.ruoyi.common.core.domain.BaseVo;
|
|
|
|
|
+import com.ruoyi.common.core.validate.AddGroup;
|
|
|
|
|
+import com.ruoyi.common.core.validate.EditGroup;
|
|
|
|
|
+import com.ruoyi.common.enums.CallInterfaceStatus;
|
|
|
|
|
+import com.ruoyi.common.enums.order.MarketingType;
|
|
|
|
|
+import com.ruoyi.common.enums.order.OrderType;
|
|
|
|
|
+import com.ruoyi.common.filepathsplicing.FilePathValue;
|
|
|
|
|
+import com.ruoyi.shop.order.domain.ShopOrderDetail;
|
|
|
|
|
+import com.ruoyi.shop.order.enums.*;
|
|
|
|
|
+import com.ruoyi.shop.order.service.*;
|
|
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+
|
|
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
|
|
+import java.io.Serializable;
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 代发货视图对象 tb_shop_order
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author lubo
|
|
|
|
|
+ * @date 2025-10-23
|
|
|
|
|
+ */
|
|
|
|
|
+@Data
|
|
|
|
|
+@ApiModel("代发货视图对象")
|
|
|
|
|
+@ExcelTarget("ShopOrderVo")
|
|
|
|
|
+@ExcelIgnoreUnannotated
|
|
|
|
|
+public class ShopOrderWaitShipVo implements Serializable {
|
|
|
|
|
+
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "订单号")
|
|
|
|
|
+ @ApiModelProperty("订单号")
|
|
|
|
|
+ private String orderNo;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 所属商家名称
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ @ExcelProperty(value = "所属商家名称")
|
|
|
|
|
+ @ApiModelProperty("所属商家名称")
|
|
|
|
|
+ private String businessName;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户手机号
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ @ExcelProperty(value = "用户手机号")
|
|
|
|
|
+ @ApiModelProperty("用户手机号")
|
|
|
|
|
+ private String userMobile;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "用户名称")
|
|
|
|
|
+ @ApiModelProperty("用户名称")
|
|
|
|
|
+ private String userName;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 支付状态(0待支付,10已支付,100支付失败)
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "支付状态", converter = ExcelEnumConvert.class)
|
|
|
|
|
+ @ExcelDictFormat(readConverterExp = "0=待支付,10=已支付,100=支付失败")
|
|
|
|
|
+ @ApiModelProperty("支付状态(0待支付,10已支付,100支付失败)")
|
|
|
|
|
+ private PaymentStatus paymentStatus;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商品原sku价
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "商品原sku价")
|
|
|
|
|
+ @ApiModelProperty("商品原sku价")
|
|
|
|
|
+ private BigDecimal totalSkuPrice;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商品实际总价
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "商品实际总价")
|
|
|
|
|
+ @ApiModelProperty("商品实际总价")
|
|
|
|
|
+ private BigDecimal totalRealPrice;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单运费
|
|
|
|
|
+ */
|
|
|
|
|
+ @Excel(name = "订单运费", orderNum = "19", width = 15D, needMerge = true)
|
|
|
|
|
+ @ExcelProperty(value = "订单运费")
|
|
|
|
|
+ @ApiModelProperty("订单运费")
|
|
|
|
|
+ private BigDecimal shippingFee;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单实付金额(商品实际总价-商家优惠券实际优惠+订单运费)
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "订单实付金额")
|
|
|
|
|
+ @ApiModelProperty("订单实付金额(商品实际总价-商家优惠券实际优惠+订单运费)")
|
|
|
|
|
+ private BigDecimal actualPayment;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总优惠(会员价或活动价或改价后的价格总优惠+店铺优惠券实际优惠)
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "总优惠")
|
|
|
|
|
+ @ApiModelProperty("总优惠(会员价或活动价或改价后的价格总优惠+店铺优惠券实际优惠)")
|
|
|
|
|
+ private BigDecimal totalReduced;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 支付积分
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "支付积分")
|
|
|
|
|
+ @ApiModelProperty("支付积分")
|
|
|
|
|
+ private BigDecimal paymentPoints;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 积分抵扣多少钱
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "积分抵扣多少钱")
|
|
|
|
|
+ @ApiModelProperty(value = "积分抵扣多少钱")
|
|
|
|
|
+ private BigDecimal pointReduced;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 买家备注
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "买家备注")
|
|
|
|
|
+ @ApiModelProperty("买家备注")
|
|
|
|
|
+ private String buyerRemark;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卖家备注
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "卖家备注")
|
|
|
|
|
+ @ApiModelProperty("卖家备注")
|
|
|
|
|
+ private String sellerRemark;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卖家标记(0普通,10提醒,20特别)
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "卖家标记", converter = ExcelEnumConvert.class)
|
|
|
|
|
+ @ExcelDictFormat(readConverterExp = "0=普通,10=提醒,20=特别")
|
|
|
|
|
+ @ApiModelProperty("卖家标记(0普通,10提醒,20特别)")
|
|
|
|
|
+ private SellerMark sellerMark;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单下单时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "下单时间",converter = ExcelDateTimeConvert.class)
|
|
|
|
|
+ @ApiModelProperty("订单下单时间")
|
|
|
|
|
+ private Date orderTime;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单支付时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "支付时间",converter = ExcelDateTimeConvert.class)
|
|
|
|
|
+ @ApiModelProperty("订单支付时间")
|
|
|
|
|
+ private Date paymentTime;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商品总数量
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "商品总数量")
|
|
|
|
|
+ @ApiModelProperty("商品总数量")
|
|
|
|
|
+ private Integer productNumber;
|
|
|
|
|
+
|
|
|
|
|
+ @ExcelProperty(value = "商品详情")
|
|
|
|
|
+ @ApiModelProperty("商品详情")
|
|
|
|
|
+ private String productDetails;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty("订单明细")
|
|
|
|
|
+ private List<ShopOrderDetailVo> orderDetails;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 收货人姓名
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "收货人姓名")
|
|
|
|
|
+ @ApiModelProperty("收货人姓名")
|
|
|
|
|
+ private String receiverName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 收货人电话
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "收货人电话")
|
|
|
|
|
+ @ApiModelProperty("收货人电话")
|
|
|
|
|
+ private String receiverPhone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 地址详情
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiModelProperty("地址详情")
|
|
|
|
|
+ private String addressDetail;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 省名
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "省名")
|
|
|
|
|
+ @ApiModelProperty("省名")
|
|
|
|
|
+ private String provinceName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 市名
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "市名")
|
|
|
|
|
+ @ApiModelProperty("市名")
|
|
|
|
|
+ private String cityName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 区名
|
|
|
|
|
+ */
|
|
|
|
|
+ @ExcelProperty(value = "区名")
|
|
|
|
|
+ @ApiModelProperty("区名")
|
|
|
|
|
+ private String areaName;
|
|
|
|
|
+
|
|
|
|
|
+ @ExcelProperty(value = "收货地址")
|
|
|
|
|
+ private String allAddress;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 物流公司代号
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiModelProperty(value = "物流公司编号", required = true)
|
|
|
|
|
+ @ExcelProperty(value = "物流公司编号")
|
|
|
|
|
+ private String expressCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 物流公司名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiModelProperty(value = "物流公司名称", required = true)
|
|
|
|
|
+ @ExcelProperty(value = "物流公司名称")
|
|
|
|
|
+ private String expressName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 快递单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiModelProperty(value = "快递单号", required = true)
|
|
|
|
|
+ @ExcelProperty(value = "快递单号")
|
|
|
|
|
+ private String logisticCode;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 加载收货地址
|
|
|
|
|
+ */
|
|
|
|
|
+ public String loadAllAddress() {
|
|
|
|
|
+ return this.allAddress = provinceName + cityName + areaName + addressDetail;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取订单描述
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public String loadDescription() {
|
|
|
|
|
+ StringBuilder description = new StringBuilder();
|
|
|
|
|
+ for (ShopOrderDetailVo shopOrderDetail : this.orderDetails) {
|
|
|
|
|
+ description.append(String.format("%s %s * %d \\n",shopOrderDetail.getProductShortTitle(),shopOrderDetail.getSkuSetName(), shopOrderDetail.getProductNum()));
|
|
|
|
|
+ }
|
|
|
|
|
+ productDetails = description.toString();
|
|
|
|
|
+ return this.productDetails;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|