Pārlūkot izejas kodu

添加checkToken

wuweihao 4 gadi atpakaļ
vecāks
revīzija
e7dfb90972

+ 10 - 0
gis_admin/src/main/java/com/gis/admin/controller/LoginController.java

@@ -156,6 +156,16 @@ public class LoginController {
         return Result.success();
     }
 
+    @ApiOperation(value = "检查登录状态", notes = "true:已登录, false:已退出")
+    @GetMapping("admin/checkLogin")
+    public Boolean checkLogin() {
+        String token = request.getHeader("token");
+        if (StringUtils.isBlank(token)) {
+            log.info("token is null");
+        }
+        String o = (String) redisUtil.get(configConstant.redisPrefix + token);
+        return o != null;
+    }
 
     @ApiOperation("test-登录")
     @PostMapping(value = "test/admin/login")

+ 16 - 6
gis_cms/src/main/java/com/gis/cms/controller/WebController.java

@@ -70,6 +70,8 @@ public class WebController {
 
 
 
+
+
     @WebControllerLog(description = "门户网站-弹幕列表")
     @ApiOperation("弹幕-列表")
     @PostMapping("barrage/list")
@@ -86,12 +88,20 @@ public class WebController {
     }
 
 
-//    @WebControllerLog(description = "门户网站-场景点赞")
-//    @ApiOperation("场景-点赞")
-//    @GetMapping("scene/star/{id}")
-//    public Result sceneStar(@PathVariable Long id){
-//        return sceneService.addStar(id);
-//    }
+    @WebControllerLog(description = "门户网站-场景点赞")
+    @ApiOperation("场景-点赞")
+    @GetMapping("scene/star")
+    public Result sceneStar(){
+        myBaseMapper.addVist("star");
+        return Result.success();
+    }
+
+    @WebControllerLog(description = "门户网站-获取点赞")
+    @ApiOperation("场景-获取点赞")
+    @GetMapping("scene/getStar")
+    public Result getStar(){
+        return Result.success(myBaseMapper.getVisit("star"));
+    }
 
 
     @WebControllerLog(description = "门户网站-精品典藏列表(详情)")

+ 34 - 7
gis_cms/src/main/java/com/gis/cms/controller/WebManageController.java

@@ -3,10 +3,13 @@ package com.gis.cms.controller;
 import com.gis.admin.entity.dto.UserDto;
 import com.gis.admin.entity.po.SysUserEntity;
 import com.gis.admin.service.SysUserService;
+import com.gis.cms.entity.dto.CountAnswerDto;
 import com.gis.cms.entity.po.QuestionGroupEntity;
 import com.gis.cms.service.*;
 import com.gis.common.base.aop.WebControllerLog;
 import com.gis.common.base.entity.dto.PageDateDto;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.util.RedisUtil;
 import com.gis.common.util.Result;
 import com.gis.cms.entity.dto.CommentDto;
 import com.gis.cms.entity.dto.MournDto;
@@ -17,10 +20,13 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -50,6 +56,15 @@ public class WebManageController {
     @Autowired
     SysUserService sysUserService;
 
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Autowired
+    HttpServletRequest request;
+
+    @Autowired
+    ConfigConstant configConstant;
+
 
 
 
@@ -75,15 +90,23 @@ public class WebManageController {
         return questionGroupService.detail(id);
     }
 
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "questionGroupId", value = "题组id", required = true),
-            @ApiImplicitParam(name = "answers", value = "Map传参, id:题组id, map, key:问题id, value:正确答案编号", required = true)
-    })
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "questionGroupId", value = "题组id", required = true),
+//            @ApiImplicitParam(name = "answers", value = "Map传参, id:题组id, map, key:问题id, value:正确答案编号", required = true)
+//    })
+//    @WebControllerLog(description = "门户网站-提交答案", addDb = true)
+//    @ApiOperation(value = "门户网站-提交答案")
+//    @PostMapping("questionUser/submit/{questionGroupId}")
+//    public Result questionUserSubmit(@PathVariable Long questionGroupId, @RequestBody Map<String, String> answers) {
+//        return questionUserService.submit(questionGroupId, answers);
+//    }
+
+
     @WebControllerLog(description = "门户网站-提交答案", addDb = true)
     @ApiOperation(value = "门户网站-提交答案")
-    @PostMapping("questionUser/submit/{questionGroupId}")
-    public Result questionUserSubmit(@PathVariable Long questionGroupId, @RequestBody Map<String, String> answers) {
-        return questionUserService.submit(questionGroupId, answers);
+    @PostMapping("questionUser/submit")
+    public Result questionUserSubmit(@Valid @RequestBody CountAnswerDto param) {
+        return questionUserService.submit2(param);
     }
 
 
@@ -130,4 +153,8 @@ public class WebManageController {
         return sysUserService.saveEntity(param);
     }
 
+
+
+
+
 }

