zhanghua
2025-06-11 2ca169c85f61256fb5185c078dba1bfef2be5066
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package cn.lili.modules.member.entity.dos;
 
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.security.sensitive.Sensitive;
import cn.lili.common.security.sensitive.enums.SensitiveStrategy;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.member.entity.dto.MemberEvaluationDTO;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;
 
import javax.validation.constraints.NotNull;
 
/**
 * 会员商品评价
 *
 * @author Bulbasaur
 * @since 2020-02-25 14:10:16
 */
@Data
@TableName("li_member_evaluation")
@ApiModel(value = "会员商品评价")
@NoArgsConstructor
public class MemberEvaluation extends BaseEntity {
 
    private static final long serialVersionUID = 1L;
 
    @ApiModelProperty(value = "会员ID")
    private String memberId;
 
    @NotNull
    @ApiModelProperty(value = "店铺ID")
    private String storeId;
 
    @NotNull
    @ApiModelProperty(value = "店铺名称")
    private String storeName;
 
    @NotNull
    @ApiModelProperty(value = "商品ID")
    private String goodsId;
 
    @NotNull
    @ApiModelProperty(value = " SKU ID")
    private String skuId;
 
    @NotNull
    @ApiModelProperty(value = "会员名称")
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String memberName;
 
    @NotNull
    @ApiModelProperty(value = "会员头像")
    private String memberProfile;
 
    @NotNull
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
 
    @NotNull
    @ApiModelProperty(value = "商品图片")
    private String goodsImage;
 
    @NotNull
    @ApiModelProperty(value = "订单号")
    private String orderNo;
 
    @NotNull
    @ApiModelProperty(value = "好中差评 , GOOD:好评,MODERATE:中评,WORSE:差评", allowableValues = "GOOD,MODERATE,WORSE")
    private String grade;
 
    @NotNull
    @ApiModelProperty(value = " 评价内容")
    private String content;
 
    @ApiModelProperty(value = "评价图片")
    private String images;
 
    @NotNull
    @ApiModelProperty(value = "状态  OPEN 正常 ,CLOSE 关闭 ")
    private String status;
 
    @ApiModelProperty(value = "评价回复")
    private String reply;
 
    @ApiModelProperty(value = "评价回复图片")
    private String replyImage;
 
    @ApiModelProperty(value = "评论是否有图片 true 有 ,false 没有")
    private Boolean haveImage;
 
    @ApiModelProperty(value = "回复是否有图片 true 有 ,false 没有")
    private Boolean haveReplyImage;
 
    @ApiModelProperty(value = "回复状态")
    private boolean replyStatus;
 
    @ApiModelProperty(value = "物流评分")
    private Integer deliveryScore;
 
    @ApiModelProperty(value = "服务评分")
    private Integer serviceScore;
 
    @ApiModelProperty(value = "描述评分")
    private Integer descriptionScore;
 
 
    public MemberEvaluation(MemberEvaluationDTO memberEvaluationDTO, GoodsSku goodsSku, Member member, Order order) {
        //复制评价信息
        BeanUtils.copyProperties(memberEvaluationDTO, this);
        //设置会员
        this.memberId = member.getId();
        //会员名称
        this.memberName = member.getNickName();
        //设置会员头像
        this.memberProfile = member.getFace();
        //商品名称
        this.goodsName = goodsSku.getGoodsName();
        //商品图片
        this.goodsImage = goodsSku.getThumbnail();
        //设置店铺ID
        this.storeId = order.getStoreId();
        //设置店铺名称
        this.storeName = order.getStoreName();
        //设置订单编号
        this.orderNo = order.getSn();
        //是否包含图片
        this.haveImage = CharSequenceUtil.isNotEmpty(memberEvaluationDTO.getImages());
        //默认开启评价
        this.status = SwitchEnum.OPEN.name();
    }
}