From 4712c04afe2aedeed20ddc5b1a3b0ba66b89cb9b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 01 七月 2024 17:43:22 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java | 4 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java | 1 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java | 95 ++++++++------- ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java | 4 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/UserInfoVO.java | 9 + ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java | 1 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/StudyRecordResultVO.java | 36 ++++++ ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java | 5 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java | 3 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/RuoYiManagementApplication.java | 1 ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DataUpdateHandlerConfig.java | 6 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java | 4 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java | 1 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java | 4 ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java | 37 ++++++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java | 10 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java | 94 ++++++++------- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java | 5 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java | 9 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java | 10 - ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/RedissonConfig.java | 4 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java | 3 ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml | 2 26 files changed, 236 insertions(+), 118 deletions(-) diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java index 8a46573..0ad745f 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java +++ b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -93,6 +94,7 @@ * 商品详情 */ @ApiModelProperty(value = "商品详情") + @JsonFormat() private String detail; /** diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java index 060a2e0..f159e75 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java @@ -21,6 +21,11 @@ public StudyClient create(Throwable cause) { return new StudyClient() { @Override + public R<StudyRecordResultVO> recordManagement(Integer id) { + return R.fail("根据用户id获取用户信息失败" + cause.getMessage()); + } + + @Override public R<TUser> getUserById(Integer id) { return R.fail("根据用户id获取会员信息失败" + cause.getMessage()); } diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java index d7696f5..16d0676 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java @@ -18,7 +18,8 @@ @FeignClient(contextId = "studyClient", value = ServiceNameConstants.STUDY_SERVICE, fallbackFactory = StudyFallbackFactory.class) public interface StudyClient { - + @PostMapping("/base/study/recordManagement/{id}") + R<StudyRecordResultVO> recordManagement(@PathVariable("id")Integer id); @PostMapping("/base/user/getUserById/{id}") R<TUser> getUserById(@PathVariable("id") Integer id); diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java index 53ba1f8..664ec11 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java @@ -1,6 +1,7 @@ package com.ruoyi.study.api.model; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; @@ -44,6 +45,9 @@ */ @ApiModelProperty(value = "用时时间 秒") private Integer useTime; + @ApiModelProperty(value = "游戏时间") + @TableField(exist = false) + private String time; } diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/StudyRecordResultVO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/StudyRecordResultVO.java new file mode 100644 index 0000000..f7cfd4d --- /dev/null +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/StudyRecordResultVO.java @@ -0,0 +1,36 @@ +package com.ruoyi.study.api.vo; + +import com.ruoyi.study.api.model.TGameRecord; +import com.ruoyi.study.api.model.TUserStudy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author HJL + * @version 1.0 + * @since 2024-05-22 14:39 + */ +@Data +@ApiModel(value = "个人中心-学习记录返回信息类") +public class StudyRecordResultVO { + + /** + * 学习记录 + */ + @ApiModelProperty("学习记录") + private TUserStudy record; + + /** + * 游戏测试成绩 + */ + @ApiModelProperty("游戏测试成绩") + private List<TGameRecord> gameRecordList; + + public StudyRecordResultVO(TUserStudy record, List<TGameRecord> gameRecordList) { + this.record = record; + this.gameRecordList = gameRecordList; + } +} diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/UserInfoVO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/UserInfoVO.java index dd93c25..396b37d 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/UserInfoVO.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/UserInfoVO.java @@ -1,9 +1,12 @@ package com.ruoyi.study.api.vo; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.study.api.model.TGameRecord; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.Date; @Data @ApiModel(value = "用户详情VO") @@ -23,9 +26,9 @@ @ApiModelProperty(value = "剩余积分") private Integer integral; @ApiModelProperty(value = "当前进度") - private Integer current; + private String current; @ApiModelProperty(value = "剩余进度") - private Integer surplus; + private String surplus; @ApiModelProperty(value = "学习总时长") private Double totalHours; @ApiModelProperty(value = "今日学习时长") @@ -35,5 +38,5 @@ @ApiModelProperty(value = "本月学习时长") private Double monthHours; @ApiModelProperty(value = "游戏数据列表") - private PageInfo<UserGameRecordVO> gameRecords; + private PageInfo<TGameRecord> gameRecords; } \ No newline at end of file diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java index 5ee3e2c..5f84ceb 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java @@ -59,6 +59,7 @@ * 失败标记 */ public static final Integer FAIL = 500; + public static final Integer FAILUPDATE = 602; /** * 登录失效 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java index 13477e8..1bc91ba 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java @@ -18,6 +18,7 @@ /** 失败 */ public static final int FAIL = Constants.FAIL; + public static final int FAILUPDATE = Constants.FAILUPDATE; /** 积分商城兑换失败 */ public static final int EXCHANGECODE = Constants.EXCHANGECODE; /** @@ -52,6 +53,10 @@ { return restResult(null, VIPERROR, msg); } + public static <T> R<T> failUpdate(String msg) + { + return restResult(null, FAILUPDATE, msg); + } public static <T> R<T> ok(T data, String msg) { diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java index e97a3b6..8314534 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java @@ -26,7 +26,6 @@ if (!(handler instanceof HandlerMethod)) { return true; } - SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 61d6698..c22b791 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -190,7 +190,7 @@ if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ user.setNickName(user.getPhonenumber()); } - user.setPassword(SecurityUtils.encryptPassword("a123456")); +// user.setPassword(SecurityUtils.encryptPassword("a123456")); user.setRoleType(1); user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateTime(new Date()); diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/RedissonConfig.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/RedissonConfig.java index 5cd7758..4a3839c 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/RedissonConfig.java +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/RedissonConfig.java @@ -23,9 +23,9 @@ public RedissonClient redissonClient() { Config config = new Config(); // 线上redis - config.useSingleServer().setAddress("redis://127.0.0.1:6379").setPassword("dolphin123456"); +// config.useSingleServer().setAddress("redis://127.0.0.1:6379").setPassword("dolphin123456"); // 本地redis -// config.useSingleServer().setAddress("redis://127.0.0.1:6379").setPassword("123456"); + config.useSingleServer().setAddress("redis://127.0.0.1:6379").setPassword("123456"); return Redisson.create(config); } 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 2ae3e4b..fa6c973 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 @@ -863,6 +863,9 @@ if (query.getEndTime() != null) { Date parse = format.parse(query.getStartTime()); Date parse1 = format.parse(query.getEndTime()); + parse1.setHours(23); + parse1.setMinutes(59); + parse1.setSeconds(59); query.setStartTime1(parse); query.setEndTime1(parse1); } diff --git a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml index 7648676..57238a1 100644 --- a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml +++ b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml @@ -43,7 +43,7 @@ </if> <if test="null != req.startTime"> - and t1.insertTime between #{req.startTime} and #{req.endTime} + and t1.insertTime between #{req.startTime1} and #{req.endTime1} </if> order by t1.state asc, t1.insertTime desc </select> diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/RuoYiManagementApplication.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/RuoYiManagementApplication.java index acffc39..8ca775f 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/RuoYiManagementApplication.java +++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/RuoYiManagementApplication.java @@ -35,4 +35,5 @@ " | | \\ / \\ / \n" + " ''-' `'-' `-..-' "); } + } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java index 73e0bbe..05a896e 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java +++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java @@ -53,6 +53,7 @@ // } List<FeedbackVO> list = feedbackService.listAll(query); PageInfo<FeedbackVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); + res.setTotal(list.size()); res.setRecords(list); return AjaxResult.success(res); } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java index 59bdc91..1238c56 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java +++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java @@ -105,7 +105,7 @@ @ResponseBody @PostMapping("/addGoods") @ApiOperation(value = "添加", tags = {"后台-商品管理"}) - public AjaxResult<TGoods> addGoods(TGoods dto) { + public AjaxResult<TGoods> addGoods(@RequestBody TGoods dto) { goodsClient.addGoods(dto); return AjaxResult.success("添加成功"); } @@ -121,7 +121,7 @@ @ResponseBody @PostMapping("/updateGoods") @ApiOperation(value = "修改", tags = {"后台-商品管理"}) - public AjaxResult<TGoods> updateGoods( TGoods dto) { + public AjaxResult<TGoods> updateGoods(@RequestBody TGoods dto) { goodsClient.updateGoods(dto); return AjaxResult.success("修改成功"); } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java index fb71737..363dd9a 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java +++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java @@ -19,9 +19,8 @@ import com.ruoyi.study.api.dto.AppUserQuery; import com.ruoyi.study.api.dto.UserInfoQuery; import com.ruoyi.study.api.feignClient.StudyClient; -import com.ruoyi.study.api.vo.AppUserVO; -import com.ruoyi.study.api.vo.UserInfoVO; -import com.ruoyi.study.api.vo.VipOrderVO; +import com.ruoyi.study.api.model.TGameRecord; +import com.ruoyi.study.api.vo.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -29,6 +28,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; /** @@ -78,51 +79,52 @@ @PostMapping("/getUserInfo") @ApiOperation(value = "查看用户详情", tags = {"用户管理"}) public AjaxResult<UserInfoVO> getUserInfo(UserInfoQuery dto) { -// SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); -// UserInfoVO res = new UserInfoVO(); -// PageInfo<UserGameRecordVO> list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize()); -// -// -// TUser byId = userService.getById(dto.getId()); -// String name = byId.getName(); -// String phone = byId.getPhone(); -// Date insertTime = byId.getInsertTime(); -// Date vipPayTime = byId.getVipPayTime(); -// Date vipEndTime = byId.getVipEndTime(); -// if (vipEndTime == null){ -// res.setIsVip(0); -// }else{ -// if (vipEndTime.getTime() > System.currentTimeMillis()){ -// res.setIsVip(1); -// }else{ -// res.setIsVip(0); -// } -// } -// if (vipPayTime!=null){ -// res.setVipPayTime(format.format(vipPayTime)); -// } -// res.setState(byId.getState()); -// res.setName(name); -// res.setPhone(phone); -// res.setInsertTime(format.format(insertTime)); -// res.setIntegral(byId.getIntegral()); -// // todo 查询进度 -// res.setCurrent(0); -// res.setSurplus(0); -// res.setTotalHours(0d); -// res.setTodayHours(0d); -// res.setWeekHours(0d); -// res.setMonthHours(0d); -// // todo 查询用户的游戏记录 -// List<UserGameRecordVO> userGameRecordVOS = new ArrayList<>(); -// list.setRecords(userGameRecordVOS); -// list.setTotal(0); -// res.setGameRecords(list); - UserInfoVO data = studyClient.getUserInfo(dto).getData(); - - return AjaxResult.success(data); + UserInfoVO data1 = studyClient.getUserInfo(dto).getData(); + UserInfoVO userInfoVO = new UserInfoVO(); + userInfoVO.setState(data1.getState()); + userInfoVO.setName(data1.getName()); + userInfoVO.setPhone(data1.getPhone()); + userInfoVO.setInsertTime(data1.getInsertTime()); + userInfoVO.setIsVip(data1.getIsVip()); + userInfoVO.setVipPayTime(data1.getVipPayTime()); + userInfoVO.setIntegral(data1.getIntegral()); + userInfoVO.setCurrent(convertToChineseOrdinal(Integer.parseInt(data1.getCurrent()))); + userInfoVO.setSurplus(convertToChineseOrdinal1(Integer.parseInt(data1.getSurplus()))); + userInfoVO.setTotalHours(data1.getTotalHours()); + userInfoVO.setTodayHours(data1.getTodayHours()); + userInfoVO.setWeekHours(data1.getWeekHours()); + userInfoVO.setMonthHours(data1.getMonthHours()); + userInfoVO.setGameRecords(data1.getGameRecords()); + return AjaxResult.success(userInfoVO); } + public static String convertToChineseOrdinal(int number) { + if (number <= 0 || number > 50) { + return "未知"; + } + String[] chineseNumbers = { + "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", + "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", + "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", + "三十一", "三十二", "三十三", "三十四", "三十五", "三十六", "三十七", "三十八", "三十九", "四十", + "四十一", "四十二", "四十三", "四十四", "四十五", "四十六", "四十七", "四十八", "四十九", "五十" + }; + return "周目" + chineseNumbers[number - 1]; + } + public static String convertToChineseOrdinal1(int number) { + if (number <= 0 || number > 50) { + return "未知"; + } + String[] chineseNumbers = { + "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", + "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", + "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", + "三十一", "三十二", "三十三", "三十四", "三十五", "三十六", "三十七", "三十八", "三十九", "四十", + "四十一", "四十二", "四十三", "四十四", "四十五", "四十六", "四十七", "四十八", "四十九", "五十" + }; + + return chineseNumbers[number - 1]+"周目" ; + } @PostMapping("/freeze") @ApiOperation(value = "冻结/解冻", tags = {"用户管理"}) public AjaxResult freeze(Integer id) { @@ -168,6 +170,7 @@ { return AjaxResult.error("新密码不能与旧密码相同"); } + one.setPassword(SecurityUtils.encryptPassword(password)); return AjaxResult.success(); } @GetMapping("/sendPhoneCode") diff --git a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml b/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml index b70f6aa..7ff10fc 100644 --- a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml +++ b/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml @@ -16,7 +16,7 @@ id, userId, img, content, state </sql> <select id="listAll" resultType="com.ruoyi.management.vo.FeedbackVO"> - select t1.*,t2.name as name ,t2.phone as phone + select t1.*,t2.name as name ,t2.phone as phone,t1.createTime as insertTime from t_feedback t1 left join t_user t2 on t1.userId = t2.id where 1=1 diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java index 532765e..5771992 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java @@ -1,11 +1,14 @@ package com.ruoyi.study; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; /** @@ -35,4 +38,5 @@ " | | \\ / \\ / \n" + " ''-' `'-' `-..-' "); } + } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DataUpdateHandlerConfig.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DataUpdateHandlerConfig.java index 1e5cc45..22106c6 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DataUpdateHandlerConfig.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DataUpdateHandlerConfig.java @@ -55,6 +55,12 @@ this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("updateTime", new Date(), metaObject); } + LoginUserParent loginUser1 = tokenService.getLoginUserStudy(); + if (loginUser1 != null) { + this.setFieldValByName("createTime", new Date(), metaObject); + } else { + this.setFieldValByName("createTime", new Date(), metaObject); + } } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java index 3a4bb80..a8bfdf8 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java @@ -135,13 +135,13 @@ for (String s : split) { if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "听故事" + "、" + "框架记忆中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "听故事" + "、" + "框架记忆中使用"); } } for (String s : split1) { if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "听故事" + "、" + "看图配音中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "听故事" + "、" + "看图配音中使用"); } } } 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 e5bbfb6..870f4eb 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 @@ -1697,6 +1697,43 @@ studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); return R.ok(new StudyRecordResultVO(studyRecord, gameRecordList)); } + @PostMapping("/recordManagement/{id}") + @ApiOperation(value = "游戏测试成绩", tags = {"管理后台-查看用户详情"}) + public R<StudyRecordResultVO> recordManagement(@PathVariable("id")Integer id) { + // 学习记录 + TUserStudy studyRecord = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, id) + .eq(TUserStudy::getDisabled, 0).one(); + // 查询剩余周目 + if (studyRecord != null) { + int size = studyService.list(new QueryWrapper<TStudy>() + .eq("type", 1)).size(); + studyRecord.setSurplus(size - studyRecord.getWeek()); + } else { + TUserStudy tUserStudy = new TUserStudy(); + tUserStudy.setSurplus(studyService.list(new QueryWrapper<TStudy>() + .eq("type", 1)).size()); + tUserStudy.setTodayStudy(Constants.ZERO); + tUserStudy.setTotalStudy(Constants.ZERO); + tUserStudy.setWeekStudy(Constants.ZERO); + tUserStudy.setMonthStudy(Constants.ZERO); + studyRecord = tUserStudy; + } + // 学习时长格式转换 + Integer todayStudy = studyRecord.getTodayStudy(); + studyRecord.setTodayStudy(Math.round((float) todayStudy / 3600)); + Integer weekStudy = studyRecord.getWeekStudy(); + studyRecord.setWeekStudy(Math.round((float) weekStudy / 3600)); + Integer monthStudy = studyRecord.getMonthStudy(); + studyRecord.setMonthStudy(Math.round((float) monthStudy / 3600)); + // 总时长还需计算上游戏测试成绩时长 + List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, id) + .eq(TGameRecord::getDisabled, 0).list(); + int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); + Integer totalStudy = studyRecord.getTotalStudy(); + studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); + StudyRecordResultVO studyRecordResultVO = new StudyRecordResultVO(studyRecord, gameRecordList); + return R.ok(studyRecordResultVO); + } @GetMapping("/getIntegral") @ApiOperation(value = "获取剩余积分", tags = {"家长端-获取剩余积分"}) diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java index d1773fa..3c83d42 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java @@ -118,7 +118,7 @@ if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); Integer day = tStudyListen.getDay(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "听音选图中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "听音选图中使用"); } } } @@ -130,7 +130,7 @@ if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); Integer day = tStudyListen.getDay(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "看图选音中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "看图选音中使用"); } } } @@ -142,7 +142,7 @@ if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); Integer day = tStudyListen.getDay(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "归纳排除中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "归纳排除中使用"); } } } @@ -154,7 +154,7 @@ if (subject.equals(id) || answerSubject.equals(id)) { Integer week = tStudyListen.getWeek(); Integer day = tStudyListen.getDay(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "有问有答中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "有问有答中使用"); } } } @@ -165,7 +165,7 @@ if (s.equals(String.valueOf(id))) { Integer week = tStudyListen.getWeek(); Integer day = tStudyListen.getDay(); - return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "音图相配中使用"); + return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "音图相配中使用"); } } } 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 aa54d0b..98c4eb4 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 @@ -192,7 +192,9 @@ @PostMapping("/aliPayBuyVip") public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response) { try { + System.err.println("进入支付宝回调"); Map<String, String> map = payMoneyUtil.alipayCallback(request); + System.err.println("返回参数"); if (null != map) { String out_trade_no = map.get("out_trade_no"); String trade_no = map.get("trade_no"); @@ -213,7 +215,6 @@ byId.setTransactionId(trade_no); byId.setOutTradeNo(out_trade_no); byId.setPayTime(new Date()); - TUser byId1 = userService.getById(byId.getUserId()); if (byId1.getVipPayTime() == null) { @@ -987,9 +988,6 @@ public R<UserInfoVO> getUserInfo(@RequestBody UserInfoQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); UserInfoVO res = new UserInfoVO(); - PageInfo<UserGameRecordVO> list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize()); - - TUser byId = userService.getById(dto.getId()); String name = byId.getName(); String phone = byId.getPhone(); @@ -1005,57 +1003,67 @@ res.setIsVip(0); } } - if (vipPayTime != null) { + if (vipEndTime!=null){ res.setVipPayTime(format.format(vipPayTime)); } res.setState(byId.getState()); res.setName(name); res.setPhone(phone); - res.setInsertTime(format.format(insertTime)); + if (insertTime!=null){ + res.setInsertTime(format.format(insertTime)); + } res.setIntegral(byId.getIntegral()); + // 学习记录 TUserStudy studyRecord = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, dto.getId()) .eq(TUserStudy::getDisabled, 0).one(); - // 游戏测试成绩 + // 查询剩余周目 + if (studyRecord != null) { + int size = studyService.list(new QueryWrapper<TStudy>() + .eq("type", 1)).size(); + studyRecord.setSurplus(size - studyRecord.getWeek()); + } else { + TUserStudy tUserStudy = new TUserStudy(); + tUserStudy.setSurplus(studyService.list(new QueryWrapper<TStudy>() + .eq("type", 1)).size()); + tUserStudy.setWeek(1); + tUserStudy.setTodayStudy(Constants.ZERO); + tUserStudy.setTotalStudy(Constants.ZERO); + tUserStudy.setWeekStudy(Constants.ZERO); + tUserStudy.setMonthStudy(Constants.ZERO); + studyRecord = tUserStudy; + } + // 学习时长格式转换 + Integer todayStudy = studyRecord.getTodayStudy(); + studyRecord.setTodayStudy(Math.round((float) todayStudy / 3600)); + Integer weekStudy = studyRecord.getWeekStudy(); + studyRecord.setWeekStudy(Math.round((float) weekStudy / 3600)); + Integer monthStudy = studyRecord.getMonthStudy(); + studyRecord.setMonthStudy(Math.round((float) monthStudy / 3600)); + // 总时长还需计算上游戏测试成绩时长 List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, dto.getId()) .eq(TGameRecord::getDisabled, 0).list(); - if (studyRecord != null) { - res.setCurrent(studyRecord.getWeek()); - // 查询当前听的总周目 - List<TStudy> list1 = studyService.list(new QueryWrapper<>()); - res.setSurplus(list1.size() - studyRecord.getWeek()); - res.setTotalHours(studyRecord.getTotalStudy().doubleValue()); - res.setTodayHours(studyRecord.getTodayStudy().doubleValue()); - res.setWeekHours(studyRecord.getWeekStudy().doubleValue()); - res.setMonthHours(studyRecord.getMonthStudy().doubleValue()); - } else { - res.setCurrent(0); - res.setSurplus(0); - res.setTotalHours(0.0); - res.setTodayHours(0.0); - res.setWeekHours(0.0); - res.setMonthHours(0.0); - } - - List<UserGameRecordVO> userGameRecordVOS = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm"); for (TGameRecord tGameRecord : gameRecordList) { - UserGameRecordVO userGameRecordVO = new UserGameRecordVO(); - userGameRecordVO.setGameName(tGameRecord.getGameName()); - userGameRecordVO.setUseTime(tGameRecord.getUseTime().toString()); - if (tGameRecord.getGameDifficulty() == 0) { - userGameRecordVO.setAccuracy("100%"); - } else { - userGameRecordVO.setAccuracy(tGameRecord.getAccuracy() + "%"); - } - if (tGameRecord.getGameDifficulty() == 0) { - userGameRecordVO.setTime(tGameRecord.getUseTime()); - } else { - userGameRecordVO.setTime(tGameRecord.getUseTime() / 2); - } - userGameRecordVOS.add(userGameRecordVO); + tGameRecord.setTime(simpleDateFormat.format(tGameRecord.getCreateTime())); } - list.setRecords(userGameRecordVOS); - list.setTotal(userGameRecordVOS.size()); - res.setGameRecords(list); + int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); + Integer totalStudy = studyRecord.getTotalStudy(); + studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); + res.setCurrent(studyRecord.getWeek()+""); + // 剩余周目 + List<TStudy> studyList = studyService.lambdaQuery().eq(TStudy::getDisabled, 0) + .eq(TStudy::getType, Constants.ONE) + .orderByAsc(TStudy::getWeek).list(); + + res.setSurplus(studyRecord.getSurplus()+""); + res.setTotalHours(studyRecord.getTotalStudy().doubleValue()); + res.setTodayHours(studyRecord.getTodayStudy().doubleValue()); + res.setMonthHours(studyRecord.getMonthStudy().doubleValue()); + res.setWeekHours(studyRecord.getWeekStudy().doubleValue()); + PageInfo<TGameRecord> list1 = new PageInfo<>(dto.getPageNumber(), dto.getPageSize()); + list1.setTotal(gameRecordList.size()); + list1.setRecords(gameRecordList); + res.setGameRecords(list1); return R.ok(res); } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java index 9060f51..de51e5f 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java @@ -60,14 +60,10 @@ */ @ApiModelProperty(value = "游戏难度(0入门、1中级、2高级)") private Integer gameDifficulty; + @ApiModelProperty(value = "游戏时间") + @TableField(exist = false) + private String time; - /** - * 创建时间 - */ - @ApiModelProperty(value = "记录创建时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - @TableField(value = "createTime", fill = FieldFill.INSERT) - private Date createTime; } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java index 97b22f0..2aff637 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java @@ -1,9 +1,12 @@ package com.ruoyi.study.vo; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.study.domain.TGameRecord; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.Date; @Data @ApiModel(value = "用户详情VO") @@ -23,9 +26,9 @@ @ApiModelProperty(value = "剩余积分") private Integer integral; @ApiModelProperty(value = "当前进度") - private Integer current; + private String current; @ApiModelProperty(value = "剩余进度") - private Integer surplus; + private String surplus; @ApiModelProperty(value = "学习总时长") private Double totalHours; @ApiModelProperty(value = "今日学习时长") @@ -35,5 +38,5 @@ @ApiModelProperty(value = "本月学习时长") private Double monthHours; @ApiModelProperty(value = "游戏数据列表") - private PageInfo<UserGameRecordVO> gameRecords; + private PageInfo<TGameRecord> gameRecords; } \ No newline at end of file -- Gitblit v1.7.1