From b54104fc16ed0a64b84983a6873d366d7bbfac09 Mon Sep 17 00:00:00 2001 From: yanyan Date: Mon, 18 Mar 2024 11:29:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/project/feedback/view.html | 4 +- .../templates/project/medal/manage.html | 6 +- .../templates/project/user/sort.html | 104 ++++++++++++++++++ .../templates/project/user/view.html | 4 +- .../controller/QuestionAnswerController.java | 78 ++++++++----- .../controller/WechatLoginController.java | 25 ++++- .../zdxt/knowledge/domain/QuestionCount.java | 36 ++++++ .../com/zdxt/knowledge/domain/WechatUser.java | 10 ++ .../knowledge/mapper/WechatLoginMapper.java | 4 +- .../zdxt/knowledge/service/WechatService.java | 2 + .../service/impl/WechatServiceImpl.java | 7 +- .../resources/mapper/WechatLoginMapper.xml | 14 ++- 12 files changed, 256 insertions(+), 38 deletions(-) create mode 100644 lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/user/sort.html create mode 100755 lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionCount.java 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 + +