From 90d4fd8cf1db71cf51cfc2694290a9a4bc53344e Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期六, 24 七月 2021 21:19:05 +0800 Subject: [PATCH] update [重大改动] 重写VO转换 支持深拷贝 将VO类抽象到 ServicePlus 泛型处理 --- ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java | 64 +++++++------------------------ 1 files changed, 15 insertions(+), 49 deletions(-) diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java index 8d80e39..7387a12 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java @@ -2,18 +2,13 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.lock.LockInfo; -import com.baomidou.lock.LockTemplate; -import com.baomidou.lock.annotation.Lock4j; -import com.baomidou.lock.executor.RedissonLockExecutor; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.demo.bo.TestDemoAddBo; import com.ruoyi.demo.bo.TestDemoEditBo; @@ -22,10 +17,8 @@ import com.ruoyi.demo.mapper.TestDemoMapper; import com.ruoyi.demo.service.ITestDemoService; import com.ruoyi.demo.vo.TestDemoVo; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.LocalTime; import java.util.Collection; import java.util.List; import java.util.Map; @@ -37,61 +30,34 @@ * @date 2021-05-30 */ @Service -public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo> implements ITestDemoService { - - - @Autowired - private LockTemplate lockTemplate; - - @Override - public void testLock4jLockTemaplate(String key) { - final LockInfo lockInfo = lockTemplate.lock(key, 30000L, 5000L, RedissonLockExecutor.class); - if (null == lockInfo) { - throw new RuntimeException("涓氬姟澶勭悊涓�,璇风◢鍚庡啀璇�"); - } - // 鑾峰彇閿佹垚鍔燂紝澶勭悊涓氬姟 - try { - try { - Thread.sleep(8000); - } catch (InterruptedException e) { - // - } - System.out.println("鎵ц绠�鍗曟柟娉�1 , 褰撳墠绾跨▼:" + Thread.currentThread().getName()); - } finally { - //閲婃斁閿� - lockTemplate.releaseLock(lockInfo); - } - //缁撴潫 - } - - @Override - @Lock4j(executor = RedissonLockExecutor.class,keys = {"#key"}) - public void testLock4j(String key) { - System.out.println("start:"+key+",time:"+LocalTime.now().toString()); - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("end :"+key+",time:"+LocalTime.now().toString()); - } +public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo, TestDemoVo> implements ITestDemoService { @Override public TestDemoVo queryById(Long id) { - return getVoById(id, TestDemoVo.class); + return getVoById(id); } @DataScope(isUser = true) @Override public TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo) { - PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), TestDemoVo.class); + PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + /** + * 鑷畾涔夊垎椤垫煡璇� + */ + @DataScope(isUser = true) + @Override + public TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo) { + Page<TestDemoVo> result = baseMapper.customPageList(PageUtils.buildPage(), buildQueryWrapper(bo)); return PageUtils.buildDataInfo(result); } @DataScope(isUser = true) @Override public List<TestDemoVo> queryList(TestDemoQueryBo bo) { - return listVo(buildQueryWrapper(bo), TestDemoVo.class); + return listVo(buildQueryWrapper(bo)); } private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoQueryBo bo) { -- Gitblit v1.9.3