|
|
@@ -17,11 +17,12 @@ public class FamilyChallengeController {
|
|
|
private FamilyChallengeService familyChallengeService;
|
|
|
|
|
|
@PostMapping("/list")
|
|
|
- public Result<List<FamilyChallenge>> getList(@RequestAttribute(value = "familyId", required = false) Long familyId) {
|
|
|
+ public Result<List<FamilyChallenge>> getList(@RequestAttribute(value = "familyId", required = false) Long familyId,
|
|
|
+ @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
|
|
|
if (familyId == null) {
|
|
|
return Result.noFamily("请先创建或加入家庭");
|
|
|
}
|
|
|
- return Result.success(familyChallengeService.getActiveChallenges(familyId));
|
|
|
+ return Result.success(familyChallengeService.getActiveChallenges(familyId, currentMemberId));
|
|
|
}
|
|
|
|
|
|
@PostMapping("/history")
|
|
|
@@ -49,6 +50,18 @@ public class FamilyChallengeController {
|
|
|
return familyChallengeService.updateProgress(challengeId, currentMemberId, delta);
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("/respond")
|
|
|
+ public Result<Void> respondChallenge(@RequestBody Map<String, Object> params,
|
|
|
+ @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
|
|
|
+ if (currentMemberId == null) {
|
|
|
+ return Result.error("未识别当前成员");
|
|
|
+ }
|
|
|
+ Long challengeId = params.get("challengeId") != null
|
|
|
+ ? Long.valueOf(params.get("challengeId").toString()) : null;
|
|
|
+ String action = params.get("action") != null ? params.get("action").toString() : null;
|
|
|
+ return familyChallengeService.respondChallenge(challengeId, currentMemberId, action);
|
|
|
+ }
|
|
|
+
|
|
|
@PostMapping("/templates")
|
|
|
public Result<List<Map<String, Object>>> getTemplates() {
|
|
|
return Result.success(familyChallengeService.getTemplates());
|
|
|
@@ -56,13 +69,13 @@ public class FamilyChallengeController {
|
|
|
|
|
|
@PostMapping("/create")
|
|
|
public Result<Long> createChallenge(@RequestBody Map<String, Object> params,
|
|
|
- @RequestAttribute(value = "role", required = false) String role,
|
|
|
@RequestAttribute(value = "familyId", required = false) Long familyId,
|
|
|
- @RequestAttribute("userId") Long userId) {
|
|
|
- if (!"parent".equals(role)) {
|
|
|
- return Result.error("仅家长可创建挑战");
|
|
|
+ @RequestAttribute(value = "userId", required = false) Long userId,
|
|
|
+ @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
|
|
|
+ if (currentMemberId == null) {
|
|
|
+ return Result.error("未识别当前成员");
|
|
|
}
|
|
|
- return familyChallengeService.createChallenge(familyId, userId, params);
|
|
|
+ return familyChallengeService.createChallenge(familyId, userId, currentMemberId, params);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/update/{id}")
|