From 591c61617b854201261428d801ceef5ab268eee2 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 09:01:52 +0800 Subject: [PATCH] =?UTF-8?q?service=20=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rec/admin/biz/mapper/BaseMapper.java | 3 +- .../admin/biz/service/BaseDataService.java | 24 ++++++++ .../rec/admin/biz/service/BaseService.java | 58 +++++++++++++++++++ .../rec/admin/biz/service/DomainService.java | 21 ++++++- .../biz/service/impl/BaseDataServiceImpl.java | 51 ++++++++++++++++ .../biz/service/impl/DomainServiceImpl.java | 17 ++++++ 6 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseDataService.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java index 08cfbe6..0f255dd 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java @@ -1,5 +1,6 @@ package cn.icanci.rec.admin.biz.mapper; +import java.util.Collection; import java.util.List; /** @@ -10,7 +11,7 @@ public interface BaseMapper { R do2vo(T t); - List dos2vos(List ts); + List dos2vos(Collection ts); T vo2do(R r); diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseDataService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseDataService.java new file mode 100644 index 0000000..c02dc1b --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseDataService.java @@ -0,0 +1,24 @@ +package cn.icanci.rec.admin.biz.service; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.common.model.config.BaseDataVO; + +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 08:57 + */ +public interface BaseDataService extends BaseService { + @Override + List queryAll(); + + @Override + void save(BaseDataVO baseDataVO); + + @Override + BaseDataVO queryById(String id); + + @Override + PageList queryPage(BaseDataVO baseDataVO, int pageNum, int pageSize); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java new file mode 100644 index 0000000..f4efd72 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java @@ -0,0 +1,58 @@ +package cn.icanci.rec.admin.biz.service; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.common.model.config.BaseVO; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + +/** + * MongoDB Base Service for CRUD + * + * @author icanci + * @since 1.0 Created in 2022/11/12 08:51 + */ +public interface BaseService { + /** + * 查询所有 T + * + * @return 返回所有T + */ + List queryAll(); + + /** + * 保存或者更新一条信息 + * + * @param t t + */ + void save(T t); + + /** + * 根据id进行查询 + * + * @param id id + * @return 返回查询的结果 + */ + T queryById(String id); + + /** + * 分页查询 + * + * @param t T + * @param pageNum pageNum + * @param pageSize pageSize + * @return 返回分页查询结果 + */ + PageList queryPage(T t, int pageNum, int pageSize); + + /** + * 是否是插入 + * + * @param t t + * @return 返回是否是插入 + */ + default boolean doInsert(T t) { + return StringUtils.isBlank(t.getId()); + } +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java index a4fc4d0..56bb700 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java @@ -1,5 +1,6 @@ package cn.icanci.rec.admin.biz.service; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.common.model.config.DomainVO; import java.util.List; @@ -8,7 +9,7 @@ import java.util.List; * @author icanci * @since 1.0 Created in 2022/10/30 15:13 */ -public interface DomainService { +public interface DomainService extends BaseService { /** * 查询所有Domain @@ -23,4 +24,22 @@ public interface DomainService { * @param domain domain */ void save(DomainVO domain); + + /** + * 根据id进行查询 + * + * @param id id + * @return 返回查询的结果 + */ + DomainVO queryById(String id); + + /** + * 分页查询 + * + * @param domain domain + * @param pageNum pageNum + * @param pageSize pageSize + * @return 返回分页查询结果 + */ + PageList queryPage(DomainVO domain, int pageNum, int pageSize); } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java new file mode 100644 index 0000000..9c5095d --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java @@ -0,0 +1,51 @@ +package cn.icanci.rec.admin.biz.service.impl; + +import cn.icanci.rec.admin.biz.mapper.BaseDataMapper; +import cn.icanci.rec.admin.biz.service.BaseDataService; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.BaseDataDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; +import cn.icanci.rec.common.model.config.BaseDataVO; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 08:58 + */ +@Service +public class BaseDataServiceImpl implements BaseDataService { + @Resource + private BaseDataDAO baseDataDAO; + @Resource + private BaseDataMapper baseDataMapper; + + @Override + public List queryAll() { + return baseDataMapper.dos2vos(baseDataDAO.queryAll()); + } + + @Override + public void save(BaseDataVO baseData) { + if (doInsert(baseData)) { + baseDataDAO.insert(baseDataMapper.vo2do(baseData)); + } else { + baseDataDAO.update(baseDataMapper.vo2do(baseData)); + } + } + + @Override + public BaseDataVO queryById(String id) { + return baseDataMapper.do2vo(baseDataDAO.queryOneById(id)); + } + + @Override + public PageList queryPage(BaseDataVO baseData, int pageNum, int pageSize) { + PageList pageQuery = baseDataDAO.pageQuery(baseDataMapper.vo2do(baseData), pageNum, pageSize); + return new PageList<>(baseDataMapper.dos2vos(pageQuery.getData()), pageQuery.getPaginator()); + } +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java index 36ba0d5..027578d 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java @@ -2,7 +2,9 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.mapper.DomainMapper; import cn.icanci.rec.admin.biz.service.DomainService; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.DomainDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; import cn.icanci.rec.common.model.config.DomainVO; import java.util.List; @@ -31,6 +33,21 @@ public class DomainServiceImpl implements DomainService { @Override public void save(DomainVO domain) { + if (doInsert(domain)) { + domainDAO.insert(domainMapper.vo2do(domain)); + } else { + domainDAO.update(domainMapper.vo2do(domain)); + } + } + @Override + public DomainVO queryById(String id) { + return domainMapper.do2vo(domainDAO.queryOneById(id)); + } + + @Override + public PageList queryPage(DomainVO domain, int pageNum, int pageSize) { + PageList pageQuery = domainDAO.pageQuery(domainMapper.vo2do(domain), pageNum, pageSize); + return new PageList<>(domainMapper.dos2vos(pageQuery.getData()), pageQuery.getPaginator()); } } -- Gitee