From f991c73f56f35665bcbe8ce2252c04ea82032b10 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期一, 27 五月 2024 18:06:31 +0800 Subject: [PATCH] feat: 修复登录bug;数据校验规则优化 --- ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java | 19 +++--- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyInduction.java | 6 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java | 2 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/RedisConstants.java | 4 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java | 9 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyListen.java | 7 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStoryListen.java | 8 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyPair.java | 6 ++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/user/StudyLoginException.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TGameServiceImpl.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java | 51 +++++++++------- ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 10 +++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubject.java | 4 + ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java | 4 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyAnswer.java | 15 +++- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyLook.java | 7 ++ 17 files changed, 115 insertions(+), 43 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/RedisConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/RedisConstants.java index c01be78..71ae90d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/RedisConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/RedisConstants.java @@ -29,5 +29,9 @@ */ public final static String HEARING_TREE = "game_subject"; + /** + * 过期时间 30 + */ + public final static Integer THIRTY = 30; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/user/StudyLoginException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/user/StudyLoginException.java index a8770dd..94c4834 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/user/StudyLoginException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/user/StudyLoginException.java @@ -1,6 +1,8 @@ package com.ruoyi.common.core.exception.user; /** + * 学生端登录异常信息 + * * @author HJL * @version 1.0 * @since 2024-05-24 11:35 diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 275d931..ca27eae 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -145,7 +145,7 @@ public LoginUserParent getLoginUserStudy() { LoginUserParent userStudy = getLoginUserStudy(ServletUtils.getRequest()); if (null == userStudy) { - throw new StudyLoginException("登录失效,请重新登录!", 505); + throw new StudyLoginException("登录失效,请重新登录!", 504); } return userStudy; } @@ -219,6 +219,10 @@ if (StringUtils.isNotEmpty(token)) { String userkey = JwtUtils.getUserKeyStudy(token); user = redisService.getCacheObject(getTokenKeyStudy(userkey)); + // 再次判断登录状态是否已过期 + if (null == user) { + throw new StudyLoginException("登录信息已过期,请重新登录!", 504); + } // 优先判断当前账号是否已在其他设备登录 if (!user.getIsCanLogin()) { throw new StudyLoginException("当前登录账号在其他设备登录!", 505); @@ -345,6 +349,10 @@ LoginUserParent redisUserInfo = JSONObject.parseObject(JSONObject.toJSONString(redisCacheUserInfo), LoginUserParent.class); // 单点逻辑,如果当前用户已处于登录状态并再次登录,则清除该用户上一次登录token if (dto.getUserid().equals(redisUserInfo.getUserid())) { + // 被挤账户 可登录状态 已经为 false时,跳出循环 + if (!redisUserInfo.getIsCanLogin()) { + continue; + } // 设置能否登录字段为 否,当该token登录时,isCanLogin为false表示账号被挤 redisUserInfo.setIsCanLogin(Boolean.FALSE); redisService.setCacheObject(strKey, redisUserInfo, redisService.getExpire(strKey), TimeUnit.SECONDS); diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java index 12d46fe..76d7e82 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java @@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.goods.domain.*; @@ -169,7 +168,7 @@ * 兑换记录 */ @GetMapping("/exchangeRecord") - @ApiOperation(value = "兑换记录", tags = {"兑换记录"}) + @ApiOperation(value = "学习端-兑换记录", tags = {"学习端-兑换记录"}) public R<List<TOrder>> exchangeRecord() { return R.ok(orderService.lambdaQuery().eq(TOrder::getUserId, tokenService.getLoginUserStudy().getUserid()) .orderByDesc(TOrder::getCreateTime).list()); @@ -203,7 +202,7 @@ * 新增收货地址/修改收货地址 */ @PostMapping("/addressSaveOrUpdate") - @ApiOperation(value = "新增收货地址/修改收货地址", tags = {"新增收货地址/修改收货地址"}) + @ApiOperation(value = "学习端-新增收货地址/修改收货地址", tags = {"新增收货地址/修改收货地址"}) public R<String> addressSave(@RequestBody Recipient recipient) { recipient.setUserId(tokenService.getLoginUserStudy().getUserid()); return R.ok(recipientService.addressSaveOrUpdate(recipient)); @@ -213,7 +212,7 @@ * 删除收货地址 */ @GetMapping("/addressDelete") - @ApiOperation(value = "删除收货地址", tags = {"删除收货地址"}) + @ApiOperation(value = "学习端-删除收货地址", tags = {"学习端-删除收货地址"}) @ApiImplicitParams({ @ApiImplicitParam(value = "地址信息id", name = "id", dataType = "String", required = true) }) @@ -227,7 +226,7 @@ * @param orderId 订单id */ @GetMapping("/updateOrderAddress") - @ApiOperation(value = "修改订单收货地址", tags = {"修改订单收货地址"}) + @ApiOperation(value = "学习端-修改订单收货地址", tags = {"学习端-修改订单收货地址"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "String", required = true), @ApiImplicitParam(value = "完整收货地址", name = "address", dataType = "String", required = true) @@ -242,7 +241,7 @@ * 收货地址省市区三级联动 */ @GetMapping("/addressTree") - @ApiOperation(value = "收货地址省市区三级联动", tags = {"收货地址省市区三级联动"}) + @ApiOperation(value = "学习端-收货地址省市区三级联动", tags = {"学习端-收货地址省市区三级联动"}) public R<List<Region>> addressTree() { return R.ok(regionService.addressTree()); } @@ -252,7 +251,7 @@ * 远程调用 */ @GetMapping("/goodRecommend") - @ApiOperation(value = "可兑换商品推荐", tags = {"可兑换商品推荐"}) + @ApiOperation(value = "学习端-可兑换商品推荐", tags = {"学习端-可兑换商品推荐"}) public R<List<TGoodsVO>> goodRecommend() { return R.ok(goodsService.goodRecommend(tokenService.getLoginUserStudy().getUserid())); } @@ -263,7 +262,7 @@ * @param goodId 商品id */ @GetMapping("/goodDetail") - @ApiOperation(value = "商品详情", tags = {"商品详情"}) + @ApiOperation(value = "学习端-商品详情", tags = {"学习端-商品详情"}) @ApiImplicitParams({ @ApiImplicitParam(value = "商品id", name = "goodId", dataType = "String", required = true) }) @@ -281,7 +280,7 @@ * 商城-立即兑换 */ @GetMapping("/redeemNow") - @ApiOperation(value = "商城-立即兑换", tags = {"立即兑换"}) + @ApiOperation(value = "学习端-商城立即兑换", tags = {"学习端-商城立即兑换"}) @ApiImplicitParams({ @ApiImplicitParam(value = "商品id", name = "goodId", dataType = "String", required = true) }) @@ -299,7 +298,7 @@ * @param goodExchange 商品信息 */ @PostMapping("/goodExchange") - @ApiOperation(value = "商品兑换-确认", tags = {"商品兑换-确认"}) + @ApiOperation(value = "学习端-商品兑换确认", tags = {"学习端-商品兑换确认"}) public R<Boolean> goodExchange(@RequestBody GoodExchangeDTO goodExchange) { Recipient recipient = recipientService.getById(goodExchange.getRecipientId()); return R.ok(goodsService.goodExchange(goodExchange, recipient)); diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java index 41cf496..ab3061e 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java @@ -59,7 +59,7 @@ String key = String.format(RedisConstants.GOOD_STOCK, goods.getId()); RSemaphore semaphore = redissonClient.getSemaphore(key); semaphore.trySetPermits(goods.getSurplus()); - return new GoodDetailVO(goods,recipient); + return new GoodDetailVO(goods, recipient); } @Override @@ -88,6 +88,8 @@ // redisson分布式锁,防止超卖 String key = String.format(RedisConstants.GOOD_STOCK, good.getId()); RSemaphore semaphore = redissonClient.getSemaphore(key); + // 请求超时时间 单位:毫秒 + semaphore.trySetPermits(1000); boolean tried = semaphore.tryAcquire(number); // 兑换失败,库存不足 if (!tried) { diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java index 98d2a9c..43045c2 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java @@ -28,6 +28,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -344,13 +345,13 @@ TStudy one = studyService.getOne(new QueryWrapper<TStudy>() .eq("week", dto.getWeek()) .eq("type", dto.getType())); - if (one!=null){ + if (one != null) { one.setType(dto.getType()); one.setWeek(dto.getWeek()); one.setTitle(dto.getTitle()); one.setQuarter(dto.getQuarter()); studyService.saveOrUpdate(one); - }else{ + } else { TStudy tStudy = new TStudy(); tStudy.setType(dto.getType()); tStudy.setWeek(dto.getWeek()); @@ -453,7 +454,7 @@ for (TStudyListen tStudyListen : list) { StringBuilder temp = new StringBuilder(); StudyListenVO studyListenVO = new StudyListenVO(); - if (StringUtils.hasLength(tStudyListen.getSubject())){ + if (StringUtils.hasLength(tStudyListen.getSubject())) { for (String s : tStudyListen.getSubject().split(",")) { TSubject byId = subjectService.getById(s); temp.append(byId.getName()).append(","); @@ -477,7 +478,7 @@ StringBuilder names = new StringBuilder(); StringBuilder sorts = new StringBuilder(); StudyLookVO studyLookVO1 = new StudyLookVO(); - if (StringUtils.hasLength(tStudyLook.getSubject())){ + if (StringUtils.hasLength(tStudyLook.getSubject())) { for (String s : tStudyLook.getSubject().split(",")) { TSubject byId = subjectService.getById(s); names.append(byId.getName()).append(","); @@ -505,7 +506,7 @@ for (TStudyInduction tStudyInduction : list2) { StringBuilder names = new StringBuilder(); StudyInductionVO studyInductionVO = new StudyInductionVO(); - if (StringUtils.hasLength(tStudyInduction.getSubject())){ + if (StringUtils.hasLength(tStudyInduction.getSubject())) { for (String s : tStudyInduction.getSubject().split(",")) { String replace = s.replace("-", ""); TSubject byId = subjectService.getById(replace); @@ -527,34 +528,34 @@ for (TStudyAnswer tStudyAnswer : list3) { StringBuilder names = new StringBuilder(); StudyAnswerVO studyAnswerVO = new StudyAnswerVO(); - if (tStudyAnswer.getIsAnswer() != null){ + if (tStudyAnswer.getIsAnswer() != null) { if (tStudyAnswer.getIsAnswer() == 1) { - if (tStudyAnswer.getSubject()!=null){ + if (tStudyAnswer.getSubject() != null) { TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); names.append(byId.getName()).append(","); } - if (tStudyAnswer.getAnswerSubject()!=null) { + if (tStudyAnswer.getAnswerSubject() != null) { TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); names.append(byId1.getName()).append(","); } } else { - if (tStudyAnswer.getSubject()!=null) { + if (tStudyAnswer.getSubject() != null) { TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); names.append(byId.getName()).append(","); } - if (tStudyAnswer.getAnswerSubject()!=null) { + if (tStudyAnswer.getAnswerSubject() != null) { TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); names.append(byId1.getName()).append(","); } } } - if (StringUtils.hasLength(names)){ + if (StringUtils.hasLength(names)) { String string = names.toString(); studyAnswerVO.setName(string.substring(0, string.length() - 1)); studyAnswerVO.setIntegral(tStudyAnswer.getIntegral()); studyAnswerVO.setIsVip(tStudyAnswer.getIsVip()); studyAnswerVO.setIsAnswer(tStudyAnswer.getIsAnswer()); - studyAnswerVO.setSubject(tStudyAnswer.getSubject()+","+tStudyAnswer.getAnswerSubject()); + studyAnswerVO.setSubject(tStudyAnswer.getSubject() + "," + tStudyAnswer.getAnswerSubject()); answerVOS.add(studyAnswerVO); } @@ -567,7 +568,7 @@ for (TStudyPair tStudyPair : list4) { StringBuilder names = new StringBuilder(); StudyPairVO studyPairVO = new StudyPairVO(); - if (StringUtils.hasLength(tStudyPair.getSubject())){ + if (StringUtils.hasLength(tStudyPair.getSubject())) { for (String s : tStudyPair.getSubject().split(",")) { TSubject byId = subjectService.getById(s); names.append(byId.getName()).append(","); @@ -603,38 +604,41 @@ StringBuilder names1 = new StringBuilder(); StringBuilder sort = new StringBuilder(); StringBuilder sort1 = new StringBuilder(); - if (StringUtils.hasLength(tStory.getStory())){ + if (StringUtils.hasLength(tStory.getStory())) { for (String s : tStory.getStory().split(",")) { TStory byId = storyService.getById(s); names.append(byId.getName()).append(","); } } - if (StringUtils.hasLength(tStory.getLookStory())){ + if (StringUtils.hasLength(tStory.getLookStory())) { for (String s : tStory.getLookStory().split(",")) { TStory byId = storyService.getById(s); names1.append(byId.getName()).append(","); } } - if (StringUtils.hasLength(tStory.getSort())){ + if (StringUtils.hasLength(tStory.getSort())) { for (String s : tStory.getSort().split(",")) { sort.append(s).append(","); } } - if (StringUtils.hasLength(tStory.getLookSort())){ + if (StringUtils.hasLength(tStory.getLookSort())) { for (String s : tStory.getLookSort().split(",")) { sort1.append(s).append(","); } } - if (StringUtils.hasLength(names)){ + if (StringUtils.hasLength(names)) { storyVO.setName(names.substring(0, names.length() - 1)); - }if (StringUtils.hasLength(sort)){ + } + if (StringUtils.hasLength(sort)) { storyVO.setSort(sort.substring(0, sort.length() - 1)); - }if (StringUtils.hasLength(names1)){ + } + if (StringUtils.hasLength(names1)) { storyVO.setLookName(names1.substring(0, names1.length() - 1)); - }if (StringUtils.hasLength(sort1)){ + } + if (StringUtils.hasLength(sort1)) { storyVO.setLookSort(sort1.substring(0, sort1.length() - 1)); } storyVO.setIntegral(tStory.getIntegral()); @@ -658,7 +662,7 @@ * @param quarter 季度 */ @GetMapping("/weekList") - @ApiOperation(value = "周目列表", tags = {"周目列表"}) + @ApiOperation(value = "根据季度获取周目列表", tags = {"根据季度获取周目列表"}) @ApiImplicitParams({ @ApiImplicitParam(value = "所属类型", name = "type", dataType = "Integer", required = true), @ApiImplicitParam(value = "季度", name = "quarter", dataType = "Integer", required = true) @@ -854,7 +858,7 @@ * @param completeStudy 完成学习信息 */ @PostMapping("/completeLearning") - @ApiOperation(value = "完成学习", tags = {"完成学习/其他积分来源(分享...)"}) + @ApiOperation(value = "完成学习", tags = {"完成学习"}) public R<Boolean> completeLearning(@RequestBody CompleteStudyDTO completeStudy) { // 登录用户id Integer userId = tokenService.getLoginUserStudy().getUserid(); @@ -1004,6 +1008,7 @@ subjectId.addAll(Arrays.asList(subject.split(","))); } redisService.setCacheList(RedisConstants.HEARING_TREE, subjectId); + redisService.expire(RedisConstants.HEARING_TREE, RedisConstants.THIRTY, TimeUnit.MINUTES); } return subjectId; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java index 7548bb6..450d2e3 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java @@ -511,7 +511,7 @@ @ApiImplicitParams({ @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true), }) - public R sendPhoneCode(@RequestParam String phone) { + public R<?> sendPhoneCode(@RequestParam String phone) { return userService.phoneCode(phone) ? R.ok() : R.fail(); } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java index e62d302..332594e 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,6 +29,7 @@ /** * 所属周目 */ + @ApiModelProperty("所属周目") private Integer week; /** * 学习id @@ -37,29 +39,34 @@ /** * 题目数量 */ + @ApiModelProperty("题目数量") private Integer count; /** * 积分逗号隔开 第一个对应入门第二个对应中级... */ + @ApiModelProperty("对应可获取积分数量(第一个为入门难度;第二个为中级难度;第三个为困难难度)") private String integral; /** * 时间逗号隔开 第一个对应入门第二个对应中级... */ + @ApiModelProperty("时间范围(第一个为入门难度;第二个为中级难度;第三个为困难难度)") private String time; /** * 超级记忆存储该字段 答题时间 */ + @ApiModelProperty("超级记忆 - 答题时间(第一个为入门难度;第二个为中级难度;第三个为困难难度)") private Integer answerTime; /** * 超级记忆存储该字段 可获积分总数 */ + @ApiModelProperty("超级记忆 - 可获积分总数") private Integer answerIntegral; /** * 超级记忆游戏题目数量 */ + @ApiModelProperty("超级记忆游戏题目数量") private Integer answerCount; - } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStoryListen.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStoryListen.java index cfc8023..a3212d8 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStoryListen.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStoryListen.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,31 +29,38 @@ /** * 看图配音可获积分 */ + @ApiModelProperty("看图配音可获积分") private Integer lookIntegral; /** * 框架记忆可获积分 */ + @ApiModelProperty("框架记忆可获积分") private Integer integral; /** * 所属周目 */ + @ApiModelProperty("所属周目") private Integer week; /** * 框架记忆故事ids 多个逗号隔开 */ + @ApiModelProperty("框架记忆故事ids 多个逗号隔开") private String story; /** * 框架记忆排序 多个逗号隔开和故事ids一一对应 */ + @ApiModelProperty("框架记忆排序 多个逗号隔开和故事ids一一对应") private String sort; /** * 看图配音故事ids 多个逗号隔开 */ + @ApiModelProperty("看图配音故事ids 多个逗号隔开") private String lookStory; /** * 看图配音排序 多个逗号隔开 */ + @ApiModelProperty("看图配音排序 多个逗号隔开") private String lookSort; /** * 学习id diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyAnswer.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyAnswer.java index 3fe4f27..2095923 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyAnswer.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyAnswer.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,10 +29,12 @@ /** * 周目x */ + @ApiModelProperty("所属周目") private Integer week; /** * Dayx */ + @ApiModelProperty("所属day") private Integer day; /** * 问题题目id @@ -43,20 +46,24 @@ private Integer answerSubject; /** - * 完成答题可获积分 - */ - private Integer integral; - /** * 问题题目是否为答案图片 0否1是 为0 那么回答题目是答案图片 */ + @ApiModelProperty("问题题目是否为答案图片 0否1是 为0 那么回答题目是答案图片") private Integer isAnswer; + /** + * 完成答题可获积分 + */ + @ApiModelProperty("完成答题可获积分") + private Integer integral; /** * 学习id */ + @ApiModelProperty("学习id") private Integer studyId; /** * 非会员是否查看 0否1是 */ + @ApiModelProperty("非会员是否查看 0否1是") private Integer isVip; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyInduction.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyInduction.java index 753bd4b..481b5bc 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyInduction.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyInduction.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,10 +29,12 @@ /** * 周目x */ + @ApiModelProperty("所属周目") private Integer week; /** * Dayx */ + @ApiModelProperty("所属day") private Integer day; /** * 题目 多个题目逗号隔开,带有负号为答题选项 @@ -41,13 +44,16 @@ /** * 完成答题可获积分 */ + @ApiModelProperty("完成答题可获积分") private Integer integral; /** * 学习id */ + @ApiModelProperty("学习id") private Integer studyId; /** * 非会员是否查看 0否1是 */ + @ApiModelProperty("非会员是否查看 0否1是") private Integer isVip; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyListen.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyListen.java index 3c26264..3dd9f4a 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyListen.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyListen.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,26 +29,32 @@ /** * 周目x */ + @ApiModelProperty("所属周目") private Integer week; /** * Dayx */ + @ApiModelProperty("所属day") private Integer day; /** * 题目 */ + @ApiModelProperty("题目录音及图片id") private String subject; /** * 完成答题可获积分 */ + @ApiModelProperty("完成答题可获积分") private Integer integral; /** * 学习id */ + @ApiModelProperty("学习id") private Integer studyId; /** * 非会员是否查看 0否1是 */ + @ApiModelProperty("非会员是否查看 0否1是") private Integer isVip; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyLook.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyLook.java index 7f81428..c322fe0 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyLook.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyLook.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,10 +29,12 @@ /** * 周目x */ + @ApiModelProperty("所属周目") private Integer week; /** * Dayx */ + @ApiModelProperty("所属day") private Integer day; /** * 题目 @@ -41,17 +44,21 @@ /** * 排序 */ + @ApiModelProperty("排序") private String sort; /** * 完成答题可获积分 */ + @ApiModelProperty("完成答题可获积分") private Integer integral; /** * 学习id */ + @ApiModelProperty("学习id") private Integer studyId; /** * 非会员是否查看 0否1是 */ + @ApiModelProperty("非会员是否查看 0否1是") private Integer isVip; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyPair.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyPair.java index 66ef183..3f1db13 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyPair.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TStudyPair.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -28,10 +29,12 @@ /** * 周目x */ + @ApiModelProperty("所属周目") private Integer week; /** * Dayx */ + @ApiModelProperty("所属day") private Integer day; /** * 题目 @@ -41,13 +44,16 @@ /** * 完成答题可获积分 */ + @ApiModelProperty("完成答题可获积分") private Integer integral; /** * 学习id */ + @ApiModelProperty("学习id") private Integer studyId; /** * 非会员是否查看 0否1是 */ + @ApiModelProperty("非会员是否查看 0否1是") private Integer isVip; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubject.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubject.java index 65403f8..47e586f 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubject.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubject.java @@ -44,18 +44,22 @@ /** * 状态1上架2下架3删除 */ + @ApiModelProperty(value = "状态:1上架、2下架、3删除") private Integer state; /** * 图片 */ + @ApiModelProperty(value = "图片") private String img; /** * 正确语音 */ + @ApiModelProperty(value = "正确语音") private String correct; /** * 错误语音 多个逗号拼接 这里只要填入就必须是两个 可以不填入 */ + @ApiModelProperty(value = "错误语音 多个逗号拼接") private String error; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TGameServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TGameServiceImpl.java index 420ff1e..1e81be3 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TGameServiceImpl.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TGameServiceImpl.java @@ -30,7 +30,7 @@ if (integralRecordList.isEmpty()) { return availableIntegral; } else { - // 积分明细不为空,计算已获取的积分数量 + // 积分明细不为空,根据正确率及已获取积分数量计算本次答题可获取的积分数量 List<Integer> integralList = integralRecordList.stream().map(TIntegralRecord::getIntegral).collect(Collectors.toList()).stream().map(Integer::parseInt).collect(Collectors.toList()); int sumIntegral = integralList.stream().mapToInt(Integer::intValue).sum(); if (availableIntegral > sumIntegral) { diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java index ab051c5..411eeb2 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java @@ -67,7 +67,7 @@ List<TGameRecord> list = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, userId).eq(TGameRecord::getGameId, game.getId()).list(); boolean contains = list.stream().map(TGameRecord::getGameDifficulty).collect(Collectors.toList()).contains(level); if (!contains) { - throw new GlobalException("请先完成上一难度再挑战"); + throw new GlobalException("请先完成上一难度再挑战当前难度!"); } } -- Gitblit v1.7.1