|
|
|
@ -1,12 +1,16 @@ |
|
|
|
package com.zdxt.knowledge.controller; |
|
|
|
|
|
|
|
import com.zdxt.auth.project.system.dict.service.IDictDataService; |
|
|
|
import com.zdxt.common.ZDResponse; |
|
|
|
import com.zdxt.common.controller.BaseController; |
|
|
|
import com.zdxt.common.util.TableDataInfo; |
|
|
|
import com.zdxt.domain.auth.DictData; |
|
|
|
import com.zdxt.knowledge.domain.SceneManage; |
|
|
|
import com.zdxt.knowledge.domain.SceneMedal; |
|
|
|
import com.zdxt.knowledge.service.ISceneManageService; |
|
|
|
import com.zdxt.knowledge.service.ISceneMedalService; |
|
|
|
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; |
|
|
|
@ -16,6 +20,9 @@ import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Objects; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -34,6 +41,12 @@ public class SceneMedalController extends BaseController { |
|
|
|
@Autowired |
|
|
|
private ISceneManageService sceneManageService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private IDictDataService dictDataService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WechatService wechatService; |
|
|
|
|
|
|
|
@RequiresPermissions("project:medal:view") |
|
|
|
@GetMapping("/view") |
|
|
|
public String manage() { |
|
|
|
@ -85,12 +98,40 @@ public class SceneMedalController extends BaseController { |
|
|
|
@PostMapping("/listAll") |
|
|
|
@ResponseBody |
|
|
|
public ZDResponse listAll(@RequestBody SceneMedal sceneMedal) { |
|
|
|
// WechatUser wu = wechatService.selectUserById(sceneMedal.getCreator());
|
|
|
|
// List<SceneMedal> list = sceneMedalService.selectSceneMedalByIds(wu.getMedal());
|
|
|
|
List<SceneMedal> list = sceneMedalService.selectSceneMedalList(sceneMedal); |
|
|
|
return ZDResponse.success("成功", list); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 勋章详情页 |
|
|
|
*/ |
|
|
|
@PostMapping("/medalInfo") |
|
|
|
@ResponseBody |
|
|
|
public ZDResponse medalInfo(@RequestBody String guid) { |
|
|
|
|
|
|
|
SceneMedal sceneMedal = new SceneMedal(); |
|
|
|
sceneMedal.setHide(1); |
|
|
|
List<SceneMedal> medalList = sceneMedalService.selectSceneMedalList(sceneMedal); |
|
|
|
List<DictData> dictList = dictDataService.selectDictDataByType("medal_type"); |
|
|
|
Map<String, String> myMedalMap = wechatService.MyMedal(guid); |
|
|
|
if (CollectionUtils.isNotEmpty(medalList) && CollectionUtils.isNotEmpty(dictList)) { |
|
|
|
|
|
|
|
Map<String, String> dictMap = dictList.stream() |
|
|
|
.collect(Collectors.toMap(DictData::getDictValue, DictData::getDictLabel)); |
|
|
|
|
|
|
|
Map<String, List<SceneMedal>> collect = medalList.stream() |
|
|
|
.filter(item -> Objects.nonNull(item.getType())) |
|
|
|
.peek(item -> { |
|
|
|
item.setType(dictMap.get(item.getType())); |
|
|
|
item.setGain(myMedalMap.get(item.getGuid()) != null); |
|
|
|
}) |
|
|
|
.collect(Collectors.groupingBy(SceneMedal::getType)); |
|
|
|
|
|
|
|
return ZDResponse.success("成功", collect); |
|
|
|
} |
|
|
|
return ZDResponse.success("成功", null); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 查看详情 |
|
|
|
*/ |
|
|
|
|