You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.8 KiB

1 month ago
1 month ago
1 month ago
  1. package com.example.demo.serviceImpl;
  2. import com.example.demo.mapper.GeneralMapper;
  3. import com.example.demo.service.GeneralService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import java.time.LocalDateTime;
  7. import java.time.LocalTime;
  8. import java.time.ZoneId;
  9. import java.util.*;
  10. import java.util.stream.Collectors;
  11. /**
  12. * @program: GOLD
  13. * @ClassName GeneralServiceImpl
  14. * @description:
  15. * @author: huangqizhen
  16. * @create: 202506-22 11:01
  17. * @Version 1.0
  18. **/
  19. @Service
  20. public class GeneralServiceImpl implements GeneralService {
  21. @Autowired
  22. private GeneralMapper generalMapper;
  23. @Override
  24. public List<String> getMarket() {
  25. List<String> list = generalMapper.getMarket();
  26. return list;
  27. }
  28. @Override
  29. public List<String> getPlatform() {
  30. List<String> list = generalMapper.getPlatform();
  31. return list;
  32. }
  33. @Override
  34. public List<String> getGoods() {
  35. List<String> list = generalMapper.getGoods();
  36. // 使用 Java 8 的 Stream API 过滤 null 和空字符串
  37. List<String> filteredList = list.stream()
  38. .filter(Objects::nonNull) // 过滤掉 null 值
  39. .filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
  40. .collect(Collectors.toList());
  41. return filteredList;
  42. }
  43. @Override
  44. public List<String> getActivity() {
  45. List<String> list = generalMapper.getActivity();
  46. List<String> filteredList = list.stream()
  47. .filter(Objects::nonNull) // 过滤掉 null 值
  48. .filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
  49. .collect(Collectors.toList());
  50. return filteredList;
  51. }
  52. /*
  53. 获取昨天的日期
  54. */
  55. @Override
  56. public Date getYesterday() {
  57. Calendar cal = Calendar.getInstance();
  58. cal.add(Calendar.DAY_OF_YEAR, -1); //当前天数-1
  59. return getStartOfDay(cal.getTime()); //昨天的00:00:00
  60. }
  61. /*
  62. 获取某天的开始时间(00:00:00)
  63. */
  64. @Override
  65. public Date getStartOfDay(Date date) {
  66. LocalDateTime localDate = date.toInstant()
  67. .atZone(ZoneId.systemDefault()) // 转换为本地时区
  68. .toLocalDateTime()
  69. .with(LocalTime.MIN); // 设置时间为当天 00:00:00
  70. return Date.from(localDate.atZone(ZoneId.systemDefault()).toInstant());
  71. }
  72. /*
  73. 转换日期格式为yyyy-MM-dd
  74. */
  75. @Override
  76. public String formatDate(Date date) {
  77. return date.toInstant()
  78. .atZone(ZoneId.systemDefault())
  79. .format(java.time.format.DateTimeFormatter.ISO_LOCAL_DATE); // 输出格式如 "2025-10-01"
  80. }
  81. /*
  82. 获取时间段内的所有日期包含起始和结束日
  83. */
  84. @Override
  85. public List<Date> getAllDatesBetween(Date start, Date end) {
  86. List<Date> dates = new ArrayList<>();
  87. //初始化日历对象
  88. Calendar tempStart = Calendar.getInstance();
  89. tempStart.setTime(start);
  90. Calendar tempEnd = Calendar.getInstance();
  91. tempEnd.setTime(end);
  92. while (!tempStart.after(tempEnd)) {
  93. dates.add(tempStart.getTime()); // 将当前日期添加到列表中
  94. tempStart.add(Calendar.DAY_OF_YEAR, 1); // 每次增加一天
  95. }
  96. return dates;
  97. }
  98. /*
  99. 获取角色的地区权限列表
  100. */
  101. @Override
  102. public List<String> getRoleMarket(String account) throws Exception {
  103. String market = generalMapper.getRoleMarket(account);
  104. if (market == null)
  105. throw new Exception("没有地区权限");
  106. List<String> list = Arrays.asList(market.split(","));
  107. return list;
  108. }
  109. }