diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseTimeZoneController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseTimeZoneController.java new file mode 100644 index 0000000..5366b58 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseTimeZoneController.java @@ -0,0 +1,112 @@ +package com.ruoyi.base.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.base.domain.BaseTimeZone; +import com.ruoyi.base.service.IBaseTimeZoneService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 时区Controller + * + * @author pqz + * @date 2025-10-31 + */ +@RestController +@RequestMapping("/base/zone") +public class BaseTimeZoneController extends BaseController +{ + @Autowired + private IBaseTimeZoneService baseTimeZoneService; + + /** + * 查询时区列表 + */ + @PreAuthorize("@ss.hasPermi('base:zone:list')") + @GetMapping("/list") + public AjaxResult list(BaseTimeZone baseTimeZone, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = baseTimeZoneService.queryListPage(baseTimeZone,page); + return success(list); + } + + /** + * 导出时区列表 + */ + @PreAuthorize("@ss.hasPermi('base:zone:export')") + @Log(title = "时区", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BaseTimeZone baseTimeZone) + { + List list = baseTimeZoneService.list(); + ExcelUtil util = new ExcelUtil(BaseTimeZone.class); + util.exportExcel(response, list, "时区数据"); + } + + /** + * 获取时区详细信息 + */ + @PreAuthorize("@ss.hasPermi('base:zone:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(baseTimeZoneService.getById(id)); + } + + /** + * 新增时区 + */ + @PreAuthorize("@ss.hasPermi('base:zone:add')") + @Log(title = "时区", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BaseTimeZone baseTimeZone) + { + return toAjax(baseTimeZoneService.save(baseTimeZone)); + } + + /** + * 修改时区 + */ + @PreAuthorize("@ss.hasPermi('base:zone:edit')") + @Log(title = "时区", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BaseTimeZone baseTimeZone) + { + return toAjax(baseTimeZoneService.updateById(baseTimeZone)); + } + + /** + * 删除时区 + */ + @PreAuthorize("@ss.hasPermi('base:zone:remove')") + @Log(title = "时区", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(baseTimeZoneService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseTimeZone.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseTimeZone.java new file mode 100644 index 0000000..7989148 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseTimeZone.java @@ -0,0 +1,55 @@ +package com.ruoyi.base.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 时区对象 base_time_zone + * + * @author pqz + * @date 2025-10-31 + */ +@TableName("base_time_zone") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BaseTimeZone extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 时区标准名称(如 “Asia/Shanghai”,遵循 IANA 时区数据库命名规范) */ + @Excel(name = "时区标准名称", readConverterExp = "如=,“=Asia/Shanghai”,遵循,I=ANA,时=区数据库命名规范") + private String zoneName; + + /** UTC 偏移量(如 “+08:00”“-05:00”“+03:30”) */ + @Excel(name = "UTC 偏移量", readConverterExp = "如=,“=+08:00”“-05:00”“+03:30”") + private String utcOffset; + + /** 时区缩写(如 “CST” 代表中国标准时间,“EST” 代表美国东部标准时间) */ + @Excel(name = "时区缩写", readConverterExp = "如=,“=CST”,代=表中国标准时间,“EST”,代=表美国东部标准时间") + private String abbreviation; + + /** 是否使用夏令时(1 = 是,0 = 否) */ + @Excel(name = "是否使用夏令时", readConverterExp = "1=,==,是=,0,==,否=") + private Integer usesDst; + + /** 夏令时偏移量(如 “+09:00”,不使用则为 NULL) */ + @Excel(name = "夏令时偏移量", readConverterExp = "如=,“=+09:00”,不使用则为,N=ULL") + private String dstOffset; + + /** 时区描述(如 “中国标准时间,覆盖中国全境”) */ + @Excel(name = "时区描述", readConverterExp = "如=,“=中国标准时间,覆盖中国全境”") + private String description; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseTimeZoneMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseTimeZoneMapper.java new file mode 100644 index 0000000..5ccf464 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseTimeZoneMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.base.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.base.domain.BaseTimeZone; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 时区Mapper接口 + * + * @author pqz + * @date 2025-10-31 + */ +@Mapper +public interface BaseTimeZoneMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BaseTimeZone entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseTimeZoneService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseTimeZoneService.java new file mode 100644 index 0000000..6afb571 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseTimeZoneService.java @@ -0,0 +1,18 @@ +package com.ruoyi.base.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.base.domain.BaseTimeZone; + +/** + * 时区Service接口 + * + * @author pqz + * @date 2025-10-31 + */ +public interface IBaseTimeZoneService extends IService +{ + IPage queryListPage(BaseTimeZone pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseTimeZoneServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseTimeZoneServiceImpl.java new file mode 100644 index 0000000..58dc96e --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseTimeZoneServiceImpl.java @@ -0,0 +1,29 @@ +package com.ruoyi.base.service.impl; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.base.mapper.BaseTimeZoneMapper; +import com.ruoyi.base.domain.BaseTimeZone; +import com.ruoyi.base.service.IBaseTimeZoneService; + +/** + * 时区Service业务层处理 + * + * @author pqz + * @date 2025-10-31 + */ +@Service +public class BaseTimeZoneServiceImpl extends ServiceImpl implements IBaseTimeZoneService +{ + @Autowired + private BaseTimeZoneMapper baseTimeZoneMapper; + + @Override + public IPage queryListPage(BaseTimeZone pageReqVO, Page page) { + return baseTimeZoneMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BaseTimeZoneMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BaseTimeZoneMapper.xml new file mode 100644 index 0000000..85bc61e --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BaseTimeZoneMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + select id, zone_name, utc_offset, abbreviation, uses_dst, dst_offset, description from base_time_zone + + + + \ No newline at end of file