Browse Source

fix:IOS登录返回修改以及回答问题返回新增

zack 2 tháng trước cách đây
mục cha
commit
b34f2d10c1

+ 3 - 0
yt-common/src/main/java/com/ytpm/app/model/YtDyzUser.java

@@ -114,6 +114,9 @@ public class YtDyzUser extends PageMeta {
     /** 答题历史记录 */
     @ApiModelProperty("答题历史记录")
     private List<YtDyzAnswerRecord> answerRecordList;
+    /** 答题历史记录简易版 */
+    @ApiModelProperty("答题历史记录简易版")
+    private List<String> answerRecordTimeList;
     /** 登录历史记录 */
     @ApiModelProperty("登录历史记录")
     private List<YtDyzLoginRecord> loginRecordList;

+ 29 - 0
yt-common/src/main/java/com/ytpm/app/view/IosAnswerQuestionView.java

@@ -0,0 +1,29 @@
+package com.ytpm.app.view;
+
+import com.ytpm.app.model.YtDyzAnswerRecord;
+import com.ytpm.custom.CustomField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@ApiModel("IOS回答问题返回类")
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class IosAnswerQuestionView {
+    /** 今日答题数 */
+    @CustomField(node = 1)
+    @ApiModelProperty("今日答题数")
+    private Integer todayAnswerCount;
+    /** 历史答题数 */
+    @ApiModelProperty("历史答题数")
+    private Integer historyAnswerCount;
+    /** 答题历史记录 */
+    @ApiModelProperty("答题历史记录")
+    private List<String> answerRecordList;
+}

+ 7 - 3
yt-common/src/main/java/com/ytpm/app/view/IosLoginResView.java

@@ -1,11 +1,15 @@
 package com.ytpm.app.view;
 
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
-/**
- * IOS登录后返回值
- */
+
+@ApiModel("IOS登录后返回类")
 @Data
+@NoArgsConstructor
+@AllArgsConstructor
 public class IosLoginResView {
     Integer power;
 }

+ 6 - 3
yt-common/src/main/java/com/ytpm/app/view/IosPowerResView.java

@@ -1,11 +1,14 @@
 package com.ytpm.app.view;
 
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
-/**
- * IOS增加体力返回值
- */
+@ApiModel("IOS增加体力返回值类")
 @Data
+@NoArgsConstructor
+@AllArgsConstructor
 public class IosPowerResView {
     Integer power;
 }

+ 2 - 1
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/controller/QuestionController.java

@@ -1,6 +1,7 @@
 package com.ytpm.lemonios.controller;
 
 import com.ytpm.app.param.AnswerRecordParam;
+import com.ytpm.app.view.IosAnswerQuestionView;
 import com.ytpm.app.view.QuestionListView;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
@@ -33,7 +34,7 @@ public class QuestionController {
      */
     @ApiOperation("回答问题")
     @PostMapping("/answerQuestion")
-    public Result<String> answerQuestion(@RequestBody AnswerRecordParam param){
+    public Result<IosAnswerQuestionView> answerQuestion(@RequestBody AnswerRecordParam param){
         return questionService.answerQuestion(param);
     }
 }

+ 2 - 1
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/QuestionService.java

@@ -1,6 +1,7 @@
 package com.ytpm.lemonios.service;
 
 import com.ytpm.app.param.AnswerRecordParam;
+import com.ytpm.app.view.IosAnswerQuestionView;
 import com.ytpm.app.view.QuestionListView;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
@@ -13,5 +14,5 @@ public interface QuestionService {
     /**
      * 回答问题
      */
-    Result<String> answerQuestion(AnswerRecordParam param);
+    Result<IosAnswerQuestionView> answerQuestion(AnswerRecordParam param);
 }

+ 29 - 7
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/impl/AppUserServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.ytpm.agent.enums.UserStatusEnum;
+import com.ytpm.app.model.YtDyzAnswerRecord;
 import com.ytpm.app.model.YtDyzLoginRecord;
 import com.ytpm.app.model.YtDyzUser;
 import com.ytpm.app.param.IosLoginParam;
@@ -26,7 +27,11 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
+import java.util.List;
 import java.util.Objects;
 
 @Service
@@ -80,11 +85,9 @@ public class AppUserServiceImpl implements AppUserService {
             deadWithUserCrudForIos(old,userInfo,param);
         }
         //设置最后一次答题问题ID、今日答题数、历史答题数
-        setExtInfo(old, userInfo.getHeadimgurl());
+        setExtInfoForIos(old, userInfo.getHeadimgurl());
         // 添加用户登录记录
         addLoginRecordForIos(param,old.getUserId());
-        // 设置用户答题记录列表
-        setAnswerRecordList(old);
         return old;
     }
 
@@ -100,6 +103,29 @@ public class AppUserServiceImpl implements AppUserService {
         old.setLoginRecordList(loginRecordMapper.getLoginRecords(old.getUserId()));
     }
 
+    /**
+     * 设置扩展信息
+     */
+    private void setExtInfoForIos(YtDyzUser old, String headimgurl) {
+        old.setHeadImg(headimgurl);
+        old.setLastQuestionId(questionMapper.getLastQuestionId(old.getUserId()));
+        old.setTodayAnswerCount(questionMapper.getAnswerCount(old.getUserId(),1));
+        old.setHistoryAnswerCount(questionMapper.getAnswerCount(old.getUserId(),2));
+        List<YtDyzAnswerRecord> reversedList = new ArrayList<>(questionMapper.getAnswerRecords(old.getUserId()));
+        Collections.reverse(reversedList);
+        List<String> viewList  = new ArrayList<>();
+        int count = 1;
+        for (YtDyzAnswerRecord ytDyzAnswerRecord : reversedList) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+            String timeStr = count + ":" + sdf.format(ytDyzAnswerRecord.getAnswerTime());
+            count++;
+            viewList.add(timeStr);
+        }
+        old.setAnswerRecordTimeList(viewList);
+        old.setAnswerRecordList(questionMapper.getAnswerRecords(old.getUserId()));
+        old.setLoginRecordList(loginRecordMapper.getLoginRecords(old.getUserId()));
+    }
+
     /**
      * 增加用户登录记录
      */
