|
|
|
@ -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<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(); |
|
|
|
SceneMedal sceneMedal = new SceneMedal(); |
|
|
|
sceneMedal.setSceneId(medalId); |
|
|
|
sceneMedal.setHide(1); |
|
|
|
List<SceneMedal> 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("编辑失败"); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|