From 5d7b65670282a4fad015e37d567cfa171b162052 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期二, 20 五月 2025 12:25:19 +0800
Subject: [PATCH] 基础代码

---
 pt-errand/src/main/java/com/ruoyi/errand/service/impl/EvaluationServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/EvaluationServiceImpl.java b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/EvaluationServiceImpl.java
new file mode 100644
index 0000000..5deedf4
--- /dev/null
+++ b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/EvaluationServiceImpl.java
@@ -0,0 +1,58 @@
+package com.ruoyi.errand.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.errand.constant.DelFlagConstant;
+import com.ruoyi.errand.domain.AppUser;
+import com.ruoyi.errand.domain.Evaluation;
+import com.ruoyi.errand.domain.Order;
+import com.ruoyi.errand.mapper.EvaluationMapper;
+import com.ruoyi.errand.mapper.OrderMapper;
+import com.ruoyi.errand.object.dto.app.AddEvaluationDTO;
+import com.ruoyi.errand.service.EvaluationService;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Objects;
+
+@Service
+public class EvaluationServiceImpl extends ServiceImpl<EvaluationMapper, Evaluation> implements EvaluationService {
+
+    private  OrderMapper orderMapper;
+
+    @Override
+    public void add(AddEvaluationDTO addEvaluationDTO) {
+        //检查订单id是否存在
+        //该用户类型是否正常
+        AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        //判断订单是否存在
+        Order order = orderMapper.selectById(addEvaluationDTO.getOrderId());
+        if (order==null ||order.getDelFlag().equals(DelFlagConstant.DELETE)){
+            throw new ServiceException("订单id错误");
+        }
+        if (order.getOrderStatus()!=4){
+            throw new ServiceException("订单状态错误");
+        }
+
+        if (addEvaluationDTO.getType()==0){
+            //用户评价
+            if (!Objects.equals(order.getAppUserId(), appuser.getId())){
+                throw new ServiceException("用户与订单不匹配");
+            }
+        }else if (addEvaluationDTO.getType()==1){
+            if (!Objects.equals(order.getCourierId(), appuser.getCourierId())){
+                throw new ServiceException("跑腿与订单不匹配");
+            }
+        }else {
+            throw new ServiceException("评价类型错误");
+        }
+        Evaluation evaluation = new Evaluation();
+        evaluation.setOrderId(addEvaluationDTO.getOrderId());
+        evaluation.setType(addEvaluationDTO.getType());
+        evaluation.setRating(addEvaluationDTO.getRating());
+        evaluation.setContent(addEvaluationDTO.getContent());
+        evaluation.setCreateTime(LocalDateTime.now());
+        this.save(evaluation);
+    }
+}
\ No newline at end of file

--
Gitblit v1.7.1