fix: normalize comprehensive training scores
parent
3214e54b31
commit
85b4e83f7a
@ -0,0 +1,42 @@
|
|||||||
|
# Task 2 report
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
Complete. Comprehensive training participates only when this teaching class has
|
||||||
|
both the publication marker and an enabled `comprehensive-case-training`
|
||||||
|
allocation. Reports expose `participating`; both reports and ranks normalize by
|
||||||
|
the sum of participating module weights.
|
||||||
|
|
||||||
|
## Commit
|
||||||
|
|
||||||
|
`18849c2a0e094c0cd48e9b87ce0f6e2e36fbf731` (`fix: normalize comprehensive training scores`).
|
||||||
|
|
||||||
|
## TDD evidence
|
||||||
|
|
||||||
|
- RED: `mvn '-Dtest=ScoreRankServiceImplTeachingClassTest,StudentExperimentReportServiceImplTest' test`
|
||||||
|
first failed at test compilation because `StudentExperimentReportModuleDTO`
|
||||||
|
lacked `getParticipating`; after adding the DTO contract it failed because the
|
||||||
|
report service had no class allocation mapper.
|
||||||
|
- GREEN: the same focused command passed: 5 tests, 0 failures, 0 errors.
|
||||||
|
- Full: `mvn test` passed: 209 tests, 0 failures, 0 errors, 0 skipped.
|
||||||
|
|
||||||
|
The Maven wrapper is incomplete in this worktree (`.mvn/wrapper` is absent),
|
||||||
|
so the commands above used the installed `mvn` executable.
|
||||||
|
|
||||||
|
## Changed files
|
||||||
|
|
||||||
|
- `src/test/java/com/sztzjy/linkCommerce/service/impl/ScoreRankServiceImplTeachingClassTest.java`
|
||||||
|
- `src/test/java/com/sztzjy/linkCommerce/service/impl/StudentExperimentReportServiceImplTest.java`
|
||||||
|
- `src/main/java/com/sztzjy/linkCommerce/entity/dto/StudentExperimentReportModuleDTO.java`
|
||||||
|
- `src/main/java/com/sztzjy/linkCommerce/service/impl/ScoreRankServiceImpl.java`
|
||||||
|
- `src/main/java/com/sztzjy/linkCommerce/service/impl/StudentExperimentReportServiceImpl.java`
|
||||||
|
|
||||||
|
## Self-check and concerns
|
||||||
|
|
||||||
|
- The retained weights are 10/30/10/10/20/20; no teacher configuration or
|
||||||
|
task visibility logic was changed.
|
||||||
|
- School/platform fallback allocations are used for normal task content, but
|
||||||
|
cannot activate the comprehensive module without a local class publication
|
||||||
|
record.
|
||||||
|
- There are no outstanding functional concerns. Maven emits pre-existing POM
|
||||||
|
warnings about project-local Aspose system dependencies.
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.sztzjy.linkCommerce.entity.dto;
|
package com.sztzjy.linkCommerce.entity.dto;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
public class StudentExperimentReportModuleDTO { private String moduleName; private BigDecimal weight; private BigDecimal score=BigDecimal.ZERO; private Integer completedTaskCount=0; private Integer totalTaskCount=0;
|
public class StudentExperimentReportModuleDTO { private String moduleName; private BigDecimal weight; private BigDecimal score=BigDecimal.ZERO; private Integer completedTaskCount=0; private Integer totalTaskCount=0; private Boolean participating=Boolean.FALSE;
|
||||||
public String getModuleName(){return moduleName;} public void setModuleName(String v){moduleName=v;} public BigDecimal getWeight(){return weight;} public void setWeight(BigDecimal v){weight=v;} public BigDecimal getScore(){return score;} public void setScore(BigDecimal v){score=v;} public Integer getCompletedTaskCount(){return completedTaskCount;} public void setCompletedTaskCount(Integer v){completedTaskCount=v;} public Integer getTotalTaskCount(){return totalTaskCount;} public void setTotalTaskCount(Integer v){totalTaskCount=v;} }
|
public String getModuleName(){return moduleName;} public void setModuleName(String v){moduleName=v;} public BigDecimal getWeight(){return weight;} public void setWeight(BigDecimal v){weight=v;} public BigDecimal getScore(){return score;} public void setScore(BigDecimal v){score=v;} public Integer getCompletedTaskCount(){return completedTaskCount;} public void setCompletedTaskCount(Integer v){completedTaskCount=v;} public Integer getTotalTaskCount(){return totalTaskCount;} public void setTotalTaskCount(Integer v){totalTaskCount=v;} public Boolean getParticipating(){return participating;} public void setParticipating(Boolean v){participating=v;} }
|
||||||
|
|||||||
Loading…
Reference in New Issue