wangming há 4 semanas atrás
pai
commit
3635b74c16

+ 31 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/po/CommPo.java

@@ -0,0 +1,31 @@
+
+package com.yami.shop.bean.po;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class CommPo {
+
+    @ApiModelProperty("商品评分")
+    private Integer score;
+
+    @ApiModelProperty("是否显示,1:审核通过,0:待审核, -1:不通过审核")
+    private String status;
+
+    @ApiModelProperty("开始时间")
+    private String startTime;
+
+    @ApiModelProperty("结束时间")
+    private String endTime;
+
+    @ApiModelProperty("是否回复 0:未回复  1:已回复")
+    private Integer replySts;
+
+    @ApiModelProperty("门店id")
+    private Long shopId;
+}

+ 30 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/ProdCommController.java

@@ -0,0 +1,30 @@
+package com.yami.shop.platform.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yami.shop.bean.model.ProdComm;
+import com.yami.shop.bean.po.CommPo;
+import com.yami.shop.common.util.PageParam;
+import com.yami.shop.service.ProdCommService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/platform/prodComm")
+@Api(tags = "评论接口")
+@AllArgsConstructor
+public class ProdCommController {
+
+    private final ProdCommService prodCommService;
+
+    @GetMapping("/backendCommList")
+    @ApiOperation(value = "后台管理-用户评价")
+    public ResponseEntity<IPage<ProdComm>> backendCommList(PageParam<ProdComm> page, CommPo po) {
+        return ResponseEntity.ok(prodCommService.backendCommList(page,po));
+    }
+}

+ 3 - 0
yami-shop-service/src/main/java/com/yami/shop/dao/ProdCommMapper.java

@@ -17,6 +17,7 @@ import com.yami.shop.bean.app.dto.ProdCommDto;
 import com.yami.shop.bean.model.ProdComm;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yami.shop.bean.po.CommPo;
 import com.yami.shop.common.util.PageParam;
 import org.apache.ibatis.annotations.Param;
 
@@ -41,4 +42,6 @@ public interface ProdCommMapper extends BaseMapper<ProdComm> {
     IPage<ProdComm> myCommList(@Param("page") PageParam<ProdComm> page, @Param("userId") String userId);
 
     String getShopName(String orderNumber);
+
+    IPage<ProdComm> backendCommList(@Param("page") PageParam<ProdComm> page, @Param("po") CommPo po);
 }

+ 3 - 0
yami-shop-service/src/main/java/com/yami/shop/service/ProdCommService.java

@@ -9,6 +9,7 @@ import com.yami.shop.bean.app.dto.ProdCommDto;
 import com.yami.shop.bean.app.param.ProdCommParam;
 import com.yami.shop.bean.model.Order;
 import com.yami.shop.bean.model.ProdComm;
+import com.yami.shop.bean.po.CommPo;
 import com.yami.shop.common.util.PageParam;
 
 import java.util.Map;
@@ -36,4 +37,6 @@ public interface ProdCommService extends IService<ProdComm> {
     Map<String, Object> commentCount(Long skuId, Long shopId);
 
     IPage<ProdComm> myCommList(PageParam<ProdComm> page, String userId);
+
+    IPage<ProdComm> backendCommList(PageParam<ProdComm> page, CommPo po);
 }

+ 15 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/ProdCommServiceImpl.java

@@ -23,6 +23,7 @@ import com.yami.shop.bean.app.param.ProdCommParam;
 import com.yami.shop.bean.model.Order;
 import com.yami.shop.bean.model.OrderItem;
 import com.yami.shop.bean.model.ProdComm;
+import com.yami.shop.bean.po.CommPo;
 import com.yami.shop.common.util.Arith;
 import com.yami.shop.common.util.IPHelper;
 import com.yami.shop.common.util.PageParam;
@@ -165,4 +166,18 @@ public class ProdCommServiceImpl extends ServiceImpl<ProdCommMapper, ProdComm> i
         }
         return commList;
     }
+
+    @Override
+    public IPage<ProdComm> backendCommList(PageParam<ProdComm> page, CommPo po) {
+        IPage<ProdComm> commList = prodCommMapper.backendCommList(page, po);
+        List<ProdComm> records = commList.getRecords();
+        if (!records.isEmpty()){
+            records.forEach(c->{
+                c.setOrderItems(orderItemMapper.selectList(
+                        new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, c.getOrderNumber())));
+                c.setShopName(prodCommMapper.getShopName(c.getOrderNumber()));
+            });
+        }
+        return commList;
+    }
 }

+ 29 - 1
yami-shop-service/src/main/resources/mapper/ProdCommMapper.xml

@@ -200,11 +200,39 @@
         FROM tz_prod_comm a
                  LEFT JOIN tz_user b on a.user_id=b.user_id
         WHERE a.user_id=#{userId}
-        ORDER BY a.rec_time desc,prod_comm_id desc
+        ORDER BY a.rec_time desc,a.prod_comm_id desc
     </select>
 
     <select id="getShopName" resultType="string">
         SELECT shop_name FROM tz_shop_detail WHERE shop_id =(SELECT shop_id FROM tz_order WHERE order_number=#{orderNumber})
     </select>
 
+    <select id="backendCommList" resultMap="BaseResultMap">
+        SELECT b.nick_name,b.pic avatar,a.*
+        FROM tz_prod_comm a
+        LEFT JOIN tz_user b on a.user_id=b.user_id
+        LEFT JOIN tz_order c on a.order_number =c.order_number
+        <where>
+            <if test="po.score != null">
+                and a.score=#{po.score}
+            </if>
+            <if test="po.score != null">
+                and a.status=#{po.status}
+            </if>
+            <if test="po.replySts != null">
+                and a.reply_sts=#{po.replySts}
+            </if>
+            <if test="po.shopId != null">
+                and c.shop_id=#{po.shopId}
+            </if>
+            <if test="po.startTime != null and po.startTime != ''">
+                AND a.rec_time &gt;= str_to_date(#{po.startTime},'%Y-%m-%d %H:%i:%s')
+            </if>
+            <if test="po.endTime != null and po.endTime != ''">
+                AND a.rec_time &lt;= str_to_date(#{po.endTime},'%Y-%m-%d %H:%i:%s')
+            </if>
+        </where>
+        ORDER BY a.rec_time desc,a.prod_comm_id desc
+    </select>
+
 </mapper>