Browse Source

排行榜

master
yanyan 3 years ago
parent
commit
b54104fc16
  1. 4
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html
  2. 6
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html
  3. 104
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html
  4. 4
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html
  5. 76
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
  6. 25
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
  7. 36
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionCount.java
  8. 10
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/WechatUser.java
  9. 4
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java
  10. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java
  11. 7
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java
  12. 14
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml

4
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html

@ -30,7 +30,9 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" style="background-color: white;border: 1px solid white">
<p hidden><i class="fa fa-plus" ></i>添加</p>
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>

6
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html

@ -25,7 +25,11 @@
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" style="background-color: white;border: 1px solid white">
<p hidden><i class="fa fa-plus" ></i>添加</p>
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>

104
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html

@ -0,0 +1,104 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="zdxtInclude :: header('登陆记录')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<p>昵称:</p>
<input type="text" name="nickname"/>
</li>
<li>
<p>电话:</p>
<input type="text" name="mobile"/>
</li>
<li>
<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-reset btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" style="background-color: white;border: 1px solid white">
<p hidden><i class="fa fa-plus" ></i>添加</p>
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="zdxtInclude :: footer"/>
<script th:inline="javascript">
var prefix = ctx + "small/wechat";
$(function () {
var options = {
url: prefix + "/listByScore",
modalName: "主页",
columns: [{
checkbox: false
},
{
title: '排名',
align: 'center',
formatter: function (value, row, index) {
return $.table.serialNumber(index);
}
},
{
field: 'nickname',
title: '昵称'
},
{
field: 'score',
title: '分数'
},
{
field: 'mobile',
title: '电话'
},
{
field: 'gender',
title: '性别'
},
{
field: 'province',
title: '省份'
},
{
field: 'city',
title: '城市'
},
{
field: 'createTime',
title: '注册时间'
}
// ,
// {
// title: '操作',
// align: 'center',
// formatter: function (value, row, index) {
// var actions = [];
// return actions.join('');
// }
// }
]
};
$.table.init(options);
});
</script>
</body>
</html>

4
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html

@ -30,7 +30,9 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" style="background-color: white;border: 1px solid white">
<p hidden><i class="fa fa-plus" ></i>添加</p>
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>

76
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java