+ 31 - 0
gis_cms/src/main/java/com/gis/cms/entity/dto/CountAnswerDto.java

@@ -0,0 +1,31 @@
+package com.gis.cms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * Created by owen on 2021/8/23 0023 18:14
+ */
+@Data
+public class CountAnswerDto {
+
+    @NotNull(message = "题组id不能为空")
+    @ApiModelProperty(value = "题组id", required = true)
+    private Long questionGroupId;
+
+    @NotNull(message = "正确数量不能为空")
+    @ApiModelProperty(value = "正确数量", required = true)
+    private Integer score;
+
+    @NotNull(message = "百分比不能为空")
+    @ApiModelProperty(value = "百分比", required = true)
+    private Double  percent;
+
+    @NotNull(message = "用户id不能为空")
+    @ApiModelProperty(value = "用户id", required = true)
+    private Long  userId;
+
+
+}

+ 9 - 0
gis_cms/src/main/java/com/gis/cms/entity/po/QuestionUserEntity.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.persistence.Table;
+import javax.persistence.Transient;
 import java.io.Serializable;
 
 /**
@@ -28,8 +29,16 @@ public class QuestionUserEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "答对数量" )
     private Integer score;
 
+    @ApiModelProperty(value = "百分比")
+    private Double  percent;
+
+//    应该不要
     @ApiModelProperty(value = "提交答案" )
     private String answer;
 
+    @ApiModelProperty(value = "用户真名" )
+    @Transient
+    private String realName;
+
 
 }

+ 4 - 1
gis_cms/src/main/java/com/gis/cms/mapper/QuestionUserMapper.java

@@ -13,6 +13,9 @@ import java.util.List;
 @Mapper
 public interface QuestionUserMapper extends IBaseMapper<QuestionUserEntity, Long> {
 
-    @Select("select * from tb_question_user where is_delete=0 AND question_group_id=#{questionGroupId} order by score desc limit 10")
+//    @Select("select distinct a.user_id, a.score, a.id, b.real_name as realName from tb_question_user a left join sys_user b on b.id=a.user_id where a.is_delete=0 AND a.question_group_id=#{questionGroupId} order by a.score desc limit 10")
+    @Select("SELECT DISTINCT a.user_id,  max(a.score) as score ,a.id, b.real_name as realName " +
+            "FROM tb_question_user a left join sys_user b on b.id=a.user_id  WHERE question_group_id=#{questionGroupId} " +
+            "GROUP BY user_id ORDER BY a.score desc limit 10")
     List<QuestionUserEntity> ranking(Long questionGroupId);
 }

+ 3 - 3
gis_cms/src/main/java/com/gis/cms/service/QuestionUserService.java

@@ -1,11 +1,13 @@
 package com.gis.cms.service;
 
 
+import com.gis.cms.entity.dto.CountAnswerDto;
 import com.gis.cms.entity.po.QuestionGroupEntity;
 import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import com.gis.cms.entity.po.QuestionUserEntity;
 
+import java.util.List;
 import java.util.Map;
 
 
@@ -18,7 +20,5 @@ public interface QuestionUserService extends IBaseService<QuestionUserEntity, Lo
     Result ranking(Long questionGroupId);
 
 
-
-
-
+    Result submit2(CountAnswerDto param);
 }

+ 24 - 1
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionUserServiceImpl.java

@@ -1,6 +1,8 @@
 package com.gis.cms.service.impl;
 
+import cn.hutool.core.util.NumberUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.gis.cms.entity.dto.CountAnswerDto;
 import com.gis.cms.entity.po.QuestionAnswerEntity;
 import com.gis.cms.entity.po.QuestionGroupEntity;
 import com.gis.cms.entity.po.QuestionUserEntity;
@@ -10,9 +12,11 @@ import com.gis.cms.service.QuestionUserService;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.util.Result;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -69,7 +73,14 @@ public class QuestionUserServiceImpl extends IBaseServiceImpl<QuestionUserEntity
         questionUserEntity.setQuestionGroupId(questionGroupId);
         questionUserEntity.setUserId(getTokenUserId());
         this.save(questionUserEntity);
-        return Result.success();
+
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("countCorrect", score);
+
+        double percent = NumberUtil.div(score, answerList.size(), 4);
+        result.put("percent", percent);
+
+        return Result.success(result);
     }
 
     @Override
@@ -78,5 +89,17 @@ public class QuestionUserServiceImpl extends IBaseServiceImpl<QuestionUserEntity
         return Result.success(list);
     }
 
+    @Override
+    public Result submit2(CountAnswerDto param) {
+
+            QuestionUserEntity userEntity = new QuestionUserEntity();
+            BeanUtils.copyProperties(param, userEntity);
+            this.save(userEntity);
+
+
+
+        return Result.success();
+    }
+
 
 }