From c369ea570f3d6fd628be962c0b40a17a711a5617 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 16 五月 2024 18:37:27 +0800
Subject: [PATCH] 提交业务基础代码

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleMapper.java                                           |   16 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                                          |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberMapper.java                                                 |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsGroupPurchaseController.java                               |   20 
 ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomGoodsMapper.xml                                      |    5 
 ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml                                           |    5 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml                                            |    5 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionBondMapper.xml                                               |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java                               |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java                                         |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java                          |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionGoodsController.java                                 |   20 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsCategoryMapper.xml                                                  |    5 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionBondMapper.java                                         |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionBondService.java                                      |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/handler/MyMetaObjectHandler.java                                   |   46 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java                                     |   16 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleController.java                                      |   20 
 ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/SensitiveWordsMapper.xml                                             |    5 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml                                                   |    5 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMemberMapper.xml                                           |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java                                      |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java                                 |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMallMapper.java                                                |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuctionBond.java                                          |   71 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponMemberController.java                             |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java                            |   21 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/CouponMember.java                                      |   99 +
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java                              |    5 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java                                         |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/Coupon.java                                            |   98 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java                                         |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionVideoService.java                                |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/handler/MyMetaObjectHandler.java                                           |   46 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsCategory.java                                             |   62 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsBrandController.java                                       |   21 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionGoods.java                                          |   96 
 ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml                                                                    |    2 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionVideoController.java                           |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/handler/MyMetaObjectHandler.java                                       |   46 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java                            |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java                                           |   15 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/PageDTO.java                                         |   70 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMapper.xml                                                 |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java                                             |   16 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFlavorTypeMapper.xml                                                |    5 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml                                                                |    2 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleController.java                                   |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitleValue.java                                       |   75 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberCollectionService.java                                    |   16 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java                                   |   58 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Convert.java                                         |    8 
 ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml                                                                   |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IInvoicingApplicationService.java                                  |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java                                           |   16 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsBrandMapper.xml                                                     |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeckillController.java                                     |   20 
 ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml                                                                  |    2 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java                                          |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsBrandMapper.java                                               |   16 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java                                         |   16 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java                          |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberAddressController.java                                  |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsFlavorTypeMapper.java                                          |   16 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberCollectionController.java                               |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java                                                 |   16 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java                                |   16 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/BeanUtils.java                                       |   58 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeriesMapper.java                                              |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleValueService.java                                   |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionVideoMapper.java                                   |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsFlavorType.java                                           |   63 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberAddress.java                                           |   74 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberLevelMapper.xml                                                  |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java                                            |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionBannerMapper.java                                  |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSkuMapper.java                                                 |   16 
 ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleCommentsMapper.xml                                            |    5 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/InvoicingApplicationMapper.xml                                           |    5 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java                                  |   16 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleMapper.java                                              |   16 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml                                             |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java                                       |   16 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/SensitiveWords.java                                        |   61 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleValueServiceImpl.java                           |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionVideoServiceImpl.java                        |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java                     |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMapper.java                                           |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSku.java                                                  |  117 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java                                              |   77 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberAddressService.java                                       |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java                                       |   16 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionVideoMapper.xml                                         |    5 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderMallServiceImpl.java                                     |   20 
 ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports |    3 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleCommentsServiceImpl.java                           |   21 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Checker.java                                         |   18 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionMapper.java                                             |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java                                    |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java                                            |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeries.java                                               |   62 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java                                  |   16 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberCollectionMapper.java                                       |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionServiceImpl.java                                  |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionBanner.java                                   |   70 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsCategoryController.java                                    |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionService.java                                          |   16 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/NumberUtils.java                                     |  147 +
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java                                   |   21 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionVideo.java                                    |   65 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/CollUtils.java                                       |  142 +
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCollectionMapper.xml                                             |    5 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/SensitiveWordsController.java                               |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java                            |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionBidRecordController.java                             |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberLevelController.java                                    |   21 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java                                 |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java                                 |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java                                            |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/InvoicingApplication.java                                      |  102 +
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponService.java                                        |   16 
 ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomMapper.xml                                           |    5 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ArrayUtils.java                                      |   53 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleValueController.java                              |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/ISensitiveWordsService.java                                    |   16 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java                                 |   90 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeriesMapper.xml                                                    |    5 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionBannerController.java                          |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleCommentsMapper.java                                      |   16 
 ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml                                                                    |    2 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroom.java                                      |   92 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMallMapper.xml                                                      |    5 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/IDhelper.java                                             |   24 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionBannerService.java                               |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponServiceImpl.java                                |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberAddressServiceImpl.java                               |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleCommentsService.java                                   |   16 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/SensitiveWordsMapper.java                                       |   16 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionWishListMapper.xml                                      |    5 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionController.java                                     |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java                     |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java                        |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionWishListMapper.java                                |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/InvoicingApplicationMapper.java                                     |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderReturnRequestMapper.java                                       |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsBrand.java                                                |   63 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSkuMapper.xml                                                       |    5 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java                                     |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitle.java                                            |   63 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/Order.java                                                     |  108 +
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java                                      |   16 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java                             |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/InvoicingApplicationController.java                             |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionWishListController.java                        |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java                                  |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java                                         |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderReturnRequestController.java                               |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java                                                    |   16 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java                                      |   20 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberAddressMapper.xml                                                |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleValueMapper.java                                      |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsFlavorTypeController.java                                  |   20 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java                                      |   80 
 ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionBannerMapper.xml                                        |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsGroupPurchase.java                                        |  112 +
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java                       |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderMallController.java                                        |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/handler/MyMetaObjectHandler.java                                       |   46 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberCollection.java                                        |   64 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleMapper.xml                                                 |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Member.java                                                  |   98 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeckill.java                                              |   98 +
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponController.java                                   |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/handler/MyMetaObjectHandler.java                                         |   46 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderReturnRequestService.java                                    |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java                                     |   16 
 ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionGoodsMapper.xml                                               |    5 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionMapper.xml                                                   |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java                                |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeriesController.java                                      |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/InvoicingApplicationServiceImpl.java                          |   20 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionWishList.java                                 |   74 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberCollectionServiceImpl.java                            |   20 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleCommentsController.java                              |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/handler/MyMetaObjectHandler.java                                           |   46 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderReturnRequest.java                                        |   80 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/Article.java                                               |   89 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java                              |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java                                             |   66 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java                              |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java                                              |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionWishListService.java                             |   16 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java                          |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java                                              |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java                                                 |   73 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ObjectUtils.java                                     |   84 
 ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml                                                                  |    2 
 ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleMapper.xml                                                    |    5 
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java                                  |   16 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberAddressMapper.java                                          |   16 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomController.java                             |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderMallService.java                                             |   16 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderReturnRequestMapper.xml                                             |    5 
 ruoyi-common/pom.xml                                                                                                               |   10 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsCategoryMapper.java                                            |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java                                        |   16 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSkuController.java                                         |   20 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java                                    |   16 
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/ArticleComments.java                                       |   71 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java                                   |   20 
 210 files changed, 5,859 insertions(+), 8 deletions(-)

diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 45fc71b..feff789 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -25,7 +25,9 @@
     <description>
         ruoyi-common通用模块
     </description>
-
+    <properties>
+        <hutool.version>5.7.17</hutool.version>
+    </properties>
     <dependencies>
         <!--lombok-->
         <dependency>
@@ -38,5 +40,11 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
             <version>3.5.2</version>
         </dependency>
+        <!--hutool工具包-->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>${hutool.version}</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..3c73319
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java
@@ -0,0 +1,58 @@
+package com.ruoyi.common.core.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * Mybatis Plus 配置
+ *
+ * @author ruoyi
+ */
+@EnableTransactionManagement(proxyTargetClass = true)
+@Configuration
+public class MybatisPlusConfig {
+
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        // 分页插件
+        interceptor.addInnerInterceptor(paginationInnerInterceptor());
+        // 乐观锁插件
+        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+        // 阻断插件
+        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+        return interceptor;
+    }
+
+    /**
+     * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
+     */
+    public PaginationInnerInterceptor paginationInnerInterceptor() {
+        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+        // 设置数据库类型为mysql
+        paginationInnerInterceptor.setDbType(DbType.MYSQL);
+        // 设置最大单页限制数量,默认 500 条,-1 不受限制
+        paginationInnerInterceptor.setMaxLimit(-1L);
+        return paginationInnerInterceptor;
+    }
+
+    /**
+     * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
+     */
+    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
+        return new OptimisticLockerInnerInterceptor();
+    }
+
+    /**
+     * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
+     */
+    public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
+        return new BlockAttackInnerInterceptor();
+    }
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
index 1057250..5e555a8 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
@@ -35,4 +35,9 @@
      * 车辆合同的serviceid
      */
     public static final String CONTRACT_SERVICE = "ruoyi-contract";