@ -1,19 +1,23 @@
package com.zdxt.knowledge.controller;
import java.util.List;
import java.util.Map;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.domain.QuestionAnswer;
import com.zdxt.knowledge.domain.QuestionCount;
import com.zdxt.knowledge.domain.WechatUser;
import com.zdxt.knowledge.service.IQuestionAnswerService;
import com.zdxt.knowledge.service.WechatService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
* 选择Controller
*
@ -22,17 +26,18 @@ import org.springframework.web.bind.annotation.*;
*/
@Controller
@RequestMapping("/small/questionAnswer")
public class QuestionAnswerController extends BaseController
{
public class QuestionAnswerController extends BaseController {
private String prefix = "system/answer";
@Autowired
private IQuestionAnswerService questionAnswerService;
@Autowired
private WechatService wechatService;
@RequiresPermissions("system:answer:view")
@GetMapping()
public String answer()
{
public String answer() {
return prefix + "/answer";
}
@ -42,8 +47,7 @@ public class QuestionAnswerController extends BaseController
@RequiresPermissions("system:answer:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(QuestionAnswer questionAnswer)
{
public TableDataInfo list(QuestionAnswer questionAnswer) {
startPage();
List<QuestionAnswer> list = questionAnswerService.selectQuestionAnswerList(questionAnswer);
return getDataTable(list);
@ -54,18 +58,39 @@ public class QuestionAnswerController extends BaseController
*/
@PostMapping("/listAll")
@ResponseBody
public ZDResponse listAll(@RequestBody QuestionAnswer questionAnswer)
{
public ZDResponse listAll(@RequestBody QuestionAnswer questionAnswer) {
List<QuestionAnswer> list = questionAnswerService.selectQuestionAnswerList(questionAnswer);
return ZDResponse.success("成功", list);
}
/**
* 修改选择
*/
@PostMapping("/updateUserScore")
@ResponseBody
public ZDResponse updateUserScore(@RequestBody QuestionCount questionCount) {
QuestionAnswer questionAnswer = new QuestionAnswer();
questionAnswer.setQuestionFreId(questionCount.getQuestionFreId());
List<QuestionAnswer> list = questionAnswerService.selectQuestionAnswerList(questionAnswer);
return ZDResponse.success("成功",list);
if (CollectionUtils.isNotEmpty(list)) {
//答过的所有题次
long count = list.stream().filter(item -> Objects.equals(item.getCorrect(), 1)).count();
//答错的所有题次
long errCount = list.stream().filter(item -> Objects.equals(item.getCorrect(), 0)).map(QuestionAnswer::getQuestionId).distinct().count();
long score = (count - errCount) * 10;
WechatUser wechatUser = new WechatUser();
wechatUser.setGuid(questionCount.getUserId());
wechatUser.setScore(score);
wechatService.update(wechatUser);
}
return ZDResponse.success("操作成功");
}
/**
* 新增选择
*/
@GetMapping("/add")
public String add()
{
public String add() {
return prefix + "/add";
}
@ -74,18 +99,16 @@ public class QuestionAnswerController extends BaseController
*/
@PostMapping("/add")
@ResponseBody
public ZDResponse addSave(@RequestBody QuestionAnswer questionAnswer)
{
public ZDResponse addSave(@RequestBody QuestionAnswer questionAnswer) {
int resNum = questionAnswerService.insertQuestionAnswer(questionAnswer);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum);
}
/**
* 修改选择
*/
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap)
{
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
QuestionAnswer questionAnswer = questionAnswerService.selectQuestionAnswerById(guid);
mmap.put("questionAnswer", questionAnswer);
return prefix + "/edit";
@ -96,22 +119,20 @@ public class QuestionAnswerController extends BaseController
*/
@PostMapping("/edit")
@ResponseBody
public ZDResponse editSave(QuestionAnswer questionAnswer)
{
public ZDResponse editSave(QuestionAnswer questionAnswer) {
int resNum = questionAnswerService.updateQuestionAnswer(questionAnswer);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum);
}
/**
* 删除选择
*/
@RequiresPermissions("system:answer:remove")
@PostMapping( "/remove")
@PostMapping("/remove")
@ResponseBody
public ZDResponse remove(String ids)
{
public ZDResponse remove(String ids) {
int resNum = questionAnswerService.deleteQuestionAnswerByIds(ids);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum);
}
/**
@ -119,8 +140,7 @@ public class QuestionAnswerController extends BaseController
*/
@GetMapping("/queryQAByFreId/{guid}")
@ResponseBody
public ZDResponse queryQAByFreId(@PathVariable("guid") String guid)
{
public ZDResponse queryQAByFreId(@PathVariable("guid") String guid) {
List<QuestionAnswer> list = questionAnswerService.queryQAByFreId(guid);
return ZDResponse.success("操作成功", list);
}

25
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java

@ -2,6 +2,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.domain.SceneMedal;
import com.zdxt.knowledge.domain.WechatLoginRequest;
@ -45,6 +46,12 @@ public class WechatLoginController extends BaseController {
return prefix + "/view";
}
@RequiresPermissions("project:user:sort")
@GetMapping("/sort")
public String sort() {
return prefix + "/sort";
}
/**
* 查询
*/
@ -57,11 +64,23 @@ public class WechatLoginController extends BaseController {
return getDataTable(list);
}
/**
* 查询
*/
@RequiresPermissions("project:user:list")
@PostMapping("/listByScore")
@ResponseBody
public TableDataInfo listByScore(WechatUser wechatUser) {
startPage();
List<WechatUser> list = wechatService.selectListByScore(wechatUser);
return getDataTable(list);
}
@PostMapping("/getActiveStatus")
@ResponseBody
public ZDResponse getActiveStatus(@RequestBody WechatUser wechatUser) {
WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
return ZDResponse.success("成功",user);
return ZDResponse.success("成功", user);
}
@PostMapping("/editActiveStatus")
@ -110,12 +129,12 @@ public class WechatLoginController extends BaseController {
// 判断用户是否已拥有该勋章
WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
String medalStr = user.getMedal();
if(medalStr.indexOf(medalId) > -1) {
if (StringUtils.isNotEmpty(medalStr) && medalStr.indexOf(medalId) > -1) {
// 已拥有直接返回
return ZDResponse.success("0");
}
// 否则更新
medalStr += ","+medalId;
medalStr += "," + medalId;
wechatUser.setMedal(medalStr);
return wechatService.update(wechatUser) > 0
? ZDResponse.success("1") : ZDResponse.error("编辑失败");

36
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionCount.java

@ -0,0 +1,36 @@
package com.zdxt.knowledge.domain;
/**
* 选择对象 question_answer
*
* @author ruoyi
* @date 2024-02-04
*/
public class QuestionCount {
/**
* 题词id
*/
private String questionFreId;
/**
* 用户id
*/
private String userId;
public String getQuestionFreId() {
return questionFreId;
}
public void setQuestionFreId(String questionFreId) {
this.questionFreId = questionFreId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}

10
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/WechatUser.java

@ -32,6 +32,8 @@ public class WechatUser implements Serializable {
private Integer active;
private Long score;
private String creator;
private Date createTime;
@ -155,4 +157,12 @@ public class WechatUser implements Serializable {
public void setActive(Integer active) {
this.active = active;
}
public Long getScore() {
return score;
}
public void setScore(Long score) {
this.score = score;
}
}

4
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java

@ -14,11 +14,13 @@ public interface WechatLoginMapper {
public List<WechatUser> selectList(WechatUser wechatUser);
public List<WechatUser> selectListByScore(WechatUser wechatUser);
public WechatUser getByOpenId(String openId);
public int insertUser(WechatUser wechatUser);
public int updateByOpenId(WechatUser wechatUser);
public int updateById(WechatUser wechatUser);
public WechatUser selectUserById(String guid);
}

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java

@ -17,6 +17,8 @@ public interface WechatService {
public List<WechatUser> selectList(WechatUser wechatUser);
public List<WechatUser> selectListByScore(WechatUser wechatUser);
public WechatUser selectUserById(String guid);
public int update(WechatUser wechatUser);

7
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java

@ -55,6 +55,11 @@ public class WechatServiceImpl implements WechatService {
return wechatLoginMapper.selectList(wechatUser);
}
@Override
public List<WechatUser> selectListByScore(WechatUser wechatUser) {
return wechatLoginMapper.selectListByScore(wechatUser);
}
@Override
public WechatUser selectUserById(String guid) {
return wechatLoginMapper.selectUserById(guid);
@ -62,7 +67,7 @@ public class WechatServiceImpl implements WechatService {
@Override
public int update(WechatUser wechatUser) {
return wechatLoginMapper.updateByOpenId(wechatUser);
return wechatLoginMapper.updateById(wechatUser);
}
@Override

14
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml

@ -16,6 +16,7 @@
<result property="openId" column="open_id"/>
<result property="unionId" column="union_id"/>
<result property="medal" column="medal"/>
<result property="score" column="score"/>
<result property="active" column="active"/>
<result property="creator" column="creator"/>
<result property="createTime" column="create_time"/>
@ -36,6 +37,7 @@
open_id,
union_id,
medal,
score,
active
from wechat_user
</sql>
@ -49,6 +51,15 @@
order by create_time ASC
</select>
<select id="selectListByScore" parameterType="WechatUser" resultMap="WechatUserResult">
<include refid="selectWechatUserVo"/>
<where>
<if test="nickname != null and nickname != ''">and `nickname` like concat('%', #{nickname}, '%')</if>
<if test="mobile != null and mobile != ''">and mobile = #{mobile}</if>
</where>
order by score ASC
</select>
<select id="getByOpenId" parameterType="String" resultMap="WechatUserResult">
<include refid="selectWechatUserVo"/>
where open_id = #{openId}
@ -93,7 +104,7 @@
</trim>
</insert>
<update id="updateByOpenId" parameterType="WechatUser">
<update id="updateById" parameterType="WechatUser">
update wechat_user
<trim prefix="SET" suffixOverrides=",">
<if test="token != null and token != ''">token = #{token},</if>
@ -108,6 +119,7 @@
<if test="unionId != null and unionId != ''">union_id = #{unionId},</if>
<if test="medal != null and medal != ''">medal = #{medal},</if>
<if test="active != null">active = #{active},</if>
<if test="score != null">score = #{score},</if>
</trim>
where guid = #{guid}
</update>

Loading…
Cancel
Save