@@ -243,8 +269,4 @@ public class AppUserServiceImpl implements AppUserService {
                 (StrConstant.PLATFORM_ID_PREFIX + IdUtil.getSnowflakeNextIdStr()):platformId);
         appUserMapper.addOne(old);
     }
-
-    private void setAnswerRecordList(YtDyzUser old){
-
-    }
 }

+ 21 - 2
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/impl/QuestionServiceImpl.java

@@ -8,6 +8,7 @@ import com.ytpm.app.model.YtDyzAnswerRecord;
 import com.ytpm.app.model.YtDyzPowerRecord;
 import com.ytpm.app.model.YtDyzUser;
 import com.ytpm.app.param.AnswerRecordParam;
+import com.ytpm.app.view.IosAnswerQuestionView;
 import com.ytpm.app.view.QuestionListView;
 import com.ytpm.general.RepMessage;
 import com.ytpm.general.Result;
@@ -20,7 +21,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
+import java.util.List;
 import java.util.Objects;
 
 @Service
@@ -43,7 +48,7 @@ public class QuestionServiceImpl implements QuestionService {
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Result<String> answerQuestion(AnswerRecordParam param) {
+    public Result<IosAnswerQuestionView> answerQuestion(AnswerRecordParam param) {
         YtDyzUser user = appUserMapper.selectPrimaryKey(param.getUserId());
         if(Objects.isNull(user)){
             return Result.resultOk(RepMessage.TOKEN_EXPIRE);
@@ -64,6 +69,20 @@ public class QuestionServiceImpl implements QuestionService {
         powerRecord.setType(1);
         powerRecord.setRemark("减少体力");
         appUserMapper.addPowerRecord(powerRecord);
-        return Result.resultOk(RepMessage.SAVE_SUCCESS);
+        IosAnswerQuestionView view = new IosAnswerQuestionView();
+        view.setTodayAnswerCount(questionMapper.getAnswerCount(user.getUserId(),1));
+        view.setHistoryAnswerCount(questionMapper.getAnswerCount(user.getUserId(),2));
+        List<String> viewList  = new ArrayList<>();
+        List<YtDyzAnswerRecord> reversedList = new ArrayList<>(questionMapper.getAnswerRecords(user.getUserId()));
+        Collections.reverse(reversedList);
+        int count = 1;
+        for (YtDyzAnswerRecord ytDyzAnswerRecord : reversedList) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+            String timeStr = count + ":" + sdf.format(ytDyzAnswerRecord.getAnswerTime());
+            count++;
+            viewList.add(timeStr);
+        }
+        view.setAnswerRecordList(viewList);
+        return Result.resultOk(RepMessage.SAVE_SUCCESS, view);
     }
 }

+ 17 - 3
yt-typing/typing-service/src/main/java/com/ytpm/typing/service/impl/AdServiceImpl.java

@@ -16,7 +16,14 @@ import com.ytpm.feign.RiskFeign;
 import com.ytpm.general.RepMessage;
 import com.ytpm.general.Result;
 import com.ytpm.general.StatusCode;
-import com.ytpm.middle.view.*;
+import com.ytpm.middle.view.AppRankingListVO;
+import com.ytpm.middle.view.AppRevenueHourVO;
+import com.ytpm.middle.view.AppUserHourVO;
+import com.ytpm.middle.view.DashboardAppRevenueVO;
+import com.ytpm.middle.view.DashboardRankingListVO;
+import com.ytpm.middle.view.DashboardRevenueVO;
+import com.ytpm.middle.view.DashboardRiskVO;
+import com.ytpm.middle.view.UserRankingListVO;
 import com.ytpm.typing.dao.AdRecordMapper;
 import com.ytpm.typing.dao.AppUserMapper;
 import com.ytpm.typing.service.AdService;
@@ -31,7 +38,14 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.stream.Collectors;
 
@@ -95,7 +109,7 @@ public class AdServiceImpl implements AdService {
      * 查询排行榜信息
      */
     @Override
-    public DashboardRankingListVO queryRankingList(Integer sortBy,Integer limit) {
+    public DashboardRankingListVO queryRankingList(Integer sortBy, Integer limit) {
         //查询前五个应用名称 当日收益  用户数量
         List<AppRankingListVO> appRankingList = appUserMapper.getAppRanking(sortBy,limit);
         //查询前五个用户  所属应用  视频数 总收益 ecpm