diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html
index 9319daa7..27bfeb62 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/feedback/view.html
@@ -30,7 +30,9 @@
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html
index 62102064..33322016 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/manage.html
@@ -25,7 +25,11 @@
-
+
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html
new file mode 100644
index 00000000..128414a5
--- /dev/null
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html
index 2b8dd7e0..701bcfa9 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/view.html
@@ -30,7 +30,9 @@
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
index a5f9ea3b..82825581 100755
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
+++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
@@ -1,38 +1,43 @@
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
- *
+ *
* @author ruoyi
* @date 2024-02-04
*/
@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
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 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 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 list = questionAnswerService.queryQAByFreId(guid);
return ZDResponse.success("操作成功", list);
}
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
index 884b1afe..e8f09783 100755
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
+++ b/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 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("编辑失败");
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionCount.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionCount.java
new file mode 100755
index 00000000..96e22b31
--- /dev/null
+++ b/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;
+ }
+}
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/WechatUser.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/WechatUser.java
index 3bce93f5..de465c2a 100644
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/WechatUser.java
+++ b/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;
+ }
}
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java
index 12dd1267..83290455 100644
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java
+++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/WechatLoginMapper.java
@@ -14,11 +14,13 @@ public interface WechatLoginMapper {
public List selectList(WechatUser wechatUser);
+ public List 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);
}
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java
index 42e7c7c1..2da8a83e 100644
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java
+++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java
@@ -17,6 +17,8 @@ public interface WechatService {
public List selectList(WechatUser wechatUser);
+ public List selectListByScore(WechatUser wechatUser);
+
public WechatUser selectUserById(String guid);
public int update(WechatUser wechatUser);
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java
index dff139f3..8f0fcde1 100644
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java
+++ b/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 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
diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml
index 5bd353ce..622ef40d 100644
--- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml
+++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/WechatLoginMapper.xml
@@ -16,6 +16,7 @@
+
@@ -36,6 +37,7 @@
open_id,
union_id,
medal,
+ score,
active
from wechat_user
@@ -49,6 +51,15 @@
order by create_time ASC
+
+