From 30a42231ba1df62a1609586ed35ea69249e03692 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 10 八月 2024 17:33:26 +0800
Subject: [PATCH] 电站评价列表
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java | 12 ++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java | 26 ++++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 33 ++++++++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java | 18 ++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java | 10 ++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java | 4 +
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 3
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml | 57 ++++++++++++++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java | 2
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java | 18 +++-
10 files changed, 175 insertions(+), 8 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
index a48b136..3f36bcb 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
@@ -52,6 +52,10 @@
@TableField("app_user_car_id")
private Integer appUserCarId;
+ @ApiModelProperty(value = "站点 id")
+ @TableField("site_id")
+ private Integer siteId;
+
@ApiModelProperty(value = "停车场id")
@TableField("parking_lot_id")
private Integer parkingLotId;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java
new file mode 100644
index 0000000..baa8356
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java
@@ -0,0 +1,26 @@
+package com.ruoyi.order.api.query;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "TOrderEvaluateQuery对象",description = "订单评价查询条件")
+public class TOrderEvaluateQuery extends BasePage {
+
+ @ApiModelProperty(value = "站点id")
+ private Integer siteId;
+
+ @ApiModelProperty(value = "订单id集合 前端忽略")
+ private List<Long> orderIds;
+
+ @ApiModelProperty(value = "标签类型 1=最新 2=有图 3=好评 4=中差评 5=其他")
+ private Integer tagType;
+
+ @ApiModelProperty(value = "标签id 标签类型为5时传输此字段")
+ private Integer tagId;
+
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java
new file mode 100644
index 0000000..f69bb8b
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java
@@ -0,0 +1,18 @@
+package com.ruoyi.order.api.vo;
+
+import com.ruoyi.order.api.model.TOrderEvaluate;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "TOrderEvaluateVO对象",description = "订单评价")
+public class TOrderEvaluateVO extends TOrderEvaluate {
+
+ @ApiModelProperty(value = "用户")
+ private String name;
+
+ @ApiModelProperty(value = "头像")
+ private String avatar;
+
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
index bc833b8..ec89086 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
@@ -3,6 +3,9 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.order.api.query.TOrderEvaluateQuery;
+import com.ruoyi.order.api.vo.TOrderEvaluateVO;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.other.api.feignClient.TEvaluationTagClient;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
@@ -10,6 +13,7 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -32,10 +36,16 @@
private TOrderEvaluateService orderEvaluateService;
- @ApiOperation(tags = {"小程序-充电订单"},value = "充电订单评价标签及数量查询")
- @PostMapping(value = "/list")
- public AjaxResult<List<TEvaluationTagVO>> list() {
- return AjaxResult.ok(orderEvaluateService.getTagList());
+ @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询")
+ @PostMapping(value = "/getTagCount")
+ public AjaxResult<List<TEvaluationTagVO>> getTagCount() {
+ return AjaxResult.ok(orderEvaluateService.getTagCount());
+ }
+
+ @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询")
+ @PostMapping(value = "/pageList")
+ public AjaxResult<PageInfo<TOrderEvaluateVO>> pageList(@RequestBody TOrderEvaluateQuery query) {
+ return AjaxResult.ok(orderEvaluateService.getTagList(query));
}
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
index 6a7b0ad..b2566d5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
@@ -1,7 +1,10 @@
package com.ruoyi.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TOrderEvaluate;
+import com.ruoyi.order.api.query.TOrderEvaluateQuery;
+import com.ruoyi.order.api.vo.TOrderEvaluateVO;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -20,4 +23,11 @@
@Mapper
public interface TOrderEvaluateMapper extends BaseMapper<TOrderEvaluate> {
+ /**
+ * 订单评价分页列表查询
+ * @param query
+ * @param pageInfo
+ * @return
+ */
+ List<TOrderEvaluateVO> pageList(@Param("query") TOrderEvaluateQuery query,@Param("pageInfo")PageInfo<TOrderEvaluateVO> pageInfo);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
index 4a3133f..cd76d7d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
@@ -1,7 +1,10 @@
package com.ruoyi.order.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TOrderEvaluate;
+import com.ruoyi.order.api.query.TOrderEvaluateQuery;
+import com.ruoyi.order.api.vo.TOrderEvaluateVO;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import java.util.List;
@@ -20,5 +23,12 @@
* 获取评价标签
* @return
*/
- List<TEvaluationTagVO> getTagList();
+ List<TEvaluationTagVO> getTagCount();
+
+ /**
+ * 充电订单评价分页列表查询
+ * @param query
+ * @return
+ */
+ PageInfo<TOrderEvaluateVO> getTagList(TOrderEvaluateQuery query);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index 94f423b..b1b5ca5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -2,8 +2,14 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TOrderEvaluate;
+import com.ruoyi.order.api.query.TOrderEvaluateQuery;
+import com.ruoyi.order.api.vo.TOrderEvaluateVO;
+import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.mapper.TOrderEvaluateMapper;
import com.ruoyi.order.mapper.TOrderEvaluateTagMapper;
import com.ruoyi.order.service.TOrderEvaluateService;
@@ -11,6 +17,7 @@
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
import java.util.Comparator;
import java.util.List;
@@ -32,8 +39,10 @@
private TEvaluationTagClient evaluationTagClient;
@Autowired
private TOrderEvaluateTagMapper orderEvaluateTagMapper;
+ @Autowired
+ private TChargingOrderMapper chargingOrderMapper;
@Override
- public List<TEvaluationTagVO> getTagList() {
+ public List<TEvaluationTagVO> getTagCount() {
// 查询标签列表
R<List<TEvaluationTagVO>> r = evaluationTagClient.getTagList();
List<TEvaluationTagVO> tagList = r.getData();
@@ -61,6 +70,28 @@
return tagList;
}
+ @Override
+ public PageInfo<TOrderEvaluateVO> getTagList(TOrderEvaluateQuery query) {
+ PageInfo<TOrderEvaluateVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
+ // 查询站点下的所有订单
+ List<TChargingOrder> tChargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class)
+ .eq(TChargingOrder::getSiteId, query.getSiteId()));
+ if(CollectionUtils.isEmpty(tChargingOrders)){
+ return new PageInfo<>();
+ }
+ List<Long> orderIds = tChargingOrders.stream().map(TChargingOrder::getId).collect(Collectors.toList());
+ query.setOrderIds(orderIds);
+ List<TOrderEvaluateVO> list = this.baseMapper.pageList(query,pageInfo);
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+
+ /**
+ * 统计有图,好评,中差评数量
+ * @param count
+ * @param name
+ * @param tagList
+ */
private void packageTagCount(Long count,String name,List<TEvaluationTagVO> tagList){
if(count>0){
TEvaluationTagVO evaluationTagVO = new TEvaluationTagVO();
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index 5d95538..210207a 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -10,6 +10,7 @@
<result column="order_classification" property="orderClassification" />
<result column="app_user_id" property="appUserId" />
<result column="app_user_car_id" property="appUserCarId" />
+ <result column="site_id" property="siteId" />
<result column="parking_lot_id" property="parkingLotId" />
<result column="charging_pile_id" property="chargingPileId" />
<result column="charging_gun_id" property="chargingGunId" />
@@ -37,7 +38,7 @@
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
- id, code, order_type, order_classification, app_user_id, app_user_car_id, parking_lot_id, charging_pile_id, charging_gun_id, start_time, end_time, status, recharge_amount, recharge_payment_type, recharge_payment_status, recharge_serial_number, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag
+ id, code, order_type, order_classification, app_user_id, app_user_car_id,site_id, parking_lot_id, charging_pile_id, charging_gun_id, start_time, end_time, status, recharge_amount, recharge_payment_type, recharge_payment_status, recharge_serial_number, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag
</sql>
</mapper>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
index 8b88832..66e30e6 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
@@ -21,5 +21,62 @@
<sql id="Base_Column_List">
id, order_type, order_id, app_user_id, mark, content, img_url, evaluation_response, create_time, response_time, del_flag
</sql>
+ <select id="pageList" resultType="com.ruoyi.order.api.vo.TOrderEvaluateVO">
+ select id, order_type, order_id, app_user_id, mark, content, img_url, evaluation_response,
+ create_time, response_time, del_flag
+ from t_order_evaluate where id in
+ (select toe.id
+ from t_order_evaluate toe
+ left join t_order_evaluate_tag toet on toe.id = toet.order_evaluate_id
+ <where>
+ <if test="query.orderIds != null and query.orderIds.size()>0">
+ and toe.order_id in
+ <foreach collection="query.orderIds" item="orderId" open="(" separator="," close=")">
+ #{orderId}
+ </foreach>
+ </if>
+ <if test="query.tagType != null">
+ <choose>
+ <when test="query.tagType == 2">
+ AND toe.img_url IS NOT NULL
+ </when>
+ <when test="query.tagType == 3">
+ AND toe.mark >= 4
+ </when>
+ <when test="query.tagType == 4">
+ AND toe.mark <= 3
+ </when>
+ <when test="query.tagType == 5">
+ AND toet.evaluation_tag_id = #{query.tagId}
+ </when>
+ </choose>
+ </if>
+ AND toe.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+ </where>
+ GROUP BY toe.id)
+ <if test="query.tagType != null">
+ <choose>
+ <when test="query.tagType == 1">
+ ORDER BY create_time DESC
+ </when>
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN img_url IS NOT NULL THEN 0
+ ELSE 1
+ END ASC,
+ create_time DESC;
+ </otherwise>
+ </choose>
+ </if>
+ <if test="query.tagType == null">
+ ORDER BY
+ CASE
+ WHEN img_url IS NOT NULL THEN 0
+ ELSE 1
+ END ASC,
+ create_time DESC;
+ </if>
+ </select>
</mapper>
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java
index 05209c1..6b03b9b 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java
@@ -21,7 +21,7 @@
public class TEvaluationTagServiceImpl extends ServiceImpl<TEvaluationTagMapper, TEvaluationTag> implements TEvaluationTagService {
@Override
- public List<TEvaluationTagVO> getTagList() {
+ public List<TEvaluationTagVO> getTagCount() {
return this.baseMapper.getTagList();
}
}
--
Gitblit v1.7.1