From 8ca04787ff71da03895dd75c1f1162efe939c84a Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 08 三月 2024 10:02:43 +0800 Subject: [PATCH] 数据上图 --- dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java | 47 +++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java | 105 +++++++++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java | 49 ++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java | 15 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java | 111 +++++++++++++ dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml | 7 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java | 51 ++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java | 62 +++++++ 8 files changed, 447 insertions(+), 0 deletions(-) diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java new file mode 100644 index 0000000..ffc69f6 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsGeographyDataController.java @@ -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)); + } +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java new file mode 100644 index 0000000..9d95b65 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsGeographyData.java @@ -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; + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java new file mode 100644 index 0000000..4f25c50 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsGeographyDataBo.java @@ -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; + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java new file mode 100644 index 0000000..7799c71 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsGeographyDataVo.java @@ -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; + + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java new file mode 100644 index 0000000..32e30ae --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java @@ -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> { + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java new file mode 100644 index 0000000..bab1555 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsGeographyDataService.java @@ -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); +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java new file mode 100644 index 0000000..9d33f18 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java @@ -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; + } +} diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml new file mode 100644 index 0000000..b641182 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml @@ -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> -- Gitblit v1.8.0