This commit is contained in:
那些花儿
2025-04-30 14:49:17 +08:00
parent 217e6fc628
commit 459cc348bb
6 changed files with 173 additions and 164 deletions
@@ -25,7 +25,10 @@ import org.nutz.mvc.annotation.Ok;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
* @author zhf
@@ -49,28 +52,6 @@ public class ActScoreEnterController {
public void index() {
}
@At()
@SaCheckPermission("activity.scoreEnter")
public Result getActivityOptions(Integer year) {
return Result.success(activityService.dao().query(Activity.class, Cnd.NEW().andEX("YEAR(startTime)", "=", year)));
}
@At()
@SaCheckPermission("activity.scoreEnter")
public Result pageData(ActScoreEnterPageForm pageForm) {
Sql sql = Sqls.create("""
SELECT
t1.*
FROM
`activity_item` t1
WHERE t1.activityId=@id
ORDER BY t1.sort asc
""").setParam("id", pageForm.getActivityId());
return Result.success(activityService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql));
}
@At("/list-activity")
@SaCheckPermission("activity.scoreEnter")
@ApiOperation(value = "获取活动列表", nickname = "/list-activity", httpMethod = "GET")
@@ -91,7 +72,6 @@ public class ActScoreEnterController {
public Result listGroup(Long activityId) {
List<ActGroup> groupList = activityService.dao().query(ActGroup.class, Cnd.where(ActGroup::getActivityId, "=", activityId));
return Result.success(groupList);
}
/**
@@ -110,7 +90,7 @@ public class ActScoreEnterController {
@At("/list-item-score/?")
@SaCheckPermission("activity.scoreEnter")
@ApiOperation(value = "获取项目列表", nickname = "/list-item-score", httpMethod = "GET")
@ApiOperation(value = "获取队伍项目成绩", nickname = "/list-item-score", httpMethod = "GET")
public Result listItemScore(Long activityId) {
List<ActItemGroupScore> scoreList = dao.query(ActItemGroupScore.class, Cnd.where(ActItemGroupScore::getActivityId, "=", activityId));
return Result.success(scoreList);
@@ -119,7 +99,7 @@ public class ActScoreEnterController {
@At("/save-score")
@SaCheckPermission("activity.scoreEnter")
@Aop(TransAop.READ_COMMITTED)
@ApiOperation(value = "保存成绩", nickname = "/list-activity", httpMethod = "POST")
@ApiOperation(value = "保存成绩", nickname = "/save-score", httpMethod = "POST")
public Result saveScore(ActItemScoreVo actItemScoreVo) {
List<ActivityItem> itemList = dao.query(ActivityItem.class, Cnd.where(ActivityItem::getActivityId, "=", actItemScoreVo.getActivityId()));
// dao.clear(ActItemGroupScore.class, Cnd.where(ActItemGroupScore::getActivityId, "=", actItemScoreVo.getActivityId()));
@@ -144,8 +124,17 @@ public class ActScoreEnterController {
activityItemScores.add(score);
});
});
dao.update(activityItemScores);
// 更新队伍得分及排名
List<ActGroup> groups = dao.query(ActGroup.class, Cnd.where(ActGroup::getActivityId, "=", actItemScoreVo.getActivityId()));
for (ActGroup group : groups) {
List<ActItemGroupScore> groupScores = activityItemScores.stream().filter(item -> item.getGroupId().equals(group.getId())).collect(Collectors.toList());
groupScores.stream().map(v -> v.getScore()).reduce(BigDecimal::add).ifPresent(group::setTotalScore);
}
groups.sort(Comparator.comparing(ActGroup::getTotalScore).reversed());
IntStream.range(0, groups.size()).forEach(i -> groups.get(i).setTotalRank(i + 1));
dao.update(groups, "totalScore|totalRank");
return Result.success();
}
@@ -182,20 +182,19 @@ layout("/layouts/platform_1.html"){
cellClick(row, column) {
},
// 保存成绩
saveScore() {
async saveScore() {
const formData = {
activityId: this.pageForm.activityId,
data: JSON.stringify(this.tableData)
}
$.post("/platform/activity/scoreEnter/save-score", formData).then(async res => {
if (res.code === 0) {
await this.listItemScore()
this.buildTableData()
this.$message.success("保存成功")
} else {
this.$message.error(res.msg)
}
})
const {code,data,msg} = await $.post("/platform/activity/scoreEnter/save-score", formData)
if (code === 0) {
await this.listItemScore()
this.buildTableData()
this.$message.success("保存成功")
}else{
this.$message.error(msg)
}
console.log(this.tableData)
}
},