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 e8f09783..dd02302b 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,7 +2,6 @@ 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; @@ -10,6 +9,7 @@ import com.zdxt.knowledge.domain.WechatUser; import com.zdxt.knowledge.service.ISceneMedalService; import com.zdxt.knowledge.service.WechatService; import io.swagger.annotations.ApiOperation; +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; @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; +import java.util.Objects; /** @@ -113,6 +113,22 @@ public class WechatLoginController extends BaseController { ? ZDResponse.success() : ZDResponse.error("编辑失败"); } + /** + * 校验该场景下是否有该勋章 + */ + @PostMapping("/checkUserMedal") + @ResponseBody + public ZDResponse checkUserMedal(@RequestBody WechatUser wechatUser) { + SceneMedal sceneMedal = new SceneMedal(); + sceneMedal.setSceneId(wechatUser.getMedal()); + sceneMedal.setHide(1); + List sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal); + if (CollectionUtils.isNotEmpty(sceneMedals)) { + + } + return ZDResponse.success("成功", ""); + } + /** * 修改保存 */ @@ -123,21 +139,25 @@ public class WechatLoginController extends BaseController { String medalId = wechatUser.getMedal(); SceneMedal sceneMedal = new SceneMedal(); sceneMedal.setSceneId(medalId); + sceneMedal.setHide(1); List sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal); - medalId = sceneMedals.stream().map(SceneMedal::getGuid).collect(Collectors.joining(",")); - - // 判断用户是否已拥有该勋章 - WechatUser user = wechatService.selectUserById(wechatUser.getGuid()); - String medalStr = user.getMedal(); - if (StringUtils.isNotEmpty(medalStr) && medalStr.indexOf(medalId) > -1) { - // 已拥有直接返回 - return ZDResponse.success("0"); + 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) && medalStr.contains(medalObj.getGuid())) { + // 已拥有直接返回 + return ZDResponse.success("0", null); + } + // 否则更新 + medalStr += "," + medalObj.getGuid(); + wechatUser.setMedal(medalStr); + wechatUser.setActive(0); + return wechatService.update(wechatUser) > 0 + ? ZDResponse.success("1", medalObj.getAchieveIconPath()) : ZDResponse.error("编辑失败"); } - // 否则更新 - medalStr += "," + medalId; - wechatUser.setMedal(medalStr); - return wechatService.update(wechatUser) > 0 - ? ZDResponse.success("1") : ZDResponse.error("编辑失败"); + return ZDResponse.error("编辑失败"); } /** diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml index e57bbf14..61d70cce 100644 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml @@ -40,6 +40,7 @@ and name like concat('%', #{name}, '%') + and scene_id = #{sceneId} and type = #{type} and hide = #{hide} and creator = #{creator}