From b2c1822dc9ae8a67872193d182d9335d9a99655c Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期六, 22 六月 2024 15:16:53 +0800
Subject: [PATCH] 执法评价相关添加

---
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
index 54dcde0..f81186c 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
@@ -1,9 +1,14 @@
 package com.project.enforce.service.impl;
 
+import cn.hutool.core.convert.Convert;
 import com.project.common.exception.base.BaseException;
+import com.project.common.utils.JsonUtils;
+import com.project.common.utils.NumberUtils;
 import com.project.common.utils.StringUtils;
 import com.project.enforce.domain.EnforceEvaluateAnswer;
+import com.project.enforce.domain.EnforceEvaluateLog;
 import com.project.enforce.domain.EnforceEvaluateQuestion;
+import com.project.enforce.domain.EnforceOrder;
 import com.project.enforce.domain.bo.editBo.EnforceEvaluateBo;
 import com.project.enforce.domain.vo.EnforceEvaluateVo;
 import com.project.enforce.service.*;
@@ -12,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -41,7 +47,7 @@
         if (StringUtils.isEmpty(questionList)){
             throw new BaseException("璇勪环椤逛笉鍙负绌猴紒");
         }
-        for (EnforceEvaluateQuestion question : bo.getQuestionList()) {
+        for (EnforceEvaluateQuestion question : questionList) {
             if (question.getQuestionType()==1 && StringUtils.isEmpty(question.getAnswerList())){
                 throw new BaseException("閫夋嫨绫诲瀷绛旀涓嶅彲涓虹┖锛�");
             }
@@ -87,5 +93,37 @@
         return vo;
     }
 
+    @Override
+    @Transactional
+    public Boolean saveOrder(EnforceEvaluateBo bo)
+    {
+        if (bo.getOrderId()==null){
+            throw new BaseException("璇烽�夋嫨璇勪环鎵ф硶鍗曪紒");
+        }
+        List<EnforceEvaluateQuestion> questionList = bo.getQuestionList();
+        if (StringUtils.isEmpty(questionList)){
+            throw new BaseException("璇勪环椤逛笉鍙负绌猴紒");
+        }
+        int count = evaluateLogService.count(EnforceEvaluateLog::getOrderId, bo.getOrderId());
+        if (count>0) {
+            throw new BaseException("璇ユ墽娉曞崟宸茶瘎浠凤紒");
+        }
+        BigDecimal totalScore = BigDecimal.ZERO;
+        for (EnforceEvaluateQuestion question : questionList) {
+            totalScore = NumberUtils.add(totalScore, question.getGetScore());
+        }
+        EnforceOrder order = orderService.getById(bo.getOrderId());
+        EnforceEvaluateLog evaluateLog = Convert.convert(EnforceEvaluateLog.class, order);
+        evaluateLog.setQuestionRemark(bo.getQuestionRemark());
+        evaluateLog.setTotalScore(NumberUtils.divToBigDecSca2(totalScore,1));
+        evaluateLog.setQuestionStatic(JsonUtils.objectToJson(bo.getQuestionList()));
+
+        evaluateLogService.saveOrUpdate(evaluateLog);
+        return orderService.update(orderService.lu()
+                .set(EnforceOrder::getIsEva,1)
+                .set(EnforceOrder::getTotalScore, totalScore)
+        );
+    }
+
 
 }

--
Gitblit v1.9.1