|
|
|
@ -20,11 +20,14 @@ package com.epmet.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.dao.ProjectSatisfactionStatisticsDao; |
|
|
|
import com.epmet.dto.ProjectSatisfactionStatisticsDTO; |
|
|
|
import com.epmet.dto.form.ProjectEvaluateScoreFormDTO; |
|
|
|
import com.epmet.dto.result.ProjectEvaluateScoreResultDTO; |
|
|
|
import com.epmet.entity.ProjectSatisfactionStatisticsEntity; |
|
|
|
import com.epmet.redis.ProjectSatisfactionStatisticsRedis; |
|
|
|
import com.epmet.service.ProjectSatisfactionStatisticsService; |
|
|
|
@ -101,4 +104,25 @@ public class ProjectSatisfactionStatisticsServiceImpl extends BaseServiceImpl<Pr |
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 项目评价分数 |
|
|
|
* @Param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/5/13 11:18 上午 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public ProjectEvaluateScoreResultDTO projectEvaluateScore(ProjectEvaluateScoreFormDTO formDTO) { |
|
|
|
ProjectSatisfactionStatisticsEntity entity = baseDao.selectInfoByProjectId(formDTO.getProjectId()); |
|
|
|
Integer realEvalCount = entity.getBadCount() + entity.getGoodCount() + entity.getPerfectCount(); |
|
|
|
Integer shouldEvaluateCount = entity.getShouldEvaluateCount(); |
|
|
|
if (shouldEvaluateCount == NumConstant.ZERO){ |
|
|
|
return new ProjectEvaluateScoreResultDTO(NumConstant.ZERO); |
|
|
|
} |
|
|
|
// 未评价的给80分
|
|
|
|
Integer noEval = shouldEvaluateCount - realEvalCount; |
|
|
|
Integer noEvalScore = noEval * NumConstant.EIGHTY; |
|
|
|
Integer realEvalScore = entity.getBadCount() * NumConstant.SIXTY + entity.getGoodCount() * NumConstant.EIGHTY + entity.getPerfectCount() * NumConstant.ONE_HUNDRED; |
|
|
|
return new ProjectEvaluateScoreResultDTO((noEvalScore + realEvalScore) / shouldEvaluateCount); |
|
|
|
} |
|
|
|
|
|
|
|
} |