diff --git a/README.md b/README.md index ae8d6c9..fe1ff06 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,60 @@ +## 项目文档 + +数据库设计文档:https://kdocs.cn/l/caIBoD7HcEBL + +API接口设计文档:https://apifox.com/apidoc/shared-ff0060f8-8bb5-40c5-87d2-f8a29ee5ecd5 + +API接口加入文档:https://app.apifox.com/invite/project?token=Xp3BUXBEYQ34hiKcFX-ub + ## 项目说明 -- maku-boot 是采用SpringBoot3.3、SpringSecurity6.3、Mybatis-Plus、Flowable7.0、Vue3、Element-plus等技术开发的低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 -- 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 -- 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需求,且不会导致系统臃肿,若想使用某个组件,按需引入即可,反之亦然。 -- 支持Online在线表单开发,支持单表、树表、一对一、一对多表单,可快速开发业务,无需部署及重启服务等优点。 -- 支持多种数据库,包括MySQL、PostgreSQL、达梦等,可灵活切换。 -- 支持Flowable7工作流,包括流程设计、自定义表单、在线Online表单、会签、或签等。 -- 支持多种登录方式,包括账号密码、短信验证码、企业微信、钉钉、飞书、微信等,可灵活选择。 -- 支持多租户模式,可实现不同业务系统之间的隔离,能同时支持字段隔离、数据源隔离方式,满足对多租户的全部需求。 +### 书籍管理系统 +角色 用户 +书本管理员(账号与密码你们自己创建 管理员没有指定的创建入口 但客户要有注册功能) + +书本录入管理员 +功能: +书本的上架(书本的基本信息 封面的上传 书本币的定价 库存) +用户的管理 (基本的增删改查 可以禁止用户登录) + + +书本商城网页 +商城首页 +功能点: +1、可以根据书名搜索图书 +2、可以查看图书的详情界面 +3、可以查看评论【评论不需要回复功能】) +4、可以收藏、购买、加入购物车的图书 + +用户个人中心 +功能点: + +1、基本信息 + +2、头像 + +3、书本币余额【用来购买的图书】 + +4、我购买的图书列表 + +5、我收藏的图书列表 + +6、我的购物车 + +7、充值书本币(不需要接入真实的支付 模拟充值就ok) + +注:没有登录,不可以收藏、加入购物车、评论、以及购买。 + + +要求: +1、使用redis作为缓存, + +2、不强制使用security,但是前端必须要有token,后端可以统一用拦截器拦截做校验是否登录 + + -- 开发文档:https://maku.net/docs/maku-boot -- 演示环境:https://demo.maku.net/maku-boot -- 企业版:https://maku.net/price - -## 微信交流群 - -为了更好的交流,我们新提供了微信交流群,需扫描下面的二维码,关注公众号,回复【加群】,根据提示信息,作者会拉你进群的,感谢配合! - -![输入图片说明](images/qrcode.png) -## 架构图 -![输入图片说明](images/0.png) -## 效果图 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TBookCollectionQuery.java b/maku-server/src/main/java/net/maku/maku/query/TBookCollectionQuery.java index 5ff4b55..34f21a6 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TBookCollectionQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TBookCollectionQuery.java @@ -18,4 +18,8 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TBookCollectionQuery extends Query { + @Schema(description = "用户id") + private Integer userId; + @Schema(description = "书本id") + private Integer bookId; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TBookCommentQuery.java b/maku-server/src/main/java/net/maku/maku/query/TBookCommentQuery.java index de6c1da..68df672 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TBookCommentQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TBookCommentQuery.java @@ -18,4 +18,10 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TBookCommentQuery extends Query { + @Schema(description = "用户id") + private Integer userId; + @Schema(description = "书籍id") + private Integer bookId; + @Schema(description = "用户名") + private String userName; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TBookQuery.java b/maku-server/src/main/java/net/maku/maku/query/TBookQuery.java index ed1c582..aae5546 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TBookQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TBookQuery.java @@ -19,4 +19,6 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TBookQuery extends Query { + private String author; + private String bookName; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TPurchaseDetailsQuery.java b/maku-server/src/main/java/net/maku/maku/query/TPurchaseDetailsQuery.java index e91b0f7..cdc7434 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TPurchaseDetailsQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TPurchaseDetailsQuery.java @@ -18,4 +18,8 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TPurchaseDetailsQuery extends Query { + @Schema(description = "订单编号") + private Integer purchaseId; + @Schema(description = "书本编号") + private Integer bookId; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TPurchaseQuery.java b/maku-server/src/main/java/net/maku/maku/query/TPurchaseQuery.java index c8ec28a..9d4bc36 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TPurchaseQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TPurchaseQuery.java @@ -19,4 +19,6 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TPurchaseQuery extends Query { + private Integer id; + private BigDecimal totalPrice; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TShoppingTrolleyQuery.java b/maku-server/src/main/java/net/maku/maku/query/TShoppingTrolleyQuery.java index 91c9cce..0deb6c8 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TShoppingTrolleyQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TShoppingTrolleyQuery.java @@ -18,4 +18,6 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TShoppingTrolleyQuery extends Query { + private Integer userId; + private Integer bookId; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/query/TUserQuery.java b/maku-server/src/main/java/net/maku/maku/query/TUserQuery.java index 9fada3c..35a714d 100644 --- a/maku-server/src/main/java/net/maku/maku/query/TUserQuery.java +++ b/maku-server/src/main/java/net/maku/maku/query/TUserQuery.java @@ -19,4 +19,6 @@ import java.util.Date; @EqualsAndHashCode(callSuper = false) @Schema(description = "查询") public class TUserQuery extends Query { + private String username; + private Integer status; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java index 00d9e60..7679fff 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,7 +37,8 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl getWrapper(TBookCollectionQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - + wrapper.eq(ObjectUtils.isNotNull(query.getUserId()),TBookCollectionEntity::getUserId,query.getUserId()); + wrapper.eq(ObjectUtils.isNotNull(query.getBookId()),TBookCollectionEntity::getBookId,query.getBookId()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCommentServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCommentServiceImpl.java index d8b500a..72a7801 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCommentServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCommentServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,6 +37,8 @@ public class TBookCommentServiceImpl extends BaseServiceImpl getWrapper(TBookCommentQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(ObjectUtil.isNotNull(query.getUserId()), TBookCommentEntity::getUserId, query.getUserId()); + wrapper.eq(ObjectUtil.isNotNull(query.getBookId()), TBookCommentEntity::getBookId, query.getBookId()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TBookServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TBookServiceImpl.java index 4c9b703..641a091 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TBookServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TBookServiceImpl.java @@ -36,7 +36,8 @@ public class TBookServiceImpl extends BaseServiceImpl imp private LambdaQueryWrapper getWrapper(TBookQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - + wrapper.eq(TBookEntity::getBookName, query.getBookName()); + wrapper.eq(TBookEntity::getAuthor, query.getAuthor()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java index 8ca160b..8313013 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,7 +37,8 @@ public class TPurchaseDetailsServiceImpl extends BaseServiceImpl getWrapper(TPurchaseDetailsQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - + wrapper.eq(ObjectUtil.isNotNull(query.getPurchaseId()),TPurchaseDetailsEntity::getPurchaseId,query.getPurchaseId()); + wrapper.eq(ObjectUtil.isNotNull(query.getBookId()),TPurchaseDetailsEntity::getBookId,query.getBookId()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java index f06e6fd..f91b90e 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,7 +37,8 @@ public class TPurchaseServiceImpl extends BaseServiceImpl getWrapper(TPurchaseQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - + wrapper.eq(ObjectUtils.isNotNull(query.getId()),TPurchaseEntity::getId,query.getId()); + wrapper.eq(ObjectUtils.isNotNull(query.getTotalPrice()),TPurchaseEntity::getTotalPrice, query.getTotalPrice()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java index b399c7b..d77d729 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,7 +37,8 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl getWrapper(TShoppingTrolleyQuery query){ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - + wrapper.eq(ObjectUtils.isNotNull(query.getUserId()), TShoppingTrolleyEntity::getUserId,query.getUserId()); + wrapper.eq(ObjectUtils.isNotNull(query.getBookId()),TShoppingTrolleyEntity::getBookId, query.getBookId()); return wrapper; } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java index 38412d7..36f00e8 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java @@ -1,6 +1,5 @@ package net.maku.maku.service.impl; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -17,7 +16,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.UUID; /** * @@ -29,7 +27,6 @@ import java.util.UUID; @AllArgsConstructor public class TUserServiceImpl extends BaseServiceImpl implements TUserService { - @Override public PageResult page(TUserQuery query) { IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); @@ -63,28 +60,4 @@ public class TUserServiceImpl extends BaseServiceImpl imp removeByIds(idList); } - public TUserEntity login(TUserEntity entity) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TUserEntity::getUsername, entity.getUsername()); - wrapper.eq(TUserEntity::getPassword, entity.getPassword()); - TUserEntity user = getOne(wrapper); - if (ObjectUtils.isNotNull(user)){ - UUID uuid = UUID.randomUUID(); - user.setAvatar(uuid.toString()); - updateById(user); - return user; - }else{ - return null; - } - } - - @Override - public TUserVO updateUser(TUserVO vo) { - TUserEntity entity =new TUserEntity(); - entity.setUsername(vo.getUsername()); - entity.setPassword(vo.getPassword()); - updateById(entity); - return vo; - } - } \ No newline at end of file