Browse Source

勋章获取

master
yanyan 3 years ago
parent
commit
9e5af7782c
  1. 50
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
  2. 1
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml

50
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.ZDResponse;
import com.zdxt.common.controller.BaseController; import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo; import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.domain.SceneMedal; import com.zdxt.knowledge.domain.SceneMedal;
import com.zdxt.knowledge.domain.WechatLoginRequest; 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.ISceneMedalService;
import com.zdxt.knowledge.service.WechatService; import com.zdxt.knowledge.service.WechatService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map; 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("编辑失败"); ? 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<SceneMedal> sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal);
if (CollectionUtils.isNotEmpty(sceneMedals)) {
}
return ZDResponse.success("成功", "");
}
/** /**
* 修改保存 * 修改保存
*/ */
@ -123,21 +139,25 @@ public class WechatLoginController extends BaseController {
String medalId = wechatUser.getMedal(); String medalId = wechatUser.getMedal();
SceneMedal sceneMedal = new SceneMedal(); SceneMedal sceneMedal = new SceneMedal();
sceneMedal.setSceneId(medalId); sceneMedal.setSceneId(medalId);
sceneMedal.setHide(1);
List<SceneMedal> sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal); List<SceneMedal> sceneMedals = sceneMedalService.selectSceneMedalList(sceneMedal);
medalId = sceneMedals.stream().map(SceneMedal::getGuid).collect(Collectors.joining(",")); if (CollectionUtils.isNotEmpty(sceneMedals)) {
SceneMedal medalObj = sceneMedals.stream().findFirst().orElse(null);
// 判断用户是否已拥有该勋章 // 判断用户是否已拥有该勋章
WechatUser user = wechatService.selectUserById(wechatUser.getGuid()); WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
String medalStr = user.getMedal(); String medalStr = user.getMedal();
if (StringUtils.isNotEmpty(medalStr) && medalStr.indexOf(medalId) > -1) { if (Objects.nonNull(medalObj) && medalStr.contains(medalObj.getGuid())) {
// 已拥有直接返回 // 已拥有直接返回
return ZDResponse.success("0"); 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("编辑失败");
} }
// 否则更新 return ZDResponse.error("编辑失败");
medalStr += "," + medalId;
wechatUser.setMedal(medalStr);
return wechatService.update(wechatUser) > 0
? ZDResponse.success("1") : ZDResponse.error("编辑失败");
} }
/** /**

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

@ -40,6 +40,7 @@
<include refid="selectSceneMedalVo"/> <include refid="selectSceneMedalVo"/>
<where> <where>
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if> <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="type != null and type != ''">and type = #{type}</if>
<if test="hide != null and hide != ''">and hide = #{hide}</if> <if test="hide != null and hide != ''">and hide = #{hide}</if>
<if test="creator != null and creator != ''">and creator = #{creator}</if> <if test="creator != null and creator != ''">and creator = #{creator}</if>

Loading…
Cancel
Save