| | |
| | | package com.ruoyi.basic.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.basic.mapper.BaseParamMapper; |
| | | import com.ruoyi.basic.pojo.BaseParam; |
| | | import com.ruoyi.basic.service.BaseParamService; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import io.swagger.annotations.Api; |
| | |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | |
| | | public class BaseParamServiceImpl extends ServiceImpl<BaseParamMapper, BaseParam> implements BaseParamService { |
| | | |
| | | @Override |
| | | public List<BaseParam> baseParamList(BaseParam baseParam) { |
| | | public IPage<BaseParam> baseParamList(Page<BaseParam> page, BaseParam baseParam) { |
| | | LambdaQueryWrapper<BaseParam> queryWrapper = new LambdaQueryWrapper<>(); |
| | | if (StringUtils.isNotEmpty(baseParam.getParamName())) { |
| | | queryWrapper.like(BaseParam::getParamName, baseParam.getParamName()); |
| | | } |
| | | List<BaseParam> list = list(queryWrapper); |
| | | if (list == null || list.isEmpty()) { |
| | | return new ArrayList<>(0); |
| | | Page<BaseParam> paramPage = page(page, queryWrapper); |
| | | if (paramPage == null || paramPage.getRecords().isEmpty()) { |
| | | return new Page<>(); |
| | | } |
| | | |
| | | // 处理日期格式展示 |
| | | list.forEach(item -> { |
| | | paramPage.getRecords().forEach(item -> { |
| | | if (Integer.valueOf(4).equals(item.getParamType()) && StringUtils.isNotEmpty(item.getParamFormat())) { |
| | | item.setParamFormat(toUpperCasePattern(item.getParamFormat())); |
| | | item.setParamFormat(DateUtils.toUpperCasePattern(item.getParamFormat())); |
| | | } |
| | | }); |
| | | |
| | | return list; |
| | | return paramPage; |
| | | } |
| | | |
| | | @Override |
| | |
| | | throw new RuntimeException("日期类型必须配置参数格式(如: yyyy-MM-dd)"); |
| | | } |
| | | try { |
| | | String standardPattern = normalizePattern(baseParam.getParamFormat()); |
| | | String standardPattern = DateUtils.normalizePattern(baseParam.getParamFormat()); |
| | | DateTimeFormatter.ofPattern(standardPattern); |
| | | baseParam.setParamFormat(standardPattern); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | } |
| | | return prefix + String.format("%04d", nextNum); |
| | | } |
| | | |
| | | /** |
| | | * 日期格式化 |
| | | */ |
| | | private String normalizePattern(String pattern) { |
| | | if (StringUtils.isEmpty(pattern)) return "yyyy-MM-dd"; |
| | | return pattern.replace("YYYY", "yyyy") |
| | | .replace("DD", "dd") |
| | | .replace("SS", "ss"); |
| | | } |
| | | |
| | | /** |
| | | * 转换为全大写显示 |
| | | */ |
| | | private String toUpperCasePattern(String pattern) { |
| | | if (StringUtils.isEmpty(pattern)) return ""; |
| | | return pattern.replace("yyyy", "YYYY") |
| | | .replace("dd", "DD") |
| | | .replace("ss", "SS"); |
| | | } |
| | | |
| | | @Override |