zoujiajian 3 vuotta sitten
vanhempi
sitoutus
8f8f87ad92

+ 13 - 4
netflix-dao/src/main/java/com/cyksj/model/entity/OrderComment.java

@@ -21,18 +21,27 @@ public class OrderComment extends BaseEntity{
 
 	private String headImgUrl;
 
-	@NotEmpty
+	@NotEmpty(message = "用户名为空")
 	private String nickname;
 
-	@NotNull
+	@NotNull(message = "平台为空")
 	private Long goodsId;
 
+	private Long skuId;
+
 	private Long orderId;
 
-	@NotEmpty
+	@NotEmpty(message = "评论为空")
 	private String content;
 
-	private String remark;
+	@NotEmpty(message = "使用时间为空")
+	private String time;
+
+	private String picture;
+
+	private String video;
 
 	private Integer score;
+
+	private String commentTime;
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsFrontListView.java

@@ -102,4 +102,7 @@ public class GoodsFrontListView {
 
 	@DbIgnore
 	private GoodsDonSpec specs;
+
+	@DbIgnore
+	private OrderCommentFrontView comments;
 }

+ 61 - 0
netflix-dao/src/main/java/com/cyksj/model/views/OrderCommentFrontView.java

@@ -0,0 +1,61 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: netflix
+ *文件名: OrderCommentFrontView
+ *创建者: JavaZou
+ *创建时间:2023/5/26 17:05
+ */
+@Getter
+@Setter
+@SearchBean(tables = "order_comment oc left join goods_don g on g.id = oc.goods_id" +
+		" left join goods_don_sku sku on sku.id = oc.sku_id")
+public class OrderCommentFrontView {
+	@JsonIgnore
+	@DbField("oc.id")
+	private Long id;
+
+	@DbField("oc.nickname")
+	private String nickname;
+
+	@DbField("oc.head_img_url")
+	private String headImgUrl;
+
+	@JsonIgnore
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String title;
+
+	@JsonIgnore
+	@DbField("sku.id")
+	private Long skuId;
+
+	@DbField("sku.spec_val")
+	private String specVal;
+
+	@DbField("oc.content")
+	private String content;
+
+	@DbField("oc.time")
+	private String time;
+
+	@DbField("oc.score")
+	private Integer score;
+
+	@DbField("oc.picture")
+	private String picture;
+
+	@DbField("oc.video")
+	private String video;
+
+	@DbField("oc.comment_time")
+	private String commentTime;
+}

+ 24 - 5
netflix-dao/src/main/java/com/cyksj/model/views/OrderCommentView.java

@@ -15,8 +15,12 @@ import java.util.Date;
  */
 @Getter
 @Setter
-@SearchBean(tables = "order_comment oc left join goods_don g on g.id = oc.goods_id")
+@SearchBean(tables = "order_comment oc left join goods_don g on g.id = oc.goods_id" +
+		" left join goods_don_sku sku on sku.id = oc.sku_id")
 public class OrderCommentView {
+	@DbField("oc.id")
+	private Long id;
+
 	@DbField("oc.user_id")
 	private Long userId;
 
@@ -29,6 +33,15 @@ public class OrderCommentView {
 	@DbField("oc.goods_id")
 	private Long goodsId;
 
+	@DbField("g.title")
+	private String title;
+
+	@DbField("oc.sku_id")
+	private Long skuId;
+
+	@DbField("sku.spec_val")
+	private String specVal;
+
 	@DbField("oc.order_id")
 	private Long orderId;
 
@@ -38,11 +51,17 @@ public class OrderCommentView {
 	@DbField("oc.score")
 	private Integer score;
 
-	@DbField("g.title")
-	private String title;
+	@DbField("oc.time")
+	private String time;
+
+	@DbField("oc.picture")
+	private String picture;
+
+	@DbField("oc.video")
+	private String video;
 
-	@DbField("oc.remark")
-	private String remark;
+	@DbField("oc.comment_time")
+	private String commentTime;
 
 	@DbField("oc.created_time")
 	private Date createdTime;

+ 18 - 8
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -96,10 +96,6 @@ public class GoodsDonController {
             Integer sold = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
                     .eq(OrderDon::getGoodsId, data.getId()).notIn(OrderDon::getStatus, Constant.noOrderStatus));
             data.setSold(sold + data.getVirtualSold());
-            SearchResult<OrderComment> orderComments = beanSearcher.search(OrderComment.class,
-                    MapUtils.builder().field(OrderComment::getGoodsId, data.getId())
-                            .orderBy(OrderComment::getId).desc()
-                            .build());
 
             Optional.ofNullable(data.getSkuList()).ifPresent(skuList -> {
                 if (skuList.size() > 0) {
@@ -108,10 +104,6 @@ public class GoodsDonController {
                     data.setMonths(goodsDonSku.getMonths());
                 }
             });
-            if (orderComments != null) {
-                List<OrderComment> comments = orderComments.getDataList();
-                data.setOrderComments(comments);
-            }
             OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
                     .eq(OrderDon::getGoodsId, data.getId())
                     .notIn(OrderDon::getStatus, Constant.noOrderStatus).select(OrderDon::getCreatedTime, OrderDon::getPayTime, OrderDon::getId)
@@ -182,6 +174,12 @@ public class GoodsDonController {
                     data.setMonths(donFrontSkuView.getMonths());
                 }
             });
+            OrderCommentFrontView comments = beanSearcher.searchFirst(OrderCommentFrontView.class, MapUtils.builder()
+                    .field(OrderCommentFrontView::getGoodsId, data.getId())
+                    .orderBy(OrderCommentFrontView::getCommentTime).desc()
+                    .orderBy(OrderCommentFrontView::getId).desc()
+                    .build());
+            data.setComments(comments);
             OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
                     .eq(OrderDon::getGoodsId, data.getId())
                     .notIn(OrderDon::getStatus, Constant.noOrderStatus).select(OrderDon::getCreatedTime, OrderDon::getPayTime, OrderDon::getId)
@@ -284,4 +282,16 @@ public class GoodsDonController {
                 .build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(views);
     }
+
+    /**
+     * 获取评价列表
+     */
+    @GetMapping("/get/comments")
+    public Result<SearchResult<OrderCommentFrontView>> getComments() {
+        SearchResult<OrderCommentFrontView> search = beanSearcher.search(OrderCommentFrontView.class, MapUtils.flatBuilder(request.getParameterMap())
+                .orderBy(OrderCommentFrontView::getCommentTime).desc()
+                .orderBy(OrderCommentFrontView::getId).desc()
+                .build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
 }

+ 7 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -2,6 +2,7 @@ package com.cyksj.web.controller.manage;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -9,7 +10,6 @@ import com.cyksj.common.annotation.Log;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
-import com.cyksj.common.util.StringUtil;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.BusinessType;
 import com.cyksj.enums.GatewayResponse;
@@ -358,7 +358,9 @@ public class CmsOrderController {
 		if (StrUtil.isEmpty(orderComment.getHeadImgUrl())) {
 			orderComment.setHeadImgUrl(Constant.DEFAULT_HEAD_IMG);
 		}
-		orderComment.setNickname(StringUtil.anonymity(orderComment.getNickname().toCharArray()));
+		if (orderComment.getCommentTime() == null) {
+			orderComment.setCommentTime(DateTime.now().toDateStr());
+		}
 		orderCommentMapper.insert(orderComment);
 		return GatewayResponse.SUCCESS.newBuilder().toResult("新增成功");
 	}
@@ -369,6 +371,9 @@ public class CmsOrderController {
 	@PutMapping("/put/orderComment")
 	public Result<String> updateOrderComment(@RequestBody @Validated OrderComment orderComment) {
 		orderCommentMapper.updateById(orderComment);
+		if (orderComment.getCommentTime() == null) {
+			orderComment.setCommentTime(DateTime.now().toDateStr());
+		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult("编辑成功");
 	}
 

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonController.java

@@ -141,7 +141,7 @@ public class CmsGoodsDonController {
     public Result<List<GoodsDon>> getAllGoodsList() {
         List<GoodsDon> goodsDons = beanSearcher.searchAll(GoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
                 .field(GoodsDon::getDeleted,true)
-                .onlySelect(GoodsDon::getId, GoodsDon::getTitle).build());
+                .onlySelect(GoodsDon::getId, GoodsDon::getCategory, GoodsDon::getType, GoodsDon::getTitle).build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(goodsDons);
     }
 }