From a4d637bddb71f148353ab78f7771edae3bd03c10 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期二, 04 七月 2023 17:17:27 +0800 Subject: [PATCH] account模块:开始上课-学员勋章的数据查询 --- cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StuMedalVo.java | 28 +++ cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 56 ++++- cloud-server-other/src/main/resources/mapper/HonorRulesMapper.xml | 6 cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/StuMedalVo.java | 6 cloud-server-other/src/main/java/com/dsh/other/web/HonorRulesController.java | 21 ++ cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java | 16 + cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java | 59 ++++++ cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java | 65 +++++++ cloud-server-account/src/main/java/com/dsh/account/mapper/StudentHonorMapper.java | 16 + cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java | 16 + cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java | 24 ++ cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java | 51 +++++ cloud-server-other/src/main/java/com/dsh/other/service/HonorRulesService.java | 16 + cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java | 19 - cloud-server-other/src/main/java/com/dsh/other/service/impl/HonorRulesServiceImpl.java | 20 ++ cloud-server-other/src/main/java/com/dsh/other/mapper/HonorRulesMapper.java | 16 + cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/GongVo.java | 15 + cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml | 5 cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 71 +++++++ 19 files changed, 494 insertions(+), 32 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java index 2f7c1ea..5f18bcc 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java @@ -6,11 +6,13 @@ import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.model.vo.classDetails.classInsVo.*; import com.dsh.account.model.vo.commentDetail.StuCommentsVo; +import com.dsh.account.model.vo.medalDetail.GongVo; import com.dsh.account.model.vo.medalDetail.StuMedalVo; import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp; import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; import com.dsh.account.service.EvaluateStudentService; +import com.dsh.account.service.StudentHonorService; import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.DateUtil; @@ -51,12 +53,15 @@ private EvaluateStudentService evalstuService; @Autowired + private StudentHonorService honorService; + + @Autowired private TokenUtil tokenUtil; @ResponseBody - @PostMapping("/base/startCource/queryStudentData") + @PostMapping("/api/startCource/queryStudentData") @ApiOperation(value = "上课首页", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(value = "经度值", name = "longitude", required = true, dataType = "String"), @@ -78,7 +83,7 @@ @ResponseBody - @PostMapping("/base/startCource/queryPhysical") + @PostMapping("/api/startCource/queryPhysical") @ApiOperation(value = "获取学员测试报告", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(value = "学员id", name = "id", required = true, dataType = "int"), @@ -100,7 +105,7 @@ * 添加学员信息 */ @ResponseBody - @PostMapping("/base/startCource/addData") + @PostMapping("/api/startCource/addData") @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(value = "学员信息", name = "stu", required = true, dataType = "int"), @@ -124,7 +129,7 @@ * 该APP用户下的学员列表 */ @ResponseBody - @PostMapping("/base/startCource/listOfStu") + @PostMapping("/api/startCource/listOfStu") @ApiOperation(value = "学员列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -161,7 +166,7 @@ * 课时详情 */ @ResponseBody - @PostMapping("/base/startCource/lessonDetails") + @PostMapping("/api/startCource/lessonDetails") @ApiOperation(value = "课时详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @@ -188,7 +193,7 @@ * 课时详情-记录列表 */ @ResponseBody - @PostMapping("/base/startCource/recordDetails") + @PostMapping("/api/startCource/recordDetails") @ApiOperation(value = "课时详情-记录列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @@ -210,7 +215,7 @@ * 课时详情-续课课包详情 */ @ResponseBody - @PostMapping("/base/startCource/renewal") + @PostMapping("/api/startCource/renewal") @ApiOperation(value = "课时详情-续课课包详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -233,7 +238,7 @@ * 课时详情-选择优惠券 */ @ResponseBody - @PostMapping("/base/startCource/conponList") + @PostMapping("/api/startCource/conponList") @ApiOperation(value = "课时详情-选择优惠券", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -257,7 +262,7 @@ * 课时详情-支付 */ @ResponseBody - @PostMapping("/base/startCource/payment") + @PostMapping("/api/startCource/payment") @ApiOperation(value = "课时详情-支付", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -277,7 +282,7 @@ * 学员评语 */ @ResponseBody - @PostMapping("/base/startCource/stuComment") + @PostMapping("/api/startCource/stuComment") @ApiOperation(value = "学员评语", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -292,22 +297,43 @@ /** - * 学员勋章 + * 学员勋章详情 */ @ResponseBody - @PostMapping("/base/startCource/stuMedal") - @ApiOperation(value = "学员勋章", tags = {"APP-开始上课"}) + @PostMapping("/api/startCource/stuMedal") + @ApiOperation(value = "学员勋章详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<StuMedalVo> queryStuMedal(@RequestParam("stuId") Integer stuId){ + public ResultUtil<List<StuMedalVo>> queryStuMedal(@RequestParam("stuId") Integer stuId){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ return ResultUtil.tokenErr(); } + return ResultUtil.success(honorService.queryHonorDetails(stuId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } - return ResultUtil.success(); + + /** + * 学员勋章 + */ + @ResponseBody + @PostMapping("/api/startCource/stuGoog") + @ApiOperation(value = "学员勋章", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<GongVo>> queryStuGoog(@RequestParam("stuId") Integer stuId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(honorService.queryStuOfMedalData(stuId)); }catch (Exception e){ return ResultUtil.runErr(); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java index cd8aaf7..52ec93f 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java @@ -28,7 +28,7 @@ private TStudentService tsService; @ResponseBody - @PostMapping("/base/exploreWP/noticeList") + @PostMapping("/api/exploreWP/noticeList") @ApiOperation(value = "联系客服-探索首页", tags = {"APP-探索玩湃"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -46,9 +46,6 @@ @ResponseBody @PostMapping("/base/exploreWP/noticeList") @ApiOperation(value = "联系客服-公告列表", tags = {"APP-探索玩湃"}) - @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") - }) public ResultUtil<List<SysNotice>> queryNoticeListDatas(){ try { return ResultUtil.success(tsService.querySystemNoticeDetails()); @@ -59,11 +56,8 @@ @ResponseBody - @PostMapping("/base/exploreWP/noticeList") + @PostMapping("/api/exploreWP/noticeList") @ApiOperation(value = "联系客服-公告详情", tags = {"APP-探索玩湃"}) - @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") - }) public ResultUtil<SysNotice> queryNotice(@RequestBody Integer noId){ try { return ResultUtil.success(tsService.queryNoticeData(noId)); @@ -76,9 +70,6 @@ @ResponseBody @PostMapping("/base/exploreWP/noticeList") @ApiOperation(value = "联系客服-常见问题列表", tags = {"APP-探索玩湃"}) - @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") - }) public ResultUtil<QuestionDetailsVo> queryFrequentlyAskedQuestionDetails(){ try { return ResultUtil.success(tsService.queryQuestionData()); @@ -91,9 +82,6 @@ @ResponseBody @PostMapping("/base/exploreWP/noticeList") @ApiOperation(value = "联系客服-常见问题详情", tags = {"APP-探索玩湃"}) - @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") - }) public ResultUtil<QuestionIns> queryQuestionData(@RequestBody Integer quesId){ try { return ResultUtil.success(tsService.queryQuestionDataInfo(quesId)); @@ -105,9 +93,6 @@ @ResponseBody @PostMapping("/base/exploreWP/noticeList") @ApiOperation(value = "联系客服-客服电话列表", tags = {"APP-探索玩湃"}) - @ApiImplicitParams({ - @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") - }) public ResultUtil<List<String>> queryCustomerData(){ try { return ResultUtil.success(tsService.queryCustomerDetails()); diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java b/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java new file mode 100644 index 0000000..3964f61 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java @@ -0,0 +1,59 @@ +package com.dsh.account.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 学员-荣耀中间表 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_student_honor") +public class StudentHonor extends Model<StudentHonor> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Integer id; + /** + * 学员id + */ + private Integer stuId; + /** + * 荣耀规则id + */ + private Integer honorRuleId; + /** + * 荣耀类型 + */ + private Integer honorType; + /** + * 荣耀等级 + */ + private Integer honorLevel; + /** + * 添加时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java new file mode 100644 index 0000000..4bbd241 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java @@ -0,0 +1,16 @@ +package com.dsh.account.feignclient.other; + +import com.dsh.account.model.vo.medalDetail.StuMedalVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@FeignClient(value = "mb-cloud-other") +public interface HonorDeClient { + + @PostMapping("/honor/stuHonors") + public List<StuMedalVo> getStuHonors(@RequestBody List<Integer> honorIds); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/StudentHonorMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/StudentHonorMapper.java new file mode 100644 index 0000000..d064fab --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/StudentHonorMapper.java @@ -0,0 +1,16 @@ +package com.dsh.account.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.account.entity.StudentHonor; + +/** + * <p> + * 学员-荣耀中间表 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +public interface StudentHonorMapper extends BaseMapper<StudentHonor> { + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml b/cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml new file mode 100644 index 0000000..de2ab8e --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/xml/StudentHonorMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.account.mapper.StudentHonorMapper"> + +</mapper> diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/GongVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/GongVo.java new file mode 100644 index 0000000..00a021b --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/GongVo.java @@ -0,0 +1,15 @@ +package com.dsh.account.model.vo.medalDetail; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class GongVo { + + @ApiModelProperty(value = "勋章类型(1=俱乐部之星,2=运动达人,3=社区之王,4=深度玩家)") + private Integer medalType; + + @ApiModelProperty(value = "勋章名称 例如:俱乐部之星") + private String medalName; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/StuMedalVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/StuMedalVo.java index 1e863f3..589da68 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/StuMedalVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/medalDetail/StuMedalVo.java @@ -19,4 +19,10 @@ @ApiModelProperty(value = "升级条件") private String upgradeConditions; + @ApiModelProperty(value = "下一等级") + private Integer nextLevel; + + @ApiModelProperty(value = "是否顶级 1是 2不是") + private Integer isTopLevel; + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java b/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java new file mode 100644 index 0000000..d14ca47 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java @@ -0,0 +1,24 @@ +package com.dsh.account.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.account.entity.StudentHonor; +import com.dsh.account.model.vo.medalDetail.GongVo; +import com.dsh.account.model.vo.medalDetail.StuMedalVo; + +import java.util.List; + +/** + * <p> + * 学员-荣耀中间表 服务类 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +public interface StudentHonorService extends IService<StudentHonor> { + + List<GongVo> queryStuOfMedalData(Integer stuId); + + List<StuMedalVo> queryHonorDetails(Integer stuId); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java new file mode 100644 index 0000000..6052364 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java @@ -0,0 +1,71 @@ +package com.dsh.account.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.account.entity.StudentHonor; +import com.dsh.account.feignclient.other.HonorDeClient; +import com.dsh.account.mapper.StudentHonorMapper; +import com.dsh.account.model.vo.medalDetail.GongVo; +import com.dsh.account.model.vo.medalDetail.StuMedalVo; +import com.dsh.account.service.StudentHonorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 学员-荣耀中间表 服务实现类 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +@Service +public class StudentHonorServiceImpl extends ServiceImpl<StudentHonorMapper, StudentHonor> implements StudentHonorService { + + + @Autowired + private HonorDeClient honorDeClient; + + @Override + public List<GongVo> queryStuOfMedalData(Integer stuId) { + List<GongVo> voList = new ArrayList<>(); + List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>() + .eq("stuId", stuId)); + if (studentHonors.size() > 0){ + studentHonors.forEach( stuoHo -> { + GongVo vo = new GongVo(); + vo.setMedalType(stuoHo.getHonorType()); + switch (stuoHo.getHonorType()){ + case 1: + vo.setMedalName("俱乐部之星"); + break; + case 2: + vo.setMedalName("运动达人"); + break; + case 3: + vo.setMedalName("社区之王"); + break; + case 4: + vo.setMedalName("深度玩家"); + break; + default: + break; + } + voList.add(vo); + }); + } + return voList; + } + + @Override + public List<StuMedalVo> queryHonorDetails(Integer stuId) { + List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>() + .in("stuId",stuId)); + List<Integer> collect = studentHonors.stream().map(StudentHonor::getStuId).collect(Collectors.toList()); + return honorDeClient.getStuHonors(collect); + } +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java new file mode 100644 index 0000000..f7b218a --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java @@ -0,0 +1,65 @@ +package com.dsh.other.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.other.entity.HonorRules; +import com.dsh.other.feignclient.model.StuMedalVo; +import com.dsh.other.service.HonorRulesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@RestController +@RequestMapping("") +public class HonorController { + + @Autowired + private HonorRulesService hrService; + + + @PostMapping("/honor/stuHonors") + public List<StuMedalVo> getStuHonors(@RequestBody List<Integer> honorIds){ + List<StuMedalVo> stuMedalVos = new ArrayList<>(); + List<HonorRules> honorRules = hrService.list(new QueryWrapper<HonorRules>() + .in("id", honorIds)); + if (honorRules.size() > 0){ + honorRules.forEach(hrs -> { + StuMedalVo stuMedalVo = new StuMedalVo(); + stuMedalVo.setLevelNum(Integer.getInteger(hrs.getLevel())); + switch (hrs.getType()){ + case 1: + stuMedalVo.setMedalName("俱乐部之星"); + break; + case 2: + stuMedalVo.setMedalName("运动达人"); + break; + case 3: + stuMedalVo.setMedalName("社区之王"); + break; + case 4: + stuMedalVo.setMedalName("深度玩家"); + break; + default: + break; + } + if (!Objects.equals(hrs.getLevel(), "10")){ + stuMedalVo.setNextLevel(Integer.parseInt(hrs.getLevel())+1); + stuMedalVo.setUpgradeConditions(hrs.getCondition()); + stuMedalVo.setIsTopLevel(2); + }else { + stuMedalVo.setIsTopLevel(1); + } + stuMedalVos.add(stuMedalVo); + }); + } + + return stuMedalVos; + } + + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java b/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java new file mode 100644 index 0000000..a098a05 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java @@ -0,0 +1,51 @@ +package com.dsh.other.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * 荣誉规则 + * </p> + * + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_honor_rules") +public class HonorRules extends Model<HonorRules> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 数据类型(1=俱乐部之星,2=运动达人,3=社区之王,4=深度玩家) + */ + private Integer type; + /** + * 等级 + */ + private String level; + /** + * 满足条件值 + */ + private String condition; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java new file mode 100644 index 0000000..05f5d00 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java @@ -0,0 +1,16 @@ +package com.dsh.other.feignclient; + +import com.dsh.other.feignclient.model.StuMedalVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@FeignClient(value = "mb-cloud-other") +public interface HonorDeClient { + + @PostMapping("/honor/stuHonors") + public List<StuMedalVo> getStuHonors(@RequestBody List<Integer> honorIds); + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StuMedalVo.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StuMedalVo.java new file mode 100644 index 0000000..b56ad1c --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StuMedalVo.java @@ -0,0 +1,28 @@ +package com.dsh.other.feignclient.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StuMedalVo { + + @ApiModelProperty(value = "勋章类型(1=俱乐部之星,2=运动达人,3=社区之王,4=深度玩家)") + private Integer medalType; + + @ApiModelProperty(value = "勋章名称 例如:俱乐部之星") + private String medalName; + + @ApiModelProperty(value = "当前等级") + private Integer levelNum; + + @ApiModelProperty(value = "升级条件") + private String upgradeConditions; + + @ApiModelProperty(value = "下一等级") + private Integer nextLevel; + + @ApiModelProperty(value = "是否顶级 1是 2不是") + private Integer isTopLevel; + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/HonorRulesMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/HonorRulesMapper.java new file mode 100644 index 0000000..a25b7fd --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/HonorRulesMapper.java @@ -0,0 +1,16 @@ +package com.dsh.other.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.other.entity.HonorRules; + +/** + * <p> + * 荣誉规则 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +public interface HonorRulesMapper extends BaseMapper<HonorRules> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/HonorRulesService.java b/cloud-server-other/src/main/java/com/dsh/other/service/HonorRulesService.java new file mode 100644 index 0000000..da53155 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/HonorRulesService.java @@ -0,0 +1,16 @@ +package com.dsh.other.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.other.entity.HonorRules; + +/** + * <p> + * 荣誉规则 服务类 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +public interface HonorRulesService extends IService<HonorRules> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/HonorRulesServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/HonorRulesServiceImpl.java new file mode 100644 index 0000000..6efd351 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/HonorRulesServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.other.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.other.entity.HonorRules; +import com.dsh.other.mapper.HonorRulesMapper; +import com.dsh.other.service.HonorRulesService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 荣誉规则 服务实现类 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +@Service +public class HonorRulesServiceImpl extends ServiceImpl<HonorRulesMapper, HonorRules> implements HonorRulesService { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/web/HonorRulesController.java b/cloud-server-other/src/main/java/com/dsh/other/web/HonorRulesController.java new file mode 100644 index 0000000..93874b3 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/web/HonorRulesController.java @@ -0,0 +1,21 @@ +package com.dsh.other.web; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 荣誉规则 前端控制器 + * </p> + * + * @author jqs + * @since 2023-07-04 + */ +@RestController +@RequestMapping("/honor-rules") +public class HonorRulesController { + +} + diff --git a/cloud-server-other/src/main/resources/mapper/HonorRulesMapper.xml b/cloud-server-other/src/main/resources/mapper/HonorRulesMapper.xml new file mode 100644 index 0000000..847444c --- /dev/null +++ b/cloud-server-other/src/main/resources/mapper/HonorRulesMapper.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.other.mapper.HonorRulesMapper"> + + +</mapper> -- Gitblit v1.7.1