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