+
+    /**
+     * 会员模块的serviceid
+     */
+    public static final String MEMBER_SERVICE = "ruoyi-member";
 }
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/IDhelper.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/IDhelper.java
new file mode 100644
index 0000000..9d4e23e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/IDhelper.java
@@ -0,0 +1,24 @@
+package com.ruoyi.common.core.utils;
+
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
+
+/**
+ * 描述: ID生成
+ * 版权: Copyright (c) 2020
+ * 公司: XXX
+ * 作者: yanghj
+ * 版本: 4.0
+ * 创建日期: 2020/9/16 9:59
+ */
+public class IDhelper
+{
+    //用mybatis-plus生成Long ID
+    public  static Long getNextId()
+    {
+        IdentifierGenerator identifierGenerator=new DefaultIdentifierGenerator();
+        Number id=  identifierGenerator.nextId(new Object());
+        Long nextid = Long.parseLong(id+"");
+        return nextid;
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ArrayUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ArrayUtils.java
new file mode 100644
index 0000000..97c10fd
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ArrayUtils.java
@@ -0,0 +1,53 @@
+package com.ruoyi.common.core.utils.page;
+
+import cn.hutool.core.util.ArrayUtil;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 数组工具类
+ * @ClassName ArrayUtils
+ * @author wusongsong
+ * @since 2022/7/10 12:02
+ * @version 1.0.0
+ **/
+public class ArrayUtils extends ArrayUtil {
+
+
+
+    /**
+     * 将源数组转换成指定类型的列表
+     *
+     * @param originList  原始列表
+     * @param targetClazz 转换后列表元素的类型
+     * @param <R>         原始列表元素的类型
+     * @param <T>         目标列表元素的类型
+     * @return 目标类型的集合
+     */
+    public static <R, T> List<T> convert(R[] originList, Class<T> targetClazz) {
+       return convert(originList, targetClazz, null);
+
+    }
+
+    /**
+     * 将源数组转换成指定类型的列表
+     *
+     * @param originList  原始列表
+     * @param targetClazz 转换后列表元素的类型
+     * @param convert     转换特殊字段接口
+     * @param <R>         原始列表元素的类型
+     * @param <T>         目标列表元素的类型
+     * @return 目标类型的集合
+     */
+    public static <R, T> List<T> convert(R[] originList, Class<T> targetClazz, Convert<R, T> convert) {
+        if (isEmpty(originList)) {
+            return null;
+        }
+
+        return Arrays.stream(originList)
+                .map(origin -> BeanUtils.copyBean(origin, targetClazz, convert))
+                .collect(Collectors.toList());
+
+    }
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/BeanUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/BeanUtils.java
new file mode 100644
index 0000000..56a98ab
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/BeanUtils.java
@@ -0,0 +1,58 @@
+package com.ruoyi.common.core.utils.page;
+
+import cn.hutool.core.bean.BeanUtil;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 继承自 hutool 的BeanUtil,增加了bean转换时自定义转换器的功能
+ */
+public class BeanUtils extends BeanUtil {
+
+    /**
+     * 将原对象转换成目标对象,对于字段不匹配的字段可以使用转换器处理
+     *
+     * @param source  原对象
+     * @param clazz   目标对象的class
+     * @param convert 转换器
+     * @param <R>     原对象类型
+     * @param <T>     目标对象类型
+     * @return 目标对象
+     */
+    public static <R, T> T copyBean(R source, Class<T> clazz, Convert<R, T> convert) {
+        T target = copyBean(source, clazz);
+        if (convert != null) {
+            convert.convert(source, target);
+        }
+        return target;
+    }
+    /**
+     * 将原对象转换成目标对象,对于字段不匹配的字段可以使用转换器处理
+     *
+     * @param source  原对象
+     * @param clazz   目标对象的class
+     * @param <R>     原对象类型
+     * @param <T>     目标对象类型
+     * @return 目标对象
+     */
+    public static <R, T> T copyBean(R source, Class<T> clazz){
+        if (source == null) {
+            return null;
+        }
+        return toBean(source, clazz);
+    }
+
+    public static <R, T> List<T> copyList(List<R> list, Class<T> clazz) {
+        if (list == null || list.size() == 0) {
+            return CollUtils.emptyList();
+        }
+        return copyToList(list, clazz);
+    }
+
+    public static <R, T> List<T> copyList(List<R> list, Class<T> clazz, Convert<R, T> convert) {
+        if (list == null || list.size() == 0) {
+            return CollUtils.emptyList();
+        }
+        return list.stream().map(r -> copyBean(r, clazz, convert)).collect(Collectors.toList());
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Checker.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Checker.java
new file mode 100644
index 0000000..5bef309
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Checker.java
@@ -0,0 +1,18 @@
+package com.ruoyi.common.core.utils.page;
+
+/**
+ * 实现后在接口访问时如果接口实现了这个接口
+ * 会被自动自行接口check进行校验
+ **/
+public interface Checker<T> {
+
+    /**
+     * 用于实现validation不能校验的数据逻辑
+     */
+    default void check(){
+
+    }
+
+    default void check(T data){
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/CollUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/CollUtils.java
new file mode 100644
index 0000000..b273d9a
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/CollUtils.java
@@ -0,0 +1,142 @@
+package com.ruoyi.common.core.utils.page;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.collection.IterUtil;
+
+
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * 继承自 hutool 的集合工具类
+ */
+public class CollUtils extends CollectionUtil {
+
+    public static <T> List<T> emptyList() {
+        return Collections.emptyList();
+    }
+
+    public static <T> Set<T> emptySet() {
+        return Collections.emptySet();
+    }
+
+    public static <K,V> Map<K, V> emptyMap() {
+        return Collections.emptyMap();
+    }
+
+    public static <T> Set<T> singletonSet(T t) {
+        return Collections.singleton(t);
+    }
+
+    public static <T> List<T> singletonList(T t) {
+        return Collections.singletonList(t);
+    }
+
+    public static List<Integer> convertToInteger(List<String> originList){
+        return CollUtils.isNotEmpty(originList) ? originList.stream().map(NumberUtils::parseInt).collect(Collectors.toList()) : null;
+    }
+
+    public static List<Long> convertToLong(List<String> originLIst){
+        return CollUtils.isNotEmpty(originLIst) ? originLIst.stream().map(NumberUtils::parseLong).collect(Collectors.toList()) : null;
+    }
+
+    /**
+     * 以 conjunction 为分隔符将集合转换为字符串 如果集合元素为数组、Iterable或Iterator,则递归组合其为字符串
+     * @param collection 集合
+     * @param conjunction 分隔符
+     * @param <T> 集合元素类型
+     * @return 连接后的字符串
+     * See Also: IterUtil.join(Iterator, CharSequence)
+     */
+    public static <T> String join(Collection<T> collection, CharSequence conjunction) {
+        if (null == collection || collection.isEmpty()) {
+            return null;
+        }
+        return IterUtil.join(collection.iterator(), conjunction);
+    }
+
+    public static <T> String joinIgnoreNull(Collection<T> collection, CharSequence conjunction) {
+        if (null == collection || collection.isEmpty()) {
+            return null;
+        }
+        StringBuilder sb = new StringBuilder();
+        for (T t : collection) {
+            if(t == null) continue;
+            sb.append(t).append(",");
+        }
+        if(sb.length() <= 0){
+            return null;
+        }
+        return sb.deleteCharAt(sb.length() - 1).toString();
+    }
+
+    /**
+     * 集合校验逻辑
+     *
+     * @param data 要校验的集合
+     * @param checker 校验器
+     * @param <T> 集合元素类型
+     */
+    public static  <T> void  check(List<T> data, Checker<T> checker){
+        if(data == null){
+            return;
+        }
+        for (T t : data){
+            checker.check(t);
+        }
+    }
+
+    /**
+     * 集合校验逻辑
+     *
+     * @param data 要校验的集合
+     * @param <T> 集合元素类型
+     */
+    public static  <T extends Checker<T>> void  check(List<T> data){
+        if(data == null){
+            return;
+        }
+        for (T t : data){
+            t.check();
+        }
+    }
+
+    /**
+     * 将元素加入到集合中,为null的过滤掉
+     *
+     * @param list 集合
+     * @param data 要添加的数据
+     * @param <T> 元素类型
+     */
+    public static <T> void add(Collection<T> list, T... data) {
+        if (list == null || ArrayUtils.isEmpty(data)) {
+            return;
+        }
+        for (T t : data) {
+            if (ObjectUtils.isNotEmpty(t)) {
+                list.add(t);
+            }
+        }
+    }
+    //将两个集合出现次数相加
+    public static Map<Long, Integer> union(Map<Long, Integer> map1, Map<Long, Integer> map2) {
+        if (CollUtils.isEmpty(map1)) {
+            return map2;
+        } else if (CollUtils.isEmpty(map2)) {
+            return map1;
+        }
+        for (Map.Entry<Long, Integer> entry : map1.entrySet()) {
+            Integer num = map2.get(entry.getKey());
+            map2.put(entry.getKey(), NumberUtils.null2Zero(num) + entry.getValue());
+        }
+        return map2;
+    }
+
+    public static <T,R> R getFiledOfFirst(List<T> list, Function<T, R> function) {
+        if (CollUtils.isEmpty(list)) {
+            return null;
+        }
+        return function.apply(list.get(0));
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Convert.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Convert.java
new file mode 100644
index 0000000..c280469
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/Convert.java
@@ -0,0 +1,8 @@
+package com.ruoyi.common.core.utils.page;
+
+/**
+ * 对原对象进行计算,设置到目标对象中
+ **/
+public interface Convert<R,T>{
+    void convert(R origin, T target);
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/NumberUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/NumberUtils.java
new file mode 100644
index 0000000..660f310
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/NumberUtils.java
@@ -0,0 +1,147 @@
+package com.ruoyi.common.core.utils.page;
+
+import cn.hutool.core.util.NumberUtil;
+import java.math.BigDecimal;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class NumberUtils extends NumberUtil {
+
+
+    /**
+     * 如果number为空,将number转换为0,否则原数字返回
+     *
+     * @param number 原数值
+     * @return 整型数字,0或原数字
+     */
+    public static Integer null2Zero(Integer number){
+        return number == null ? 0 : number;
+    }
+
+    /**
+     * 如果number为空,将number转换为0,否则原数字返回
+     *
+     * @param number 原数值
+     * @return 整型数字,0或原数字
+     */
+    public static Double null2Zero(Double number){
+        return number == null ? 0 : number;
+    }
+
+    /**
+     * 如果number为空,将number转换为0L,否则原数字返回
+     *
+     * @param number  原数值
+     * @return 长整型数字,0L或原数字
+     */
+    public static Long null2Zero(Long number){
+        return number == null ? 0L : number;
+    }
+
+
+    public static Double setScale(Double number) {
+        return new BigDecimal(number)
+                .setScale(2, BigDecimal.ROUND_HALF_UP)
+                .doubleValue();
+    }
+    /**
+     * 比较两个数字是否相同,
+     * @param number1 数值1
+     * @param number2 数值2
+     * @return 是否一致
+     */
+    public static boolean equals(Integer number1, Integer number2) {
+        if(number1 == null || number2 == null){
+            return false;
+        }
+        return number1.equals(number2);
+    }
+
+    /**
+     * 数字除法保留指定小数位
+     * @param num1 被除数
+     * @param num2 除数
+     * @param scale 小数点位数
+     * @return 结果
+     */
+    public static Double divToDouble(Integer num1, Integer num2, int scale){
+        if(num2 == null || num2 ==0 || num1 == null || num1 == 0) {
+            return 0d;
+        }
+        return div(num1, num2, scale).doubleValue();
+    }
+
+    public static  Double max(List<Double> data){
+        if(CollUtils.isEmpty(data)){
+            return null;
+        }
+        return data.stream()
+                .max(Comparator.comparingDouble(num -> num))
+                .orElse(0d);
+    }
+    public static  Double min(List<Double> data){
+        if(CollUtils.isEmpty(data)){
+            return null;
+        }
+        return data.stream()
+                .min(Comparator.comparingDouble(num -> num))
+                .orElse(0d);
+    }
+
+    public static Double average(List<Double> data){
+        if(CollUtils.isEmpty(data)){
+            return 0d;
+        }
+        return data.stream()
+                .collect(Collectors.averagingDouble(Double::doubleValue));
+
+    }
+
+    public static Integer toInt(Object obj) {
+        return obj == null ? null
+                : obj instanceof Integer
+                ? (int) obj : null;
+    }
+
+    /**
+     * 取绝对值,如果为null,返回0
+     * @param number 数值
+     * @return 绝对值
+     */
+    public static int abs(Integer number) {
+        return number == null
+                ? 0
+                : Math.abs(number);
+    }
+
+    /**
+     * 数字格式化字符串,不足位数补0
+     *
+     * @param originNumber 原始数字
+     * @param digit 数字位数
+     * @return 字符串
+     */
+    public static String  repair0(Integer originNumber, Integer digit){
+        StringBuilder number = new StringBuilder(originNumber + "");
+        while (number.length() < digit) {
+            number.insert(0, "0");
+        }
+        return number.toString();
+    }
+
+
+    public static String scaleToStr(Integer num, int offset) {
+        // 1.计算位数
+        int m = (int) Math.pow(10, offset);
+        // 2.计算商
+        int s = num / m;
+        // 3.计算余数
+        int y = num % m;
+        if (y == 0) {
+            return Integer.toString(s);
+        }
+        // 2.计算余数
+        return s + "." + y;
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ObjectUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ObjectUtils.java
new file mode 100644
index 0000000..7473673
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/ObjectUtils.java
@@ -0,0 +1,84 @@
+package com.ruoyi.common.core.utils.page;
+
+import cn.hutool.core.util.ObjectUtil;
+
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+
+/**
+ * Object操作工具
+ **/
+public class ObjectUtils extends ObjectUtil {
+
+    /**
+     * 为object设置默认值,对target中的基本类型进行默认值初始化,
+     * 为null的对象不操作
+     *
+     * @param target 需要初始化的对象
+     */
+    public static void setDefault(Object target) {
+        if (target == null) {
+            return;
+        }
+        Class<?> clazz = target.getClass();
+        Field[] declaredFields = clazz.getDeclaredFields();
+        for (Field field : declaredFields) {
+            setDefault(field, target);
+        }
+
+    }
+
+    /**
+     * 给某个字段设置为默认值
+     *
+     * @param field
+     * @param target
+     */
+    private static void setDefault(Field field, Object target) {
+        field.setAccessible(true);
+        try {
+            Object value = field.get(target);
+            if (value != null) {
+                return;
+            }
+            String type = field.getGenericType().toString();
+            Object defaultValue;
+            switch (type) {
+                case "class java.lang.String":
+                case "class java.lang.Character":
+                    defaultValue = "";
+                    break;
+                case "class java.lang.Double":
+                    defaultValue = 0.0d;
+                    break;
+                case "class java.lang.Long":
+                    defaultValue = 0L;
+                    break;
+                case "class java.lang.Short":
+                    defaultValue = (short) 0;
+                    break;
+                case "class java.lang.Integer":
+                    defaultValue = 0;
+                    break;
+                case "class java.lang.Float":
+                    defaultValue = 0f;
+                    break;
+                case "class java.lang.Byte":
+                    defaultValue = (byte) 0;
+                    break;
+                case "class java.math.BigDecimal":
+                    defaultValue = BigDecimal.ZERO;
+                    break;
+                case "class java.lang.Boolean":
+                    defaultValue = Boolean.FALSE;
+                    break;
+                default:
+                    defaultValue = null;
+
+            }
+            field.set(target, defaultValue);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/PageDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/PageDTO.java
new file mode 100644
index 0000000..784c00b
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/page/PageDTO.java
@@ -0,0 +1,70 @@
+package com.ruoyi.common.core.utils.page;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(description = "分页结果")
+public class PageDTO<T> {
+    @ApiModelProperty("总条数")
+    protected Long total;
+    @ApiModelProperty("总页码数")
+    protected Long pages;
+    @ApiModelProperty("当前页数据")
+    protected List<T> list;
+
+    public static <T> PageDTO<T> empty(Long total, Long pages) {
+        return new PageDTO<>(total, pages, CollUtils.emptyList());
+    }
+    public static <T> PageDTO<T> empty(Page<?> page) {
+        return new PageDTO<>(page.getTotal(), page.getPages(), CollUtils.emptyList());
+    }
+
+    public static <T> PageDTO<T> of(Page<T> page) {
+        if(page == null){
+            return new PageDTO<>();
+        }
+        if (CollUtils.isEmpty(page.getRecords())) {
+            return empty(page);
+        }
+        return new PageDTO<>(page.getTotal(), page.getPages(), page.getRecords());
+    }
+    public static <T,R> PageDTO<T> of(Page<R> page, Function<R, T> mapper) {
+        if(page == null){
+            return new PageDTO<>();
+        }
+        if (CollUtils.isEmpty(page.getRecords())) {
+            return empty(page);
+        }
+        return new PageDTO<>(page.getTotal(), page.getPages(),
+                page.getRecords().stream().map(mapper).collect(Collectors.toList()));
+    }
+    public static <T> PageDTO<T> of(Page<?> page, List<T> list) {
+        return new PageDTO<>(page.getTotal(), page.getPages(), list);
+    }
+
+    public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz) {
+        return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz));
+    }
+
+    public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz, Convert<R, T> convert) {
+        return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz, convert));
+    }
+
+    @ApiModelProperty(hidden = true)
+    @JsonIgnore
+    public boolean isEmpty(){
+        return list == null || list.size() == 0;
+    }
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 67000ea..30d456d 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1,2 @@
-com.ruoyi.common.core.utils.SpringUtils
\ No newline at end of file
+com.ruoyi.common.core.utils.SpringUtils
+com.ruoyi.common.core.config.MybatisPlusConfig
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleCommentsController.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleCommentsController.java
new file mode 100644
index 0000000..a971196
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleCommentsController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.article.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 资讯评论回复表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/article-comments")
+public class ArticleCommentsController {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleController.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleController.java
new file mode 100644
index 0000000..0c86ffd
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.article.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 资讯表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/article")
+public class ArticleController {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/SensitiveWordsController.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/SensitiveWordsController.java
new file mode 100644
index 0000000..6bcbf67
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/SensitiveWordsController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.article.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 敏感词管理 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/sensitive-words")
+public class SensitiveWordsController {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/Article.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/Article.java
new file mode 100644
index 0000000..3260ff0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/Article.java
@@ -0,0 +1,89 @@
+package com.ruoyi.article.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 资讯表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_article")
+@ApiModel(value = "Article对象", description = "资讯表")
+public class Article implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "资讯id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "资讯类型 1=平台发布 2=用户发布")
+    private Integer articleType;
+
+    @ApiModelProperty(value = "资讯标题")
+    private String title;
+
+    @ApiModelProperty(value = "资讯内容")
+    private String content;
+
+    @ApiModelProperty(value = "资讯图片  ['a','b','c','d','e']")
+    private String images;
+
+    @ApiModelProperty(value = "资讯视频")
+    private String videoUrl;
+
+    @ApiModelProperty(value = "状态 1=待审核 2=已通过 3=已拒绝")
+    private Integer status;
+
+    @ApiModelProperty(value = "举报状态 0=正常 1=被举报")
+    private Integer reportStatus;
+
+    @ApiModelProperty(value = "举报用户")
+    private String reportBy;
+
+    @ApiModelProperty(value = "举报时间")
+    private LocalDateTime reportedTime;
+
+    @ApiModelProperty(value = "点赞数")
+    private Integer likeCount;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/ArticleComments.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/ArticleComments.java
new file mode 100644
index 0000000..8a4ac30
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/ArticleComments.java
@@ -0,0 +1,71 @@
+package com.ruoyi.article.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 资讯评论回复表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_article_comments")
+@ApiModel(value = "ArticleComments对象", description = "资讯评论回复表")
+public class ArticleComments implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "资讯评论id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "资讯id")
+    private Long articleId;
+
+    @ApiModelProperty(value = "评论id")
+    private Long replyId;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "评论")
+    private String content;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/SensitiveWords.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/SensitiveWords.java
new file mode 100644
index 0000000..3a9e1e5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/pojo/SensitiveWords.java
@@ -0,0 +1,61 @@
+package com.ruoyi.article.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 敏感词管理
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_sensitive_words")
+@ApiModel(value = "SensitiveWords对象", description = "敏感词管理")
+public class SensitiveWords implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "敏感词")
+    private String word;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..a3bc22a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.article.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleCommentsMapper.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleCommentsMapper.java
new file mode 100644
index 0000000..6543e59
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleCommentsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.article.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.article.domain.pojo.ArticleComments;
+
+/**
+ * <p>
+ * 资讯评论回复表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface ArticleCommentsMapper extends BaseMapper<ArticleComments> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleMapper.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleMapper.java
new file mode 100644
index 0000000..2df9bcb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/ArticleMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.article.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.article.domain.pojo.Article;
+
+/**
+ * <p>
+ * 资讯表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface ArticleMapper extends BaseMapper<Article> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/SensitiveWordsMapper.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/SensitiveWordsMapper.java
new file mode 100644
index 0000000..00a0c20
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/SensitiveWordsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.article.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.article.domain.pojo.SensitiveWords;
+
+/**
+ * <p>
+ * 敏感词管理 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface SensitiveWordsMapper extends BaseMapper<SensitiveWords> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleCommentsService.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleCommentsService.java
new file mode 100644
index 0000000..fbfe96d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleCommentsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.article.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.article.domain.pojo.ArticleComments;
+
+/**
+ * <p>
+ * 资讯评论回复表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IArticleCommentsService extends IService<ArticleComments> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java
new file mode 100644
index 0000000..6c52b1e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java
@@ -0,0 +1,15 @@
+package com.ruoyi.article.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.article.domain.pojo.Article;
+/**
+ * <p>
+ * 资讯表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IArticleService extends IService<Article> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/ISensitiveWordsService.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/ISensitiveWordsService.java
new file mode 100644
index 0000000..51bf539
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/ISensitiveWordsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.article.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.article.domain.pojo.SensitiveWords;
+
+/**
+ * <p>
+ * 敏感词管理 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface ISensitiveWordsService extends IService<SensitiveWords> {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleCommentsServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleCommentsServiceImpl.java
new file mode 100644
index 0000000..d23e6fa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleCommentsServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.article.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.article.domain.pojo.ArticleComments;
+import com.ruoyi.article.mapper.ArticleCommentsMapper;
+import com.ruoyi.article.service.IArticleCommentsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 资讯评论回复表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class ArticleCommentsServiceImpl extends
+        ServiceImpl<ArticleCommentsMapper, ArticleComments> implements IArticleCommentsService {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
new file mode 100644
index 0000000..a227a54
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.article.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.article.domain.pojo.Article;
+import com.ruoyi.article.mapper.ArticleMapper;
+import com.ruoyi.article.service.IArticleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 资讯表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements
+        IArticleService {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
new file mode 100644
index 0000000..c4aac52
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.article.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.article.domain.pojo.SensitiveWords;
+import com.ruoyi.article.mapper.SensitiveWordsMapper;
+import com.ruoyi.article.service.ISensitiveWordsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 敏感词管理 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class SensitiveWordsServiceImpl extends
+        ServiceImpl<SensitiveWordsMapper, SensitiveWords> implements ISensitiveWordsService {
+
+}
diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleCommentsMapper.xml b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleCommentsMapper.xml
new file mode 100644
index 0000000..48bff26
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleCommentsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.article.mapper.ArticleCommentsMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleMapper.xml b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleMapper.xml
new file mode 100644
index 0000000..e01aa69
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/ArticleMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.article.mapper.ArticleMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/SensitiveWordsMapper.xml b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/SensitiveWordsMapper.xml
new file mode 100644
index 0000000..a8f7892
--- /dev/null
+++ b/ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/SensitiveWordsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.article.mapper.SensitiveWordsMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionBidRecordController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionBidRecordController.java
new file mode 100644
index 0000000..26674d1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionBidRecordController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 出价记录表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/auction-bid-record")
+public class AuctionBidRecordController {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionGoodsController.java
new file mode 100644
index 0000000..4bb451c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionGoodsController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 拍卖商品表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/auction-goods")
+public class AuctionGoodsController {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomController.java
new file mode 100644
index 0000000..2352515
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 拍卖场表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/auction-salesroom")
+public class AuctionSalesroomController {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
new file mode 100644
index 0000000..e270774
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 拍卖场商品关系表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/auction-salesroom-goods")
+public class AuctionSalesroomGoodsController {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java
new file mode 100644
index 0000000..eed4d3a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java
@@ -0,0 +1,80 @@
+package com.ruoyi.auction.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 出价记录表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_auction_bid_record")
+@ApiModel(value = "AuctionBidRecord对象", description = "出价记录表")
+public class AuctionBidRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "出价记录id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "拍卖场id")
+    private Long auctionSalesroomId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "最终出价时间")
+    private LocalDateTime lastBidTime;
+
+    @ApiModelProperty(value = "出价次数")
+    private Integer bidCount;
+
+    @ApiModelProperty(value = "最终出价金额")
+    private BigDecimal lastBidAmount;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionGoods.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionGoods.java
new file mode 100644
index 0000000..2a2c2bb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionGoods.java
@@ -0,0 +1,96 @@
+package com.ruoyi.auction.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 拍卖商品表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_auction_goods")
+@ApiModel(value = "AuctionGoods对象", description = "拍卖商品表")
+public class AuctionGoods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "拍卖商品id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "起拍价格")
+    private BigDecimal startingPrice;
+
+    @ApiModelProperty(value = "最低加价金额")
+    private BigDecimal minimumMarkupAmount;
+
+    @ApiModelProperty(value = "开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "拍品数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "保证金")
+    private BigDecimal bond;
+
+    @ApiModelProperty(value = "实名认证 0=不需实名 1=需要实名")
+    private Integer authentication;
+
+    @ApiModelProperty(value = "拍品说明")
+    private String description;
+
+    @ApiModelProperty(value = "上架状态 0=上架中 1=已下架")
+    private Integer listingStatus;
+
+    @ApiModelProperty(value = "开始状态 0=预展中 1=拍卖中 2=已结束")
+    private Integer startStatus;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroom.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroom.java
new file mode 100644
index 0000000..b02cf42
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroom.java
@@ -0,0 +1,92 @@
+package com.ruoyi.auction.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 拍卖场表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_auction_salesroom")
+@ApiModel(value = "AuctionSalesroom对象", description = "拍卖场表")
+public class AuctionSalesroom implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "拍卖场名称")
+    private String salesroomName;
+
+    @ApiModelProperty(value = "开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "拍卖时间 0=线下拍卖 1=线上线下结合")
+    private Integer type;
+
+    @ApiModelProperty(value = "保证金")
+    private BigDecimal bound;
+
+    @ApiModelProperty(value = "实名认证 0=不需认证 1=需要实名")
+    private Integer authentication;
+
+    @ApiModelProperty(value = "拍卖场说明")
+    private String description;
+
+    @ApiModelProperty(value = "拍卖场封面图")
+    private String coverPic;
+
+    @ApiModelProperty(value = "分享标题")
+    private String shareTitle;
+
+    @ApiModelProperty(value = "分享图片")
+    private String sharePic;
+
+    @ApiModelProperty(value = "拍卖状态 0=预展中 1=拍卖中 2=已结束")
+    private Integer status;
+
+    @ApiModelProperty(value = "拍卖场二维码")
+    private String auctionSalesroomQrcode;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java
new file mode 100644
index 0000000..740230d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java
@@ -0,0 +1,90 @@
+package com.ruoyi.auction.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 拍卖场商品关系表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_auction_salesroom_goods")
+@ApiModel(value = "AuctionSalesroomGoods对象", description = "拍卖场商品关系表")
+public class AuctionSalesroomGoods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "拍卖场商品关系id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "拍卖场id")
+    private Long auctionSalesroomId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "起拍价格")
+    private BigDecimal startingPrice;
+
+    @ApiModelProperty(value = "最低加价金额")
+    private BigDecimal minimumMarkupAmount;
+
+    @ApiModelProperty(value = "拍品数量")
+    private Integer itemQuantity;
+
+    @ApiModelProperty(value = "兜底成交个数")
+    private Integer guaranteedTradeVolume;
+
+    @ApiModelProperty(value = "拍卖时间(分钟)")
+    private Integer listingDuration;
+
+    @ApiModelProperty(value = "设为备选")
+    private Boolean backupStatus;
+
+    @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束")
+    private Integer status;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..c2e06fc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.auction.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java
new file mode 100644
index 0000000..8b54d47
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.mapper;
+
+import com.ruoyi.auction.domain.pojo.AuctionBidRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 出价记录表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface AuctionBidRecordMapper extends BaseMapper<AuctionBidRecord> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java
new file mode 100644
index 0000000..0525f28
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.mapper;
+
+import com.ruoyi.auction.domain.pojo.AuctionGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拍卖商品表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface AuctionGoodsMapper extends BaseMapper<AuctionGoods> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java
new file mode 100644
index 0000000..aa68d06
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.mapper;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拍卖场商品关系表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface AuctionSalesroomGoodsMapper extends BaseMapper<AuctionSalesroomGoods> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java
new file mode 100644
index 0000000..3499e3e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.mapper;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拍卖场表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface AuctionSalesroomMapper extends BaseMapper<AuctionSalesroom> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java
new file mode 100644
index 0000000..dff3164
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.service;
+
+import com.ruoyi.auction.domain.pojo.AuctionBidRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 出价记录表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IAuctionBidRecordService extends IService<AuctionBidRecord> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java
new file mode 100644
index 0000000..79909ac
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.service;
+
+import com.ruoyi.auction.domain.pojo.AuctionGoods;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拍卖商品表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IAuctionGoodsService extends IService<AuctionGoods> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java
new file mode 100644
index 0000000..4ab1d64
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.service;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拍卖场商品关系表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IAuctionSalesroomGoodsService extends IService<AuctionSalesroomGoods> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
new file mode 100644
index 0000000..dbf5a74
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.auction.service;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拍卖场表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IAuctionSalesroomService extends IService<AuctionSalesroom> {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
new file mode 100644
index 0000000..84cbbb9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.service.impl;
+
+import com.ruoyi.auction.domain.pojo.AuctionBidRecord;
+import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
+import com.ruoyi.auction.service.IAuctionBidRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 出价记录表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
new file mode 100644
index 0000000..a12c60c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.service.impl;
+
+import com.ruoyi.auction.domain.pojo.AuctionGoods;
+import com.ruoyi.auction.mapper.AuctionGoodsMapper;
+import com.ruoyi.auction.service.IAuctionGoodsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拍卖商品表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class AuctionGoodsServiceImpl extends ServiceImpl<AuctionGoodsMapper, AuctionGoods> implements IAuctionGoodsService {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
new file mode 100644
index 0000000..e381396
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.service.impl;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods;
+import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper;
+import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拍卖场商品关系表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class AuctionSalesroomGoodsServiceImpl extends ServiceImpl<AuctionSalesroomGoodsMapper, AuctionSalesroomGoods> implements IAuctionSalesroomGoodsService {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
new file mode 100644
index 0000000..492129f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.auction.service.impl;
+
+import com.ruoyi.auction.domain.pojo.AuctionSalesroom;
+import com.ruoyi.auction.mapper.AuctionSalesroomMapper;
+import com.ruoyi.auction.service.IAuctionSalesroomService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拍卖场表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class AuctionSalesroomServiceImpl extends ServiceImpl<AuctionSalesroomMapper, AuctionSalesroom> implements IAuctionSalesroomService {
+
+}
diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml
new file mode 100644
index 0000000..94bd114
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.auction.mapper.AuctionBidRecordMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionGoodsMapper.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionGoodsMapper.xml
new file mode 100644
index 0000000..19ce379
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionGoodsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.auction.mapper.AuctionGoodsMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomGoodsMapper.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomGoodsMapper.xml
new file mode 100644
index 0000000..51acd62
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomGoodsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomMapper.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomMapper.xml
new file mode 100644
index 0000000..dc72237
--- /dev/null
+++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.auction.mapper.AuctionSalesroomMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsBrandController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsBrandController.java
new file mode 100644
index 0000000..7b911bb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsBrandController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.goods.controller;
+
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 品牌表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-brand")
+@RequiredArgsConstructor
+public class GoodsBrandController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsCategoryController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsCategoryController.java
new file mode 100644
index 0000000..ef7d30e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsCategoryController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品分类表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-category")
+public class GoodsCategoryController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsFlavorTypeController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsFlavorTypeController.java
new file mode 100644
index 0000000..38a6c76
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsFlavorTypeController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 香型表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-flavor-type")
+public class GoodsFlavorTypeController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsGroupPurchaseController.java
new file mode 100644
index 0000000..d263ca4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsGroupPurchaseController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品团购表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-group-purchase")
+public class GoodsGroupPurchaseController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleController.java
new file mode 100644
index 0000000..20ced83
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品信息标题表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-info-title")
+public class GoodsInfoTitleController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleValueController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleValueController.java
new file mode 100644
index 0000000..7015098
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsInfoTitleValueController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品信息标题值表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-info-title-value")
+public class GoodsInfoTitleValueController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeckillController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeckillController.java
new file mode 100644
index 0000000..c021ac0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeckillController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品秒杀表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-seckill")
+public class GoodsSeckillController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeriesController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeriesController.java
new file mode 100644
index 0000000..5aec52f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSeriesController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 系列表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-series")
+public class GoodsSeriesController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSkuController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSkuController.java
new file mode 100644
index 0000000..504d6d7
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSkuController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商品表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/goods-sku")
+public class GoodsSkuController {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsBrand.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsBrand.java
new file mode 100644
index 0000000..b6b38d7
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsBrand.java
@@ -0,0 +1,63 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 品牌表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_brand")
+@ApiModel(value = "GoodsBrand对象", description = "品牌表")
+public class GoodsBrand implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "品牌id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "品牌名称")
+    @TableField("brand_name")
+    private String brandName;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsCategory.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsCategory.java
new file mode 100644
index 0000000..f4e8595
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsCategory.java
@@ -0,0 +1,62 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品分类表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_category")
+@ApiModel(value = "GoodsCategory对象", description = "商品分类表")
+public class GoodsCategory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品分类id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "分类名称")
+    @TableField("category_name")
+    private String categoryName;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsFlavorType.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsFlavorType.java
new file mode 100644
index 0000000..2f3d528
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsFlavorType.java
@@ -0,0 +1,63 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 香型表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_flavor_type")
+@ApiModel(value = "GoodsFlavorType对象", description = "香型表")
+public class GoodsFlavorType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "香型id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "香型名称")
+    @TableField("flavor_type_name")
+    private String flavorTypeName;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsGroupPurchase.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsGroupPurchase.java
new file mode 100644
index 0000000..6a933d5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsGroupPurchase.java
@@ -0,0 +1,112 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品团购表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_group_purchase")
+@ApiModel(value = "GoodsGroupPurchase对象", description = "商品团购表")
+public class GoodsGroupPurchase implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品团购id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品id")
+    @TableField("goods_sku_id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    @TableField("goods_sku_name")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "分享标题")
+    @TableField("share_title")
+    private String shareTitle;
+
+    @ApiModelProperty(value = "分享图片")
+    @TableField("share_pic")
+    private String sharePic;
+
+    @ApiModelProperty(value = "团购价格")
+    @TableField("group_purchase_price")
+    private BigDecimal groupPurchasePrice;
+
+    @ApiModelProperty(value = "成团人数")
+    @TableField("group_size")
+    private Integer groupSize;
+
+    @ApiModelProperty(value = "限购数量")
+    @TableField("limit_number")
+    private Integer limitNumber;
+
+    @ApiModelProperty(value = "团购开始时间")
+    @TableField("start_time")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "团购结束时间")
+    @TableField("end_time")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "参团说明")
+    @TableField("description")
+    private String description;
+
+    @ApiModelProperty(value = "开始状态 0=未开始 1=已开始 2=已结束 ")
+    @TableField("start_status")
+    private Integer startStatus;
+
+    @ApiModelProperty(value = "上架状态 0=已上架 1=已下架")
+    @TableField("listing_status")
+    private Integer listingStatus;
+
+    @ApiModelProperty(value = "成团状态 0=待成团 1=已成团 2=成团失败")
+    @TableField("group_status")
+    private Integer groupStatus;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitle.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitle.java
new file mode 100644
index 0000000..60b65e6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitle.java
@@ -0,0 +1,63 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品信息标题表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_info_title")
+@ApiModel(value = "GoodsInfoTitle对象", description = "商品信息标题表")
+public class GoodsInfoTitle implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品信息标题id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "标题名称")
+    @TableField("title_name")
+    private String titleName;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitleValue.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitleValue.java
new file mode 100644
index 0000000..ff50a75
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsInfoTitleValue.java
@@ -0,0 +1,75 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品信息标题值表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_info_title_value")
+@ApiModel(value = "GoodsInfoTitleValue对象", description = "商品信息标题值表")
+public class GoodsInfoTitleValue implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品信息标题值id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品sku id")
+    @TableField("goods_sku_id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品信息标题id")
+    @TableField("goods_info_title_id")
+    private Long goodsInfoTitleId;
+
+    @ApiModelProperty(value = "内容")
+    @TableField("content")
+    private String content;
+
+    @ApiModelProperty(value = "排序")
+    @TableField("sort_num")
+    private Integer sortNum;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeckill.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeckill.java
new file mode 100644
index 0000000..ffdb897
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeckill.java
@@ -0,0 +1,98 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品秒杀表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_seckill")
+@ApiModel(value = "GoodsSeckill对象", description = "商品秒杀表")
+public class GoodsSeckill implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品秒杀id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "当前库存")
+    private Integer currentStock;
+
+    @ApiModelProperty(value = "秒杀价格")
+    private BigDecimal seckillPrice;
+
+    @ApiModelProperty(value = "秒杀库存")
+    private Integer seckillStock;
+
+    @ApiModelProperty(value = "限购数量")
+    private Integer limitNumber;
+
+    @ApiModelProperty(value = "排序")
+    private Integer sortNum;
+
+    @ApiModelProperty(value = "分享标题")
+    private String shareTitle;
+
+    @ApiModelProperty(value = "分享图片")
+    private String sharePic;
+
+    @ApiModelProperty(value = "秒杀开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "秒杀结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "开始状态 0=未开始 1= 已开始 2=已结束")
+    private Integer startStatus;
+
+    @ApiModelProperty(value = "上架状态 0=已上架 1=已下架")
+    private Integer listingStatus;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeries.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeries.java
new file mode 100644
index 0000000..8a453cd
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSeries.java
@@ -0,0 +1,62 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 系列表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_series")
+@ApiModel(value = "GoodsSeries对象", description = "系列表")
+public class GoodsSeries implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "系列id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "系列名称")
+    private String seriesName;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSku.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSku.java
new file mode 100644
index 0000000..ad85471
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/GoodsSku.java
@@ -0,0 +1,117 @@
+package com.ruoyi.goods.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商品表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_goods_sku")
+@ApiModel(value = "GoodsSku对象", description = "商品表")
+public class GoodsSku implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商品id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+    @ApiModelProperty(value = "商品年份")
+    private String years;
+
+    @ApiModelProperty(value = "商品分类id")
+    private Long categoryId;
+
+    @ApiModelProperty(value = "商品系列id")
+    private Long seriesId;
+
+    @ApiModelProperty(value = "商品品牌id")
+    private Long brandId;
+
+    @ApiModelProperty(value = "商品香型id")
+    private Long flavorTypeId;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "库存")
+    private Integer stock;
+
+    @ApiModelProperty(value = "单位")
+    private String unit;
+
+    @ApiModelProperty(value = "规格")
+    private String spec;
+
+    @ApiModelProperty(value = "规格单位")
+    private String specUnit;
+
+    @ApiModelProperty(value = "封面图")
+    private String coverPic;
+
+    @ApiModelProperty(value = "详情图,不超过五张图片")
+    private String alubm;
+
+    @ApiModelProperty(value = "分享标题")
+    private String shareTitle;
+
+    @ApiModelProperty(value = "分享图片")
+    private String sharePic;
+
+    @ApiModelProperty(value = "商品描述")
+    private String description;
+
+    @ApiModelProperty(value = "商品说明")
+    private String detail;
+
+    @ApiModelProperty(value = "排序")
+    private Integer sortNum;
+
+    @ApiModelProperty(value = "上架状态 0=上架中 1= 已下架")
+    private Integer listingStatus;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..bfa2266
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.goods.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsBrandMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsBrandMapper.java
new file mode 100644
index 0000000..d56736f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsBrandMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsBrand;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 品牌表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsBrandMapper extends BaseMapper<GoodsBrand> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsCategoryMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsCategoryMapper.java
new file mode 100644
index 0000000..e72f22e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsCategoryMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsCategory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品分类表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsFlavorTypeMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsFlavorTypeMapper.java
new file mode 100644
index 0000000..3dc6106
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsFlavorTypeMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsFlavorType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 香型表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsFlavorTypeMapper extends BaseMapper<GoodsFlavorType> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java
new file mode 100644
index 0000000..8dfd552
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品团购表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsGroupPurchaseMapper extends BaseMapper<GoodsGroupPurchase> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleMapper.java
new file mode 100644
index 0000000..f019ae9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品信息标题表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsInfoTitleMapper extends BaseMapper<GoodsInfoTitle> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleValueMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleValueMapper.java
new file mode 100644
index 0000000..40ff72e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsInfoTitleValueMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品信息标题值表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsInfoTitleValueMapper extends BaseMapper<GoodsInfoTitleValue> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java
new file mode 100644
index 0000000..3b99668
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeckill;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品秒杀表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsSeckillMapper extends BaseMapper<GoodsSeckill> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeriesMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeriesMapper.java
new file mode 100644
index 0000000..671d7e1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeriesMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeries;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 系列表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsSeriesMapper extends BaseMapper<GoodsSeries> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSkuMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSkuMapper.java
new file mode 100644
index 0000000..fc5f50f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSkuMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.mapper;
+
+import com.ruoyi.goods.domain.pojo.GoodsSku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商品表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java
new file mode 100644
index 0000000..f84a1d9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsBrand;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 品牌表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsBrandService extends IService<GoodsBrand> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java
new file mode 100644
index 0000000..89e3d2e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsCategory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品分类表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsCategoryService extends IService<GoodsCategory> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java
new file mode 100644
index 0000000..6ef2d1c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsFlavorType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 香型表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsFlavorTypeService extends IService<GoodsFlavorType> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java
new file mode 100644
index 0000000..8a71a59
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品团购表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsGroupPurchaseService extends IService<GoodsGroupPurchase> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java
new file mode 100644
index 0000000..9e8a6ef
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitle;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品信息标题表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsInfoTitleService extends IService<GoodsInfoTitle> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleValueService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleValueService.java
new file mode 100644
index 0000000..e24057b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleValueService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品信息标题值表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsInfoTitleValueService extends IService<GoodsInfoTitleValue> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java
new file mode 100644
index 0000000..86397f2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeckill;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品秒杀表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsSeckillService extends IService<GoodsSeckill> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java
new file mode 100644
index 0000000..f03a1a5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeries;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 系列表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsSeriesService extends IService<GoodsSeries> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java
new file mode 100644
index 0000000..9b8a23f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.goods.service;
+
+import com.ruoyi.goods.domain.pojo.GoodsSku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商品表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IGoodsSkuService extends IService<GoodsSku> {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java
new file mode 100644
index 0000000..b9c86d5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsBrand;
+import com.ruoyi.goods.mapper.GoodsBrandMapper;
+import com.ruoyi.goods.service.IGoodsBrandService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 品牌表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsBrandServiceImpl extends ServiceImpl<GoodsBrandMapper, GoodsBrand> implements IGoodsBrandService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java
new file mode 100644
index 0000000..0cbddd2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsCategory;
+import com.ruoyi.goods.mapper.GoodsCategoryMapper;
+import com.ruoyi.goods.service.IGoodsCategoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品分类表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper, GoodsCategory> implements IGoodsCategoryService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java
new file mode 100644
index 0000000..c9eeba4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsFlavorType;
+import com.ruoyi.goods.mapper.GoodsFlavorTypeMapper;
+import com.ruoyi.goods.service.IGoodsFlavorTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 香型表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsFlavorTypeServiceImpl extends ServiceImpl<GoodsFlavorTypeMapper, GoodsFlavorType> implements IGoodsFlavorTypeService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
new file mode 100644
index 0000000..12cb74f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase;
+import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
+import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品团购表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsGroupPurchaseServiceImpl extends ServiceImpl<GoodsGroupPurchaseMapper, GoodsGroupPurchase> implements IGoodsGroupPurchaseService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java
new file mode 100644
index 0000000..8574538
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitle;
+import com.ruoyi.goods.mapper.GoodsInfoTitleMapper;
+import com.ruoyi.goods.service.IGoodsInfoTitleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品信息标题表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsInfoTitleServiceImpl extends ServiceImpl<GoodsInfoTitleMapper, GoodsInfoTitle> implements IGoodsInfoTitleService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleValueServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleValueServiceImpl.java
new file mode 100644
index 0000000..fa0b5c4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleValueServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue;
+import com.ruoyi.goods.mapper.GoodsInfoTitleValueMapper;
+import com.ruoyi.goods.service.IGoodsInfoTitleValueService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品信息标题值表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsInfoTitleValueServiceImpl extends ServiceImpl<GoodsInfoTitleValueMapper, GoodsInfoTitleValue> implements IGoodsInfoTitleValueService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java
new file mode 100644
index 0000000..6bd8d67
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeckill;
+import com.ruoyi.goods.mapper.GoodsSeckillMapper;
+import com.ruoyi.goods.service.IGoodsSeckillService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品秒杀表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsSeckillServiceImpl extends ServiceImpl<GoodsSeckillMapper, GoodsSeckill> implements IGoodsSeckillService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java
new file mode 100644
index 0000000..a516914
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsSeries;
+import com.ruoyi.goods.mapper.GoodsSeriesMapper;
+import com.ruoyi.goods.service.IGoodsSeriesService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系列表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsSeriesServiceImpl extends ServiceImpl<GoodsSeriesMapper, GoodsSeries> implements IGoodsSeriesService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
new file mode 100644
index 0000000..565f595
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.goods.service.impl;
+
+import com.ruoyi.goods.domain.pojo.GoodsSku;
+import com.ruoyi.goods.mapper.GoodsSkuMapper;
+import com.ruoyi.goods.service.IGoodsSkuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商品表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> implements IGoodsSkuService {
+
+}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsBrandMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsBrandMapper.xml
new file mode 100644
index 0000000..f0477f7
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsBrandMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsBrandMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsCategoryMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsCategoryMapper.xml
new file mode 100644
index 0000000..60198dc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsCategoryMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsCategoryMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFlavorTypeMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFlavorTypeMapper.xml
new file mode 100644
index 0000000..379a1fa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFlavorTypeMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsFlavorTypeMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml
new file mode 100644
index 0000000..50539ba
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleMapper.xml
new file mode 100644
index 0000000..4472861
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsInfoTitleMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml
new file mode 100644
index 0000000..d150ea2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsInfoTitleValueMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml
new file mode 100644
index 0000000..9ac8378
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsSeckillMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeriesMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeriesMapper.xml
new file mode 100644
index 0000000..15ccfd4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeriesMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsSeriesMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSkuMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSkuMapper.xml
new file mode 100644
index 0000000..41c7ea0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSkuMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.goods.mapper.GoodsSkuMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberAddressController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberAddressController.java
new file mode 100644
index 0000000..c3cca1a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberAddressController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 会员地址表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/member-address")
+public class MemberAddressController {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberCollectionController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberCollectionController.java
new file mode 100644
index 0000000..213a22b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberCollectionController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 会员收藏表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/member-collection")
+public class MemberCollectionController {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java
new file mode 100644
index 0000000..bfbdf67
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 会员表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/member")
+public class MemberController {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberLevelController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberLevelController.java
new file mode 100644
index 0000000..8cf6e91
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberLevelController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.member.controller;
+
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 会员等级表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/member-level")
+@RequiredArgsConstructor
+public class MemberLevelController {
+    
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Member.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Member.java
new file mode 100644
index 0000000..b605bdc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Member.java
@@ -0,0 +1,98 @@
+package com.ruoyi.member.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会员表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_member")
+@ApiModel(value = "Member对象", description = "会员表")
+public class Member implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "会员id")
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+
+    @ApiModelProperty(value = "会员昵称")
+    private String nickname;
+
+    @ApiModelProperty(value = "头像")
+    private String avatar;
+
+    @ApiModelProperty(value = "会员姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "身份证号")
+    private String idNumber;
+
+    @ApiModelProperty(value = "联系电话")
+    private String phone;
+
+    @ApiModelProperty(value = "性别 0=女,1=男,2=未知")
+    private Integer gender;
+
+    @ApiModelProperty(value = "等级")
+    private Integer level;
+
+    @ApiModelProperty(value = "会员积分")
+    private Integer totalPoints;
+
+    @ApiModelProperty(value = "已用积分")
+    private Integer usedPoints;
+
+    @ApiModelProperty(value = "微信openid")
+    private String wxOpenid;
+
+    @ApiModelProperty(value = "小程序openid")
+    private String miniOpenid;
+
+    @ApiModelProperty(value = "微信unionid")
+    private String wxUnionid;
+
+    @ApiModelProperty(value = "支付宝openid")
+    private String zfbOpenid;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberAddress.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberAddress.java
new file mode 100644
index 0000000..262447d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberAddress.java
@@ -0,0 +1,74 @@
+package com.ruoyi.member.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会员地址表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_member_address")
+@ApiModel(value = "MemberAddress对象", description = "会员地址表")
+public class MemberAddress implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "会员地址id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "收件人姓名")
+    private String recipientName;
+
+    @ApiModelProperty(value = "收件人电话")
+    private String recipientPhone;
+
+    @ApiModelProperty(value = "城市 省市区")
+    private String city;
+
+    @ApiModelProperty(value = "详细地址")
+    private String detailedAddress;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberCollection.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberCollection.java
new file mode 100644
index 0000000..18d064c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberCollection.java
@@ -0,0 +1,64 @@
+package com.ruoyi.member.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会员收藏表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_member_collection")
+@ApiModel(value = "MemberCollection对象", description = "会员收藏表")
+public class MemberCollection implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "收藏类型1=商城商品 2=资讯文章 3=普通拍品")
+    private Integer collectionType;
+
+    @ApiModelProperty(value = "收藏目标id")
+    private Long targetId;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java
new file mode 100644
index 0000000..b70e46f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java
@@ -0,0 +1,66 @@
+package com.ruoyi.member.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会员等级表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_member_level")
+@ApiModel(value = "MemberLevel对象", description = "会员等级表")
+public class MemberLevel implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "会员等级id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "会员等级")
+    private Integer level;
+
+    @ApiModelProperty(value = "累计消费")
+    private BigDecimal cumulativeConsumption;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..4e5a035
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.member.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberAddressMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberAddressMapper.java
new file mode 100644
index 0000000..324373e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberAddressMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.mapper;
+
+import com.ruoyi.member.domain.pojo.MemberAddress;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 会员地址表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface MemberAddressMapper extends BaseMapper<MemberAddress> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberCollectionMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberCollectionMapper.java
new file mode 100644
index 0000000..033adf6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberCollectionMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.mapper;
+
+import com.ruoyi.member.domain.pojo.MemberCollection;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 会员收藏表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface MemberCollectionMapper extends BaseMapper<MemberCollection> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java
new file mode 100644
index 0000000..cfe14cc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.mapper;
+
+import com.ruoyi.member.domain.pojo.MemberLevel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 会员等级表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface MemberLevelMapper extends BaseMapper<MemberLevel> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberMapper.java
new file mode 100644
index 0000000..eb7e538
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.mapper;
+
+import com.ruoyi.member.domain.pojo.Member;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 会员表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface MemberMapper extends BaseMapper<Member> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberAddressService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberAddressService.java
new file mode 100644
index 0000000..2ec0130
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberAddressService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.service;
+
+import com.ruoyi.member.domain.pojo.MemberAddress;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会员地址表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IMemberAddressService extends IService<MemberAddress> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberCollectionService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberCollectionService.java
new file mode 100644
index 0000000..4c1487f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberCollectionService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.service;
+
+import com.ruoyi.member.domain.pojo.MemberCollection;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会员收藏表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IMemberCollectionService extends IService<MemberCollection> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java
new file mode 100644
index 0000000..a02a19e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.service;
+
+import com.ruoyi.member.domain.pojo.MemberLevel;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会员等级表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IMemberLevelService extends IService<MemberLevel> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java
new file mode 100644
index 0000000..3dd90c3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.member.service;
+
+import com.ruoyi.member.domain.pojo.Member;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会员表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IMemberService extends IService<Member> {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberAddressServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberAddressServiceImpl.java
new file mode 100644
index 0000000..8eed8ae
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberAddressServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.service.impl;
+
+import com.ruoyi.member.domain.pojo.MemberAddress;
+import com.ruoyi.member.mapper.MemberAddressMapper;
+import com.ruoyi.member.service.IMemberAddressService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会员地址表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, MemberAddress> implements IMemberAddressService {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberCollectionServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberCollectionServiceImpl.java
new file mode 100644
index 0000000..f92e7ea
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberCollectionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.service.impl;
+
+import com.ruoyi.member.domain.pojo.MemberCollection;
+import com.ruoyi.member.mapper.MemberCollectionMapper;
+import com.ruoyi.member.service.IMemberCollectionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会员收藏表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class MemberCollectionServiceImpl extends ServiceImpl<MemberCollectionMapper, MemberCollection> implements IMemberCollectionService {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java
new file mode 100644
index 0000000..aad50ea
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.service.impl;
+
+import com.ruoyi.member.domain.pojo.MemberLevel;
+import com.ruoyi.member.mapper.MemberLevelMapper;
+import com.ruoyi.member.service.IMemberLevelService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会员等级表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class MemberLevelServiceImpl extends ServiceImpl<MemberLevelMapper, MemberLevel> implements IMemberLevelService {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
new file mode 100644
index 0000000..21a995e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.service.impl;
+
+import com.ruoyi.member.domain.pojo.Member;
+import com.ruoyi.member.mapper.MemberMapper;
+import com.ruoyi.member.service.IMemberService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会员表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements IMemberService {
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberAddressMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberAddressMapper.xml
new file mode 100644
index 0000000..a234c97
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberAddressMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.member.mapper.MemberAddressMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCollectionMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCollectionMapper.xml
new file mode 100644
index 0000000..b75249b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCollectionMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.member.mapper.MemberCollectionMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberLevelMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberLevelMapper.xml
new file mode 100644
index 0000000..5d244f7
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberLevelMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.member.mapper.MemberLevelMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/InvoicingApplicationController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/InvoicingApplicationController.java
new file mode 100644
index 0000000..2e62fa4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/InvoicingApplicationController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 开票申请表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/invoicing-application")
+public class InvoicingApplicationController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java
new file mode 100644
index 0000000..01f67b6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 拍卖保证金表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/order-auction-bond")
+public class OrderAuctionBondController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionController.java
new file mode 100644
index 0000000..39ea189
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 拍卖订单表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/order-auction")
+public class OrderAuctionController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
new file mode 100644
index 0000000..e4bb509
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 订单表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/order")
+public class OrderController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderMallController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderMallController.java
new file mode 100644
index 0000000..d10e61c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderMallController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 商城订单表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/order-mall")
+public class OrderMallController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderReturnRequestController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderReturnRequestController.java
new file mode 100644
index 0000000..2246185
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderReturnRequestController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 售后表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/order-return-request")
+public class OrderReturnRequestController {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/InvoicingApplication.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/InvoicingApplication.java
new file mode 100644
index 0000000..53582e4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/InvoicingApplication.java
@@ -0,0 +1,102 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 开票申请表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_invoicing_application")
+@ApiModel(value = "InvoicingApplication对象", description = "开票申请表")
+public class InvoicingApplication implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "开票申请id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "订单id")
+    private Long orderId;
+
+    @ApiModelProperty(value = "申请时间")
+    private LocalDateTime applyTime;
+
+    @ApiModelProperty(value = "状态 1=待审核 2=审核通过 3=已拒绝")
+    private Integer status;
+
+    @ApiModelProperty(value = "发票类型 1=普票 2=专票")
+    private Integer invoiceType;
+
+    @ApiModelProperty(value = "抬头类型 1=企业单位 2=个人/非企业单位")
+    private Integer titleType;
+
+    @ApiModelProperty(value = "公司名称")
+    private String companyName;
+
+    @ApiModelProperty(value = "公司税号")
+    private String companyTaxNumber;
+
+    @ApiModelProperty(value = "公司地址")
+    private String companyAddress;
+
+    @ApiModelProperty(value = "公司电话")
+    private String companyPhone;
+
+    @ApiModelProperty(value = "公司开户行")
+    private String bankName;
+
+    @ApiModelProperty(value = "公司账号")
+    private String bankAccount;
+
+    @ApiModelProperty(value = "总金额")
+    private BigDecimal totalAmount;
+
+    @ApiModelProperty(value = "公司邮箱")
+    private String email;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/Order.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/Order.java
new file mode 100644
index 0000000..63e459a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/Order.java
@@ -0,0 +1,108 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 订单表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_order")
+@ApiModel(value = "Order对象", description = "订单表")
+public class Order implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "订单id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "下单时间")
+    private LocalDateTime orderTime;
+
+    @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=保证金 5=拍卖订单")
+    private Integer orderFrom;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "会员姓名")
+    private String memberName;
+
+    @ApiModelProperty(value = "联系方式")
+    private String phoneNumber;
+
+    @ApiModelProperty(value = "支付方式 1=微信 2=支付宝")
+    private Integer paymentMethod;
+
+    @ApiModelProperty(value = "支付合计")
+    private BigDecimal totalAmount;
+
+    @ApiModelProperty(value = "订单状态 1=待发货 2=待收货 3=已完成 4=已取消")
+    private Integer orderStatus;
+
+    @ApiModelProperty(value = "支付时间")
+    private LocalDateTime payTime;
+
+    @ApiModelProperty(value = "取消时间")
+    private LocalDateTime cancelTime;
+
+    @ApiModelProperty(value = "订单备注")
+    private String orderRemark;
+
+    @ApiModelProperty(value = "发货时间")
+    private LocalDateTime deliveryTime;
+
+    @ApiModelProperty(value = "确认收货时间")
+    private LocalDateTime receiveTime;
+
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal discountMoney;
+
+    @ApiModelProperty(value = "商品数量")
+    private Integer goodsQuantity;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java
new file mode 100644
index 0000000..2274287
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java
@@ -0,0 +1,77 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 拍卖订单表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_order_auction")
+@ApiModel(value = "OrderAuction对象", description = "拍卖订单表")
+public class OrderAuction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "拍卖订单id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "订单id")
+    private Long orderId;
+
+    @ApiModelProperty(value = "拍卖场id")
+    private Long auctionSalesroomId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "所属拍卖场")
+    private String auctionSaleroomName;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "商品封面图")
+    private String goodsCoverPic;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuctionBond.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuctionBond.java
new file mode 100644
index 0000000..1f96972
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuctionBond.java
@@ -0,0 +1,71 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 拍卖保证金表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_order_auction_bond")
+@ApiModel(value = "OrderAuctionBond对象", description = "拍卖保证金表")
+public class OrderAuctionBond implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "拍卖订单id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "订单id")
+    private Long orderId;
+
+    @ApiModelProperty(value = "拍卖场id")
+    private Long auctionSalesroomId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "是否缴纳保证金")
+    private Boolean boundStatus;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java
new file mode 100644
index 0000000..8bd5db1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java
@@ -0,0 +1,73 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商城订单表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_order_mall")
+@ApiModel(value = "OrderMall对象", description = "商城订单表")
+public class OrderMall implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "商城订单id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
+
+    @ApiModelProperty(value = "订单id")
+    private Long orderId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+
+    @ApiModelProperty(value = "商品封面图")
+    private String goodsCoverPic;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderReturnRequest.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderReturnRequest.java
new file mode 100644
index 0000000..8aa07b2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderReturnRequest.java
@@ -0,0 +1,80 @@
+package com.ruoyi.order.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 售后表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_order_return_request")
+@ApiModel(value = "OrderReturnRequest对象", description = "售后表")
+public class OrderReturnRequest implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "售后id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "订单id")
+    private Long orderId;
+
+    @ApiModelProperty(value = "申请时间")
+    private LocalDateTime requestTime;
+
+    @ApiModelProperty(value = "售后类型 1=退款 2=退款退货")
+    private Integer requestType;
+
+    @ApiModelProperty(value = "申请原因")
+    private String requestReason;
+
+    @ApiModelProperty(value = "售后状态 1=待审核 2=待退货 3=待平台收货 4=已完成 5=已拒绝")
+    private Integer status;
+
+    @ApiModelProperty(value = "审核状态 1=待审核 2=已通过 3=已拒绝")
+    private Integer auditStatus;
+
+    @ApiModelProperty(value = "拒绝理由")
+    private String refuseReason;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..d64718d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.order.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/InvoicingApplicationMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/InvoicingApplicationMapper.java
new file mode 100644
index 0000000..3e361ec
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/InvoicingApplicationMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.InvoicingApplication;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 开票申请表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface InvoicingApplicationMapper extends BaseMapper<InvoicingApplication> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionBondMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionBondMapper.java
new file mode 100644
index 0000000..8d513c3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionBondMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.OrderAuctionBond;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拍卖保证金表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface OrderAuctionBondMapper extends BaseMapper<OrderAuctionBond> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionMapper.java
new file mode 100644
index 0000000..1401f0b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderAuctionMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.OrderAuction;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拍卖订单表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface OrderAuctionMapper extends BaseMapper<OrderAuction> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMallMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMallMapper.java
new file mode 100644
index 0000000..d258d03
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMallMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.OrderMall;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商城订单表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface OrderMallMapper extends BaseMapper<OrderMall> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
new file mode 100644
index 0000000..3d013c1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.Order;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 订单表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface OrderMapper extends BaseMapper<Order> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderReturnRequestMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderReturnRequestMapper.java
new file mode 100644
index 0000000..7d215fa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderReturnRequestMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.mapper;
+
+import com.ruoyi.order.domain.pojo.OrderReturnRequest;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 售后表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface OrderReturnRequestMapper extends BaseMapper<OrderReturnRequest> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IInvoicingApplicationService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IInvoicingApplicationService.java
new file mode 100644
index 0000000..998f931
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IInvoicingApplicationService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.InvoicingApplication;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 开票申请表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IInvoicingApplicationService extends IService<InvoicingApplication> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionBondService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionBondService.java
new file mode 100644
index 0000000..6e7e02e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionBondService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.OrderAuctionBond;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拍卖保证金表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IOrderAuctionBondService extends IService<OrderAuctionBond> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionService.java
new file mode 100644
index 0000000..4c2b4a8
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderAuctionService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.OrderAuction;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拍卖订单表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IOrderAuctionService extends IService<OrderAuction> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderMallService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderMallService.java
new file mode 100644
index 0000000..b229182
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderMallService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.OrderMall;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 商城订单表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IOrderMallService extends IService<OrderMall> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderReturnRequestService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderReturnRequestService.java
new file mode 100644
index 0000000..4d4729c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderReturnRequestService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.OrderReturnRequest;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 售后表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IOrderReturnRequestService extends IService<OrderReturnRequest> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
new file mode 100644
index 0000000..c559908
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.order.service;
+
+import com.ruoyi.order.domain.pojo.Order;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IOrderService extends IService<Order> {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/InvoicingApplicationServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/InvoicingApplicationServiceImpl.java
new file mode 100644
index 0000000..d58355d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/InvoicingApplicationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.InvoicingApplication;
+import com.ruoyi.order.mapper.InvoicingApplicationMapper;
+import com.ruoyi.order.service.IInvoicingApplicationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 开票申请表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class InvoicingApplicationServiceImpl extends ServiceImpl<InvoicingApplicationMapper, InvoicingApplication> implements IInvoicingApplicationService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java
new file mode 100644
index 0000000..8a662f8
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.OrderAuctionBond;
+import com.ruoyi.order.mapper.OrderAuctionBondMapper;
+import com.ruoyi.order.service.IOrderAuctionBondService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拍卖保证金表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class OrderAuctionBondServiceImpl extends ServiceImpl<OrderAuctionBondMapper, OrderAuctionBond> implements IOrderAuctionBondService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionServiceImpl.java
new file mode 100644
index 0000000..fb440e8
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.OrderAuction;
+import com.ruoyi.order.mapper.OrderAuctionMapper;
+import com.ruoyi.order.service.IOrderAuctionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拍卖订单表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class OrderAuctionServiceImpl extends ServiceImpl<OrderAuctionMapper, OrderAuction> implements IOrderAuctionService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderMallServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderMallServiceImpl.java
new file mode 100644
index 0000000..e119b04
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderMallServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.OrderMall;
+import com.ruoyi.order.mapper.OrderMallMapper;
+import com.ruoyi.order.service.IOrderMallService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 商城订单表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class OrderMallServiceImpl extends ServiceImpl<OrderMallMapper, OrderMall> implements IOrderMallService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java
new file mode 100644
index 0000000..bbede2f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.OrderReturnRequest;
+import com.ruoyi.order.mapper.OrderReturnRequestMapper;
+import com.ruoyi.order.service.IOrderReturnRequestService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 售后表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class OrderReturnRequestServiceImpl extends ServiceImpl<OrderReturnRequestMapper, OrderReturnRequest> implements IOrderReturnRequestService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
new file mode 100644
index 0000000..e425d49
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.order.service.impl;
+
+import com.ruoyi.order.domain.pojo.Order;
+import com.ruoyi.order.mapper.OrderMapper;
+import com.ruoyi.order.service.IOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/InvoicingApplicationMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/InvoicingApplicationMapper.xml
new file mode 100644
index 0000000..b9095ae
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/InvoicingApplicationMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.InvoicingApplicationMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionBondMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionBondMapper.xml
new file mode 100644
index 0000000..1422936
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionBondMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.OrderAuctionBondMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionMapper.xml
new file mode 100644
index 0000000..4631e57
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderAuctionMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.OrderAuctionMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMallMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMallMapper.xml
new file mode 100644
index 0000000..cd0ffb4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMallMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.OrderMallMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
new file mode 100644
index 0000000..9ef47c0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.OrderMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderReturnRequestMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderReturnRequestMapper.xml
new file mode 100644
index 0000000..a542c34
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderReturnRequestMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.OrderReturnRequestMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponController.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponController.java
new file mode 100644
index 0000000..9855007
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 优惠券表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/coupon")
+public class CouponController {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponMemberController.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponMemberController.java
new file mode 100644
index 0000000..344fd49
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/CouponMemberController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 优惠券领取表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/coupon-member")
+public class CouponMemberController {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionBannerController.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionBannerController.java
new file mode 100644
index 0000000..16d8049
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionBannerController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 轮播图表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/promotion-banner")
+public class PromotionBannerController {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionVideoController.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionVideoController.java
new file mode 100644
index 0000000..40830b6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionVideoController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 视频表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/promotion-video")
+public class PromotionVideoController {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionWishListController.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionWishListController.java
new file mode 100644
index 0000000..77fda8d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/PromotionWishListController.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 心愿求购表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@RestController
+@RequestMapping("/promotion-wish-list")
+public class PromotionWishListController {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/Coupon.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/Coupon.java
new file mode 100644
index 0000000..fb3e690
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/Coupon.java
@@ -0,0 +1,98 @@
+package com.ruoyi.promotion.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 优惠券表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_coupon")
+@ApiModel(value = "Coupon对象", description = "优惠券表")
+public class Coupon implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "优惠券名称")
+    private String couponName;
+
+    @ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券")
+    private Integer couponType;
+
+    @ApiModelProperty(value = "状态 0=已上架 1=已下架")
+    private Integer couponStatus;
+
+    @ApiModelProperty(value = "满减金额,例如:满100元")
+    private BigDecimal fullReductionAmount;
+
+    @ApiModelProperty(value = "减少金额,例如:减50元")
+    private BigDecimal reductionAmount;
+
+    @ApiModelProperty(value = "代金券金额,例如:50元")
+    private BigDecimal voucherAmount;
+
+    @ApiModelProperty(value = "折扣额度,例如:8折")
+    private Double discountRate;
+
+    @ApiModelProperty(value = "最高可抵扣金额,例如:200元")
+    private BigDecimal maxDiscount;
+
+    @ApiModelProperty(value = "优惠券说明")
+    private String description;
+
+    @ApiModelProperty(value = "有效期起")
+    private LocalDateTime startDate;
+
+    @ApiModelProperty(value = "有效期止")
+    private LocalDateTime endDate;
+
+    @ApiModelProperty(value = "会员等级,多等级以 , 隔开")
+    private String memberLevel;
+
+    @ApiModelProperty(value = "发放张数")
+    private Integer issuedQuantity;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/CouponMember.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/CouponMember.java
new file mode 100644
index 0000000..2ad8c02
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/CouponMember.java
@@ -0,0 +1,99 @@
+package com.ruoyi.promotion.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 优惠券领取表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_coupon_member")
+@ApiModel(value = "CouponMember对象", description = "优惠券领取表")
+public class CouponMember implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "优惠券领取id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券")
+    private Integer couponType;
+
+    @ApiModelProperty(value = "优惠券状态-1删除0已过期1已领取2已使用")
+    private Integer couponStatus;
+
+    @ApiModelProperty(value = "优惠券名称")
+    private String couponName;
+
+    @ApiModelProperty(value = "满减金额,例如:满100元")
+    private BigDecimal fullReductionAmount;
+
+    @ApiModelProperty(value = "减少金额,例如:减50元")
+    private BigDecimal reductionAmount;
+
+    @ApiModelProperty(value = "代金券金额,例如:50元")
+    private BigDecimal voucherAmount;
+
+    @ApiModelProperty(value = "折扣额度,例如:8折")
+    private Integer discountRate;
+
+    @ApiModelProperty(value = "最高可抵扣金额,例如:200元")
+    private BigDecimal maxDiscount;
+
+    @ApiModelProperty(value = "优惠券说明")
+    private String description;
+
+    @ApiModelProperty(value = "有效期起")
+    private LocalDateTime startDate;
+
+    @ApiModelProperty(value = "有效期止")
+    private LocalDateTime endDate;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionBanner.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionBanner.java
new file mode 100644
index 0000000..01ecde4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionBanner.java
@@ -0,0 +1,70 @@
+package com.ruoyi.promotion.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 轮播图表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_promotion_banner")
+@ApiModel(value = "PromotionBanner对象", description = "轮播图表")
+public class PromotionBanner implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "轮播图id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "轮播图名称")
+    private String bannerName;
+
+    @ApiModelProperty(value = "轮播图类型 1=商城首页 2=资讯首页")
+    private Integer bannerType;
+
+    @ApiModelProperty(value = "图片")
+    private String picUrl;
+
+    @ApiModelProperty(value = "排序 数字越大,权重越大")
+    private Integer sortNum;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionVideo.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionVideo.java
new file mode 100644
index 0000000..5a27c1b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionVideo.java
@@ -0,0 +1,65 @@
+package com.ruoyi.promotion.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 视频表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_promotion_video")
+@ApiModel(value = "PromotionVideo对象", description = "视频表")
+public class PromotionVideo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "视频id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "视频名称")
+    private String videoName;
+
+    @ApiModelProperty(value = "视频链接")
+    private String videoUrl;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionWishList.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionWishList.java
new file mode 100644
index 0000000..61df2e4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/pojo/PromotionWishList.java
@@ -0,0 +1,74 @@
+package com.ruoyi.promotion.domain.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 心愿求购表
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_promotion_wish_list")
+@ApiModel(value = "PromotionWishList对象", description = "心愿求购表")
+public class PromotionWishList implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "心愿求购id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "期望价格")
+    private BigDecimal expectedPrice;
+
+    @ApiModelProperty(value = "商品图片 ['a','b','c','d','e']")
+    private String goodsImageUrl;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "平台回复")
+    private String replies;
+
+    @ApiModelProperty(value = "创建者")
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新者")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/handler/MyMetaObjectHandler.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..e9726aa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/handler/MyMetaObjectHandler.java
@@ -0,0 +1,46 @@
+package com.ruoyi.promotion.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import java.time.LocalDateTime;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+/**
+ * 自动填充处理类
+ *
+ * @author mitao
+ * @date 2024-05-16
+ */
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("createBy", userName, metaObject);
+        fillValue("createTime", LocalDateTime.now(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 获取当前登录用户
+        String userName = SecurityUtils.getUsername();
+        fillValue("updateBy", userName, metaObject);
+        fillValue("updateTime", LocalDateTime.now(), metaObject);
+    }
+
+    private void fillValue(String fieldName, Object data, MetaObject metaObject) {
+        if (metaObject.hasSetter(fieldName)) {
+            // 值为空时设置默认值
+            Object sidObj = getFieldValByName(fieldName, metaObject);
+            if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) {
+                setFieldValByName(fieldName, data, metaObject);
+            }
+        }
+    }
+}
+
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMapper.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMapper.java
new file mode 100644
index 0000000..b9c6007
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.mapper;
+
+import com.ruoyi.promotion.domain.pojo.Coupon;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 优惠券表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface CouponMapper extends BaseMapper<Coupon> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java
new file mode 100644
index 0000000..3109ccb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.mapper;
+
+import com.ruoyi.promotion.domain.pojo.CouponMember;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 优惠券领取表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface CouponMemberMapper extends BaseMapper<CouponMember> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionBannerMapper.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionBannerMapper.java
new file mode 100644
index 0000000..006e40b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionBannerMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.mapper;
+
+import com.ruoyi.promotion.domain.pojo.PromotionBanner;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 轮播图表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface PromotionBannerMapper extends BaseMapper<PromotionBanner> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionVideoMapper.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionVideoMapper.java
new file mode 100644
index 0000000..16a78de
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionVideoMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.mapper;
+
+import com.ruoyi.promotion.domain.pojo.PromotionVideo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 视频表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface PromotionVideoMapper extends BaseMapper<PromotionVideo> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionWishListMapper.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionWishListMapper.java
new file mode 100644
index 0000000..55b6c4b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/PromotionWishListMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.mapper;
+
+import com.ruoyi.promotion.domain.pojo.PromotionWishList;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 心愿求购表 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface PromotionWishListMapper extends BaseMapper<PromotionWishList> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java
new file mode 100644
index 0000000..7e4a567
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.service;
+
+import com.ruoyi.promotion.domain.pojo.CouponMember;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 优惠券领取表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface ICouponMemberService extends IService<CouponMember> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponService.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponService.java
new file mode 100644
index 0000000..f1b99ec
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.service;
+
+import com.ruoyi.promotion.domain.pojo.Coupon;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 优惠券表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface ICouponService extends IService<Coupon> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionBannerService.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionBannerService.java
new file mode 100644
index 0000000..b9f2d5d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionBannerService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.service;
+
+import com.ruoyi.promotion.domain.pojo.PromotionBanner;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 轮播图表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IPromotionBannerService extends IService<PromotionBanner> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionVideoService.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionVideoService.java
new file mode 100644
index 0000000..217cda1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionVideoService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.service;
+
+import com.ruoyi.promotion.domain.pojo.PromotionVideo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 视频表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IPromotionVideoService extends IService<PromotionVideo> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionWishListService.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionWishListService.java
new file mode 100644
index 0000000..87a8f40
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionWishListService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.promotion.service;
+
+import com.ruoyi.promotion.domain.pojo.PromotionWishList;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 心愿求购表 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+public interface IPromotionWishListService extends IService<PromotionWishList> {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
new file mode 100644
index 0000000..c087358
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.service.impl;
+
+import com.ruoyi.promotion.domain.pojo.CouponMember;
+import com.ruoyi.promotion.mapper.CouponMemberMapper;
+import com.ruoyi.promotion.service.ICouponMemberService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 优惠券领取表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponServiceImpl.java
new file mode 100644
index 0000000..db98a7f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.service.impl;
+
+import com.ruoyi.promotion.domain.pojo.Coupon;
+import com.ruoyi.promotion.mapper.CouponMapper;
+import com.ruoyi.promotion.service.ICouponService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 优惠券表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements ICouponService {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java
new file mode 100644
index 0000000..2284bd2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.service.impl;
+
+import com.ruoyi.promotion.domain.pojo.PromotionBanner;
+import com.ruoyi.promotion.mapper.PromotionBannerMapper;
+import com.ruoyi.promotion.service.IPromotionBannerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 轮播图表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class PromotionBannerServiceImpl extends ServiceImpl<PromotionBannerMapper, PromotionBanner> implements IPromotionBannerService {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionVideoServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionVideoServiceImpl.java
new file mode 100644
index 0000000..1b21f6a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionVideoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.service.impl;
+
+import com.ruoyi.promotion.domain.pojo.PromotionVideo;
+import com.ruoyi.promotion.mapper.PromotionVideoMapper;
+import com.ruoyi.promotion.service.IPromotionVideoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 视频表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class PromotionVideoServiceImpl extends ServiceImpl<PromotionVideoMapper, PromotionVideo> implements IPromotionVideoService {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java
new file mode 100644
index 0000000..02ca19d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.promotion.service.impl;
+
+import com.ruoyi.promotion.domain.pojo.PromotionWishList;
+import com.ruoyi.promotion.mapper.PromotionWishListMapper;
+import com.ruoyi.promotion.service.IPromotionWishListService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 心愿求购表 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Service
+public class PromotionWishListServiceImpl extends ServiceImpl<PromotionWishListMapper, PromotionWishList> implements IPromotionWishListService {
+
+}
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMapper.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMapper.xml
new file mode 100644
index 0000000..2a6876b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.promotion.mapper.CouponMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMemberMapper.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMemberMapper.xml
new file mode 100644
index 0000000..8628a06
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/CouponMemberMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.promotion.mapper.CouponMemberMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionBannerMapper.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionBannerMapper.xml
new file mode 100644
index 0000000..7ac84db
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionBannerMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.promotion.mapper.PromotionBannerMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionVideoMapper.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionVideoMapper.xml
new file mode 100644
index 0000000..426922f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionVideoMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.promotion.mapper.PromotionVideoMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionWishListMapper.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionWishListMapper.xml
new file mode 100644
index 0000000..4feed47
--- /dev/null
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mapper/promotion/PromotionWishListMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.promotion.mapper.PromotionWishListMapper">
+
+</mapper>
diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml
index 6bd8b03..f7a8772 100644
--- a/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml
+++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
         <setting name="cacheEnabled" value="true"/>
         <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
         <!-- <setting name="lazyLoadingEnabled" value="true"/> -->
-        <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+        <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
         <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
         <!-- <setting name="aggressiveLazyLoading" value="false"/>-->
         <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->

--
Gitblit v1.7.1