package com.dsh.other.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.other.entity.HonorRules; import com.dsh.other.feignclient.model.StuMedalVo; import com.dsh.other.model.vo.honorVo.EditHonorVO; import com.dsh.other.service.HonorRulesService; import com.dsh.other.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; import java.util.stream.Collectors; @RestController @RequestMapping("") public class HonorController { @Autowired private HonorRulesService hrService; /** * 获取 荣誉规则列表 */ @RequestMapping(value = "/base/honor/list") public Map> getList() { List list = hrService.getList(); return list.stream().collect(Collectors.groupingBy(HonorRules::getType)); } /** * 修改荣誉规则 并返回新的荣誉规则列表 */ @RequestMapping(value = "/base/honor/edit") @ResponseBody public Object edit(@RequestBody EditHonorVO vo) { Integer type1 = vo.getType1().getType(); List condition1 = vo.getType1().getCondition(); QueryWrapper wrapper1 = new QueryWrapper<>(); wrapper1.eq("type", type1); List list1 = hrService.list(wrapper1); for (int i = 0; i < list1.size(); i++) { list1.get(i).setCondition(Integer.valueOf(condition1.get(i))); } hrService.updateBatchById(list1); Integer type2 = vo.getType2().getType(); List condition2 = vo.getType2().getCondition(); QueryWrapper wrapper2 = new QueryWrapper<>(); wrapper2.eq("type", type2); List list2 = hrService.list(wrapper2); for (int i = 0; i < list2.size(); i++) { list2.get(i).setCondition(Integer.valueOf(condition2.get(i))); } hrService.updateBatchById(list2); Integer type3 = vo.getType3().getType(); List condition3 = vo.getType3().getCondition(); QueryWrapper wrapper3 = new QueryWrapper<>(); wrapper3.eq("type", type3); List list3 = hrService.list(wrapper3); for (int i = 0; i < list3.size(); i++) { list3.get(i).setCondition(Integer.valueOf(condition3.get(i))); } hrService.updateBatchById(list3); Integer type4 = vo.getType4().getType(); List condition4 = vo.getType4().getCondition(); QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.eq("type", type4); List list4 = hrService.list(wrapper4); for (int i = 0; i < list4.size(); i++) { list4.get(i).setCondition(Integer.valueOf(condition4.get(i))); } hrService.updateBatchById(list4); Integer type5 = vo.getType5().getType(); List condition5 = vo.getType5().getCondition(); QueryWrapper wrapper5 = new QueryWrapper<>(); wrapper5.eq("type", type5); List list5 = hrService.list(wrapper5); for (int i = 0; i < list5.size(); i++) { list5.get(i).setCondition(Integer.valueOf(condition5.get(i))); } hrService.updateBatchById(list5); Integer type6 = vo.getType6().getType(); List condition6 = vo.getType6().getCondition(); QueryWrapper wrapper6 = new QueryWrapper<>(); wrapper6.eq("type", type6); List list6 = hrService.list(wrapper6); for (int i = 0; i < list6.size(); i++) { list6.get(i).setCondition(Integer.valueOf(condition6.get(i))); } hrService.updateBatchById(list6); return ResultUtil.success(); } @Autowired private HonorRulesService honorRulesService; @PostMapping("/base/honor/getHonor") public HonorRules getHonor(@RequestBody List integers) { HonorRules one = honorRulesService.getOne(new QueryWrapper() .eq("type", integers.get(0)) .le("`condition`", integers.get(1)).orderByDesc("`condition`") .last("LIMIT 1")); if (one == null) { HonorRules one1 = honorRulesService.getOne(new QueryWrapper() .eq("type", integers.get(0)) .eq("level", 1) .last("LIMIT 1")); return one1; } if (one.getLevel() == 10) { return one; } HonorRules one2 = honorRulesService.getOne(new QueryWrapper().eq("type", integers.get(0)) .eq("level", Integer.valueOf(one.getLevel()) + 1)); return one2; } @PostMapping("/base/honor/stuHonors") public List getStuHonors(@RequestBody List honorIds) { List stuMedalVos = new ArrayList<>(); List honorRules = hrService.querylistOfIds(honorIds); if (honorRules.size() > 0) { honorRules.forEach(hrs -> { StuMedalVo stuMedalVo = new StuMedalVo(); stuMedalVo.setLevelNum(Integer.getInteger(String.valueOf(hrs.getLevel()))); stuMedalVo.setMedalType(hrs.getType()); switch (hrs.getType()) { case 1: stuMedalVo.setMedalName("俱乐部之星"); break; case 2: stuMedalVo.setMedalName("运动达人"); break; case 3: stuMedalVo.setMedalName("社区之王"); break; case 4: stuMedalVo.setMedalName("深度玩家"); break; case 5: stuMedalVo.setMedalName("常胜将军"); break; case 6: stuMedalVo.setMedalName("越战越勇"); break; default: break; } if (!Objects.equals(hrs.getLevel(), "10")) { stuMedalVo.setLevelNum(Integer.parseInt(String.valueOf(hrs.getLevel()))); stuMedalVo.setNextLevel(Integer.parseInt(String.valueOf(hrs.getLevel())) + 1); stuMedalVo.setUpgradeConditions(String.valueOf(hrs.getCondition())); stuMedalVo.setIsTopLevel(2); } else { stuMedalVo.setIsTopLevel(1); } stuMedalVos.add(stuMedalVo); }); } return stuMedalVos; } }