dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java
New file @@ -0,0 +1,105 @@ package org.dromara.demo.controller; import java.util.List; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.web.core.BaseController; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.demo.domain.vo.RsGeographyDataVo; import org.dromara.demo.domain.bo.RsGeographyDataBo; import org.dromara.demo.service.IRsGeographyDataService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** * 数据上图 * * @author gonghl * @date 2024-03-07 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/demo/geographyData") public class RsGeographyDataController extends BaseController { private final IRsGeographyDataService rsGeographyDataService; /** * 查询数据上图列表 */ @SaCheckPermission("demo:geographyData:list") @GetMapping("/list") public TableDataInfo<RsGeographyDataVo> list(RsGeographyDataBo bo, PageQuery pageQuery) { return rsGeographyDataService.queryPageList(bo, pageQuery); } /** * 导出数据上图列表 */ @SaCheckPermission("demo:geographyData:export") @Log(title = "数据上图", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(RsGeographyDataBo bo, HttpServletResponse response) { List<RsGeographyDataVo> list = rsGeographyDataService.queryList(bo); ExcelUtil.exportExcel(list, "数据上图", RsGeographyDataVo.class, response); } /** * 获取数据上图详细信息 * * @param id 主键 */ @SaCheckPermission("demo:geographyData:query") @GetMapping("/{id}") public R<RsGeographyDataVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable String id) { return R.ok(rsGeographyDataService.queryById(id)); } /** * 新增数据上图 */ @SaCheckPermission("demo:geographyData:add") @Log(title = "数据上图", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R<Void> add(@Validated(AddGroup.class) @RequestBody RsGeographyDataBo bo) { return toAjax(rsGeographyDataService.insertByBo(bo)); } /** * 修改数据上图 */ @SaCheckPermission("demo:geographyData:edit") @Log(title = "数据上图", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsGeographyDataBo bo) { return toAjax(rsGeographyDataService.updateByBo(bo)); } /** * 删除数据上图 * * @param ids 主键串 */ @SaCheckPermission("demo:geographyData:remove") @Log(title = "数据上图", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) { return toAjax(rsGeographyDataService.deleteWithValidByIds(List.of(ids), true)); } } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java
New file @@ -0,0 +1,51 @@ package org.dromara.demo.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serial; import java.util.Date; /** * 数据上图对象 rs_geography_data * * @author gonghl * @date 2024-03-07 */ @Data @TableName("rs_geography_data") public class RsGeographyData { @Serial private static final long serialVersionUID = 1L; /** * 编号 */ @TableId(value = "id") private String id; /** * 类型 */ private String type; /** * 名称 */ private String name; /** * 描述 */ private String description; /** * 标记状态 1已标记 2未标记 */ private Integer status; private Date createTime; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java
New file @@ -0,0 +1,47 @@ package org.dromara.demo.domain.bo; import org.dromara.demo.domain.RsGeographyData; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; /** * 数据上图业务对象 rs_geography_data * * @author gonghl * @date 2024-03-07 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = RsGeographyData.class, reverseConvertGenerate = false) public class RsGeographyDataBo extends BaseEntity { /** * 编号 */ @NotBlank(message = "编号不能为空", groups = { EditGroup.class }) private String id; /** * 类型 */ @NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class }) private String type; /** * 名称 */ @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String name; /** * 描述 */ @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class }) private String description; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java
New file @@ -0,0 +1,62 @@ package org.dromara.demo.domain.vo; import org.dromara.demo.domain.RsGeographyData; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.Date; /** * 数据上图视图对象 rs_geography_data * * @author gonghl * @date 2024-03-07 */ @Data @ExcelIgnoreUnannotated @AutoMapper(target = RsGeographyData.class) public class RsGeographyDataVo implements Serializable { @Serial private static final long serialVersionUID = 1L; /** * 编号 */ @ExcelProperty(value = "编号") private String id; /** * 类型 */ @ExcelProperty(value = "类型") private String type; /** * 名称 */ @ExcelProperty(value = "名称") private String name; /** * 描述 */ @ExcelProperty(value = "描述") private String description; /** * 标记状态 1已标记 2未标记 */ @ExcelProperty(value = "标记状态 1已标记 2未标记") private Integer status; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java
New file @@ -0,0 +1,15 @@ package org.dromara.demo.mapper; import org.dromara.demo.domain.RsGeographyData; import org.dromara.demo.domain.vo.RsGeographyDataVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * 数据上图Mapper接口 * * @author gonghl * @date 2024-03-07 */ public interface RsGeographyDataMapper extends BaseMapperPlus<RsGeographyData, RsGeographyDataVo> { } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java
New file @@ -0,0 +1,49 @@ package org.dromara.demo.service; import org.dromara.demo.domain.RsGeographyData; import org.dromara.demo.domain.vo.RsGeographyDataVo; import org.dromara.demo.domain.bo.RsGeographyDataBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import java.util.Collection; import java.util.List; /** * 数据上图Service接口 * * @author gonghl * @date 2024-03-07 */ public interface IRsGeographyDataService { /** * 查询数据上图 */ RsGeographyDataVo queryById(String id); /** * 查询数据上图列表 */ TableDataInfo<RsGeographyDataVo> queryPageList(RsGeographyDataBo bo, PageQuery pageQuery); /** * 查询数据上图列表 */ List<RsGeographyDataVo> queryList(RsGeographyDataBo bo); /** * 新增数据上图 */ Boolean insertByBo(RsGeographyDataBo bo); /** * 修改数据上图 */ Boolean updateByBo(RsGeographyDataBo bo); /** * 校验并批量删除数据上图信息 */ Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java
New file @@ -0,0 +1,111 @@ package org.dromara.demo.service.impl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.dromara.demo.domain.bo.RsGeographyDataBo; import org.dromara.demo.domain.vo.RsGeographyDataVo; import org.dromara.demo.domain.RsGeographyData; import org.dromara.demo.mapper.RsGeographyDataMapper; import org.dromara.demo.service.IRsGeographyDataService; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Collection; /** * 数据上图Service业务层处理 * * @author gonghl * @date 2024-03-07 */ @RequiredArgsConstructor @Service public class RsGeographyDataServiceImpl implements IRsGeographyDataService { private final RsGeographyDataMapper baseMapper; /** * 查询数据上图 */ @Override public RsGeographyDataVo queryById(String id){ return baseMapper.selectVoById(id); } /** * 查询数据上图列表 */ @Override public TableDataInfo<RsGeographyDataVo> queryPageList(RsGeographyDataBo bo, PageQuery pageQuery) { LambdaQueryWrapper<RsGeographyData> lqw = buildQueryWrapper(bo); Page<RsGeographyDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } /** * 查询数据上图列表 */ @Override public List<RsGeographyDataVo> queryList(RsGeographyDataBo bo) { LambdaQueryWrapper<RsGeographyData> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper<RsGeographyData> buildQueryWrapper(RsGeographyDataBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<RsGeographyData> lqw = Wrappers.lambdaQuery(); lqw.like(StringUtils.isNotBlank(bo.getName()), RsGeographyData::getName, bo.getName()); return lqw; } /** * 新增数据上图 */ @Override public Boolean insertByBo(RsGeographyDataBo bo) { RsGeographyData add = MapstructUtils.convert(bo, RsGeographyData.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } return flag; } /** * 修改数据上图 */ @Override public Boolean updateByBo(RsGeographyDataBo bo) { RsGeographyData update = MapstructUtils.convert(bo, RsGeographyData.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ private void validEntityBeforeSave(RsGeographyData entity){ entity.setStatus(2); entity.setCreateTime(new Date()); } /** * 批量删除数据上图 */ @Override public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteBatchIds(ids) > 0; } } dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml
New file @@ -0,0 +1,7 @@ <?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="org.dromara.demo.mapper.RsGeographyDataMapper"> </mapper>