diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java index ea51ecd3..e9215344 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java @@ -6,14 +6,18 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; +import org.jeecg.modules.entity.Cet_4; +import org.jeecg.modules.entity.Cet_6; import org.jeecg.modules.service.CenterService; +import org.jeecg.modules.service.ICet_4Service; +import org.jeecg.modules.service.ICet_6Service; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; @RestController @RequestMapping("/cet") @@ -21,14 +25,33 @@ import javax.annotation.Resource; public class CenterController { @Resource private CenterService centerService; + @Autowired + ICet_4Service cet4Service; + @Autowired + ICet_6Service cet6Service; /** - * 统计四级表和六级表中存在得学院和年级 + * 统计四级表和六级表中存在的年级 */ - @GetMapping(value = "/getGradeAndCollege") - @Cacheable(value = "getGradeAndCollege", key = "'getGradeAndCollege'") - public Result getGradeAndCollege() { - return centerService.getGradeAndCollege(); + @GetMapping(value = "/getEntrydate") + public Result getEntrydate() { + return Result.ok(centerService.getEntrydate()); + } + + /** + * 统计四级表和六级表中存在的学院 + */ + @GetMapping(value = "/getCollege") + public Result getCollege() { + return Result.ok(centerService.getCollege()); + } + + /** + * 统计四级表和六级表中存在的批次 + */ + @GetMapping(value = "/getBatch") + public Result getBatch() { + return Result.ok(centerService.getBatch()); } /** @@ -39,4 +62,37 @@ public class CenterController { public Result getData(@RequestParam String college, @RequestParam String entrydate) { return centerService.getData(college,entrydate); } + + @GetMapping("/getRate/{batch}/{level}") + public Result getRateByBatch(@PathVariable("batch") Date batch, @PathVariable("level") String level) { + //四六级分开查询 + if (level.equals("cet4")) { + Cet_4 cet = new Cet_4(); + cet.setBatch(batch); + return cet4Service.getRate(cet); + } else if (level.equals("cet6")) { + Cet_6 cet = new Cet_6(); + cet.setBatch(batch); + return cet6Service.getRate(cet); + } else { + return null; + } + } + //根据batch/college是否为空判断两种查询方式 + + @GetMapping("getRate/{college}/{level}") + public Result getRateByCollege(@PathVariable("college") String college, @PathVariable("level") String level) { + if (level.equals("cet4")) { + Cet_4 cet = new Cet_4(); + cet.setCollege(college); + return cet4Service.getRate(cet); + } else if (level.equals("cet6")) { + Cet_6 cet = new Cet_6(); + cet.setCollege(college); + + return cet6Service.getRate(cet); + } else { + return null; + } + } } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/mapper/Cet_4Mapper.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/mapper/Cet_4Mapper.java index e2b40ccf..3cfbd1f8 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/mapper/Cet_4Mapper.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/mapper/Cet_4Mapper.java @@ -12,3 +12,4 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface Cet_4Mapper extends BaseMapper { } + diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/CenterService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/CenterService.java index 5f3fd92e..e2da912a 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/CenterService.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/CenterService.java @@ -6,10 +6,15 @@ import org.jeecg.common.api.vo.Result; /** * @Description: cet_6 * @Author: jeecg-boot - * @Date: 2024-03-26 + * @Date: 2024-03-26 * @Version: V1.0 */ -public interface CenterService { - Result getGradeAndCollege(); +public interface CenterService { + JSONObject getEntrydate(); + + JSONObject getCollege(); + + JSONObject getBatch(); + Result getData(String college, String entryDate); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java index e2dcc2e4..b0575095 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java @@ -17,6 +17,6 @@ import java.util.Date; * @Version: V1.0 */ public interface ICet_4Service extends IService { - public Result getRate(Cet_4 cet); + Result getRate(Cet_4 cet); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java index cb00568d..72b9f7ac 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java @@ -9,6 +9,8 @@ import org.jeecg.modules.entity.Cet_6; import org.jeecg.modules.mapper.Cet_4Mapper; import org.jeecg.modules.mapper.Cet_6Mapper; import org.jeecg.modules.service.CenterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -28,8 +30,14 @@ public class CenterServiceImpl implements CenterService { @Resource private Cet_6Mapper cet6Mapper; + @Resource + private RedisTemplate redisTemplate; + + /** + * 统计四级表和六级表中存在的年级 + */ @Override - public Result getGradeAndCollege() { + public JSONObject getCollege() { JSONObject result = new JSONObject(); // 收集学院名称 LambdaQueryWrapper Cet_4CollegeQW = new LambdaQueryWrapper<>(); @@ -44,10 +52,10 @@ public class CenterServiceImpl implements CenterService { // 收集不重复的学院名称 Set collegeSet = new HashSet<>(); for (Map map : Cet_4College) { - collegeSet.add((String) map.get("college")); + collegeSet.add(String.valueOf(map.get("college"))); } for (Map map : Cet_6College) { - collegeSet.add((String) map.get("college")); + collegeSet.add(String.valueOf(map.get("college"))); } JSONArray colleges = new JSONArray(); for (String college : collegeSet) { @@ -57,23 +65,83 @@ public class CenterServiceImpl implements CenterService { colleges.add(collegeObj); } result.put("colleges", colleges); + // 将数据存入缓存 + redisTemplate.opsForValue().set("getBatch", result); + return result; + } - // 收集入学年级 + /** + * 统计四级表和六级表中存在的批次 + */ + @Override + public JSONObject getBatch() { + // 判断是否存在缓存 ‘getBatch’ + if (Boolean.TRUE.equals(redisTemplate.hasKey("getBatch"))) { + return (JSONObject) redisTemplate.opsForValue().get("getBatch"); + } + JSONObject result = new JSONObject(); + // 收集批次 + LambdaQueryWrapper Cet_4BatchQW = new LambdaQueryWrapper<>(); + Cet_4BatchQW.select(Cet_4::getBatch) + .groupBy(Cet_4::getBatch); + LambdaQueryWrapper Cet_6BatchQW = new LambdaQueryWrapper<>(); + Cet_6BatchQW.select(Cet_6::getBatch) + .groupBy(Cet_6::getBatch); + + List> Cet_4Batch = cet4Mapper.selectMaps(Cet_4BatchQW); + List> Cet_6Batch = cet6Mapper.selectMaps(Cet_6BatchQW); + // 收集不重复的批次 + Set batchSet = new HashSet<>(); + for (Map map : Cet_4Batch) { + batchSet.add(String.valueOf(map.get("batch"))); + } + for (Map map : Cet_6Batch) { + batchSet.add(String.valueOf(map.get("batch"))); + } + JSONArray batches = new JSONArray(); + for (String batch : batchSet) { + JSONObject batchObj = new JSONObject(); + batchObj.put("label", batch); + batchObj.put("value", batch); + batches.add(batchObj); + } + result.put("batches", batches); + // 将数据存入缓存 + redisTemplate.opsForValue().set("getBatch", result); + return result; + } + + /** + * 统计四级表和六级表中存在的年级 + */ + @Override + public JSONObject getEntrydate() { + // 判断是否存在缓存 ‘getEntrydate’ + if (Boolean.TRUE.equals(redisTemplate.hasKey("getEntrydate"))) { + return (JSONObject) redisTemplate.opsForValue().get("getEntrydate"); + } + // 判断是否存在缓存 ‘getEntrydate’ + if (Boolean.TRUE.equals(redisTemplate.hasKey("getEntrydate"))) { + return (JSONObject) redisTemplate.opsForValue().get("getEntrydate"); + } + JSONObject result = new JSONObject(); + // 收集年级 LambdaQueryWrapper Cet_4EntrydateQW = new LambdaQueryWrapper<>(); Cet_4EntrydateQW.select(Cet_4::getEntrydate) .groupBy(Cet_4::getEntrydate); LambdaQueryWrapper Cet_6EntrydateQW = new LambdaQueryWrapper<>(); Cet_6EntrydateQW.select(Cet_6::getEntrydate) .groupBy(Cet_6::getEntrydate); + List> Cet_4Entrydate = cet4Mapper.selectMaps(Cet_4EntrydateQW); List> Cet_6Entrydate = cet6Mapper.selectMaps(Cet_6EntrydateQW); - // 收集不重复的入学年级 + // 收集不重复的年级 Set entrydateSet = new HashSet<>(); for (Map map : Cet_4Entrydate) { - entrydateSet.add((String) map.get("entrydate")); + entrydateSet.add(String.valueOf(map.get("entrydate"))); } for (Map map : Cet_6Entrydate) { - entrydateSet.add((String) map.get("entrydate")); + entrydateSet.add(String.valueOf(map.get("entrydate"))); } JSONArray entrydates = new JSONArray(); for (String entrydate : entrydateSet) { @@ -83,7 +151,9 @@ public class CenterServiceImpl implements CenterService { entrydates.add(entrydateObj); } result.put("entrydates", entrydates); - return Result.ok(result); + // 将数据存入缓存 + redisTemplate.opsForValue().set("getEntrydate", result); + return result; } @Override @@ -186,4 +256,6 @@ public class CenterServiceImpl implements CenterService { result.put("data", ans); return Result.ok(result); } + + } \ No newline at end of file