package com.cyksj.model.manage.views; import com.cyksj.model.entity.OrderDon; import com.cyksj.model.entity.OrderDonTransport; import com.cyksj.model.entity.OrderDonWaybill; import com.cyksj.model.views.GoodsDonSkuView; import com.ejlchina.searcher.bean.DbField; import com.ejlchina.searcher.bean.DbIgnore; import com.ejlchina.searcher.bean.SearchBean; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; import lombok.Setter; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author chan * @date 2022/9/27 6:56 PM */ @Getter @Setter @SearchBean(tables = "order_don o left join goods_don_sku sku on o.sku_id = sku.id " + "left join goods_don g on g.id = sku.goods_id " + "left join user u on o.user_id = u.id " + "left join groups_relation gr on gr.id = o.relation_id " + "left join channel_popularize cp on o.popularize_id = cp.id " + "left join channel c on c.id = cp.channel_id " + "left join order_don_transport odt on odt.order_id = o.id" ) public class OrderDonView { @DbField("o.id") private Long id; @DbField("c.id") private Long channelId; @DbField("c.name") private String channel; @DbField("o.relation_id") private Long relationId; @DbField("gr.groups_id") private Long groupsId; @DbField("gr.account") private String account; /** * 主账号 */ @DbIgnore private String gtAccount; @DbField("g.type") private Integer goodsDonType; @DbField("g.second_type") private Integer secondType; @DbField("o.order_no") private String orderNo; @DbField("o.transaction_id") private String transactionId; @DbField("g.logo") private String logo; @DbField("g.title") private String title; @DbField("g.id") private Long goodsId; @DbField("sku.is_benefits") private Boolean isBenefits; @DbField("sku.benefits_list") @JsonIgnore private String benefitsList; @DbField("sku.spec_val") private String specVal; @DbField("sku.months") private Integer months; @DbField("u.id") private Long userId; @DbField("u.nickname") private String nickname; @DbField("case when u.login_phone != '' then 'phone' when u.email != '' then 'email' when u.open_id != '' then 'wechat' else 'wechat' end") private String register; /** * 登录注册手机号 */ @DbField("u.login_phone") private String loginPhone; /** * 登录注册邮箱 */ @DbField("u.email") private String email; @DbField("o.money") private BigDecimal money; @DbField("o.coupon_money") private BigDecimal couponMoney; @DbField("o.refund_money") private BigDecimal refundMoney; @DbField("o.status") private OrderDon.Status status; @DbField("o.type") private OrderDon.Type type; @DbField("o.order_type") private Integer orderType; @DbField("o.source") private OrderDon.Source source; @DbField("o.num") private Integer num; @DbField("o.created_time") private Date createdTime; @DbField("o.coupon_user_id") private Long couponUserId; @DbIgnore private String couponName; @DbField("o.coupon_money") private BigDecimal couponMoney; @DbField("cp.id") private Long popularizeId; @DbField("o.pay_time") private Date payTime; @DbField("o.ex_code") private String exCode; @DbField("o.sub_node") private String subNode; /** * 收货人 */ @DbField("odt.receiver") private String receiver; /** * 手机号 */ @DbField("odt.phone") private String phone; /** * 省份 */ @DbField("odt.province") private String province; /** * 城市 */ @DbField("odt.city") private String city; /** * 区/县 */ @DbField("odt.district") private String district; /** * 详细地址 */ @DbField("odt.address") private String address; @DbIgnore private OrderDonWaybill waybill; @DbIgnore private OrderDonTransport transport; @DbIgnore private String beforeServiceName; @DbIgnore private String afterServiceName; /** * 是否可领取实物购买权益 */ @DbIgnore private Boolean isHasBenefits; @DbIgnore private List benefitsViews; }