Browse Source

答题完成奖章显示

master
yanyan 2 years ago
parent
commit
6ee35b9c1a
  1. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
  2. 29
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
  3. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml

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

@ -91,6 +91,8 @@ public class QuestionAnswerController extends BaseController {
long score = (count - errCount) * 10;
WechatUser wechatUser = wechatService.selectUserById(questionCount.getUserId());
if (Objects.nonNull(wechatUser)) {
wechatUser.setMedal(wechatUser.getMedal() == null ? "" : wechatUser.getMedal());
wechatUser.setScore(wechatUser.getScore() == null ? 0L : wechatUser.getScore());
//判断用户分数是否达到等级勋章设定,有则更新勋章个数
long total = wechatUser.getScore() + score;
List<SceneMedal> sceneMedals = sceneMedalService.selectSceneMedalList(new SceneMedal());

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

@ -154,22 +154,23 @@ public class WechatLoginController extends BaseController {
List<SceneMedal> sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal);
if (CollectionUtils.isNotEmpty(sceneMedals)) {
SceneMedal medalObj = sceneMedals.stream().findFirst().orElse(null);
// 判断用户是否已拥有该勋章
WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
String medalStr = user.getMedal();
if (Objects.nonNull(medalObj) && StringUtils.isNotEmpty(medalStr) && medalStr.contains(medalObj.getGuid())) {
// 已拥有直接返回
return ZDResponse.success("0", null);
if (Objects.nonNull(medalObj)) {
// 判断用户是否已拥有该勋章
WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
String medalStr = user.getMedal() == null ? "" : user.getMedal();
if (StringUtils.isNotEmpty(medalStr) && medalStr.contains(medalObj.getGuid())) {
// 已拥有直接返回
return ZDResponse.success("0", medalObj.getAchieveIconPath());
}
// 否则更新
medalStr = StringUtils.isNotEmpty(medalStr) ? medalStr + "," + medalObj.getGuid() : medalObj.getGuid();
wechatUser.setMedal(medalStr);
wechatUser.setActive(0);
return wechatService.update(wechatUser) > 0
? ZDResponse.success("1", medalObj.getAchieveIconPath()) : ZDResponse.error("编辑失败");
}
// 否则更新
medalStr = StringUtils.isNotEmpty(medalStr) ? medalStr + "," + medalObj.getGuid() : medalObj.getGuid();
// medalStr += StringUtils.isNotEmpty(medalStr) ? "," + medalObj.getGuid() : medalObj.getGuid();
wechatUser.setMedal(medalStr);
wechatUser.setActive(0);
return wechatService.update(wechatUser) > 0
? ZDResponse.success("1", medalObj.getAchieveIconPath()) : ZDResponse.error("编辑失败");
}
return ZDResponse.error("编辑失败");
return ZDResponse.success();
}
/**

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml

@ -42,7 +42,7 @@
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
<if test="sceneId != null and sceneId != ''">and scene_id = #{sceneId}</if>
<if test="type != null and type != ''">and type = #{type}</if>
<if test="hide != null and hide != ''">and hide = #{hide}</if>
<if test="hide != null">and hide = #{hide}</if>
<if test="creator != null and creator != ''">and creator = #{creator}</if>
<if test="sceneId != null and sceneId != ''">and scene_id = #{sceneId}</if>
</where>

Loading…
Cancel
Save