ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestDemoAddBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestDemoEditBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestDemoQueryBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestTreeAddBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestTreeEditBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/bo/TestTreeQueryBo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -1,16 +1,17 @@ package com.ruoyi.demo.controller; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.demo.bo.TestDemoAddBo; import com.ruoyi.demo.bo.TestDemoEditBo; import com.ruoyi.demo.bo.TestDemoQueryBo; import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.service.ITestDemoService; import com.ruoyi.demo.vo.TestDemoVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -28,8 +29,9 @@ * æµè¯å表Controller * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Validated @Api(value = "æµè¯å表æ§å¶å¨", tags = {"æµè¯å表管ç"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @@ -44,7 +46,7 @@ @ApiOperation("æ¥è¯¢æµè¯å表å表") @PreAuthorize("@ss.hasPermi('demo:demo:list')") @GetMapping("/list") public TableDataInfo<TestDemoVo> list(@Validated TestDemoQueryBo bo) { public TableDataInfo<TestDemoVo> list(@Validated TestDemoBo bo) { return iTestDemoService.queryPageList(bo); } @@ -54,7 +56,7 @@ @ApiOperation("èªå®ä¹å页æ¥è¯¢") @PreAuthorize("@ss.hasPermi('demo:demo:list')") @GetMapping("/page") public TableDataInfo<TestDemoVo> page(@Validated TestDemoQueryBo bo) { public TableDataInfo<TestDemoVo> page(@Validated TestDemoBo bo) { return iTestDemoService.customPageList(bo); } @@ -65,7 +67,7 @@ @PreAuthorize("@ss.hasPermi('demo:demo:export')") @Log(title = "æµè¯å表", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult<TestDemoVo> export(@Validated TestDemoQueryBo bo) { public AjaxResult<TestDemoVo> export(@Validated TestDemoBo bo) { List<TestDemoVo> list = iTestDemoService.queryList(bo); ExcelUtil<TestDemoVo> util = new ExcelUtil<TestDemoVo>(TestDemoVo.class); return util.exportExcel(list, "æµè¯å表"); @@ -88,9 +90,10 @@ @ApiOperation("æ°å¢æµè¯å表") @PreAuthorize("@ss.hasPermi('demo:demo:add')") @Log(title = "æµè¯å表", businessType = BusinessType.INSERT) @RepeatSubmit @PostMapping() public AjaxResult<Void> add(@Validated @RequestBody TestDemoAddBo bo) { return toAjax(iTestDemoService.insertByAddBo(bo) ? 1 : 0); public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody TestDemoBo bo) { return toAjax(iTestDemoService.insertByBo(bo) ? 1 : 0); } /** @@ -99,9 +102,10 @@ @ApiOperation("ä¿®æ¹æµè¯å表") @PreAuthorize("@ss.hasPermi('demo:demo:edit')") @Log(title = "æµè¯å表", businessType = BusinessType.UPDATE) @RepeatSubmit @PutMapping() public AjaxResult<Void> edit(@Validated @RequestBody TestDemoEditBo bo) { return toAjax(iTestDemoService.updateByEditBo(bo) ? 1 : 0); public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody TestDemoBo bo) { return toAjax(iTestDemoService.updateByBo(bo) ? 1 : 0); } /** ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java
@@ -1,15 +1,16 @@ package com.ruoyi.demo.controller; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.demo.bo.TestTreeAddBo; import com.ruoyi.demo.bo.TestTreeEditBo; import com.ruoyi.demo.bo.TestTreeQueryBo; import com.ruoyi.demo.domain.bo.TestTreeBo; import com.ruoyi.demo.domain.vo.TestTreeVo; import com.ruoyi.demo.service.ITestTreeService; import com.ruoyi.demo.vo.TestTreeVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -27,8 +28,9 @@ * æµè¯æ 表Controller * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Validated @Api(value = "æµè¯æ 表æ§å¶å¨", tags = {"æµè¯æ 表管ç"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @@ -43,8 +45,9 @@ @ApiOperation("æ¥è¯¢æµè¯æ 表å表") @PreAuthorize("@ss.hasPermi('demo:tree:list')") @GetMapping("/list") public AjaxResult<List<TestTreeVo>> list(@Validated TestTreeQueryBo bo) { return AjaxResult.success(iTestTreeService.queryList(bo)); public AjaxResult<List<TestTreeVo>> list(@Validated TestTreeBo bo) { List<TestTreeVo> list = iTestTreeService.queryList(bo); return AjaxResult.success(list); } /** @@ -54,7 +57,7 @@ @PreAuthorize("@ss.hasPermi('demo:tree:export')") @Log(title = "æµè¯æ 表", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult<TestTreeVo> export(@Validated TestTreeQueryBo bo) { public AjaxResult<TestTreeVo> export(@Validated TestTreeBo bo) { List<TestTreeVo> list = iTestTreeService.queryList(bo); ExcelUtil<TestTreeVo> util = new ExcelUtil<TestTreeVo>(TestTreeVo.class); return util.exportExcel(list, "æµè¯æ 表"); @@ -77,9 +80,10 @@ @ApiOperation("æ°å¢æµè¯æ 表") @PreAuthorize("@ss.hasPermi('demo:tree:add')") @Log(title = "æµè¯æ 表", businessType = BusinessType.INSERT) @RepeatSubmit @PostMapping() public AjaxResult<Void> add(@Validated @RequestBody TestTreeAddBo bo) { return toAjax(iTestTreeService.insertByAddBo(bo) ? 1 : 0); public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody TestTreeBo bo) { return toAjax(iTestTreeService.insertByBo(bo) ? 1 : 0); } /** @@ -88,9 +92,10 @@ @ApiOperation("ä¿®æ¹æµè¯æ 表") @PreAuthorize("@ss.hasPermi('demo:tree:edit')") @Log(title = "æµè¯æ 表", businessType = BusinessType.UPDATE) @RepeatSubmit @PutMapping() public AjaxResult<Void> edit(@Validated @RequestBody TestTreeEditBo bo) { return toAjax(iTestTreeService.updateByEditBo(bo) ? 1 : 0); public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody TestTreeBo bo) { return toAjax(iTestTreeService.updateByBo(bo) ? 1 : 0); } /** ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java
@@ -14,7 +14,7 @@ * æµè¯å表对象 test_demo * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Data @NoArgsConstructor @@ -32,43 +32,66 @@ @JsonSerialize(using = ToStringSerializer.class) private Long id; /** é¨é¨id */ /** * é¨é¨id */ private Long deptId; /** ç¨æ·id */ /** * ç¨æ·id */ private Long userId; /** æåºå· */ @OrderBy(isDesc = false, sort = 1) /** * æåºå· */ @OrderBy(isDesc = false, sort = 1) private Long orderNum; /** keyé® */ /** * keyé® */ private String testKey; /** å¼ */ /** * å¼ */ private String value; /** çæ¬ */ /** * çæ¬ */ @Version private Long version; /** å建æ¶é´ */ /** * å建æ¶é´ */ @TableField(fill = FieldFill.INSERT) private Date createTime; /** å建人 */ /** * å建人 */ @TableField(fill = FieldFill.INSERT) private String createBy; /** æ´æ°æ¶é´ */ /** * æ´æ°æ¶é´ */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** æ´æ°äºº */ /** * æ´æ°äºº */ @TableField(fill = FieldFill.INSERT_UPDATE) private String updateBy; /** å 餿 å¿ */ /** * å 餿 å¿ */ @TableLogic private Long delFlag; } ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java
@@ -1,8 +1,6 @@ package com.ruoyi.demo.domain; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -14,7 +12,7 @@ * æµè¯æ 表对象 test_tree * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Data @NoArgsConstructor @@ -25,44 +23,65 @@ private static final long serialVersionUID=1L; /** ä¸»é® */ /** * ä¸»é® */ @TableId(value = "id") @JsonSerialize(using = ToStringSerializer.class) private Long id; /** ç¶id */ /** * ç¶id */ private Long parentId; /** é¨é¨id */ /** * é¨é¨id */ private Long deptId; /** ç¨æ·id */ /** * ç¨æ·id */ private Long userId; /** æ èç¹å */ /** * æ èç¹å */ private String treeName; /** çæ¬ */ /** * çæ¬ */ @Version private Long version; /** å建æ¶é´ */ /** * å建æ¶é´ */ @TableField(fill = FieldFill.INSERT) private Date createTime; /** å建人 */ /** * å建人 */ @TableField(fill = FieldFill.INSERT) private String createBy; /** æ´æ°æ¶é´ */ /** * æ´æ°æ¶é´ */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** æ´æ°äºº */ /** * æ´æ°äºº */ @TableField(fill = FieldFill.INSERT_UPDATE) private String updateBy; /** å 餿 å¿ */ /** * å 餿 å¿ */ @TableLogic private Long delFlag; ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
@@ -5,7 +5,7 @@ import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.vo.TestDemoVo; import com.ruoyi.demo.domain.vo.TestDemoVo; import org.apache.ibatis.annotations.CacheNamespace; import org.apache.ibatis.annotations.Param; @@ -13,7 +13,7 @@ * æµè¯å表Mapperæ¥å£ * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ // å¦ä½¿éåæ¢æ°æ®æº 请å¿ä½¿ç¨ç¼å ä¼é ææ°æ®ä¸ä¸è´ç°è±¡ @CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestTreeMapper.java
@@ -7,9 +7,8 @@ * æµè¯æ 表Mapperæ¥å£ * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ //@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) public interface TestTreeMapper extends BaseMapperPlus<TestTree> { } ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
@@ -1,12 +1,10 @@ package com.ruoyi.demo.service; import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.demo.bo.TestDemoAddBo; import com.ruoyi.demo.bo.TestDemoEditBo; import com.ruoyi.demo.bo.TestDemoQueryBo; import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.vo.TestDemoVo; import java.util.Collection; import java.util.List; @@ -15,7 +13,7 @@ * æµè¯å表Serviceæ¥å£ * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ public interface ITestDemoService extends IServicePlus<TestDemo, TestDemoVo> { @@ -28,31 +26,31 @@ /** * æ¥è¯¢å表 */ TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo); TableDataInfo<TestDemoVo> queryPageList(TestDemoBo bo); /** * èªå®ä¹å页æ¥è¯¢ */ TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo); TableDataInfo<TestDemoVo> customPageList(TestDemoBo bo); /** * æ¥è¯¢å表 */ List<TestDemoVo> queryList(TestDemoQueryBo bo); List<TestDemoVo> queryList(TestDemoBo bo); /** * æ ¹æ®æ°å¢ä¸å¡å¯¹è±¡æå ¥æµè¯å表 * @param bo æµè¯å表æ°å¢ä¸å¡å¯¹è±¡ * @return */ Boolean insertByAddBo(TestDemoAddBo bo); Boolean insertByBo(TestDemoBo bo); /** * æ ¹æ®ç¼è¾ä¸å¡å¯¹è±¡ä¿®æ¹æµè¯å表 * @param bo æµè¯å表ç¼è¾ä¸å¡å¯¹è±¡ * @return */ Boolean updateByEditBo(TestDemoEditBo bo); Boolean updateByBo(TestDemoBo bo); /** * æ ¡éªå¹¶å 餿°æ® ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java
@@ -1,11 +1,9 @@ package com.ruoyi.demo.service; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.demo.bo.TestTreeAddBo; import com.ruoyi.demo.bo.TestTreeEditBo; import com.ruoyi.demo.bo.TestTreeQueryBo; import com.ruoyi.demo.domain.TestTree; import com.ruoyi.demo.vo.TestTreeVo; import com.ruoyi.demo.domain.vo.TestTreeVo; import com.ruoyi.demo.domain.bo.TestTreeBo; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import java.util.Collection; import java.util.List; @@ -14,7 +12,7 @@ * æµè¯æ 表Serviceæ¥å£ * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ public interface ITestTreeService extends IServicePlus<TestTree, TestTreeVo> { /** @@ -26,21 +24,21 @@ /** * æ¥è¯¢å表 */ List<TestTreeVo> queryList(TestTreeQueryBo bo); List<TestTreeVo> queryList(TestTreeBo bo); /** * æ ¹æ®æ°å¢ä¸å¡å¯¹è±¡æå ¥æµè¯æ 表 * @param bo æµè¯æ 表æ°å¢ä¸å¡å¯¹è±¡ * @return */ Boolean insertByAddBo(TestTreeAddBo bo); Boolean insertByBo(TestTreeBo bo); /** * æ ¹æ®ç¼è¾ä¸å¡å¯¹è±¡ä¿®æ¹æµè¯æ 表 * @param bo æµè¯æ 表ç¼è¾ä¸å¡å¯¹è±¡ * @return */ Boolean updateByEditBo(TestTreeEditBo bo); Boolean updateByBo(TestTreeBo bo); /** * æ ¡éªå¹¶å 餿°æ® ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
@@ -10,13 +10,11 @@ import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.demo.bo.TestDemoAddBo; import com.ruoyi.demo.bo.TestDemoEditBo; import com.ruoyi.demo.bo.TestDemoQueryBo; import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.mapper.TestDemoMapper; import com.ruoyi.demo.service.ITestDemoService; import com.ruoyi.demo.vo.TestDemoVo; import org.springframework.stereotype.Service; import java.util.Collection; @@ -27,7 +25,7 @@ * æµè¯å表Serviceä¸å¡å±å¤ç * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Service public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo, TestDemoVo> implements ITestDemoService { @@ -39,7 +37,7 @@ @DataScope(isUser = true) @Override public TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo) { public TableDataInfo<TestDemoVo> queryPageList(TestDemoBo bo) { PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); return PageUtils.buildDataInfo(result); } @@ -49,18 +47,18 @@ */ @DataScope(isUser = true) @Override public TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo) { public TableDataInfo<TestDemoVo> customPageList(TestDemoBo bo) { Page<TestDemoVo> result = baseMapper.customPageList(PageUtils.buildPage(), buildQueryWrapper(bo)); return PageUtils.buildDataInfo(result); } @DataScope(isUser = true) @Override public List<TestDemoVo> queryList(TestDemoQueryBo bo) { public List<TestDemoVo> queryList(TestDemoBo bo) { return listVo(buildQueryWrapper(bo)); } private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoQueryBo bo) { private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoBo bo) { Map<String, Object> params = bo.getParams(); Object dataScope = params.get("dataScope"); LambdaQueryWrapper<TestDemo> lqw = Wrappers.lambdaQuery(); @@ -74,14 +72,14 @@ } @Override public Boolean insertByAddBo(TestDemoAddBo bo) { public Boolean insertByBo(TestDemoBo bo) { TestDemo add = BeanUtil.toBean(bo, TestDemo.class); validEntityBeforeSave(add); return save(add); } @Override public Boolean updateByEditBo(TestDemoEditBo bo) { public Boolean updateByBo(TestDemoBo bo) { TestDemo update = BeanUtil.toBean(bo, TestDemo.class); validEntityBeforeSave(update); return updateById(update); ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
@@ -6,13 +6,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.demo.bo.TestTreeAddBo; import com.ruoyi.demo.bo.TestTreeEditBo; import com.ruoyi.demo.bo.TestTreeQueryBo; import com.ruoyi.demo.domain.TestTree; import com.ruoyi.demo.domain.bo.TestTreeBo; import com.ruoyi.demo.domain.vo.TestTreeVo; import com.ruoyi.demo.mapper.TestTreeMapper; import com.ruoyi.demo.service.ITestTreeService; import com.ruoyi.demo.vo.TestTreeVo; import org.springframework.stereotype.Service; import java.util.Collection; @@ -23,7 +21,7 @@ * æµè¯æ 表Serviceä¸å¡å±å¤ç * * @author Lion Li * @date 2021-05-30 * @date 2021-07-26 */ @Service public class TestTreeServiceImpl extends ServicePlusImpl<TestTreeMapper, TestTree, TestTreeVo> implements ITestTreeService { @@ -36,11 +34,11 @@ // @DataSource(DataSourceType.SLAVE) // 忢ä»åºæ¥è¯¢ @DataScope(isUser = true) @Override public List<TestTreeVo> queryList(TestTreeQueryBo bo) { public List<TestTreeVo> queryList(TestTreeBo bo) { return listVo(buildQueryWrapper(bo)); } private LambdaQueryWrapper<TestTree> buildQueryWrapper(TestTreeQueryBo bo) { private LambdaQueryWrapper<TestTree> buildQueryWrapper(TestTreeBo bo) { Map<String, Object> params = bo.getParams(); Object dataScope = params.get("dataScope"); LambdaQueryWrapper<TestTree> lqw = Wrappers.lambdaQuery(); @@ -53,14 +51,14 @@ } @Override public Boolean insertByAddBo(TestTreeAddBo bo) { public Boolean insertByBo(TestTreeBo bo) { TestTree add = BeanUtil.toBean(bo, TestTree.class); validEntityBeforeSave(add); return save(add); } @Override public Boolean updateByEditBo(TestTreeEditBo bo) { public Boolean updateByBo(TestTreeBo bo) { TestTree update = BeanUtil.toBean(bo, TestTree.class); validEntityBeforeSave(update); return updateById(update); ruoyi-demo/src/main/java/com/ruoyi/demo/vo/TestDemoVo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/java/com/ruoyi/demo/vo/TestTreeVo.java
ÎļþÒÑɾ³ý ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml
@@ -18,7 +18,7 @@ <result property="updateBy" column="update_by"/> <result property="delFlag" column="del_flag"/> </resultMap> <select id="customPageList" resultType="com.ruoyi.demo.vo.TestDemoVo"> <select id="customPageList" resultType="com.ruoyi.demo.domain.vo.TestDemoVo"> SELECT * FROM test_demo ${ew.customSqlSegment} </select>