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(); } }