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 08cfbe6d222b2ee930e8ff9b386ee96ac41628a1..0f255dd26d9da1b271bf72ef23c1d25d1096fb52 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 0000000000000000000000000000000000000000..c02dc1b0f8083c2c6adf0a66a2d3264c11dd80ab --- /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 0000000000000000000000000000000000000000..f4efd725d13f1734e4fbef9095767b76e86e0e01 --- /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 a4fc4d02916753394788ff6ea83c688aee2526ad..56bb700f4f554379cd6ccf5a6e7cb86ccc2859f9 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 0000000000000000000000000000000000000000..9c5095de4762b73258d45342aa82e7731d68d0e3 --- /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 36ba0d521e9e9734866175342fcda4c8924d786e..027578d428ad7fc27951af0cf3868061234cb8ce 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()); } }