From d341cabc39c63ba77c20a43d0074c633746ccb81 Mon Sep 17 00:00:00 2001
From: yangjun <1173114630@qq.com>
Date: Wed, 5 Jun 2024 19:12:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 41 +
README.md | 71 +
build.bat | 3 +
db/anmo.sql | 2977 +++++++++++++++++
db/sql脚本 | 25 +
db/三期/artificer_partitioning_details.sql | 55 +
gxdm.bat | 6 +
hs_err_pid36964.log | 245 ++
pom.xml | 533 +++
run.bat | 5 +
script/fb.bat | 19 +
script/findps.sh | 1 +
script/killJar.sh | 2 +
script/run.sh | 6 +
src/main/java/com/sqx/SqxApplication.java | 32 +
.../com/sqx/common/annotation/SysLog.java | 19 +
.../com/sqx/common/aspect/RedisAspect.java | 37 +
.../com/sqx/common/aspect/SysLogAspect.java | 92 +
.../sqx/common/exception/SqxException.java | 52 +
.../common/exception/SqxExceptionHandler.java | 55 +
.../com/sqx/common/utils/ConfigConstant.java | 12 +
.../java/com/sqx/common/utils/Constant.java | 110 +
.../java/com/sqx/common/utils/DateUtils.java | 157 +
.../sqx/common/utils/HttpContextUtils.java | 24 +
.../java/com/sqx/common/utils/IPUtils.java | 49 +
.../java/com/sqx/common/utils/ListUtils.java | 54 +
.../java/com/sqx/common/utils/MapUtils.java | 17 +
.../java/com/sqx/common/utils/PageUtils.java | 101 +
.../java/com/sqx/common/utils/QRCodeUtil.java | 175 +
src/main/java/com/sqx/common/utils/Query.java | 68 +
.../java/com/sqx/common/utils/RedisKeys.java | 12 +
.../java/com/sqx/common/utils/RedisUtils.java | 95 +
.../java/com/sqx/common/utils/Result.java | 56 +
.../java/com/sqx/common/utils/ShiroUtils.java | 52 +
.../sqx/common/utils/SpringContextUtils.java | 46 +
.../java/com/sqx/common/validator/Assert.java | 23 +
.../sqx/common/validator/ValidatorUtils.java | 14 +
.../sqx/common/validator/group/AddGroup.java | 8 +
.../common/validator/group/AliyunGroup.java | 8 +
.../common/validator/group/QcloudGroup.java | 8 +
.../common/validator/group/QiniuGroup.java | 8 +
.../common/validator/group/UpdateGroup.java | 10 +
.../common/websocket/WebSocketMessage.java | 39 +
.../sqx/common/websocket/WebSocketServer.java | 140 +
.../java/com/sqx/common/xss/HTMLFilter.java | 526 +++
.../java/com/sqx/common/xss/SQLFilter.java | 41 +
.../java/com/sqx/common/xss/XssFilter.java | 46 +
.../xss/XssHttpServletRequestWrapper.java | 138 +
src/main/java/com/sqx/config/CorsConfig.java | 47 +
.../java/com/sqx/config/FilterConfig.java | 40 +
.../java/com/sqx/config/KaptchaConfig.java | 30 +
.../com/sqx/config/MybatisPlusConfig.java | 22 +
src/main/java/com/sqx/config/RedisConfig.java | 54 +
src/main/java/com/sqx/config/ShiroConfig.java | 106 +
.../java/com/sqx/config/SwaggerConfig.java | 55 +
.../sqx/datasource/annotation/DataSource.java | 14 +
.../datasource/aspect/DataSourceAspect.java | 61 +
.../config/DynamicContextHolder.java | 47 +
.../datasource/config/DynamicDataSource.java | 15 +
.../config/DynamicDataSourceConfig.java | 53 +
.../config/DynamicDataSourceFactory.java | 44 +
.../properties/DataSourceProperties.java | 192 ++
.../DynamicDataSourceProperties.java | 22 +
src/main/java/com/sqx/ffmpeg/FFmpeg.java | 388 +++
src/main/java/com/sqx/map/CommonMapUtils.java | 352 ++
.../com/sqx/modules/app/annotation/Login.java | 12 +
.../sqx/modules/app/annotation/LoginUser.java | 16 +
.../sqx/modules/app/config/WebMvcConfig.java | 38 +
.../app/controller/AddressController.java | 43 +
.../app/controller/AppUpgradeController.java | 70 +
.../app/controller/UserBrowseController.java | 45 +
.../UserCertificationController.java | 58 +
.../app/controller/UserController.java | 632 ++++
.../app/controller/UserFollowController.java | 47 +
.../UserMoneyDetailsController.java | 101 +
.../app/controller/VipDetailsController.java | 48 +
.../controller/app/AppAddressController.java | 105 +
.../app/controller/app/AppController.java | 256 ++
.../controller/app/AppLoginController.java | 211 ++
.../app/AppUserBrowseController.java | 55 +
.../app/AppUserCertificationController.java | 67 +
.../app/AppUserFollowController.java | 56 +
.../app/AppUserMoneyController.java | 158 +
.../controller/app/AppUserVipController.java | 37 +
.../app/AppVipDetailsController.java | 46 +
.../com/sqx/modules/app/dao/AddressDao.java | 20 +
.../java/com/sqx/modules/app/dao/AppDao.java | 20 +
.../java/com/sqx/modules/app/dao/MsgDao.java | 20 +
.../sqx/modules/app/dao/UserBrowseDao.java | 21 +
.../modules/app/dao/UserCertificationDao.java | 20 +
.../java/com/sqx/modules/app/dao/UserDao.java | 55 +
.../sqx/modules/app/dao/UserFollowDao.java | 26 +
.../app/dao/UserMoneyArtificerDao.java | 14 +
.../com/sqx/modules/app/dao/UserMoneyDao.java | 17 +
.../modules/app/dao/UserMoneyDetailsDao.java | 16 +
.../com/sqx/modules/app/dao/UserVipDao.java | 9 +
.../sqx/modules/app/dao/UserVisitorDao.java | 17 +
.../sqx/modules/app/dao/VipDetailsDao.java | 9 +
.../sqx/modules/app/dao/VipDiscountDao.java | 11 +
.../com/sqx/modules/app/entity/Address.java | 74 +
.../java/com/sqx/modules/app/entity/App.java | 37 +
.../sqx/modules/app/entity/AppUserInfo.java | 23 +
.../java/com/sqx/modules/app/entity/Msg.java | 27 +
.../sqx/modules/app/entity/UserBrowse.java | 54 +
.../modules/app/entity/UserCertification.java | 105 +
.../sqx/modules/app/entity/UserDetails.java | 27 +
.../sqx/modules/app/entity/UserEntity.java | 243 ++
.../sqx/modules/app/entity/UserFollow.java | 48 +
.../com/sqx/modules/app/entity/UserMoney.java | 48 +
.../app/entity/UserMoneyArtificer.java | 60 +
.../modules/app/entity/UserMoneyDetails.java | 89 +
.../modules/app/entity/UserMoneyResult.java | 52 +
.../com/sqx/modules/app/entity/UserVip.java | 42 +
.../sqx/modules/app/entity/UserVisitor.java | 41 +
.../sqx/modules/app/entity/VipDetails.java | 38 +
.../sqx/modules/app/entity/VipDiscount.java | 32 +
.../com/sqx/modules/app/form/LoginForm.java | 20 +
.../sqx/modules/app/form/RegisterForm.java | 20 +
.../interceptor/AuthorizationInterceptor.java | 63 +
...oginUserHandlerMethodArgumentResolver.java | 44 +
.../app/response/CourseOrderResponse.java | 25 +
.../app/response/HomeMessageResponse.java | 52 +
.../app/response/TakingOrderResponse.java | 20 +
.../app/response/UserFollowResponse.java | 58 +
.../app/response/UserMessageResponse.java | 25 +
.../modules/app/service/AddressService.java | 19 +
.../sqx/modules/app/service/AppService.java | 25 +
.../modules/app/service/IAppleService.java | 10 +
.../sqx/modules/app/service/MsgService.java | 17 +
.../app/service/UserBrowseService.java | 32 +
.../app/service/UserCertificationService.java | 25 +
.../app/service/UserFollowService.java | 32 +
.../service/UserMoneyArtificerService.java | 17 +
.../app/service/UserMoneyDetailsService.java | 26 +
.../modules/app/service/UserMoneyService.java | 28 +
.../sqx/modules/app/service/UserService.java | 222 ++
.../modules/app/service/UserVipService.java | 12 +
.../app/service/VipDetailsService.java | 23 +
.../app/service/impl/AddressServiceImpl.java | 27 +
.../app/service/impl/AppServiceImpl.java | 45 +
.../app/service/impl/AppleServiceImpl.java | 156 +
.../app/service/impl/MsgServiceImpl.java | 30 +
.../service/impl/UserBrowseServiceImpl.java | 135 +
.../service/impl/UserCertificationImpl.java | 267 ++
.../service/impl/UserFollowServiceImpl.java | 139 +
.../impl/UserMoneyArtificerServiceImpl.java | 32 +
.../impl/UserMoneyDetailsServiceImpl.java | 355 ++
.../service/impl/UserMoneyServiceImpl.java | 139 +
.../app/service/impl/UserServiceImpl.java | 1275 +++++++
.../app/service/impl/UserVipServiceImpl.java | 65 +
.../service/impl/VipDetailsServiceImpl.java | 27 +
.../com/sqx/modules/app/utils/JwtUtils.java | 86 +
.../app/utils/UserConstantInterface.java | 53 +
.../com/sqx/modules/app/utils/WxPhone.java | 14 +
.../apply/controller/ApplyController.java | 64 +
.../controller/app/AppApplyController.java | 58 +
.../com/sqx/modules/apply/dao/ApplyDao.java | 16 +
.../com/sqx/modules/apply/entity/Apply.java | 77 +
.../modules/apply/service/ApplyService.java | 23 +
.../apply/service/impl/ApplyServiceImpl.java | 101 +
.../controller/ArtificerController.java | 501 +++
.../controller/ArtificerTimeController.java | 47 +
.../controller/RealNameController.java | 89 +
.../app/AppArtificerController.java | 497 +++
.../app/AppArtificerIntegralController.java | 114 +
.../app/AppArtificerTimeController.java | 43 +
.../controller/app/AppRealNameController.java | 55 +
.../app/DividedIntoDetailsController.java | 43 +
.../controller/app/FundDetailsController.java | 31 +
.../sqx/modules/artificer/dao/AgencyDao.java | 17 +
.../modules/artificer/dao/ArtificerDao.java | 35 +
.../artificer/dao/ArtificerMassageDao.java | 20 +
.../artificer/dao/ArtificerTimeDao.java | 17 +
.../artificer/dao/CollectArtificerDao.java | 21 +
.../modules/artificer/dao/MassageTypeDao.java | 25 +
.../sqx/modules/artificer/dao/OrdersDao.java | 109 +
.../artificer/dao/OrdersMassageDao.java | 15 +
.../modules/artificer/dao/RealNameDao.java | 16 +
.../artificer/dao/UserRechargeDao.java | 37 +
.../sqx/modules/artificer/entity/Agency.java | 66 +
.../modules/artificer/entity/Artificer.java | 179 +
.../artificer/entity/ArtificerMassage.java | 136 +
.../artificer/entity/ArtificerTime.java | 59 +
.../artificer/entity/Certification.java | 98 +
.../artificer/entity/CollectArtificer.java | 51 +
.../artificer/entity/FundDetailsResult.java | 44 +
.../modules/artificer/entity/MassageType.java | 137 +
.../sqx/modules/artificer/entity/Orders.java | 363 ++
.../artificer/entity/OrdersMassage.java | 45 +
.../sqx/modules/artificer/entity/Period.java | 59 +
.../entity/UserMoneyArtificerDetails.java | 49 +
.../artificer/entity/UserRecharge.java | 54 +
.../artificer/service/AgencyService.java | 15 +
.../service/AppArtificerIntegralService.java | 19 +
.../service/ArtificerMassageService.java | 23 +
.../artificer/service/ArtificerService.java | 40 +
.../service/ArtificerTimeService.java | 17 +
.../service/CollectArtificerService.java | 19 +
.../artificer/service/MassageTypeService.java | 19 +
.../service/OrdersMassageService.java | 11 +
.../artificer/service/OrdersService.java | 100 +
.../artificer/service/RealNameService.java | 25 +
.../service/impl/AgencyServiceImpl.java | 64 +
.../impl/AppArtificerIntegralServiceImpl.java | 536 +++
.../impl/ArtificerMassageServiceImpl.java | 100 +
.../service/impl/ArtificerServiceImpl.java | 425 +++
.../impl/ArtificerTimeServiceImpl.java | 102 +
.../impl/CollectArtificerServiceImpl.java | 254 ++
.../service/impl/MassageTypeServiceImpl.java | 58 +
.../impl/OrdersMassageServiceImpl.java | 18 +
.../service/impl/OrdersServiceImpl.java | 2646 +++++++++++++++
.../service/impl/RealNameServiceImpl.java | 259 ++
.../com/sqx/modules/artificer/vo/HomeVO.java | 82 +
.../modules/artificer/vo/UserArtificerVO.java | 27 +
.../banner/controller/ActivityController.java | 97 +
.../banner/controller/BannerController.java | 86 +
.../controller/app/AppBannerController.java | 38 +
.../sqx/modules/banner/dao/ActivityDao.java | 19 +
.../com/sqx/modules/banner/dao/BannerDao.java | 27 +
.../sqx/modules/banner/entity/Activity.java | 29 +
.../com/sqx/modules/banner/entity/Banner.java | 67 +
.../banner/service/ActivityService.java | 27 +
.../modules/banner/service/BannerService.java | 30 +
.../service/impl/ActivityServiceImpl.java | 65 +
.../service/impl/BannerServiceImpl.java | 95 +
.../chat/controller/ChatController.java | 50 +
.../controller/app/AppChatController.java | 65 +
.../chat/controller/app/AppChatSocket.java | 181 +
.../sqx/modules/chat/dao/ChatContentDao.java | 25 +
.../modules/chat/dao/ChatConversationDao.java | 22 +
.../sqx/modules/chat/entity/ChatContent.java | 52 +
.../modules/chat/entity/ChatConversation.java | 47 +
.../chat/service/ChatContentService.java | 17 +
.../chat/service/ChatConversationService.java | 20 +
.../service/impl/ChatContentServiceImpl.java | 39 +
.../impl/ChatConversationServiceImpl.java | 75 +
.../controller/ChatsContentController.java | 55 +
.../chats/controller/ChatsController.java | 69 +
.../modules/chats/controller/WebSocket.java | 164 +
.../controller/app/AppChatsController.java | 35 +
.../com/sqx/modules/chats/entity/Chats.java | 44 +
.../modules/chats/entity/ChatsContent.java | 39 +
.../respository/ChatContentRepository.java | 42 +
.../chats/respository/ChatRepository.java | 77 +
.../chats/service/ChatsContentService.java | 39 +
.../service/ChatsContentServiceImpl.java | 140 +
.../modules/chats/service/ChatsService.java | 43 +
.../chats/service/ChatsServiceImpl.java | 134 +
.../com/sqx/modules/chats/utils/DateUtil.java | 547 +++
.../chats/utils/DescribeException.java | 34 +
.../modules/chats/utils/ExceptionEnum.java | 49 +
.../com/sqx/modules/chats/utils/Result.java | 51 +
.../sqx/modules/chats/utils/ResultUtil.java | 56 +
.../common/controller/CommonController.java | 90 +
.../controller/app/AppCommonController.java | 64 +
.../ArtificerPartitioningDetailsMapper.java | 23 +
.../sqx/modules/common/dao/CommonInfoDao.java | 24 +
.../entity/ArtificerPartitioningDetails.java | 52 +
.../sqx/modules/common/entity/CommonInfo.java | 33 +
.../common/service/CommonInfoService.java | 50 +
.../service/impl/CommonInfoServiceImpl.java | 87 +
.../controller/ConsortiaController.java | 87 +
.../app/AppConsortiaController.java | 42 +
.../modules/consortia/dao/ConsortiaDao.java | 19 +
.../modules/consortia/entity/Consortia.java | 94 +
.../consortia/service/ConsortiaService.java | 29 +
.../service/impl/ConsortiaServiceImpl.java | 133 +
.../controller/CouponCardController.java | 96 +
.../coupon/controller/CouponController.java | 56 +
.../controller/CouponIssueController.java | 58 +
.../controller/CouponUserController.java | 46 +
.../app/AppCouponCardController.java | 39 +
.../app/AppCouponIssueController.java | 39 +
.../app/AppCouponUserController.java | 59 +
.../sqx/modules/coupon/dao/CouponCardDao.java | 11 +
.../modules/coupon/dao/CouponCardTypeDao.java | 11 +
.../com/sqx/modules/coupon/dao/CouponDao.java | 18 +
.../modules/coupon/dao/CouponIssueDao.java | 14 +
.../sqx/modules/coupon/dao/CouponUserDao.java | 32 +
.../com/sqx/modules/coupon/entity/Coupon.java | 45 +
.../sqx/modules/coupon/entity/CouponCard.java | 57 +
.../modules/coupon/entity/CouponCardType.java | 60 +
.../modules/coupon/entity/CouponIssue.java | 93 +
.../sqx/modules/coupon/entity/CouponUser.java | 77 +
.../coupon/service/CouponCardService.java | 20 +
.../coupon/service/CouponCardTypeService.java | 11 +
.../coupon/service/CouponIssueService.java | 15 +
.../modules/coupon/service/CouponService.java | 23 +
.../coupon/service/CouponUserService.java | 25 +
.../service/impl/CouponCardServiceImpl.java | 192 ++
.../impl/CouponCardTypeServiceImpl.java | 50 +
.../service/impl/CouponIssueServiceImpl.java | 132 +
.../service/impl/CouponServiceImpl.java | 85 +
.../service/impl/CouponUserServiceImpl.java | 135 +
.../modules/file/AliFileUploadController.java | 300 ++
.../modules/file/utils/DescribeException.java | 34 +
.../sqx/modules/file/utils/ExceptionEnum.java | 49 +
.../modules/file/utils/FileUploadUtils.java | 238 ++
.../com/sqx/modules/file/utils/FileUtils.java | 137 +
.../com/sqx/modules/file/utils/ImageUtil.java | 251 ++
.../com/sqx/modules/file/utils/Md5Utils.java | 140 +
.../sqx/modules/file/utils/MimeTypeUtils.java | 59 +
.../controller/HelpWordController.java | 112 +
.../controller/app/AppHelpWordController.java | 48 +
.../helpCenter/dao/HelpClassifyDao.java | 12 +
.../modules/helpCenter/dao/HelpWordDao.java | 12 +
.../helpCenter/entity/HelpClassify.java | 60 +
.../modules/helpCenter/entity/HelpWord.java | 51 +
.../service/HelpClassifyService.java | 10 +
.../helpCenter/service/HelpWordService.java | 11 +
.../service/impl/HelpClassifyServiceImpl.java | 23 +
.../service/impl/HelpWordServiceImpl.java | 23 +
.../invite/controller/InviteController.java | 143 +
.../controller/app/AppInviteController.java | 98 +
.../com/sqx/modules/invite/dao/InviteDao.java | 41 +
.../modules/invite/dao/InviteMoneyDao.java | 23 +
.../com/sqx/modules/invite/entity/Invite.java | 50 +
.../modules/invite/entity/InviteMoney.java | 44 +
.../invite/service/InviteMoneyService.java | 20 +
.../modules/invite/service/InviteService.java | 33 +
.../service/impl/InviteMoneyServiceImpl.java | 42 +
.../service/impl/InviteServiceImpl.java | 196 ++
.../com/sqx/modules/map/MapWebSocket.java | 203 ++
.../controller/MaterialController.java | 138 +
.../controller/MaterialRecordController.java | 44 +
.../controller/app/AppMaterialController.java | 30 +
.../material/dao/MaterialArtificerMapper.java | 20 +
.../modules/material/dao/MaterialMapper.java | 77 +
.../material/dao/MaterialMassageMapper.java | 20 +
.../material/dao/MaterialRecordMapper.java | 25 +
.../sqx/modules/material/entity/Material.java | 74 +
.../material/entity/MaterialArtificer.java | 82 +
.../entity/MaterialArtificerResult.java | 42 +
.../material/entity/MaterialMassage.java | 77 +
.../entity/MaterialMassageResult.java | 46 +
.../material/entity/MaterialRecord.java | 58 +
.../service/MaterialArtificerService.java | 23 +
.../service/MaterialMassageService.java | 19 +
.../service/MaterialRecordService.java | 18 +
.../material/service/MaterialService.java | 78 +
.../impl/MaterialArtificerServiceImpl.java | 171 +
.../impl/MaterialMassageServiceImpl.java | 53 +
.../impl/MaterialRecordServiceImpl.java | 44 +
.../service/impl/MaterialServiceImpl.java | 201 ++
.../member/controller/MemberController.java | 56 +
.../controller/app/AppMemberController.java | 27 +
.../com/sqx/modules/member/dao/MemberDao.java | 12 +
.../com/sqx/modules/member/entity/Member.java | 42 +
.../modules/member/service/MemberService.java | 19 +
.../service/impl/MemberServiceImpl.java | 56 +
.../controller/ActivityMessageController.java | 84 +
.../controller/MessageAudioController.java | 67 +
.../message/controller/MessageController.java | 193 ++
.../controller/app/AppMessageController.java | 111 +
.../message/dao/ActivityMessageInfoDao.java | 28 +
.../message/dao/MessageInfoAudioDao.java | 28 +
.../modules/message/dao/MessageInfoDao.java | 31 +
.../message/entity/ActivityMessageInfo.java | 49 +
.../modules/message/entity/MessageInfo.java | 91 +
.../message/entity/MessageInfoAudio.java | 43 +
.../service/ActivityMessageService.java | 34 +
.../message/service/MessageAudioService.java | 41 +
.../message/service/MessageService.java | 44 +
.../impl/ActivityMessageServiceImpl.java | 94 +
.../service/impl/MessageAudioServiceImpl.java | 175 +
.../service/impl/MessageServiceImpl.java | 239 ++
.../sqx/modules/monitor/MonitorWebSocket.java | 402 +++
.../modules/pay/config/AliPayConstants.java | 44 +
.../com/sqx/modules/pay/config/WXConfig.java | 89 +
.../pay/controller/CashController.java | 520 +++
.../pay/controller/PayClassifyController.java | 80 +
.../pay/controller/app/AliPayController.java | 994 ++++++
.../app/ApiWeiXinPayController.java | 307 ++
.../pay/controller/app/AppCashController.java | 71 +
.../app/AppPayClassifyController.java | 49 +
.../com/sqx/modules/pay/dao/CashOutDao.java | 52 +
.../sqx/modules/pay/dao/PayClassifyDao.java | 16 +
.../sqx/modules/pay/dao/PayDetailsDao.java | 48 +
.../modules/pay/entity/AliPayParamModel.java | 33 +
.../pay/entity/AliPayWithdrawModel.java | 51 +
.../com/sqx/modules/pay/entity/CashOut.java | 127 +
.../sqx/modules/pay/entity/PayClassify.java | 56 +
.../sqx/modules/pay/entity/PayDetails.java | 80 +
.../modules/pay/service/CashOutService.java | 52 +
.../pay/service/PayClassifyService.java | 11 +
.../pay/service/PayDetailsService.java | 27 +
.../sqx/modules/pay/service/WxService.java | 35 +
.../pay/service/impl/CashOutServiceImpl.java | 393 +++
.../service/impl/PayClassifyServiceImpl.java | 23 +
.../service/impl/PayDetailsServiceImpl.java | 82 +
.../pay/service/impl/WxServiceImpl.java | 1197 +++++++
.../risk/controller/RiskController.java | 54 +
.../controller/app/AppRiskController.java | 56 +
.../com/sqx/modules/risk/dao/RiskDao.java | 19 +
.../com/sqx/modules/risk/entity/Risk.java | 56 +
.../sqx/modules/risk/service/RiskService.java | 15 +
.../risk/service/impl/RiskServiceImpl.java | 52 +
.../search/Response/SearchResponse.java | 22 +
.../search/controller/SearchController.java | 46 +
.../controller/app/AppSearchController.java | 46 +
.../sqx/modules/search/dao/AppSearchDao.java | 26 +
.../com/sqx/modules/search/dao/SearchDao.java | 9 +
.../com/sqx/modules/search/entity/Search.java | 35 +
.../search/service/AppSearchService.java | 17 +
.../modules/search/service/SearchService.java | 11 +
.../service/impl/AppSearchServiceImpl.java | 106 +
.../service/impl/SearchServiceImpl.java | 31 +
.../shopping/controller/AdvertController.java | 52 +
.../controller/CouponsController.java | 64 +
.../shopping/controller/GoodsController.java | 205 ++
.../controller/GoodsTypeController.java | 67 +
.../shopping/controller/OrdersController.java | 195 ++
.../controller/OrdersRelationController.java | 60 +
.../shopping/controller/OrdersTask.java | 57 +
.../controller/SelfActivityController.java | 78 +
.../controller/SelfBannerController.java | 52 +
.../controller/SelfGoodsBrandController.java | 56 +
.../SelfGoodsCommentController.java | 76 +
.../controller/SelfGoodsRuleController.java | 49 +
.../SelfGoodsVirtualController.java | 57 +
.../SelfMerchantApplyController.java | 71 +
.../controller/SelfUserCollectController.java | 54 +
.../modules/shopping/controller/SkuUtil.java | 48 +
.../controller/app/AppAdvertController.java | 34 +
.../controller/app/AppCouponsController.java | 47 +
.../controller/app/AppGoodsController.java | 148 +
.../app/AppGoodsTypeController.java | 49 +
.../controller/app/AppOrdersController.java | 130 +
.../app/AppOrdersRelationController.java | 61 +
.../app/AppSelfActivityController.java | 49 +
.../app/AppSelfAliPayController.java | 378 +++
.../app/AppSelfBannerController.java | 33 +
.../app/AppSelfGoodsBrandController.java | 37 +
.../app/AppSelfGoodsCommentController.java | 62 +
.../app/AppSelfGoodsRuleController.java | 49 +
.../app/AppSelfGoodsVirtualController.java | 57 +
.../app/AppSelfMerchantApplyController.java | 71 +
.../app/AppSelfUserCollectController.java | 54 +
.../app/AppSelfWXPayController.java | 115 +
.../shopping/dao/AdvertJpaRepository.java | 11 +
.../shopping/dao/AdvertRepository.java | 9 +
.../shopping/dao/CouponsJpaRepository.java | 20 +
.../shopping/dao/CouponsRepository.java | 9 +
.../dao/CouponsUserJpaRepository.java | 20 +
.../shopping/dao/CouponsUserRepository.java | 9 +
.../shopping/dao/GoodsJpaRepository.java | 21 +
.../modules/shopping/dao/GoodsRepository.java | 9 +
.../shopping/dao/GoodsTypeJpaRepository.java | 15 +
.../shopping/dao/GoodsTypeRepository.java | 24 +
.../shopping/dao/OrdersJpaRepository.java | 31 +
.../dao/OrdersRelationJpaRepository.java | 22 +
.../dao/OrdersRelationRepository.java | 46 +
.../shopping/dao/OrdersRepository.java | 29 +
.../dao/SelfActivityJpaRepository.java | 13 +
.../shopping/dao/SelfActivityRepository.java | 14 +
.../shopping/dao/SelfBannerJpaRepository.java | 11 +
.../shopping/dao/SelfBannerRepository.java | 9 +
.../dao/SelfGoodsAttrJpaRepository.java | 24 +
.../shopping/dao/SelfGoodsAttrRepository.java | 18 +
.../dao/SelfGoodsAttrValueJpaRepository.java | 28 +
.../dao/SelfGoodsAttrValueRepository.java | 18 +
.../dao/SelfGoodsBrandJpaRepository.java | 22 +
.../dao/SelfGoodsBrandRepository.java | 9 +
.../dao/SelfGoodsCommentJpaRepository.java | 28 +
.../dao/SelfGoodsCommentRepository.java | 9 +
.../dao/SelfGoodsRuleJpaRepository.java | 16 +
.../shopping/dao/SelfGoodsRuleRepository.java | 9 +
.../dao/SelfGoodsRuleValueJpaRepository.java | 20 +
.../dao/SelfGoodsRuleValueRepository.java | 9 +
.../dao/SelfGoodsSkuJpaRepository.java | 45 +
.../shopping/dao/SelfGoodsSkuRepository.java | 9 +
.../dao/SelfGoodsVirtualJpaRepository.java | 55 +
.../dao/SelfGoodsVirtualRepository.java | 9 +
.../dao/SelfMerchantApplyJpaRepository.java | 22 +
.../dao/SelfMerchantApplyRepository.java | 8 +
.../dao/SelfOrdersRemindJpaRepository.java | 25 +
.../dao/SelfOrdersRemindRepository.java | 11 +
.../dao/SelfUserCollectJpaRepository.java | 26 +
.../dao/SelfUserCollectRepository.java | 9 +
.../sqx/modules/shopping/entity/Adverti.java | 51 +
.../sqx/modules/shopping/entity/Coupons.java | 112 +
.../modules/shopping/entity/CouponsUser.java | 91 +
.../modules/shopping/entity/GoodsType.java | 29 +
.../shopping/entity/GoodsTypeResult.java | 16 +
.../modules/shopping/entity/SelfActivity.java | 73 +
.../modules/shopping/entity/SelfBanner.java | 61 +
.../modules/shopping/entity/SelfGoods.java | 77 +
.../shopping/entity/SelfGoodsAttr.java | 25 +
.../shopping/entity/SelfGoodsAttrValue.java | 25 +
.../shopping/entity/SelfGoodsBrand.java | 22 +
.../shopping/entity/SelfGoodsComment.java | 47 +
.../shopping/entity/SelfGoodsRule.java | 23 +
.../shopping/entity/SelfGoodsRuleValue.java | 22 +
.../modules/shopping/entity/SelfGoodsSku.java | 32 +
.../shopping/entity/SelfGoodsVirtual.java | 52 +
.../shopping/entity/SelfMerchantApply.java | 77 +
.../shopping/entity/SelfOrderRelation.java | 51 +
.../shopping/entity/SelfOrderRemind.java | 23 +
.../modules/shopping/entity/SelfOrders.java | 118 +
.../shopping/entity/SelfUserCollect.java | 32 +
.../shopping/service/AdvertService.java | 22 +
.../shopping/service/CouponsService.java | 36 +
.../shopping/service/CouponsUserService.java | 22 +
.../shopping/service/GoodsService.java | 80 +
.../shopping/service/GoodsTypeService.java | 28 +
.../service/OrdersRelationService.java | 43 +
.../shopping/service/OrdersService.java | 88 +
.../shopping/service/SelfAliPayService.java | 7 +
.../service/SelfGoodsAttrService.java | 21 +
.../service/SelfGoodsBrandService.java | 26 +
.../service/SelfGoodsCommentService.java | 35 +
.../service/SelfGoodsRuleService.java | 25 +
.../shopping/service/SelfGoodsSkuService.java | 17 +
.../service/SelfGoodsVirtualService.java | 29 +
.../service/SelfMerchantApplyService.java | 45 +
.../service/SelfUserCollectService.java | 26 +
.../shopping/service/SelfWXService.java | 27 +
.../shopping/service/SlefBannerService.java | 22 +
.../service/impl/AdvertServiceImpl.java | 48 +
.../service/impl/CouponsServiceImpl.java | 158 +
.../service/impl/CouponsUserServiceImpl.java | 52 +
.../service/impl/GoodsTypeServiceImpl.java | 117 +
.../impl/OrdersRelationServiceImpl.java | 208 ++
.../impl/SelUserCollectServiceImpl.java | 93 +
.../service/impl/SelfAliPayServiceImpl.java | 45 +
.../service/impl/SelfBannerServiceImpl.java | 48 +
.../impl/SelfGoodsAttrServiceImpl.java | 69 +
.../impl/SelfGoodsBrandServiceImpl.java | 67 +
.../impl/SelfGoodsCommentServiceImpl.java | 144 +
.../impl/SelfGoodsRuleServiceImpl.java | 85 +
.../service/impl/SelfGoodsServiceImpl.java | 705 ++++
.../service/impl/SelfGoodsSkuServiceImpl.java | 39 +
.../impl/SelfGoodsVirtualServiceImpl.java | 106 +
.../impl/SelfMerchantApplyServiceImpl.java | 131 +
.../service/impl/SelfOrdersServiceImpl.java | 968 ++++++
.../service/impl/SelfWXServiceImpl.java | 341 ++
.../modules/shopping/utils/AmountCalUtil.java | 62 +
.../sqx/modules/shopping/utils/DateUtil.java | 439 +++
.../modules/shopping/utils/ExceptionEnum.java | 49 +
.../sqx/modules/shopping/utils/Result.java | 51 +
.../modules/shopping/utils/ResultUtil.java | 64 +
.../modules/shopping/utils/WXConfigUtil.java | 78 +
.../shopping/utils/excel/ExcelData.java | 34 +
.../shopping/utils/excel/ExcelUtils.java | 171 +
.../utils/excel/ExportExcelUtils.java | 209 ++
.../sys/controller/AbstractController.java | 22 +
.../sys/controller/SysConfigController.java | 89 +
.../sys/controller/SysDictController.java | 90 +
.../sys/controller/SysLogController.java | 39 +
.../sys/controller/SysLoginController.java | 91 +
.../sys/controller/SysMenuController.java | 183 +
.../sys/controller/SysRoleController.java | 117 +
.../sys/controller/SysUserController.java | 145 +
.../sys/controller/app/AppDictController.java | 35 +
.../sqx/modules/sys/dao/SysCaptchaDao.java | 14 +
.../com/sqx/modules/sys/dao/SysConfigDao.java | 26 +
.../com/sqx/modules/sys/dao/SysDictDao.java | 14 +
.../com/sqx/modules/sys/dao/SysLogDao.java | 15 +
.../com/sqx/modules/sys/dao/SysMenuDao.java | 27 +
.../com/sqx/modules/sys/dao/SysRoleDao.java | 20 +
.../sqx/modules/sys/dao/SysRoleMenuDao.java | 25 +
.../com/sqx/modules/sys/dao/SysUserDao.java | 32 +
.../sqx/modules/sys/dao/SysUserRoleDao.java | 26 +
.../sqx/modules/sys/dao/SysUserTokenDao.java | 16 +
.../modules/sys/entity/SysCaptchaEntity.java | 28 +
.../modules/sys/entity/SysConfigEntity.java | 21 +
.../sqx/modules/sys/entity/SysDictEntity.java | 58 +
.../sqx/modules/sys/entity/SysLogEntity.java | 36 +
.../sqx/modules/sys/entity/SysMenuEntity.java | 76 +
.../sqx/modules/sys/entity/SysRoleEntity.java | 51 +
.../modules/sys/entity/SysRoleMenuEntity.java | 31 +
.../sqx/modules/sys/entity/SysUserEntity.java | 75 +
.../modules/sys/entity/SysUserRoleEntity.java | 31 +
.../sys/entity/SysUserTokenEntity.java | 31 +
.../sqx/modules/sys/form/PasswordForm.java | 20 +
.../sqx/modules/sys/form/SysLoginForm.java | 17 +
.../sqx/modules/sys/oauth2/OAuth2Filter.java | 101 +
.../sqx/modules/sys/oauth2/OAuth2Realm.java | 70 +
.../sqx/modules/sys/oauth2/OAuth2Token.java | 26 +
.../modules/sys/oauth2/TokenGenerator.java | 43 +
.../sqx/modules/sys/redis/SysConfigRedis.java | 36 +
.../sqx/modules/sys/service/ShiroService.java | 25 +
.../sys/service/SysCaptchaService.java | 26 +
.../modules/sys/service/SysConfigService.java | 51 +
.../modules/sys/service/SysDictService.java | 15 +
.../modules/sys/service/SysLogService.java | 19 +
.../modules/sys/service/SysMenuService.java | 43 +
.../sys/service/SysRoleMenuService.java | 28 +
.../modules/sys/service/SysRoleService.java | 30 +
.../sys/service/SysUserRoleService.java | 27 +
.../modules/sys/service/SysUserService.java | 57 +
.../sys/service/SysUserTokenService.java | 25 +
.../sys/service/impl/ShiroServiceImpl.java | 60 +
.../service/impl/SysCaptchaServiceImpl.java | 62 +
.../service/impl/SysConfigServiceImpl.java | 96 +
.../sys/service/impl/SysDictServiceImpl.java | 30 +
.../sys/service/impl/SysLogServiceImpl.java | 31 +
.../sys/service/impl/SysMenuServiceImpl.java | 99 +
.../service/impl/SysRoleMenuServiceImpl.java | 51 +
.../sys/service/impl/SysRoleServiceImpl.java | 113 +
.../service/impl/SysUserRoleServiceImpl.java | 49 +
.../sys/service/impl/SysUserServiceImpl.java | 136 +
.../service/impl/SysUserTokenServiceImpl.java | 66 +
.../taking/controller/GameController.java | 77 +
.../OrderTakingCommentController.java | 50 +
.../controller/app/AppGameController.java | 25 +
.../app/AppOrderTakingCommentController.java | 87 +
.../com/sqx/modules/taking/dao/GameDao.java | 9 +
.../taking/dao/OrderTakingCommentDao.java | 34 +
.../taking/entity/CommentFabulous.java | 41 +
.../com/sqx/modules/taking/entity/Game.java | 41 +
.../modules/taking/entity/TakingCommnt.java | 68 +
.../taking/response/MyReleaseResponse.java | 57 +
.../taking/response/OrderTakingResponse.java | 79 +
.../response/TakingCommentResponse.java | 59 +
.../response/TakingDetailsResponse.java | 99 +
.../taking/response/TakingResponse.java | 96 +
.../modules/taking/service/GameService.java | 55 +
.../service/OrderTakingCommentService.java | 39 +
.../taking/service/impl/GameServiceImpl.java | 112 +
.../impl/OrderTakingCommentServiceImpl.java | 163 +
.../trip/controller/TripController.java | 72 +
.../controller/app/AppTripController.java | 35 +
.../com/sqx/modules/trip/dao/TripDao.java | 14 +
.../com/sqx/modules/trip/entity/Trip.java | 66 +
.../sqx/modules/trip/service/TripService.java | 12 +
.../trip/service/impl/TripServiceImpl.java | 27 +
.../sqx/modules/utils/AliPayOrderUtil.java | 133 +
.../com/sqx/modules/utils/AmountCalUtils.java | 76 +
.../com/sqx/modules/utils/AppNotifyUtil.java | 34 +
.../com/sqx/modules/utils/Base64Utils.java | 313 ++
.../sqx/modules/utils/CertificateUtils.java | 892 +++++
.../modules/utils/CusAccessObjectUtil.java | 88 +
.../java/com/sqx/modules/utils/FileUtils.java | 63 +
.../com/sqx/modules/utils/HttpClientUtil.java | 266 ++
.../java/com/sqx/modules/utils/HttpUtil.java | 223 ++
.../sqx/modules/utils/InvitationCodeUtil.java | 55 +
.../com/sqx/modules/utils/LonLatUtil.java | 25 +
.../java/com/sqx/modules/utils/MD5Util.java | 162 +
.../com/sqx/modules/utils/PeriodUtil.java | 127 +
.../sqx/modules/utils/SenInfoCheckUtil.java | 392 +++
.../java/com/sqx/modules/utils/Template.java | 20 +
.../com/sqx/modules/utils/TemplateParam.java | 21 +
.../java/com/sqx/modules/utils/TreeUtils.java | 76 +
.../sqx/modules/utils/VerifyIdCardUtils.java | 180 +
.../com/sqx/modules/utils/WXConfigUtil.java | 78 +
.../java/com/sqx/modules/utils/WxMssVo.java | 42 +
.../modules/utils/address/AddressUtil.java | 57 +
.../modules/utils/address/WSSsdrAddress.java | 34 +
.../sqx/modules/utils/excel/ExcelData.java | 34 +
.../sqx/modules/utils/excel/ExcelUtils.java | 171 +
.../modules/utils/excel/ExportExcelUtils.java | 209 ++
src/main/java/com/sqx/ws/BaseInfoModel.java | 30 +
.../java/com/sqx/ws/BaseModelEncoder.java | 41 +
.../java/com/sqx/ws/BaseResponseMessage.java | 13 +
src/main/java/com/sqx/ws/HashMapEncoder.java | 51 +
src/main/resources/application-prod.yml | 55 +
src/main/resources/application-test.yml | 55 +
src/main/resources/application.yml | 73 +
src/main/resources/banner/banner.jpg | Bin 0 -> 35981 bytes
src/main/resources/mapper/app/AddressDao.xml | 12 +
src/main/resources/mapper/app/AppDao.xml | 12 +
src/main/resources/mapper/app/MsgDao.xml | 15 +
.../resources/mapper/app/UserBrowseDao.xml | 47 +
.../mapper/app/UserCertificationDao.xml | 35 +
src/main/resources/mapper/app/UserDao.xml | 403 +++
.../resources/mapper/app/UserFollowDao.xml | 54 +
.../mapper/app/UserMoneyArtificerDao.xml | 19 +
.../resources/mapper/app/UserMoneyDao.xml | 30 +
.../mapper/app/UserMoneyDetailsDao.xml | 22 +
.../resources/mapper/app/UserVisitorDao.xml | 32 +
.../mapper/artificer/ArtificerDao.xml | 179 +
.../artificer/ArtificerMassageMapper.xml | 35 +
.../mapper/artificer/CollectArtificerDao.xml | 30 +
.../mapper/artificer/MassageTypeDao.xml | 147 +
.../resources/mapper/artificer/OrdersDao.xml | 986 ++++++
.../mapper/artificer/RealNameMapper.xml | 22 +
.../mapper/artificer/UserRechargeDao.xml | 43 +
.../resources/mapper/banner/ActivityDao.xml | 14 +
.../resources/mapper/banner/BannerDao.xml | 26 +
.../resources/mapper/chat/ChatContentDao.xml | 29 +
.../mapper/chat/ChatConversationDao.xml | 73 +
.../resources/mapper/common/CommonInfoDao.xml | 17 +
.../mapper/consortia/ConsortiaMapper.xml | 40 +
.../mapper/coupon/CouponIssueMapper.xml | 14 +
.../mapper/coupon/TbCouponMapper.xml | 19 +
.../mapper/coupon/TbCouponUserMapper.xml | 64 +
.../resources/mapper/invite/InviteDao.xml | 98 +
.../mapper/invite/InviteMoneyDao.xml | 26 +
.../resources/mapper/job/ScheduleJobDao.xml | 14 +
.../mapper/job/ScheduleJobLogDao.xml | 6 +
.../material/MaterialArtificerMapper.xml | 23 +
.../mapper/material/MaterialMapper.xml | 164 +
.../mapper/material/MaterialMassageMapper.xml | 23 +
.../mapper/material/MaterialRecordMapper.xml | 38 +
.../mapper/message/ActivityMessageInfoDao.xml | 29 +
.../mapper/message/MessageInfoAudioDao.xml | 6 +
.../mapper/message/MessageInfoDao.xml | 79 +
src/main/resources/mapper/oss/SysOssDao.xml | 7 +
src/main/resources/mapper/pay/CashDao.xml | 212 ++
.../resources/mapper/pay/PayClassifyDao.xml | 11 +
.../resources/mapper/pay/PayDetailsDao.xml | 179 +
src/main/resources/mapper/risk/RiskDao.xml | 67 +
.../resources/mapper/search/AppSearchDao.xml | 14 +
.../resources/mapper/sys/SysConfigDao.xml | 15 +
src/main/resources/mapper/sys/SysDictDao.xml | 7 +
src/main/resources/mapper/sys/SysLogDao.xml | 6 +
src/main/resources/mapper/sys/SysMenuDao.xml | 14 +
src/main/resources/mapper/sys/SysRoleDao.xml | 10 +
.../resources/mapper/sys/SysRoleMenuDao.xml | 17 +
src/main/resources/mapper/sys/SysUserDao.xml | 24 +
.../resources/mapper/sys/SysUserRoleDao.xml | 16 +
.../resources/mapper/sys/SysUserTokenDao.xml | 9 +
.../mapper/taking/OrderTakingCommentDao.xml | 129 +
.../mapper/taking/OrderTakingDao.xml | 338 ++
src/main/resources/weixin/apiclient_cert.p12 | Bin 0 -> 4918 bytes
tbdm.bat | 3 +
717 files changed, 61155 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 build.bat
create mode 100644 db/anmo.sql
create mode 100644 db/sql脚本
create mode 100644 db/三期/artificer_partitioning_details.sql
create mode 100644 gxdm.bat
create mode 100644 hs_err_pid36964.log
create mode 100644 pom.xml
create mode 100644 run.bat
create mode 100644 script/fb.bat
create mode 100644 script/findps.sh
create mode 100644 script/killJar.sh
create mode 100644 script/run.sh
create mode 100644 src/main/java/com/sqx/SqxApplication.java
create mode 100644 src/main/java/com/sqx/common/annotation/SysLog.java
create mode 100644 src/main/java/com/sqx/common/aspect/RedisAspect.java
create mode 100644 src/main/java/com/sqx/common/aspect/SysLogAspect.java
create mode 100644 src/main/java/com/sqx/common/exception/SqxException.java
create mode 100644 src/main/java/com/sqx/common/exception/SqxExceptionHandler.java
create mode 100644 src/main/java/com/sqx/common/utils/ConfigConstant.java
create mode 100644 src/main/java/com/sqx/common/utils/Constant.java
create mode 100644 src/main/java/com/sqx/common/utils/DateUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/HttpContextUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/IPUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/ListUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/MapUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/PageUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/QRCodeUtil.java
create mode 100644 src/main/java/com/sqx/common/utils/Query.java
create mode 100644 src/main/java/com/sqx/common/utils/RedisKeys.java
create mode 100644 src/main/java/com/sqx/common/utils/RedisUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/Result.java
create mode 100644 src/main/java/com/sqx/common/utils/ShiroUtils.java
create mode 100644 src/main/java/com/sqx/common/utils/SpringContextUtils.java
create mode 100644 src/main/java/com/sqx/common/validator/Assert.java
create mode 100644 src/main/java/com/sqx/common/validator/ValidatorUtils.java
create mode 100644 src/main/java/com/sqx/common/validator/group/AddGroup.java
create mode 100644 src/main/java/com/sqx/common/validator/group/AliyunGroup.java
create mode 100644 src/main/java/com/sqx/common/validator/group/QcloudGroup.java
create mode 100644 src/main/java/com/sqx/common/validator/group/QiniuGroup.java
create mode 100644 src/main/java/com/sqx/common/validator/group/UpdateGroup.java
create mode 100644 src/main/java/com/sqx/common/websocket/WebSocketMessage.java
create mode 100644 src/main/java/com/sqx/common/websocket/WebSocketServer.java
create mode 100644 src/main/java/com/sqx/common/xss/HTMLFilter.java
create mode 100644 src/main/java/com/sqx/common/xss/SQLFilter.java
create mode 100644 src/main/java/com/sqx/common/xss/XssFilter.java
create mode 100644 src/main/java/com/sqx/common/xss/XssHttpServletRequestWrapper.java
create mode 100644 src/main/java/com/sqx/config/CorsConfig.java
create mode 100644 src/main/java/com/sqx/config/FilterConfig.java
create mode 100644 src/main/java/com/sqx/config/KaptchaConfig.java
create mode 100644 src/main/java/com/sqx/config/MybatisPlusConfig.java
create mode 100644 src/main/java/com/sqx/config/RedisConfig.java
create mode 100644 src/main/java/com/sqx/config/ShiroConfig.java
create mode 100644 src/main/java/com/sqx/config/SwaggerConfig.java
create mode 100644 src/main/java/com/sqx/datasource/annotation/DataSource.java
create mode 100644 src/main/java/com/sqx/datasource/aspect/DataSourceAspect.java
create mode 100644 src/main/java/com/sqx/datasource/config/DynamicContextHolder.java
create mode 100644 src/main/java/com/sqx/datasource/config/DynamicDataSource.java
create mode 100644 src/main/java/com/sqx/datasource/config/DynamicDataSourceConfig.java
create mode 100644 src/main/java/com/sqx/datasource/config/DynamicDataSourceFactory.java
create mode 100644 src/main/java/com/sqx/datasource/properties/DataSourceProperties.java
create mode 100644 src/main/java/com/sqx/datasource/properties/DynamicDataSourceProperties.java
create mode 100644 src/main/java/com/sqx/ffmpeg/FFmpeg.java
create mode 100644 src/main/java/com/sqx/map/CommonMapUtils.java
create mode 100644 src/main/java/com/sqx/modules/app/annotation/Login.java
create mode 100644 src/main/java/com/sqx/modules/app/annotation/LoginUser.java
create mode 100644 src/main/java/com/sqx/modules/app/config/WebMvcConfig.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/AddressController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/AppUpgradeController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/UserBrowseController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/UserCertificationController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/UserController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/UserFollowController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/UserMoneyDetailsController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/VipDetailsController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppAddressController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppLoginController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppUserBrowseController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppUserCertificationController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppUserFollowController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppUserVipController.java
create mode 100644 src/main/java/com/sqx/modules/app/controller/app/AppVipDetailsController.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/AddressDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/AppDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/MsgDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserBrowseDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserCertificationDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserFollowDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserMoneyArtificerDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserMoneyDetailsDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserVipDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/UserVisitorDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/VipDetailsDao.java
create mode 100644 src/main/java/com/sqx/modules/app/dao/VipDiscountDao.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/Address.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/App.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/AppUserInfo.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/Msg.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserBrowse.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserCertification.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserDetails.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserEntity.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserFollow.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserMoney.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserMoneyArtificer.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserMoneyResult.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserVip.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/UserVisitor.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/VipDetails.java
create mode 100644 src/main/java/com/sqx/modules/app/entity/VipDiscount.java
create mode 100644 src/main/java/com/sqx/modules/app/form/LoginForm.java
create mode 100644 src/main/java/com/sqx/modules/app/form/RegisterForm.java
create mode 100644 src/main/java/com/sqx/modules/app/interceptor/AuthorizationInterceptor.java
create mode 100644 src/main/java/com/sqx/modules/app/resolver/LoginUserHandlerMethodArgumentResolver.java
create mode 100644 src/main/java/com/sqx/modules/app/response/CourseOrderResponse.java
create mode 100644 src/main/java/com/sqx/modules/app/response/HomeMessageResponse.java
create mode 100644 src/main/java/com/sqx/modules/app/response/TakingOrderResponse.java
create mode 100644 src/main/java/com/sqx/modules/app/response/UserFollowResponse.java
create mode 100644 src/main/java/com/sqx/modules/app/response/UserMessageResponse.java
create mode 100644 src/main/java/com/sqx/modules/app/service/AddressService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/AppService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/IAppleService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/MsgService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserBrowseService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserCertificationService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserFollowService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserMoneyArtificerService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserMoneyDetailsService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserMoneyService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/UserVipService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/VipDetailsService.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/AddressServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/AppServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/AppleServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/MsgServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserBrowseServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserCertificationImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserFollowServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserMoneyArtificerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserMoneyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/UserVipServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/service/impl/VipDetailsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/app/utils/JwtUtils.java
create mode 100644 src/main/java/com/sqx/modules/app/utils/UserConstantInterface.java
create mode 100644 src/main/java/com/sqx/modules/app/utils/WxPhone.java
create mode 100644 src/main/java/com/sqx/modules/apply/controller/ApplyController.java
create mode 100644 src/main/java/com/sqx/modules/apply/controller/app/AppApplyController.java
create mode 100644 src/main/java/com/sqx/modules/apply/dao/ApplyDao.java
create mode 100644 src/main/java/com/sqx/modules/apply/entity/Apply.java
create mode 100644 src/main/java/com/sqx/modules/apply/service/ApplyService.java
create mode 100644 src/main/java/com/sqx/modules/apply/service/impl/ApplyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/ArtificerTimeController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/RealNameController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerIntegralController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerTimeController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/AppRealNameController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/DividedIntoDetailsController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/controller/app/FundDetailsController.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/AgencyDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/ArtificerMassageDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/ArtificerTimeDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/CollectArtificerDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/MassageTypeDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/OrdersDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/OrdersMassageDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/RealNameDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/dao/UserRechargeDao.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/Agency.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/Artificer.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/ArtificerMassage.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/ArtificerTime.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/Certification.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/CollectArtificer.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/FundDetailsResult.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/MassageType.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/Orders.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/OrdersMassage.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/Period.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/UserMoneyArtificerDetails.java
create mode 100644 src/main/java/com/sqx/modules/artificer/entity/UserRecharge.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/AgencyService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/AppArtificerIntegralService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/ArtificerMassageService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/ArtificerService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/CollectArtificerService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/MassageTypeService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/OrdersMassageService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/OrdersService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/RealNameService.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/AgencyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/AppArtificerIntegralServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/ArtificerMassageServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/ArtificerTimeServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/CollectArtificerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/MassageTypeServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/OrdersMassageServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/service/impl/RealNameServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/artificer/vo/HomeVO.java
create mode 100644 src/main/java/com/sqx/modules/artificer/vo/UserArtificerVO.java
create mode 100644 src/main/java/com/sqx/modules/banner/controller/ActivityController.java
create mode 100644 src/main/java/com/sqx/modules/banner/controller/BannerController.java
create mode 100644 src/main/java/com/sqx/modules/banner/controller/app/AppBannerController.java
create mode 100644 src/main/java/com/sqx/modules/banner/dao/ActivityDao.java
create mode 100644 src/main/java/com/sqx/modules/banner/dao/BannerDao.java
create mode 100644 src/main/java/com/sqx/modules/banner/entity/Activity.java
create mode 100644 src/main/java/com/sqx/modules/banner/entity/Banner.java
create mode 100644 src/main/java/com/sqx/modules/banner/service/ActivityService.java
create mode 100644 src/main/java/com/sqx/modules/banner/service/BannerService.java
create mode 100644 src/main/java/com/sqx/modules/banner/service/impl/ActivityServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/banner/service/impl/BannerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/chat/controller/ChatController.java
create mode 100644 src/main/java/com/sqx/modules/chat/controller/app/AppChatController.java
create mode 100644 src/main/java/com/sqx/modules/chat/controller/app/AppChatSocket.java
create mode 100644 src/main/java/com/sqx/modules/chat/dao/ChatContentDao.java
create mode 100644 src/main/java/com/sqx/modules/chat/dao/ChatConversationDao.java
create mode 100644 src/main/java/com/sqx/modules/chat/entity/ChatContent.java
create mode 100644 src/main/java/com/sqx/modules/chat/entity/ChatConversation.java
create mode 100644 src/main/java/com/sqx/modules/chat/service/ChatContentService.java
create mode 100644 src/main/java/com/sqx/modules/chat/service/ChatConversationService.java
create mode 100644 src/main/java/com/sqx/modules/chat/service/impl/ChatContentServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/chat/service/impl/ChatConversationServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/chats/controller/ChatsContentController.java
create mode 100644 src/main/java/com/sqx/modules/chats/controller/ChatsController.java
create mode 100644 src/main/java/com/sqx/modules/chats/controller/WebSocket.java
create mode 100644 src/main/java/com/sqx/modules/chats/controller/app/AppChatsController.java
create mode 100644 src/main/java/com/sqx/modules/chats/entity/Chats.java
create mode 100644 src/main/java/com/sqx/modules/chats/entity/ChatsContent.java
create mode 100644 src/main/java/com/sqx/modules/chats/respository/ChatContentRepository.java
create mode 100644 src/main/java/com/sqx/modules/chats/respository/ChatRepository.java
create mode 100644 src/main/java/com/sqx/modules/chats/service/ChatsContentService.java
create mode 100644 src/main/java/com/sqx/modules/chats/service/ChatsContentServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/chats/service/ChatsService.java
create mode 100644 src/main/java/com/sqx/modules/chats/service/ChatsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/chats/utils/DateUtil.java
create mode 100644 src/main/java/com/sqx/modules/chats/utils/DescribeException.java
create mode 100644 src/main/java/com/sqx/modules/chats/utils/ExceptionEnum.java
create mode 100644 src/main/java/com/sqx/modules/chats/utils/Result.java
create mode 100644 src/main/java/com/sqx/modules/chats/utils/ResultUtil.java
create mode 100644 src/main/java/com/sqx/modules/common/controller/CommonController.java
create mode 100644 src/main/java/com/sqx/modules/common/controller/app/AppCommonController.java
create mode 100644 src/main/java/com/sqx/modules/common/dao/ArtificerPartitioningDetailsMapper.java
create mode 100644 src/main/java/com/sqx/modules/common/dao/CommonInfoDao.java
create mode 100644 src/main/java/com/sqx/modules/common/entity/ArtificerPartitioningDetails.java
create mode 100644 src/main/java/com/sqx/modules/common/entity/CommonInfo.java
create mode 100644 src/main/java/com/sqx/modules/common/service/CommonInfoService.java
create mode 100644 src/main/java/com/sqx/modules/common/service/impl/CommonInfoServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/consortia/controller/ConsortiaController.java
create mode 100644 src/main/java/com/sqx/modules/consortia/controller/app/AppConsortiaController.java
create mode 100644 src/main/java/com/sqx/modules/consortia/dao/ConsortiaDao.java
create mode 100644 src/main/java/com/sqx/modules/consortia/entity/Consortia.java
create mode 100644 src/main/java/com/sqx/modules/consortia/service/ConsortiaService.java
create mode 100644 src/main/java/com/sqx/modules/consortia/service/impl/ConsortiaServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/CouponCardController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/CouponController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/CouponIssueController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/CouponUserController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/app/AppCouponCardController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/app/AppCouponIssueController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/controller/app/AppCouponUserController.java
create mode 100644 src/main/java/com/sqx/modules/coupon/dao/CouponCardDao.java
create mode 100644 src/main/java/com/sqx/modules/coupon/dao/CouponCardTypeDao.java
create mode 100644 src/main/java/com/sqx/modules/coupon/dao/CouponDao.java
create mode 100644 src/main/java/com/sqx/modules/coupon/dao/CouponIssueDao.java
create mode 100644 src/main/java/com/sqx/modules/coupon/dao/CouponUserDao.java
create mode 100644 src/main/java/com/sqx/modules/coupon/entity/Coupon.java
create mode 100644 src/main/java/com/sqx/modules/coupon/entity/CouponCard.java
create mode 100644 src/main/java/com/sqx/modules/coupon/entity/CouponCardType.java
create mode 100644 src/main/java/com/sqx/modules/coupon/entity/CouponIssue.java
create mode 100644 src/main/java/com/sqx/modules/coupon/entity/CouponUser.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/CouponCardService.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/CouponCardTypeService.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/CouponIssueService.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/CouponService.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/CouponUserService.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/impl/CouponCardServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/impl/CouponCardTypeServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/impl/CouponIssueServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/impl/CouponServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/coupon/service/impl/CouponUserServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/file/AliFileUploadController.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/DescribeException.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/ExceptionEnum.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/FileUtils.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/ImageUtil.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/Md5Utils.java
create mode 100644 src/main/java/com/sqx/modules/file/utils/MimeTypeUtils.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/controller/HelpWordController.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/controller/app/AppHelpWordController.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/dao/HelpClassifyDao.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/dao/HelpWordDao.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/entity/HelpClassify.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/entity/HelpWord.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/service/HelpClassifyService.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/service/HelpWordService.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/service/impl/HelpClassifyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/helpCenter/service/impl/HelpWordServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/invite/controller/InviteController.java
create mode 100644 src/main/java/com/sqx/modules/invite/controller/app/AppInviteController.java
create mode 100644 src/main/java/com/sqx/modules/invite/dao/InviteDao.java
create mode 100644 src/main/java/com/sqx/modules/invite/dao/InviteMoneyDao.java
create mode 100644 src/main/java/com/sqx/modules/invite/entity/Invite.java
create mode 100644 src/main/java/com/sqx/modules/invite/entity/InviteMoney.java
create mode 100644 src/main/java/com/sqx/modules/invite/service/InviteMoneyService.java
create mode 100644 src/main/java/com/sqx/modules/invite/service/InviteService.java
create mode 100644 src/main/java/com/sqx/modules/invite/service/impl/InviteMoneyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/invite/service/impl/InviteServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/map/MapWebSocket.java
create mode 100644 src/main/java/com/sqx/modules/material/controller/MaterialController.java
create mode 100644 src/main/java/com/sqx/modules/material/controller/MaterialRecordController.java
create mode 100644 src/main/java/com/sqx/modules/material/controller/app/AppMaterialController.java
create mode 100644 src/main/java/com/sqx/modules/material/dao/MaterialArtificerMapper.java
create mode 100644 src/main/java/com/sqx/modules/material/dao/MaterialMapper.java
create mode 100644 src/main/java/com/sqx/modules/material/dao/MaterialMassageMapper.java
create mode 100644 src/main/java/com/sqx/modules/material/dao/MaterialRecordMapper.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/Material.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/MaterialArtificer.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/MaterialArtificerResult.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/MaterialMassage.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/MaterialMassageResult.java
create mode 100644 src/main/java/com/sqx/modules/material/entity/MaterialRecord.java
create mode 100644 src/main/java/com/sqx/modules/material/service/MaterialArtificerService.java
create mode 100644 src/main/java/com/sqx/modules/material/service/MaterialMassageService.java
create mode 100644 src/main/java/com/sqx/modules/material/service/MaterialRecordService.java
create mode 100644 src/main/java/com/sqx/modules/material/service/MaterialService.java
create mode 100644 src/main/java/com/sqx/modules/material/service/impl/MaterialArtificerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/material/service/impl/MaterialMassageServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/material/service/impl/MaterialRecordServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/material/service/impl/MaterialServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/member/controller/MemberController.java
create mode 100644 src/main/java/com/sqx/modules/member/controller/app/AppMemberController.java
create mode 100644 src/main/java/com/sqx/modules/member/dao/MemberDao.java
create mode 100644 src/main/java/com/sqx/modules/member/entity/Member.java
create mode 100644 src/main/java/com/sqx/modules/member/service/MemberService.java
create mode 100644 src/main/java/com/sqx/modules/member/service/impl/MemberServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/message/controller/ActivityMessageController.java
create mode 100644 src/main/java/com/sqx/modules/message/controller/MessageAudioController.java
create mode 100644 src/main/java/com/sqx/modules/message/controller/MessageController.java
create mode 100644 src/main/java/com/sqx/modules/message/controller/app/AppMessageController.java
create mode 100644 src/main/java/com/sqx/modules/message/dao/ActivityMessageInfoDao.java
create mode 100644 src/main/java/com/sqx/modules/message/dao/MessageInfoAudioDao.java
create mode 100644 src/main/java/com/sqx/modules/message/dao/MessageInfoDao.java
create mode 100644 src/main/java/com/sqx/modules/message/entity/ActivityMessageInfo.java
create mode 100644 src/main/java/com/sqx/modules/message/entity/MessageInfo.java
create mode 100644 src/main/java/com/sqx/modules/message/entity/MessageInfoAudio.java
create mode 100644 src/main/java/com/sqx/modules/message/service/ActivityMessageService.java
create mode 100644 src/main/java/com/sqx/modules/message/service/MessageAudioService.java
create mode 100644 src/main/java/com/sqx/modules/message/service/MessageService.java
create mode 100644 src/main/java/com/sqx/modules/message/service/impl/ActivityMessageServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/message/service/impl/MessageAudioServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/message/service/impl/MessageServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/monitor/MonitorWebSocket.java
create mode 100644 src/main/java/com/sqx/modules/pay/config/AliPayConstants.java
create mode 100644 src/main/java/com/sqx/modules/pay/config/WXConfig.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/CashController.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/PayClassifyController.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/app/ApiWeiXinPayController.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/app/AppCashController.java
create mode 100644 src/main/java/com/sqx/modules/pay/controller/app/AppPayClassifyController.java
create mode 100644 src/main/java/com/sqx/modules/pay/dao/CashOutDao.java
create mode 100644 src/main/java/com/sqx/modules/pay/dao/PayClassifyDao.java
create mode 100644 src/main/java/com/sqx/modules/pay/dao/PayDetailsDao.java
create mode 100644 src/main/java/com/sqx/modules/pay/entity/AliPayParamModel.java
create mode 100644 src/main/java/com/sqx/modules/pay/entity/AliPayWithdrawModel.java
create mode 100644 src/main/java/com/sqx/modules/pay/entity/CashOut.java
create mode 100644 src/main/java/com/sqx/modules/pay/entity/PayClassify.java
create mode 100644 src/main/java/com/sqx/modules/pay/entity/PayDetails.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/CashOutService.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/PayClassifyService.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/PayDetailsService.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/WxService.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/impl/PayClassifyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/impl/PayDetailsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/risk/controller/RiskController.java
create mode 100644 src/main/java/com/sqx/modules/risk/controller/app/AppRiskController.java
create mode 100644 src/main/java/com/sqx/modules/risk/dao/RiskDao.java
create mode 100644 src/main/java/com/sqx/modules/risk/entity/Risk.java
create mode 100644 src/main/java/com/sqx/modules/risk/service/RiskService.java
create mode 100644 src/main/java/com/sqx/modules/risk/service/impl/RiskServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/search/Response/SearchResponse.java
create mode 100644 src/main/java/com/sqx/modules/search/controller/SearchController.java
create mode 100644 src/main/java/com/sqx/modules/search/controller/app/AppSearchController.java
create mode 100644 src/main/java/com/sqx/modules/search/dao/AppSearchDao.java
create mode 100644 src/main/java/com/sqx/modules/search/dao/SearchDao.java
create mode 100644 src/main/java/com/sqx/modules/search/entity/Search.java
create mode 100644 src/main/java/com/sqx/modules/search/service/AppSearchService.java
create mode 100644 src/main/java/com/sqx/modules/search/service/SearchService.java
create mode 100644 src/main/java/com/sqx/modules/search/service/impl/AppSearchServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/search/service/impl/SearchServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/AdvertController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/CouponsController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/GoodsController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/GoodsTypeController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/OrdersController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/OrdersRelationController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/OrdersTask.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfActivityController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfBannerController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfGoodsBrandController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfGoodsCommentController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfGoodsRuleController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfGoodsVirtualController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfMerchantApplyController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SelfUserCollectController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/SkuUtil.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppAdvertController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppCouponsController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppGoodsController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppGoodsTypeController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppOrdersController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppOrdersRelationController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfActivityController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfAliPayController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfBannerController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfGoodsBrandController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfGoodsCommentController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfGoodsRuleController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfGoodsVirtualController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfMerchantApplyController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfUserCollectController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/controller/app/AppSelfWXPayController.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/AdvertJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/AdvertRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/CouponsJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/CouponsRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/CouponsUserJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/CouponsUserRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/GoodsJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/GoodsRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/GoodsTypeJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/GoodsTypeRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/OrdersJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/OrdersRelationJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/OrdersRelationRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/OrdersRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfActivityJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfActivityRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfBannerJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfBannerRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsAttrJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsAttrRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsAttrValueJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsAttrValueRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsBrandJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsBrandRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsCommentJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsCommentRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsRuleJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsRuleRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsRuleValueJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsRuleValueRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsSkuJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsSkuRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsVirtualJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfGoodsVirtualRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfMerchantApplyJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfMerchantApplyRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfOrdersRemindJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfOrdersRemindRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfUserCollectJpaRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/dao/SelfUserCollectRepository.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/Adverti.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/Coupons.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/CouponsUser.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/GoodsType.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/GoodsTypeResult.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfActivity.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfBanner.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoods.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsAttr.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsAttrValue.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsBrand.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsComment.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsRule.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsRuleValue.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsSku.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfGoodsVirtual.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfMerchantApply.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfOrderRelation.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfOrderRemind.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfOrders.java
create mode 100644 src/main/java/com/sqx/modules/shopping/entity/SelfUserCollect.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/AdvertService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/CouponsService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/CouponsUserService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/GoodsService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/GoodsTypeService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/OrdersRelationService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/OrdersService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfAliPayService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsAttrService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsBrandService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsCommentService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsRuleService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsSkuService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfGoodsVirtualService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfMerchantApplyService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfUserCollectService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SelfWXService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/SlefBannerService.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/AdvertServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/CouponsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/CouponsUserServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/GoodsTypeServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/OrdersRelationServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelUserCollectServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfAliPayServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfBannerServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsAttrServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsBrandServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsCommentServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsRuleServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsSkuServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsVirtualServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfMerchantApplyServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfOrdersServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/service/impl/SelfWXServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/AmountCalUtil.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/DateUtil.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/ExceptionEnum.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/Result.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/ResultUtil.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/WXConfigUtil.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/excel/ExcelData.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/excel/ExcelUtils.java
create mode 100644 src/main/java/com/sqx/modules/shopping/utils/excel/ExportExcelUtils.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/AbstractController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysConfigController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysDictController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysLogController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysLoginController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysMenuController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysRoleController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/SysUserController.java
create mode 100644 src/main/java/com/sqx/modules/sys/controller/app/AppDictController.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysCaptchaDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysConfigDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysDictDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysLogDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysMenuDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysRoleDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysRoleMenuDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysUserDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysUserRoleDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/dao/SysUserTokenDao.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysCaptchaEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysConfigEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysDictEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysLogEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysMenuEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysRoleEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysRoleMenuEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysUserRoleEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/entity/SysUserTokenEntity.java
create mode 100644 src/main/java/com/sqx/modules/sys/form/PasswordForm.java
create mode 100644 src/main/java/com/sqx/modules/sys/form/SysLoginForm.java
create mode 100644 src/main/java/com/sqx/modules/sys/oauth2/OAuth2Filter.java
create mode 100644 src/main/java/com/sqx/modules/sys/oauth2/OAuth2Realm.java
create mode 100644 src/main/java/com/sqx/modules/sys/oauth2/OAuth2Token.java
create mode 100644 src/main/java/com/sqx/modules/sys/oauth2/TokenGenerator.java
create mode 100644 src/main/java/com/sqx/modules/sys/redis/SysConfigRedis.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/ShiroService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysCaptchaService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysConfigService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysDictService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysLogService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysMenuService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysRoleMenuService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysRoleService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysUserRoleService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysUserService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/SysUserTokenService.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/ShiroServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysCaptchaServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysConfigServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysDictServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysLogServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysMenuServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysRoleMenuServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysRoleServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysUserRoleServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysUserServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/sys/service/impl/SysUserTokenServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/taking/controller/GameController.java
create mode 100644 src/main/java/com/sqx/modules/taking/controller/OrderTakingCommentController.java
create mode 100644 src/main/java/com/sqx/modules/taking/controller/app/AppGameController.java
create mode 100644 src/main/java/com/sqx/modules/taking/controller/app/AppOrderTakingCommentController.java
create mode 100644 src/main/java/com/sqx/modules/taking/dao/GameDao.java
create mode 100644 src/main/java/com/sqx/modules/taking/dao/OrderTakingCommentDao.java
create mode 100644 src/main/java/com/sqx/modules/taking/entity/CommentFabulous.java
create mode 100644 src/main/java/com/sqx/modules/taking/entity/Game.java
create mode 100644 src/main/java/com/sqx/modules/taking/entity/TakingCommnt.java
create mode 100644 src/main/java/com/sqx/modules/taking/response/MyReleaseResponse.java
create mode 100644 src/main/java/com/sqx/modules/taking/response/OrderTakingResponse.java
create mode 100644 src/main/java/com/sqx/modules/taking/response/TakingCommentResponse.java
create mode 100644 src/main/java/com/sqx/modules/taking/response/TakingDetailsResponse.java
create mode 100644 src/main/java/com/sqx/modules/taking/response/TakingResponse.java
create mode 100644 src/main/java/com/sqx/modules/taking/service/GameService.java
create mode 100644 src/main/java/com/sqx/modules/taking/service/OrderTakingCommentService.java
create mode 100644 src/main/java/com/sqx/modules/taking/service/impl/GameServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/taking/service/impl/OrderTakingCommentServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/trip/controller/TripController.java
create mode 100644 src/main/java/com/sqx/modules/trip/controller/app/AppTripController.java
create mode 100644 src/main/java/com/sqx/modules/trip/dao/TripDao.java
create mode 100644 src/main/java/com/sqx/modules/trip/entity/Trip.java
create mode 100644 src/main/java/com/sqx/modules/trip/service/TripService.java
create mode 100644 src/main/java/com/sqx/modules/trip/service/impl/TripServiceImpl.java
create mode 100644 src/main/java/com/sqx/modules/utils/AliPayOrderUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/AmountCalUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/AppNotifyUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/Base64Utils.java
create mode 100644 src/main/java/com/sqx/modules/utils/CertificateUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/CusAccessObjectUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/FileUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/HttpClientUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/HttpUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/InvitationCodeUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/LonLatUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/MD5Util.java
create mode 100644 src/main/java/com/sqx/modules/utils/PeriodUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/SenInfoCheckUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/Template.java
create mode 100644 src/main/java/com/sqx/modules/utils/TemplateParam.java
create mode 100644 src/main/java/com/sqx/modules/utils/TreeUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/VerifyIdCardUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/WXConfigUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/WxMssVo.java
create mode 100644 src/main/java/com/sqx/modules/utils/address/AddressUtil.java
create mode 100644 src/main/java/com/sqx/modules/utils/address/WSSsdrAddress.java
create mode 100644 src/main/java/com/sqx/modules/utils/excel/ExcelData.java
create mode 100644 src/main/java/com/sqx/modules/utils/excel/ExcelUtils.java
create mode 100644 src/main/java/com/sqx/modules/utils/excel/ExportExcelUtils.java
create mode 100644 src/main/java/com/sqx/ws/BaseInfoModel.java
create mode 100644 src/main/java/com/sqx/ws/BaseModelEncoder.java
create mode 100644 src/main/java/com/sqx/ws/BaseResponseMessage.java
create mode 100644 src/main/java/com/sqx/ws/HashMapEncoder.java
create mode 100644 src/main/resources/application-prod.yml
create mode 100644 src/main/resources/application-test.yml
create mode 100644 src/main/resources/application.yml
create mode 100644 src/main/resources/banner/banner.jpg
create mode 100644 src/main/resources/mapper/app/AddressDao.xml
create mode 100644 src/main/resources/mapper/app/AppDao.xml
create mode 100644 src/main/resources/mapper/app/MsgDao.xml
create mode 100644 src/main/resources/mapper/app/UserBrowseDao.xml
create mode 100644 src/main/resources/mapper/app/UserCertificationDao.xml
create mode 100644 src/main/resources/mapper/app/UserDao.xml
create mode 100644 src/main/resources/mapper/app/UserFollowDao.xml
create mode 100644 src/main/resources/mapper/app/UserMoneyArtificerDao.xml
create mode 100644 src/main/resources/mapper/app/UserMoneyDao.xml
create mode 100644 src/main/resources/mapper/app/UserMoneyDetailsDao.xml
create mode 100644 src/main/resources/mapper/app/UserVisitorDao.xml
create mode 100644 src/main/resources/mapper/artificer/ArtificerDao.xml
create mode 100644 src/main/resources/mapper/artificer/ArtificerMassageMapper.xml
create mode 100644 src/main/resources/mapper/artificer/CollectArtificerDao.xml
create mode 100644 src/main/resources/mapper/artificer/MassageTypeDao.xml
create mode 100644 src/main/resources/mapper/artificer/OrdersDao.xml
create mode 100644 src/main/resources/mapper/artificer/RealNameMapper.xml
create mode 100644 src/main/resources/mapper/artificer/UserRechargeDao.xml
create mode 100644 src/main/resources/mapper/banner/ActivityDao.xml
create mode 100644 src/main/resources/mapper/banner/BannerDao.xml
create mode 100644 src/main/resources/mapper/chat/ChatContentDao.xml
create mode 100644 src/main/resources/mapper/chat/ChatConversationDao.xml
create mode 100644 src/main/resources/mapper/common/CommonInfoDao.xml
create mode 100644 src/main/resources/mapper/consortia/ConsortiaMapper.xml
create mode 100644 src/main/resources/mapper/coupon/CouponIssueMapper.xml
create mode 100644 src/main/resources/mapper/coupon/TbCouponMapper.xml
create mode 100644 src/main/resources/mapper/coupon/TbCouponUserMapper.xml
create mode 100644 src/main/resources/mapper/invite/InviteDao.xml
create mode 100644 src/main/resources/mapper/invite/InviteMoneyDao.xml
create mode 100644 src/main/resources/mapper/job/ScheduleJobDao.xml
create mode 100644 src/main/resources/mapper/job/ScheduleJobLogDao.xml
create mode 100644 src/main/resources/mapper/material/MaterialArtificerMapper.xml
create mode 100644 src/main/resources/mapper/material/MaterialMapper.xml
create mode 100644 src/main/resources/mapper/material/MaterialMassageMapper.xml
create mode 100644 src/main/resources/mapper/material/MaterialRecordMapper.xml
create mode 100644 src/main/resources/mapper/message/ActivityMessageInfoDao.xml
create mode 100644 src/main/resources/mapper/message/MessageInfoAudioDao.xml
create mode 100644 src/main/resources/mapper/message/MessageInfoDao.xml
create mode 100644 src/main/resources/mapper/oss/SysOssDao.xml
create mode 100644 src/main/resources/mapper/pay/CashDao.xml
create mode 100644 src/main/resources/mapper/pay/PayClassifyDao.xml
create mode 100644 src/main/resources/mapper/pay/PayDetailsDao.xml
create mode 100644 src/main/resources/mapper/risk/RiskDao.xml
create mode 100644 src/main/resources/mapper/search/AppSearchDao.xml
create mode 100644 src/main/resources/mapper/sys/SysConfigDao.xml
create mode 100644 src/main/resources/mapper/sys/SysDictDao.xml
create mode 100644 src/main/resources/mapper/sys/SysLogDao.xml
create mode 100644 src/main/resources/mapper/sys/SysMenuDao.xml
create mode 100644 src/main/resources/mapper/sys/SysRoleDao.xml
create mode 100644 src/main/resources/mapper/sys/SysRoleMenuDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserRoleDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserTokenDao.xml
create mode 100644 src/main/resources/mapper/taking/OrderTakingCommentDao.xml
create mode 100644 src/main/resources/mapper/taking/OrderTakingDao.xml
create mode 100644 src/main/resources/weixin/apiclient_cert.p12
create mode 100644 tbdm.bat
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d0ad017
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,41 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+**/static/**
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+WebMvcConfiguration.java
+WebSocketConfig.java
+application-dev.yml
+application-local.yml
+/logs/anmo.log
+/logs
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..11e0288
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+**项目说明**
+- sqx-fast是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付
+- 支持MySQL、PostgreSQL等主流数据库
+
+
+
+**具有如下特点**
+- 友好的代码结构及注释,便于阅读及二次开发
+- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
+- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
+- 页面交互使用Vue2.x,极大的提高了开发效率
+- 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务
+- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
+- 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
+- 引入Hibernate Validator校验框架,轻松实现后端校验
+- 引入云存储服务,已支持:七牛云、阿里云、腾讯云等
+- 引入swagger文档支持,方便编写API接口文档
+
+
+**项目结构**
+```
+sqx_fast
+├─db 项目SQL语句
+│
+├─common 公共模块
+│ ├─aspect 系统日志
+│ ├─exception 异常处理
+│ ├─validator 后台校验
+│ └─xss XSS过滤
+│
+├─config 配置信息
+│
+├─modules 功能模块
+│ ├─app API接口模块(APP调用)
+│ ├─job 定时任务模块
+│ ├─oss 文件服务模块
+│ └─sys 权限模块
+│
+├─sqxApplication 项目启动类
+│
+├──resources
+│ ├─mapper SQL对应的XML文件
+│ └─static 静态资源
+
+```
+
+
+**技术选型:**
+- 核心框架:Spring Boot 2.1
+- 安全框架:Apache Shiro 1.4
+- 视图框架:Spring MVC 5.0
+- 持久层框架:MyBatis 3.3
+- 定时器:Quartz 2.3
+- 数据库连接池:Druid 1.0
+- 日志管理:SLF4J 1.7、Log4j
+- 页面交互:Vue2.x
+
+
+
+ **后端部署**
+- 通过git下载源码
+- idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法
+- 创建数据库sqx_fast,数据库编码为UTF-8
+- 执行db/mysql.sql文件,初始化数据
+- 修改application-dev.yml,更新MySQL账号和密码
+- Eclipse、IDEA运行sqxApplication.java,则可启动项目
+- Swagger文档路径:http://localhost:8080/sqx_fast/swagger/index.html
+- Swagger注解路径:http://localhost:8080/sqx_fast/swagger-ui.html
+
+
+
diff --git a/build.bat b/build.bat
new file mode 100644
index 0000000..8465a1c
--- /dev/null
+++ b/build.bat
@@ -0,0 +1,3 @@
+@echo off
+call mvn clean package
+pause
\ No newline at end of file
diff --git a/db/anmo.sql b/db/anmo.sql
new file mode 100644
index 0000000..8131039
--- /dev/null
+++ b/db/anmo.sql
@@ -0,0 +1,2977 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 服务器数据库
+ Source Server Type : MySQL
+ Source Server Version : 50734
+ Source Host : 42.193.11.150:3306
+ Source Schema : z2
+
+ Target Server Type : MySQL
+ Target Server Version : 50734
+ File Encoding : 65001
+
+ Date: 08/03/2023 13:28:35
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for address
+-- ----------------------------
+DROP TABLE IF EXISTS `address`;
+CREATE TABLE `address` (
+ `address_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '地址id',
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
+ `phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话',
+ `province` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省',
+ `city` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '市',
+ `district` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区',
+ `details_address` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址',
+ `is_default` int(11) NULL DEFAULT NULL COMMENT '是否是默认地址 0 否 1是',
+ `create_time` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '时间',
+ `user_id` int(11) NULL DEFAULT NULL,
+ `longitude` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `latitude` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`address_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 73 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of address
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for adverti
+-- ----------------------------
+DROP TABLE IF EXISTS `adverti`;
+CREATE TABLE `adverti` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '广告id',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `img_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '图片路径',
+ `link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '页面路由',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of adverti
+-- ----------------------------
+INSERT INTO `adverti` VALUES (1, '2021-08-14 17:46:02', 'https://sac.xianmxkj.com/img/20210814/15c7f30c6fb040c4a2832abf2decf045.png', '/pages/index/mian');
+
+-- ----------------------------
+-- Table structure for agency
+-- ----------------------------
+DROP TABLE IF EXISTS `agency`;
+CREATE TABLE `agency` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '申请id',
+ `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
+ `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
+ `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
+ `img` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时间',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态0待审核 1同意 2拒绝',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of agency
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for app
+-- ----------------------------
+DROP TABLE IF EXISTS `app`;
+CREATE TABLE `app` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `android_wgt_url` varchar(600) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
+ `create_at` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `des` varchar(600) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
+ `ios_version` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `ios_wgt_url` varchar(600) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
+ `method` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `version` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `wgt_url` varchar(600) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
+ `classify` int(11) NULL DEFAULT NULL COMMENT '1 用户端 2技师端',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = big5 COLLATE = big5_chinese_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of app
+-- ----------------------------
+INSERT INTO `app` VALUES (5, 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-e456bae7-a062-42af-9507-4ec00ceb0b59/6dfe11de-fe9c-477d-9a81-e3ec04ca1160.apk', '2020-07-20 18:35:00', '升级', NULL, '', 'false', '1.0.0', 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-e456bae7-a062-42af-9507-4ec00ceb0b59/6dfe11de-fe9c-477d-9a81-e3ec04ca1160.apk', 1);
+INSERT INTO `app` VALUES (7, '333333', '2022-02-11 15:03:59', 'sdfasdf', 'werqwerwqr', 'wqerwqer', 'false', 'ewrqwwqe', '1123123', 2);
+
+-- ----------------------------
+-- Table structure for apply
+-- ----------------------------
+DROP TABLE IF EXISTS `apply`;
+CREATE TABLE `apply` (
+ `apply_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '申请id',
+ `apply_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
+ `apply_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
+ `apply_age` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '年龄',
+ `apply_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+ `classify` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类 1推广员 2代理商',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1待审核 2通过 3拒绝',
+ `audit_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核内容',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`apply_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of apply
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for artificer
+-- ----------------------------
+DROP TABLE IF EXISTS `artificer`;
+CREATE TABLE `artificer` (
+ `artificer_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '技师id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `artificer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技师名称',
+ `artificer_img` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技师图片',
+ `longitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度',
+ `latitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度',
+ `life_photo` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技师生活照',
+ `certificate` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '证书',
+ `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
+ `working_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '从业时长',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `artificer_sales` int(11) NULL DEFAULT NULL COMMENT '技师销量',
+ `begin_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接单起始时间',
+ `finish_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结束时间',
+ `status` int(11) NULL DEFAULT NULL COMMENT '上下线',
+ `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',
+ `classify_id` int(11) NULL DEFAULT NULL COMMENT '认证类型id',
+ `trip_way` int(11) NULL DEFAULT NULL COMMENT '出行方式',
+ `credit_score` decimal(10, 2) NULL DEFAULT NULL COMMENT '信誉分',
+ `add_artificer_money` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `is_goods` int(11) NULL DEFAULT NULL,
+ `is_hot` int(11) NULL DEFAULT NULL,
+ `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `rate` decimal(10,2) DEFAULT NULL,
+ PRIMARY KEY (`artificer_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 84 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of artificer
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for artificer_massage
+-- ----------------------------
+DROP TABLE IF EXISTS `artificer_massage`;
+CREATE TABLE `artificer_massage` (
+ `artificer_massage_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '技术服务id',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '技师id',
+ `massage_type_id` int(11) NULL DEFAULT NULL COMMENT '服务id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `status` int(11) NULL DEFAULT NULL COMMENT '服务是否上架 0上架 1下架',
+ PRIMARY KEY (`artificer_massage_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 188 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of artificer_massage
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for artificer_time
+-- ----------------------------
+DROP TABLE IF EXISTS `artificer_time`;
+CREATE TABLE `artificer_time` (
+ `artificer_time_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '师傅时间配置id',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '技师id',
+ `artificer_date` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日期',
+ `artificer_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时分秒',
+ `classify` int(11) NULL DEFAULT NULL COMMENT '1订单占用 2技师设置',
+ `orders_id` int(11) NULL DEFAULT NULL COMMENT '订单id',
+ `create_time` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`artificer_time_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 194 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of artificer_time
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for banner
+-- ----------------------------
+DROP TABLE IF EXISTS `banner`;
+CREATE TABLE `banner` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'bannerid',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
+ `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片地址',
+ `state` int(2) NULL DEFAULT NULL COMMENT '状态1正常2隐藏',
+ `classify` int(2) NULL DEFAULT NULL COMMENT '分类1banner图2金刚区分类',
+ `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '跳转地址 ',
+ `sort` int(4) NULL DEFAULT NULL COMMENT '顺序',
+ `describes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of banner
+-- ----------------------------
+INSERT INTO `banner` VALUES (1, '2023-01-06 14:07:10', '轮播', 'https://yuesao.xianmxkj.com/file/uploadPath/2023/01/06/df5cdf396838ac2fc6cfc34ed5d31c94.png', 1, 1, 'https://shegnqx.oss-cn-beijing.aliyuncs.com/20200804/2b33cfd09af84c3ca4aedbde6af7d469.png', 1, '轮播');
+INSERT INTO `banner` VALUES (10, '2022-02-23 09:15:11', '按摩理疗', 'https://jiazheng.xianmxkj.com/file/uploadPath/2021/11/30/a4be84c4d972a618b52b81fcd4ea42df.png', 1, 2, '/pages/index/game/order?massageTypeId=17&name=全身SPA', NULL, '按摩理疗');
+INSERT INTO `banner` VALUES (11, '2022-02-23 09:15:11', '全身SPA', 'https://jiazheng.xianmxkj.com/file/uploadPath/2021/11/30/63ef000d158217f135cf419b973e7b1f.png', 1, 2, '/pages/index/game/order?massageTypeId=17&name=全身SPA', NULL, '全身SPA');
+INSERT INTO `banner` VALUES (12, '2022-02-23 09:15:11', '足疗按摩', 'https://jiazheng.xianmxkj.com/file/uploadPath/2021/11/30/609492e0f1bae110d1486bf7845eb02d.png', 1, 2, '/pages/index/game/order?massageTypeId=17&name=全身SPA', NULL, '足疗按摩');
+INSERT INTO `banner` VALUES (13, '2022-02-23 09:15:11', '中医推拿', 'https://jiazheng.xianmxkj.com/file/uploadPath/2021/11/30/379d195183e34cd849e83e3cbc708cd5.png', 1, 2, '/pages/index/game/order?massageTypeId=17&name=全身SPA', NULL, '中医推拿');
+INSERT INTO `banner` VALUES (15, '2022-02-23 09:15:11', '艾灸刮痧', 'https://jiazheng.xianmxkj.com/file/uploadPath/2021/11/30/eb2669c23120d10fda6b7b9da1b06ccb.png', 1, 2, '/pages/index/game/order?massageTypeId=17&name=全身SPA', NULL, '艾灸刮痧');
+INSERT INTO `banner` VALUES (19, '2023-02-15 14:14:52', '邀请背景图', 'https://anmo.xianmxkj.com/file/uploadPath/2023/02/15/0c36331e0e6cf9126c3971739c2b7db3.png', 1, 5, 'https://yuesao.xianmxkj.com', NULL, '邀请背景图');
+INSERT INTO `banner` VALUES (28, '2022-01-07 13:29:05', '测试分类', 'https://yuesao.xianmxkj.com/file/uploadPath/2022/01/07/3e96d729b23b8e75e9d8161274532f27.png', 2, 2, '111111', NULL, '测试');
+INSERT INTO `banner` VALUES (29, '2023-01-06 14:07:10', '1', 'https://yuesao.xianmxkj.com/file/uploadPath/2023/01/06/62eff023f89bb581800e67693f351a25.png', 1, 1, '1', NULL, '1');
+INSERT INTO `banner` VALUES (30, '2023-01-06 14:07:43', '1', 'https://yuesao.xianmxkj.com/file/uploadPath/2023/01/06/0065c5ab33a3b7370d3cc70227c99adf.png', 1, 1, '1', NULL, '1');
+INSERT INTO `banner` VALUES (31, '2023-01-06 14:07:49', '1', 'https://yuesao.xianmxkj.com/file/uploadPath/2023/01/06/db0a230dac02786b058018b62efcf168.png', 1, 1, '1', NULL, '1');
+INSERT INTO `banner` VALUES (32, '2023-08-24 16:11:13', '技师邀请图', 'https://anmo5.0.xianmaxiong.com/file/uploadPath/2023/08/24/4fd10ebbedec3160c5c373c74111160f.png', 1, 6, '1', NULL, '1');
+
+
+-- ----------------------------
+-- Table structure for cash_out
+-- ----------------------------
+DROP TABLE IF EXISTS `cash_out`;
+CREATE TABLE `cash_out` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请提现id',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请时间',
+ `is_out` int(2) NULL DEFAULT NULL COMMENT '是否转账',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '提现金额',
+ `out_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转账时间',
+ `relation_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '会员编号',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `zhifubao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝账号',
+ `zhifubao_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝姓名',
+ `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
+ `state` int(11) NULL DEFAULT NULL COMMENT '状态 0待转账 1成功 -1退款',
+ `refund` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `classify` int(11) NULL DEFAULT NULL,
+ `rate` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '利息',
+ `user_type` int(11) NULL DEFAULT NULL,
+ `bank_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行卡号',
+ `bank_card_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行名称',
+ `bank_card_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行卡用户姓名',
+ `bank_card_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行开户行地址',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 129 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of cash_out
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for certification
+-- ----------------------------
+DROP TABLE IF EXISTS `certification`;
+CREATE TABLE `certification` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户实名认证id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实姓名',
+ `id_number` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号码',
+ `birthdate` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出生年月日',
+ `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址',
+ `sex` int(11) NULL DEFAULT NULL COMMENT '性别 1男 2女',
+ `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
+ `individual_resume` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '个人简介',
+ `front` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '正面照',
+ `back` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '反面照',
+ `certification` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '资格证书',
+ `avatar` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '头像',
+ `image_photo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '形象照',
+ `create_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `status` int(255) NULL DEFAULT NULL COMMENT '0审核中1审核成功2拒绝3申请退还保证金',
+ `remek` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明',
+ `update_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改时间',
+ `classify_id` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 144 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of certification
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for chat_content
+-- ----------------------------
+DROP TABLE IF EXISTS `chat_content`;
+CREATE TABLE `chat_content` (
+ `chat_content_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '聊天内容id',
+ `chat_conversation_id` int(11) NULL DEFAULT NULL COMMENT '聊天会话id',
+ `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+ `message_type` int(11) NULL DEFAULT NULL COMMENT '类型 1文字 2图片 3语音',
+ `width` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片宽度',
+ `height` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片高度',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '发送用户id',
+ `status` int(11) NULL DEFAULT NULL COMMENT '0未读 1已读',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送时间',
+ PRIMARY KEY (`chat_content_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 506 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of chat_content
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for chat_conversation
+-- ----------------------------
+DROP TABLE IF EXISTS `chat_conversation`;
+CREATE TABLE `chat_conversation` (
+ `chat_conversation_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '聊天会话id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '发送用户id',
+ `focused_user_id` int(11) NULL DEFAULT NULL COMMENT '接受用户id',
+ `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ PRIMARY KEY (`chat_conversation_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 88 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of chat_conversation
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for chats
+-- ----------------------------
+DROP TABLE IF EXISTS `chats`;
+CREATE TABLE `chats` (
+ `chat_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '会话id',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `user_count` int(20) NULL DEFAULT 0 COMMENT '用户未读条数',
+ `user_count2` int(20) NULL DEFAULT 0 COMMENT '好友未读条数',
+ `user_head` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户头像',
+ `user_head2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '好友头像',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `user_id2` bigint(20) NULL DEFAULT NULL COMMENT '好友id',
+ `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
+ `user_name2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '好友昵称',
+ `store_count` int(11) NULL DEFAULT 0 COMMENT '后台未读条数',
+ `store_head` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '后台头像',
+ `store_id` bigint(20) NULL DEFAULT NULL COMMENT '总后台id(总后台传0',
+ `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户昵称',
+ PRIMARY KEY (`chat_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 113 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '聊天会话' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of chats
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for chats_content
+-- ----------------------------
+DROP TABLE IF EXISTS `chats_content`;
+CREATE TABLE `chats_content` (
+ `chat_content_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '会话内容id',
+ `chat_id` bigint(20) NULL DEFAULT NULL COMMENT '会话Id',
+ `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '聊天内容',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `send_type` bigint(20) NULL DEFAULT NULL COMMENT '消息来源(1用户消息 2好友消息)',
+ `status` int(11) NULL DEFAULT 1 COMMENT '是否已读(1未读 2已读)',
+ `type` int(1) NULL DEFAULT NULL COMMENT '类型(1文字 2图片 3链接)',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `user_id2` bigint(20) NULL DEFAULT NULL COMMENT '好友id',
+ `store_id` bigint(20) NULL DEFAULT NULL COMMENT '后台id(总后台传0)',
+ PRIMARY KEY (`chat_content_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1143 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '聊天会话内容' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of chats_content
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for collect_artificer
+-- ----------------------------
+DROP TABLE IF EXISTS `collect_artificer`;
+CREATE TABLE `collect_artificer` (
+ `collect_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '收藏',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '订单id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `classify` int(11) NULL DEFAULT NULL COMMENT '1收藏 2浏览记录',
+ PRIMARY KEY (`collect_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1812 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '收藏' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of collect_artificer
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for comment_fabulous
+-- ----------------------------
+DROP TABLE IF EXISTS `comment_fabulous`;
+CREATE TABLE `comment_fabulous` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '点赞id',
+ `taking_comment_id` bigint(20) NULL DEFAULT NULL COMMENT '接单评论id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of comment_fabulous
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for common_info
+-- ----------------------------
+DROP TABLE IF EXISTS `common_info`;
+CREATE TABLE `common_info` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '配置文件id',
+ `create_at` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `max` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `min` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置文件名称',
+ `type` int(11) NULL DEFAULT NULL COMMENT '类型',
+ `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '值',
+ `condition_from` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '分类',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 378 CHARACTER SET = big5 COLLATE = big5_chinese_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of common_info
+-- ----------------------------
+INSERT INTO `common_info` VALUES (1, '2021-09-02 15:46:41', NULL, '客服二维码', 1, 'https://www.gomyorder.cn/custom.jpg', 'image');
+INSERT INTO `common_info` VALUES (2, '2023-02-03 20:59:15', NULL, '公众号二维码', 2, 'https://taobao.xianmxkj.com/erweima.jpg', 'image');
+INSERT INTO `common_info` VALUES (3, '2023-01-28 18:49:11', NULL, '微信公众号标题', 3, '公众号', 'weixin');
+INSERT INTO `common_info` VALUES (4, '2023-01-28 18:49:11', NULL, '微信公众号内容', 4, '公众号内容', 'weixin');
+INSERT INTO `common_info` VALUES (6, '2023-02-15 14:24:40', NULL, '微信公众号APPID ', 5, '', 'weixin');
+INSERT INTO `common_info` VALUES (7, '2023-02-08 22:01:46', NULL, '短信签名', 6, '省钱兄', 'duanxin');
+INSERT INTO `common_info` VALUES (16, '2023-02-15 14:24:44', NULL, '微信公众号秘钥 ', 21, '', 'weixin');
+INSERT INTO `common_info` VALUES (17, '2023-01-28 18:49:43', NULL, '公众号Token', 16, 'mxkj', 'weixin');
+INSERT INTO `common_info` VALUES (18, '2023-01-28 18:49:58', NULL, '公众号EncodingAESKey ', 17, 'qD42ixTtLwDEvex9yg17YHHWkqGMxvQh8P3lRrBZ6Aq', 'weixin');
+INSERT INTO `common_info` VALUES (20, '2023-02-03 20:54:30', NULL, '后台管理平台域名配置 ', 20, 'https://anmoadmin.xianmxkj.com', 'xitong');
+INSERT INTO `common_info` VALUES (21, '2023-02-03 20:54:37', NULL, 'h5服务域名配置 ', 19, 'https://anmo.xianmxkj.com', 'xitong');
+INSERT INTO `common_info` VALUES (22, '2020-07-27 15:17', NULL, '短信服务商(1 开启腾讯云 2 开启阿里云 3短信宝)', 79, '3', 'duanxin');
+INSERT INTO `common_info` VALUES (23, '2023-02-08 22:01:26', NULL, '后台服务名称 ', 12, '省钱兄', 'xitong');
+INSERT INTO `common_info` VALUES (27, '2023-02-03 20:55:03', NULL, '通用APP下载地址 ', 25, '11', 'xitong');
+INSERT INTO `common_info` VALUES (33, '2021-03-15 21:19:27', NULL, '腾讯云短信clientId ', 31, '', 'duanxin');
+INSERT INTO `common_info` VALUES (34, '2020-03-28 00:47', NULL, '腾讯云短信clientSecret ', 32, '', 'duanxin');
+INSERT INTO `common_info` VALUES (47, '2020-03-29 00:21', NULL, '微信小程序APPID', 45, '', 'weixin');
+INSERT INTO `common_info` VALUES (48, '2020-03-29 00:21', NULL, '微信小程序秘钥', 46, '', 'weixin');
+INSERT INTO `common_info` VALUES (51, '2023-02-03 20:55:08', NULL, '分享安卓下载地址', 49, '11', 'xitong');
+INSERT INTO `common_info` VALUES (52, '2023-02-03 20:55:16', NULL, '分享苹果下载地址', 50, '11', 'xitong');
+INSERT INTO `common_info` VALUES (58, '2020-03-29 00:21', NULL, '开启微信登录', 53, '是', 'xitongs');
+INSERT INTO `common_info` VALUES (69, '2023-01-30 18:22:19', NULL, 'APP消息推送PushAppKey', 60, 'j0qnxK8CHq5IPSAojkfNC4', 'push');
+INSERT INTO `common_info` VALUES (70, '2023-01-30 18:22:14', NULL, 'APP消息推送PushAppId', 61, 'UNrMQr363kAeUwiO2HJa28', 'push');
+INSERT INTO `common_info` VALUES (71, '2023-01-30 18:22:27', NULL, 'APP消息推送PushMasterSecret', 62, '8AlquOxOZx92p1iZ9nUV43', 'push');
+INSERT INTO `common_info` VALUES (72, '2020-06-04 16:34', NULL, '企业支付宝APPID', 63, '', 'zhifubao');
+INSERT INTO `common_info` VALUES (73, '2020-06-04 16:34', NULL, '企业支付宝公钥', 64, '', 'zhifubao');
+INSERT INTO `common_info` VALUES (74, '2020-06-04 16:34', NULL, '企业支付宝商户秘钥', 65, '', 'zhifubao');
+INSERT INTO `common_info` VALUES (77, '2021-03-15 21:22:30', NULL, '文件上传阿里云Endpoint', 68, 'https://oss-cn-beijing.aliyuncs.com', 'oss');
+INSERT INTO `common_info` VALUES (78, '2021-03-15 21:22:38', NULL, '文件上传阿里云账号accessKeyId', 69, '', 'oss');
+INSERT INTO `common_info` VALUES (79, '2021-03-15 21:22:46', NULL, '文件上传阿里云账号accessKeySecret', 70, '', 'oss');
+INSERT INTO `common_info` VALUES (80, '2021-03-15 21:22:53', NULL, '文件上传阿里云Bucket名称', 71, 'shegnqx', 'oss');
+INSERT INTO `common_info` VALUES (81, '2021-03-15 21:23:00', NULL, '文件上传阿里云Bucket域名', 72, 'https://shegnqx.oss-cn-beijing.aliyuncs.com', 'oss');
+INSERT INTO `common_info` VALUES (83, '2020-07-27 15:17', NULL, '微信APPappId', 74, '', 'weixin');
+INSERT INTO `common_info` VALUES (84, '2020-07-27 15:17', NULL, '微信商户key', 75, '', 'weixin');
+INSERT INTO `common_info` VALUES (85, '2020-07-27 15:17', NULL, '微信商户号mchId', 76, '', 'weixin');
+INSERT INTO `common_info` VALUES (96, '2020-07-27 15:17', NULL, '阿里云登陆或注册模板code(开启阿里云短信必须配置)', 80, 'SMS_200190994', 'duanxin');
+INSERT INTO `common_info` VALUES (97, '2020-07-27 15:17', NULL, '阿里云找回密码模板code(开启阿里云短信必须配置)', 81, 'SMS_200176048', 'duanxin');
+INSERT INTO `common_info` VALUES (98, '2020-07-27 15:17', NULL, '阿里云绑定手机号模板code(开启阿里云短信必须配置)', 82, 'SMS_200186024', 'duanxin');
+INSERT INTO `common_info` VALUES (99, '2020-07-27 15:17', NULL, '阿里云短信accessKeyId', 83, '', 'duanxin');
+INSERT INTO `common_info` VALUES (100, '2020-07-27 15:17', NULL, '阿里云短信accessSecret', 84, '', 'duanxin');
+INSERT INTO `common_info` VALUES (101, '2021-02-24 18:46:57', NULL, '官方邀请码', 88, '666666', 'xitong');
+INSERT INTO `common_info` VALUES (102, '2022-02-08 17:45:36', NULL, '支付宝转账方式 1支付宝证书 2支付宝秘钥 3手动', 98, '3', 'zhifubao');
+INSERT INTO `common_info` VALUES (103, '2020-07-27 15:17', NULL, '阿里云快递查询AppCode', 103, '', 'xitong');
+INSERT INTO `common_info` VALUES (130, '2021-12-03 16:21:05', NULL, '提现最低额度', 112, '10', 'fuwufei');
+INSERT INTO `common_info` VALUES (134, '2023-02-14 19:55:58', NULL, '海报邀请语', 116, '一键下单 上门服务', 'xitong');
+INSERT INTO `common_info` VALUES (154, '2020-11-04 10:31:40', NULL, '是否开启APP微信分享', 136, '否', 'weixins');
+INSERT INTO `common_info` VALUES (159, '2021-11-02 14:53:27', NULL, 'H5推广是否分享APP下载页面', 141, '否', 'xitongs');
+INSERT INTO `common_info` VALUES (170, '2021-12-03 16:51:14', NULL, '提现手续费', 152, '0.05', 'fuwufei');
+INSERT INTO `common_info` VALUES (171, '2021-09-06 16:19:51', NULL, '最高提现金额', 153, '1000', 'fuwufei');
+INSERT INTO `common_info` VALUES (182, '2020-07-27 15:17', NULL, '短信宝用户名', 164, '', 'duanxin');
+INSERT INTO `common_info` VALUES (183, '2020-07-27 15:17', NULL, '短信宝密码', 165, '', 'duanxin');
+INSERT INTO `common_info` VALUES (184, '2020-11-04 10:31:40', NULL, '支付宝证书路径', 200, 'E:\\gongzuo\\waimai-renwu\\src\\main\\resources\\zhifubao', 'zhifubao');
+INSERT INTO `common_info` VALUES (185, '2020-11-04 10:31:40', NULL, '支付宝支付方式 1证书 2秘钥', 201, '2', 'zhifubao');
+INSERT INTO `common_info` VALUES (201, '2021-08-14 19:10:04', NULL, '隐私政策', 176, '
本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
1. 适用范围
(a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息;
(b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;
(c) 本应用通过合法途径从商业伙伴处取得的用户个人数据。
您了解并同意,以下信息不适用本隐私权政策:
(a) 您在使用本应用平台提供的搜索服务时输入的关键字信息;
(b) 本应用收集到的您在本应用发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情;
(c) 违反法律规定或违反本应用规则行为及本应用已对您采取的措施。
2. 信息使用
(a)本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和本应用(含本应用关联公司)单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些资料。
(b) 本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。
(c) 为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。
3. 信息披露
在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息:
(a) 经您事先同意,向第三方披露;
(b)为提供您所要求的产品和服务,而必须和第三方分享您的个人信息;
(c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;
(d) 如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露;
(e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;
(f) 在本应用平台上创建的某一交易中,如交易任何一方履行或部分履行了交易义务并提出信息披露请求的,本应用有权决定向该用户提供其交易对方的联络方式等必要信息,以促成交易的完成或纠纷的解决。
(g) 其它本应用根据法律、法规或者网站政策认为合适的披露。
4. 信息存储和交换
本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。
5. Cookie的使用
(a) 在您未拒绝接受cookies的情况下,本应用会在您的计算机上设定或取用cookies ,以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务,包括推广服务。
(b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的本应用网络服务或功能。
(c) 通过本应用所设cookies所取得的有关信息,将适用本政策。
6. 信息安全
(a) 本应用帐号均有安全保护功能,请妥善保管您的用户名及密码信息。本应用将通过对用户密码进行加密等安全措施确保您的信息不丢失,不被滥用和变造。尽管有前述安全措施,但同时也请您注意在信息网络上不存在“完善的安全措施”。
(b) 在使用本应用网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是本应用用户名及密码发生泄露,请您立即联络本应用客服,以便本应用采取相应措施。
7.本隐私政策的更改
(a)如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
(b)本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
', 'xieyi');
+INSERT INTO `common_info` VALUES (202, '2021-08-14 19:09:54', NULL, '注册协议', 177, '尊敬的用户您好:在您使用本服务之前,请您认真阅读本用户协议,更好的了解我们所提供的服务以及您享有的权利义务。您开始使用时,即表示您已经了解并确认接受了本文件中的全部条款,包括我们对本服务条款随时做的任何修改。
一、协议的效力
本协议内容包括协议正文及所有已经发布或将来可能发布的各类规则。所有规则为本协议不可分割的组成部分,与协议正文具有同等法律效力。您承诺接受并遵守本协议的约定。如果您不同意本协议的约定,您应立即停止使用本平台服务。
二、用户行为规范
用户同意将不会利用本服务进行任何违法或不正当的活动,包括但不限于下列行为∶
发布或以其它方式传送含有下列内容之一的信息:
反对宪法所确定的基本原则的;
危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
损害国家荣誉和利益的;
煽动民族仇恨、民族歧视、破坏民族团结的;
破坏国家宗教政策,宣扬邪教和封建迷信的;
散布谣言,扰乱社会秩序,破坏社会稳定的;
散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
侮辱或者诽谤他人,侵害他人合法权利的;
含有虚假、诈骗、有害、胁迫、侵害他人隐私、骚扰、侵害、中伤、粗俗、猥亵、或其它道德上令人反感的内容;
含有当地法律、法规、规章、条例以及任何具有法律效力之规范所限制或禁止的其它内容的;
含有不适合在本平台展示的内容;
以任何方式危害他人的合法权益;
冒充其他任何人或机构,或以虚伪不实的方式陈述或谎称与任何人或机构有关;
将依据任何法律或合约或法定关系(例如由于雇佣关系和依据保密合约所得知或揭露之内部资料、专属及机密资料)知悉但无权传送之任何内容加以发布、发送电子邮件或以其它方式传送;
将侵害他人著作权、专利权、商标权、商业秘密、或其它专属权利(以下简称“专属权利”)之内容加以发布或以其它方式传送;
将任何广告信函、促销资料、“垃圾邮件”、““滥发信件”、“连锁信件”、“直销”或其它任何形式的劝诱资料加以发布、发送或以其它方式传送;
将设计目的在于干扰、破坏或限制任何计算机软件、硬件或通讯设备功能之计算机病毒(包括但不限于木马程序(trojan horses)、蠕虫(worms)、定时炸弹、删除蝇(cancelbots)(以下简称“病毒”)或其它计算机代码、档案和程序之任何资料,加以发布、发送或以其它方式传送;
干扰或破坏本服务或与本服务相连线之服务器和网络,或违反任何关于本服务连线网络之规定、程序、政策或规范;
跟踪、人肉搜索或以其它方式骚扰他人;
故意或非故意地违反任何适用的当地、国家法律,以及任何具有法律效力的规则;
未经合法授权而截获、篡改、收集、储存或删除他人个人信息、站内邮件或其它数据资料,或将获知的此类资料用于任何非法或不正当目的。
三、知识产权
本平台所有设计图样以及其他图样、产品及服务名称。任何人不得使用、复制或用作其他用途。未经我们许可,任何单位和个人不得私自复制、传播、展示、镜像、上载、下载、使用,或者从事任何其他侵犯我们知识产权的行为。否则,我们将追究相关法律责任。
我们鼓励用户充分利用平台自由地张贴和共享自己的信息,但这些内容必须位于公共领域内,或者用户拥有这些内容的使用权。同时,用户对于其创作并在本平台上发布的合法内容依法享有著作权及其相关权利。
四、免责声明
互联网是一个开放平台,用户将照片等个人资料上传到互联网上,有可能会被其他组织或个人复制、转载、擅改或做其它非法用途,用户必须充分意识此类风险的存在。用户明确同意其使用本服务所存在的风险将完全由其自己承担;因其使用本服务而产生的一切后果也由其自己承担,我们对用户不承担任何责任。
对于用户上传的照片、资料、证件等,已采用相关措施并已尽合理努力进行审核,但不保证其内容的正确性、合法性或可靠性,相关责任由上传上述内容的会员负责。
尽管已采取相应的技术保障措施 ,但用户仍有可能收到各类的广告信或其他不以招聘/应聘为目的邮件或其它方式传送的任何内容,本平台不承担责任。
对于各种广告信息、链接、资讯等,不保证其内容的正确性、合法性或可靠性,相关责任由广告商承担;用户通过本服务与广告商进行任何形式的通讯或商业往来,或参与促销活动,包含相关商品或服务之付款及交付,以及达成的其它任何相关条款、条件、保证或声明,完全为用户与广告商之间之行为,与本平台无关。用户因前述任何交易或前述广告商而遭受的任何性质的损失或损害,本平台不承担任何责任。
本平台不保证其提供的服务一定能满足用户的要求和期望,也不保证服务不会中断,对服务的及时性、安全性、准确性也都不作保证。对于因不可抗力或无法控制的原因造成的网络服务中断或其他缺陷,不承担任何责任。我们不对用户所发布信息的删除或储存失败承担责任。我们有权判断用户的行为是否符合本网站使用协议条款之规定,如果我们认为用户违背了协议条款的规定,我们有终止向其提供服务的权利。
本平台保留变更、中断或终止部分网络服务的权利。保留根据实际情况随时调整平台提供的服务种类、形式的权利。本平台不承担因业务调整给用户造成的损失。本平台仅提供相关服务,除此之外与本服务有关的设备(如电脑、调制解调器及其他与接入互联网有关的装置)及所需的费用(如为接入互联网而支付的电话费及上网费)均应由用户自行负担。
', 'xieyi');
+INSERT INTO `common_info` VALUES (203, '2021-08-14 19:09:54', NULL, '关于我们', 187, '关于我们,有问题可以在线联系客服哦。', 'xieyi');
+INSERT INTO `common_info` VALUES (204, '2023-02-14 18:46:11', NULL, '登录是否获取手机号', 188, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (217, '2020-07-27 15:17', NULL, '腾讯地图key', 217, 'WI7BZ-YZCKF-U3BJQ-JUMBB-XUQ3E-UXFYU', 'xitong');
+INSERT INTO `common_info` VALUES (234, '2020-11-04 10:31:40', NULL, '上传方式 1阿里云oss 2本地', 234, '2', 'oss');
+INSERT INTO `common_info` VALUES (237, '2023-02-10 14:04:25', NULL, '是否开启公众号', 237, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (238, '2023-01-18 22:51:14', NULL, '小程序上架是否显示', 238, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (240, '2020-11-04 10:31:40', NULL, '是否开启腾讯云实名认证', 240, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (241, '2022-02-12 10:52:01', NULL, '师傅实名认证保证金', 241, '0.01', 'fuwufei');
+INSERT INTO `common_info` VALUES (243, '2023-01-16 16:32:08', NULL, '师傅端微信小程序APPID', 243, '', 'weixin');
+INSERT INTO `common_info` VALUES (244, '2023-01-16 16:32:46', NULL, '师傅端微信小程序秘钥', 244, '', 'weixin');
+INSERT INTO `common_info` VALUES (245, '2020-07-27 15:1', NULL, '师傅端微信商户key', 245, '', 'weixin');
+INSERT INTO `common_info` VALUES (246, '2020-07-27 15:1', NULL, '师傅端微信商户号mchId', 246, '', 'weixin');
+INSERT INTO `common_info` VALUES (247, '2020-07-27 15:1', NULL, '小程序师傅端下单成功通知', 247, 'wAOXHhPoQ-isu3K1yVZ4Tq5r-yYLnATaE7gJrn-_kJ8', 'weixin');
+INSERT INTO `common_info` VALUES (248, '2020-07-27 15:1', NULL, '小程序用户端订单取消通知', 248, 'WCglVnYANPEXpKbdCZco7fi3y2pkhdsDMPQJhisycI4', 'weixin');
+INSERT INTO `common_info` VALUES (249, '2020-07-27 15:1', NULL, '小程序师傅端完成订单通知', 249, 'D0J4daOvbKozN4EASyAUqNlM4euGlmGmHizx_nZeXnk', 'weixin');
+INSERT INTO `common_info` VALUES (250, '2020-07-27 15:1', NULL, '小程序用户端完成订单通知', 250, 'tNylkp6qdVRHs8h0xmBKk_LbUrwTpZtBQGaXlfxMsik', 'weixin');
+INSERT INTO `common_info` VALUES (251, '2020-07-27 15:1', NULL, '是否开启用户下单短信通知', 251, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (252, '2023-02-01 11:58:25', NULL, '用户端是否上线', 252, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (253, '2020-07-27 15:1', NULL, '商户端是否上线', 253, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (257, '2020-11-04 10:31:40', NULL, '身份验证SecretID', 257, 'AKIDcs5hbyp6hjweb38a443LDjz41d1dYdhhzw0', 'xitong');
+INSERT INTO `common_info` VALUES (258, '2020-11-04 10:31:40', NULL, '身份验证SecretKey', 258, '7Q2WtQSSvr1PFhUMDEZ6C155mM61kP1ZCVt9ll78', 'xitongs');
+INSERT INTO `common_info` VALUES (259, '2020-11-04 10:31:40', NULL, '身份验证实例ID', 259, 'market', 'xitong');
+INSERT INTO `common_info` VALUES (260, '2020-07-27 15:17', NULL, '商户端微信APPappId', 260, '', 'weixin');
+INSERT INTO `common_info` VALUES (261, '2021-12-02 18:32:06', NULL, '技师端域名', 261, 'https://anmoshop.xianmxkj.com', 'xitong');
+INSERT INTO `common_info` VALUES (281, '2022-11-22 14:05:09', NULL, '新人优惠券', 281, '30', 'xitong');
+INSERT INTO `common_info` VALUES (288, '2023-01-29 15:05:32', NULL, '阿里云语音通知accessKeyId', 288, '', 'duanxin');
+INSERT INTO `common_info` VALUES (289, '2023-01-29 15:05:50', NULL, '阿里云语音通知accessKeySecret', 289, '', 'duanxin');
+INSERT INTO `common_info` VALUES (290, '2023-01-29 15:02:36', NULL, '阿里云语音通知 1公共模式 2专属号码', 290, '1', 'duanxin');
+INSERT INTO `common_info` VALUES (291, '2022-11-22 14:05:09', NULL, '阿里云语音通知专属号码(开启专属号码时填写)', 291, '', 'duanxin');
+INSERT INTO `common_info` VALUES (292, '2023-01-29 15:02:31', NULL, '阿里云语音结束通知语音id', 292, 'TTS_268765011', 'duanxin');
+INSERT INTO `common_info` VALUES (295, '2022-11-22 14:05:09', NULL, '邀请用户平台收益返利比例', 295, '0.1', 'fuwufei');
+INSERT INTO `common_info` VALUES (296, '2023-01-14 16:49:21', NULL, '邀请师傅平台收益返利比例', 296, '0.2', 'fuwufei');
+INSERT INTO `common_info` VALUES (297, '2023-02-14 18:38:30', NULL, '用户端是否上线2', 297, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (298, '2023-02-15 09:20:41', NULL, '师傅端是否上线2', 298, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (299, '2023-01-18 16:17:29', NULL, '分享文案', 299, '快来下单吧,这里的技师很专业', 'xitong');
+INSERT INTO `common_info` VALUES (300, '2023-01-17 18:05:41', NULL, '分享图片', 300, 'https://www.gomyorder.cn/custom.jpg', 'image');
+INSERT INTO `common_info` VALUES (301, '2023-01-18 17:15:06', NULL, '用户端联系方式 1 手机号 2企业微信', 301, '1', 'kefu');
+INSERT INTO `common_info` VALUES (302, '2023-01-18 18:01:46', NULL, '用户端客服手机号', 302, '0298949111', 'kefu');
+INSERT INTO `common_info` VALUES (303, '2023-01-17 18:05:41', NULL, '用户端企业微信AppId', 303, 'https://www.gomyorder.cn/custom.jpg', 'kefu');
+INSERT INTO `common_info` VALUES (304, '2023-01-17 18:05:41', NULL, '用户端企业微信链接', 304, 'https://www.gomyorder.cn/custom.jpg', 'kefu');
+INSERT INTO `common_info` VALUES (305, '2023-01-18 17:15:16', NULL, '师傅端联系方式 1 手机号 2企业微信', 305, '1', 'kefu');
+INSERT INTO `common_info` VALUES (306, '2023-01-19 09:26:45', NULL, '师傅端客服手机号', 306, '18329688001', 'kefu');
+INSERT INTO `common_info` VALUES (307, '2023-01-17 18:05:41', NULL, '师傅端企业微信AppId', 307, 'https://www.gomyorder.cn/custom.jpg', 'kefu');
+INSERT INTO `common_info` VALUES (308, '2023-01-17 18:05:41', NULL, '师傅端企业微信链接', 308, 'https://www.gomyorder.cn/custom.jpg', 'kefu');
+INSERT INTO `common_info` VALUES (309, '2023-01-17 18:05:41', NULL, '小程序师傅端订单变更通知', 309, 'PwAgkSg5yXTlgihXVxX3mUHqn1nlwuFNaj_AhvoeRFo', 'weixin');
+INSERT INTO `common_info` VALUES (310, '2023-01-29 15:02:25', NULL, '阿里云语音下单通知语音id', 310, 'TTS_268745013', 'duanxin');
+INSERT INTO `common_info` VALUES (311, '2023-01-29 17:04:04', NULL, '是否开启阿里云语音通知', 311, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (312, '2022-11-22 14:05:09', NULL, '公众号客户下单通知', 312, 'v8UhV3ubj51dqr2ViRUkT-N6Noewa9_VQ86aGwg8ahk', 'weixin');
+INSERT INTO `common_info` VALUES (313, '2022-11-22 14:05:09', NULL, '公众号取消订单提醒', 313, 'LZsF483Og56UtUyru-8hTKI3huNC7ZD2_WGmWCOef0c', 'weixin');
+INSERT INTO `common_info` VALUES (314, '2022-11-22 14:05:09', NULL, '公众号订单完成通知', 314, '7MWmJM6y0EJIpQtAkkyMwL57z6i-Kak4Dep1ryKPK1Y', 'weixin');
+INSERT INTO `common_info` VALUES (315, '2022-11-22 14:05:09', NULL, '公众号订单结束提醒', 315, ' TF2QDebLKsa2sOf6ErM72B5mOwOgMnJITrIfaXRTKOk', 'weixin');
+INSERT INTO `common_info` VALUES (316, '2022-11-22 14:05:09', NULL, '订单结束通知提前分钟', 316, '5', 'xitong');
+INSERT INTO `common_info` VALUES (317, '2022-11-22 14:05:09', NULL, '语音提醒方式 1文本转语音 2语音文件', 317, '1', 'duanxin');
+INSERT INTO `common_info` VALUES (318, '2023-02-14 19:56:16', NULL, '是否支持外部浏览器', 318, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (319, '2022-11-22 14:05:09', NULL, '师傅是否可以可以自己修改服务', 319, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (320, '2022-11-22 14:05:09', NULL, '是否开启保证金', 320, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (321, '2023-02-14 19:38:03', NULL, '是否开启会员', 321, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (322, '2023-02-14 19:22:10', NULL, '是否开启推广', 322, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (323, '2020-06-04 16:34', NULL, '评论关键字过滤', 323, '年卡会员VIP同程vipVipVIPVIpvIPviPViP套套,情趣用品,避孕,男用,女用,成人用品,保健品,冈本杜蕾斯杰士邦第六感倍力乐诺丝多乐士斯香妮双一雨蝶玛尼仕,充气娃娃,娃娃充气阴蒂刺激超薄螺纹震动润滑女液体延时,月卡,季卡,年卡,会员卡,超级会员卡,会员,vipVipVIPVIpvIPviPViP套套,情趣用品,避孕,男用,女用,成人用品,保健品,冈本杜蕾斯杰士邦第六感倍力乐诺丝多乐士斯香妮双一雨蝶玛尼仕,充气娃娃,娃娃充气阴蒂刺激超薄螺纹震动润滑女液体延时,月卡,季卡,年卡,会员卡,超级会员卡,会员爱奇艺优酷QQqq百度网盘迅雷腾讯视频携程黑卡去哪儿饿了么美团tvTV芒果会员VIPVIP会员腾讯VIP,优酷VIP,同程VIP,爱奇艺VIP,芒果TV,腾讯TV,爱奇艺TV,优酷TV,TV成人情趣、计生、性保健品', 'xitong');
+INSERT INTO `common_info` VALUES (324, '2023-02-17 20:43:44', NULL, '服务下单最远公里数', 324, '3000', 'fuwufei');
+INSERT INTO `common_info` VALUES (325, '2020-06-04 16:34', NULL, '超时订单超出分钟', 325, '30', 'fuwufei');
+INSERT INTO `common_info` VALUES (326, '2023-03-02 15:10:31', NULL, '提现底部提示', 326, '每月14和28号可提现,节假日顺延,其他时间无法提现', 'fuwufei');
+INSERT INTO `common_info` VALUES (327, '2020-06-04 16:34', NULL, '水印文字', 327, '省钱兄', 'xitong');
+INSERT INTO `common_info` VALUES (328, '2020-06-04 16:34', NULL, '商城配送方式', 328, '快递,自取,同城自取', 'xitong');
+INSERT INTO `common_info` VALUES (329, '2020-06-04 16:34', NULL, '是否开启师傅端商城', 329, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (330, '2023-02-22 15:55:32', NULL, '商家地址', 330, '陕西省西安市雁塔区高新三路(雁塔区高新九号广场(高新三路西))', 'shop');
+INSERT INTO `common_info` VALUES (331, '2020-06-04 16:34', NULL, '商家联系方式', 331, '13000000000', 'shop');
+INSERT INTO `common_info` VALUES (332, '2020-06-04 16:34', NULL, '商家名称', 332, '我是商家', 'shop');
+INSERT INTO `common_info` VALUES (333, '2023-02-22 15:55:34', 'null', '商家经纬度', 333, '34.23884745240398,108.89914512634277', 'shop');
+INSERT INTO `common_info` VALUES (334, '2023-03-02 15:09:17', NULL, '提现日期(逗号间隔)', 334, '14,28', 'fuwufei');
+INSERT INTO `common_info` VALUES (373, '2020-06-04 16:34', NULL, '完成订单需离开当前位置(m)', 373, '500', 'fuwufei');
+INSERT INTO `common_info` VALUES (374, '2021-08-14 19:09:54', NULL, '师傅入驻协议', 374, '尊敬的用户您好:在您使用本服务之前,请您认真阅读本用户协议,更好的了解我们所提供的服务以及您享有的权利义务。您开始使用时,即表示您已经了解并确认接受了本文件中的全部条款,包括我们对本服务条款随时做的任何修改。
一、协议的效力
本协议内容包括协议正文及所有已经发布或将来可能发布的各类规则。所有规则为本协议不可分割的组成部分,与协议正文具有同等法律效力。您承诺接受并遵守本协议的约定。如果您不同意本协议的约定,您应立即停止使用本平台服务。
二、用户行为规范
用户同意将不会利用本服务进行任何违法或不正当的活动,包括但不限于下列行为∶
发布或以其它方式传送含有下列内容之一的信息:
反对宪法所确定的基本原则的;
危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
损害国家荣誉和利益的;
煽动民族仇恨、民族歧视、破坏民族团结的;
破坏国家宗教政策,宣扬邪教和封建迷信的;
散布谣言,扰乱社会秩序,破坏社会稳定的;
散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
侮辱或者诽谤他人,侵害他人合法权利的;
含有虚假、诈骗、有害、胁迫、侵害他人隐私、骚扰、侵害、中伤、粗俗、猥亵、或其它道德上令人反感的内容;
含有当地法律、法规、规章、条例以及任何具有法律效力之规范所限制或禁止的其它内容的;
含有不适合在本平台展示的内容;
以任何方式危害他人的合法权益;
冒充其他任何人或机构,或以虚伪不实的方式陈述或谎称与任何人或机构有关;
将依据任何法律或合约或法定关系(例如由于雇佣关系和依据保密合约所得知或揭露之内部资料、专属及机密资料)知悉但无权传送之任何内容加以发布、发送电子邮件或以其它方式传送;
将侵害他人著作权、专利权、商标权、商业秘密、或其它专属权利(以下简称“专属权利”)之内容加以发布或以其它方式传送;
将任何广告信函、促销资料、“垃圾邮件”、““滥发信件”、“连锁信件”、“直销”或其它任何形式的劝诱资料加以发布、发送或以其它方式传送;
将设计目的在于干扰、破坏或限制任何计算机软件、硬件或通讯设备功能之计算机病毒(包括但不限于木马程序(trojan horses)、蠕虫(worms)、定时炸弹、删除蝇(cancelbots)(以下简称“病毒”)或其它计算机代码、档案和程序之任何资料,加以发布、发送或以其它方式传送;
干扰或破坏本服务或与本服务相连线之服务器和网络,或违反任何关于本服务连线网络之规定、程序、政策或规范;
跟踪、人肉搜索或以其它方式骚扰他人;
故意或非故意地违反任何适用的当地、国家法律,以及任何具有法律效力的规则;
未经合法授权而截获、篡改、收集、储存或删除他人个人信息、站内邮件或其它数据资料,或将获知的此类资料用于任何非法或不正当目的。
三、知识产权
本平台所有设计图样以及其他图样、产品及服务名称。任何人不得使用、复制或用作其他用途。未经我们许可,任何单位和个人不得私自复制、传播、展示、镜像、上载、下载、使用,或者从事任何其他侵犯我们知识产权的行为。否则,我们将追究相关法律责任。
我们鼓励用户充分利用平台自由地张贴和共享自己的信息,但这些内容必须位于公共领域内,或者用户拥有这些内容的使用权。同时,用户对于其创作并在本平台上发布的合法内容依法享有著作权及其相关权利。
四、免责声明
互联网是一个开放平台,用户将照片等个人资料上传到互联网上,有可能会被其他组织或个人复制、转载、擅改或做其它非法用途,用户必须充分意识此类风险的存在。用户明确同意其使用本服务所存在的风险将完全由其自己承担;因其使用本服务而产生的一切后果也由其自己承担,我们对用户不承担任何责任。
对于用户上传的照片、资料、证件等,已采用相关措施并已尽合理努力进行审核,但不保证其内容的正确性、合法性或可靠性,相关责任由上传上述内容的会员负责。
尽管已采取相应的技术保障措施 ,但用户仍有可能收到各类的广告信或其他不以招聘/应聘为目的邮件或其它方式传送的任何内容,本平台不承担责任。
对于各种广告信息、链接、资讯等,不保证其内容的正确性、合法性或可靠性,相关责任由广告商承担;用户通过本服务与广告商进行任何形式的通讯或商业往来,或参与促销活动,包含相关商品或服务之付款及交付,以及达成的其它任何相关条款、条件、保证或声明,完全为用户与广告商之间之行为,与本平台无关。用户因前述任何交易或前述广告商而遭受的任何性质的损失或损害,本平台不承担任何责任。
本平台不保证其提供的服务一定能满足用户的要求和期望,也不保证服务不会中断,对服务的及时性、安全性、准确性也都不作保证。对于因不可抗力或无法控制的原因造成的网络服务中断或其他缺陷,不承担任何责任。我们不对用户所发布信息的删除或储存失败承担责任。我们有权判断用户的行为是否符合本网站使用协议条款之规定,如果我们认为用户违背了协议条款的规定,我们有终止向其提供服务的权利。
本平台保留变更、中断或终止部分网络服务的权利。保留根据实际情况随时调整平台提供的服务种类、形式的权利。本平台不承担因业务调整给用户造成的损失。本平台仅提供相关服务,除此之外与本服务有关的设备(如电脑、调制解调器及其他与接入互联网有关的装置)及所需的费用(如为接入互联网而支付的电话费及上网费)均应由用户自行负担。
', 'xieyi');
+INSERT INTO `common_info` VALUES (375, '2021-08-14 19:09:54', NULL, '是否开启师傅端实时定位', 375, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (376, '2021-08-14 19:09:54', NULL, '警告订单超出分钟', 376, '15', 'fuwufei');
+INSERT INTO `common_info` VALUES (377, '2021-08-14 19:09:54', NULL, '用户是否可以取消订单', 377, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (378, '2023-01-29 15:05:50', NULL, '是否开启银联提现', 378, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (379, '2023-01-29 15:05:50', NULL, '技师端首页是否弹框', 379, 'https://wap.quanmindaojia.com/file/uploadPath/2023/03/08/7e16e95fc5f3c0e95aff875fdb98c4f2.png', 'image');
+INSERT INTO `common_info` VALUES (380, '2023-03-15 20:48:27', NULL, '技师端首页是否弹框', 380, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (381, '2021-08-14 19:09:54', NULL, '技师初始化提成', 381, '0.7', 'fuwufei');
+INSERT INTO `common_info` VALUES (382, '2021-08-14 19:09:54', NULL, '阿里云隐私号码池key', 382, '', 'duanxin');
+INSERT INTO `common_info` VALUES (383, '2021-08-14 19:09:54', NULL, '是否开启阿里云隐私电话', 383, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (384, '2021-08-14 19:09:54', NULL, '技师取消订单信誉分单次扣除', 384, '2', 'fuwufei');
+INSERT INTO `common_info` VALUES (385, '2021-08-14 19:09:54', NULL, '取消技师资格信誉分底线', 385, '60', 'fuwufei');
+INSERT INTO `common_info` VALUES (386, '2023-01-29 15:05:32', NULL, '阿里云隐私号码池accessKeyId', 386, '', 'duanxin');
+INSERT INTO `common_info` VALUES (387, '2023-01-29 15:05:50', NULL, '阿里云隐私号码池accessKeySecret', 387, '', 'duanxin');
+INSERT INTO `common_info` VALUES (388, '2023-01-29 15:05:50', NULL, '自动取消时间', 388, '15', 'fuwufei');
+INSERT INTO `common_info` VALUES (389, '2023-03-17 18:36:19', NULL, '是否开启微信提现', 389, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (390, '2023-03-17 18:51:03', NULL, '是否开启为技师充值', 390, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (391, '2023-03-17 18:51:03', NULL, '下单协议', 391, '尊敬的用户您好:在您使用本服务之前,请您认真阅读本用户协议,更好的了解我们所提供的服务以及您享有的权利义务。您开始使用时,即表示您已经了解并确认接受了本文件中的全部条款,包括我们对本服务条款随时做的任何修改。
一、协议的效力
本协议内容包括协议正文及所有已经发布或将来可能发布的各类规则。所有规则为本协议不可分割的组成部分,与协议正文具有同等法律效力。您承诺接受并遵守本协议的约定。如果您不同意本协议的约定,您应立即停止使用本平台服务。
二、用户行为规范
用户同意将不会利用本服务进行任何违法或不正当的活动,包括但不限于下列行为∶
发布或以其它方式传送含有下列内容之一的信息:
反对宪法所确定的基本原则的;
危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
损害国家荣誉和利益的;
煽动民族仇恨、民族歧视、破坏民族团结的;
破坏国家宗教政策,宣扬邪教和封建迷信的;
散布谣言,扰乱社会秩序,破坏社会稳定的;
散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
侮辱或者诽谤他人,侵害他人合法权利的;
含有虚假、诈骗、有害、胁迫、侵害他人隐私、骚扰、侵害、中伤、粗俗、猥亵、或其它道德上令人反感的内容;
含有当地法律、法规、规章、条例以及任何具有法律效力之规范所限制或禁止的其它内容的;
含有不适合在本平台展示的内容;
以任何方式危害他人的合法权益;
冒充其他任何人或机构,或以虚伪不实的方式陈述或谎称与任何人或机构有关;
将依据任何法律或合约或法定关系(例如由于雇佣关系和依据保密合约所得知或揭露之内部资料、专属及机密资料)知悉但无权传送之任何内容加以发布、发送电子邮件或以其它方式传送;
将侵害他人著作权、专利权、商标权、商业秘密、或其它专属权利(以下简称“专属权利”)之内容加以发布或以其它方式传送;
将任何广告信函、促销资料、“垃圾邮件”、““滥发信件”、“连锁信件”、“直销”或其它任何形式的劝诱资料加以发布、发送或以其它方式传送;
将设计目的在于干扰、破坏或限制任何计算机软件、硬件或通讯设备功能之计算机病毒(包括但不限于木马程序(trojan horses)、蠕虫(worms)、定时炸弹、删除蝇(cancelbots)(以下简称“病毒”)或其它计算机代码、档案和程序之任何资料,加以发布、发送或以其它方式传送;
干扰或破坏本服务或与本服务相连线之服务器和网络,或违反任何关于本服务连线网络之规定、程序、政策或规范;
跟踪、人肉搜索或以其它方式骚扰他人;
故意或非故意地违反任何适用的当地、国家法律,以及任何具有法律效力的规则;
未经合法授权而截获、篡改、收集、储存或删除他人个人信息、站内邮件或其它数据资料,或将获知的此类资料用于任何非法或不正当目的。
三、知识产权
本平台所有设计图样以及其他图样、产品及服务名称。任何人不得使用、复制或用作其他用途。未经我们许可,任何单位和个人不得私自复制、传播、展示、镜像、上载、下载、使用,或者从事任何其他侵犯我们知识产权的行为。否则,我们将追究相关法律责任。
我们鼓励用户充分利用平台自由地张贴和共享自己的信息,但这些内容必须位于公共领域内,或者用户拥有这些内容的使用权。同时,用户对于其创作并在本平台上发布的合法内容依法享有著作权及其相关权利。
四、免责声明
互联网是一个开放平台,用户将照片等个人资料上传到互联网上,有可能会被其他组织或个人复制、转载、擅改或做其它非法用途,用户必须充分意识此类风险的存在。用户明确同意其使用本服务所存在的风险将完全由其自己承担;因其使用本服务而产生的一切后果也由其自己承担,我们对用户不承担任何责任。
对于用户上传的照片、资料、证件等,已采用相关措施并已尽合理努力进行审核,但不保证其内容的正确性、合法性或可靠性,相关责任由上传上述内容的会员负责。
尽管已采取相应的技术保障措施 ,但用户仍有可能收到各类的广告信或其他不以招聘/应聘为目的邮件或其它方式传送的任何内容,本平台不承担责任。
对于各种广告信息、链接、资讯等,不保证其内容的正确性、合法性或可靠性,相关责任由广告商承担;用户通过本服务与广告商进行任何形式的通讯或商业往来,或参与促销活动,包含相关商品或服务之付款及交付,以及达成的其它任何相关条款、条件、保证或声明,完全为用户与广告商之间之行为,与本平台无关。用户因前述任何交易或前述广告商而遭受的任何性质的损失或损害,本平台不承担任何责任。
本平台不保证其提供的服务一定能满足用户的要求和期望,也不保证服务不会中断,对服务的及时性、安全性、准确性也都不作保证。对于因不可抗力或无法控制的原因造成的网络服务中断或其他缺陷,不承担任何责任。我们不对用户所发布信息的删除或储存失败承担责任。我们有权判断用户的行为是否符合本网站使用协议条款之规定,如果我们认为用户违背了协议条款的规定,我们有终止向其提供服务的权利。
本平台保留变更、中断或终止部分网络服务的权利。保留根据实际情况随时调整平台提供的服务种类、形式的权利。本平台不承担因业务调整给用户造成的损失。本平台仅提供相关服务,除此之外与本服务有关的设备(如电脑、调制解调器及其他与接入互联网有关的装置)及所需的费用(如为接入互联网而支付的电话费及上网费)均应由用户自行负担。
', 'xieyi');
+INSERT INTO `common_info` VALUES (392, '2023-03-21 14:00:23', NULL, '忙时时间切换(只限输入 30半个小时 60一个小时)', 392, '30', 'fuwufei');
+INSERT INTO `common_info` VALUES (393, '2023-03-21 14:00:23', NULL, '管理员手机号', 393, '', 'xitong');
+INSERT INTO `common_info` VALUES (394, '2023-03-21 14:00:23', NULL, '是否开启打车费扣提成', 394, '否', 'kaiguan');
+INSERT INTO `common_info` VALUES (395, '2023-03-21 14:00:23', NULL, '是否开启忙时按照项目时间计算', 395, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (396, '2023-03-21 14:00:23', NULL, '是否开启到钟短信提醒', 396, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (397, '2020-11-04 10:31:40', NULL, '腾讯云短信SecretId', 397, '', 'duanxin');
+INSERT INTO `common_info` VALUES (398, '2020-11-04 10:31:40', NULL, '腾讯云短信SecretKey', 398, '', 'duanxin');
+INSERT INTO `common_info` VALUES (399, '2020-11-04 10:31:40', NULL, '腾讯云短信登录或注册模板id', 399, '', 'duanxin');
+INSERT INTO `common_info` VALUES (400, '2020-11-04 10:31:40', NULL, '腾讯云短信找回密码模板id', 400, '', 'duanxin');
+INSERT INTO `common_info` VALUES (401, '2020-11-04 10:31:40', NULL, '腾讯云短信绑定手机号模板id', 401, '', 'duanxin');
+INSERT INTO `common_info` VALUES (402, '2020-11-04 10:31:40', NULL, '腾讯云短信下单通知id', 402, '', 'duanxin');
+INSERT INTO `common_info` VALUES (403, '2020-11-04 10:31:40', NULL, '腾讯云短信订单结束通知id', 403, '', 'duanxin');
+INSERT INTO `common_info` VALUES (404, '2020-11-04 10:31:40', NULL, '腾讯云短信违规通知id', 404, '', 'duanxin');
+INSERT INTO `common_info` VALUES (405, '2020-11-04 10:31:40', NULL, '腾讯云短信商家投诉扣除信誉分通知id', 405, '', 'duanxin');
+INSERT INTO `common_info` VALUES (414, '2023-07-26 16:27:15', NULL, '地图方式 1腾讯 2天地图', 414, '1', 'xitong');
+INSERT INTO `common_info` VALUES (415, '2023-07-26 16:27:15', NULL, '天地图key', 415, '', 'xitong');
+INSERT INTO `common_info` VALUES (418, '2023-07-26 16:27:15', NULL, '阿里云隐私号码通话录音是否开启', 418, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (419, '2023-08-24 15:07:48', NULL, '取消订单扣除百分比', 419, '0', 'fuwufei');
+INSERT INTO `common_info` VALUES (420, '2023-08-25 17:17:10', NULL, '开始服务是否需要上传照片', 420, '是', 'kaiguan');
+INSERT INTO `common_info` VALUES (421, '2023-08-25 10:59:14', NULL, '技师详情顶部图高度', 421, '358', 'xitong');
+INSERT INTO `common_info` VALUES (426, '2023-09-06 14:54:16', NULL, '是否开启来回车费', 426, '是', 'kaiguan');
+
+
+-- ----------------------------
+-- Table structure for consortia
+-- ----------------------------
+DROP TABLE IF EXISTS `consortia`;
+CREATE TABLE `consortia` (
+ `consortia_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商家id',
+ `consortia_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家名称',
+ `consortia_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '商家公告',
+ `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像 ',
+ `identity_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号码',
+ `identity_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
+ `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
+ `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
+ `business_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '营业执照',
+ `qualification_certificate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资质证书',
+ `rate` decimal(10, 2) NULL DEFAULT NULL COMMENT '佣金',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '商家id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`consortia_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of consortia
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for coupon
+-- ----------------------------
+DROP TABLE IF EXISTS `coupon`;
+CREATE TABLE `coupon` (
+ `coupon_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '优惠券id',
+ `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券名称',
+ `coupon_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券图片',
+ `end_date` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效期天数',
+ `min_money` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券可使用订单最低金额',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券金额',
+ PRIMARY KEY (`coupon_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of coupon
+-- ----------------------------
+INSERT INTO `coupon` VALUES (25, '优惠券3', 'https://tcwm.xianmaxiong.com/file/uploadPath/2022/11/09/8bba4cef29578ebf87ad3c5842b25b10.jpeg', '3', '10', 6.00);
+INSERT INTO `coupon` VALUES (26, '优惠券2', 'https://tcwm.xianmaxiong.com/file/uploadPath/2022/11/10/6a2ce793ba5d0c3de9e320ade9d89732.jpeg', '5', '8', 5.00);
+INSERT INTO `coupon` VALUES (30, '优惠券1', 'https://xiyi.xianmxkj.com/file/uploadPath/2022/11/16/7019ded3ea9fdd8b5408a5f76736889a.png', '2', '2.01', 2.00);
+
+-- ----------------------------
+-- Table structure for coupon_card
+-- ----------------------------
+DROP TABLE IF EXISTS `coupon_card`;
+CREATE TABLE `coupon_card` (
+ `coupon_card_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '卡密优惠券',
+ `coupon_card_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡密',
+ `coupon_card_type_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡密类型id',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1待使用 2已领取',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '领取用户id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`coupon_card_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of coupon_card
+-- ----------------------------
+INSERT INTO `coupon_card` VALUES (1, '123456', '1', 2, 69, '2020-12-12 12:12:12');
+INSERT INTO `coupon_card` VALUES (2, '12345678', '1', 2, 154, '2020-12-12 12:12:12');
+INSERT INTO `coupon_card` VALUES (3, '22345678', '1', 1, NULL, '2020-12-12 12:12:12');
+INSERT INTO `coupon_card` VALUES (4, '32345678', '1', 1, NULL, '2020-12-12 12:12:12');
+INSERT INTO `coupon_card` VALUES (12, '56922371', '4', 1, NULL, '2022-11-21 17:49:05');
+INSERT INTO `coupon_card` VALUES (13, '68856586', '3', 2, 466, '2022-11-21 17:50:57');
+INSERT INTO `coupon_card` VALUES (15, '57344411', '6', 2, 466, '2022-11-21 18:24:56');
+INSERT INTO `coupon_card` VALUES (16, '80294664', '6', 1, NULL, '2022-11-21 18:24:56');
+INSERT INTO `coupon_card` VALUES (17, '71057388', '7', 1, NULL, '2022-11-22 16:14:39');
+INSERT INTO `coupon_card` VALUES (18, '16902027', '5', 2, 477, '2022-12-02 16:47:33');
+INSERT INTO `coupon_card` VALUES (20, '87243665', '5', 2, 477, '2022-12-05 14:14:45');
+
+-- ----------------------------
+-- Table structure for coupon_card_type
+-- ----------------------------
+DROP TABLE IF EXISTS `coupon_card_type`;
+CREATE TABLE `coupon_card_type` (
+ `coupon_card_type_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '卡密类型id',
+ `coupon_card_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡密类型名称',
+ `coupon_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '包含优惠券',
+ `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态 1开启 2关闭',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`coupon_card_type_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of coupon_card_type
+-- ----------------------------
+INSERT INTO `coupon_card_type` VALUES (5, '专属卡密优惠券包', '30,26', '1', '2022-11-21 18:22:16');
+INSERT INTO `coupon_card_type` VALUES (6, '单张优惠券', '25', '1', '2022-11-21 18:24:44');
+INSERT INTO `coupon_card_type` VALUES (7, '11', '30', '2', '2022-11-22 16:14:32');
+
+-- ----------------------------
+-- Table structure for coupon_issue
+-- ----------------------------
+DROP TABLE IF EXISTS `coupon_issue`;
+CREATE TABLE `coupon_issue` (
+ `coupon_issue_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '发布优惠券',
+ `coupon_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券ids',
+ `coupon_issue_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布优惠券名称',
+ `coupon_issue_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布优惠券图片',
+ `coupon_content_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券主页图',
+ `classify` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类 1活动优惠券 2售卖优惠券',
+ `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
+ `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价',
+ `pay_notice` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '购买须知',
+ `is_limit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否限购',
+ `coupon_num` int(11) NULL DEFAULT NULL COMMENT '发放数量',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1开启 2关闭',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`coupon_issue_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of coupon_issue
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for coupon_user
+-- ----------------------------
+DROP TABLE IF EXISTS `coupon_user`;
+CREATE TABLE `coupon_user` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券名称',
+ `coupon_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券图片',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券领取时间',
+ `employ_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券使用时间',
+ `expiration_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠券过期时间',
+ `min_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券可使用订单最低金额',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券金额',
+ `status` int(11) NULL DEFAULT NULL COMMENT '优惠券状态 0正常 1已使用 2已失效',
+ `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效天数',
+ `coupon_issue_id` int(11) NULL DEFAULT NULL COMMENT '领取优惠券的活动id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2383 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of coupon_user
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for game
+-- ----------------------------
+DROP TABLE IF EXISTS `game`;
+CREATE TABLE `game` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '游戏id',
+ `game_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '游戏名称',
+ `status` int(2) NULL DEFAULT NULL COMMENT '0启用1删除\r\n',
+ `game_img` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '游戏图分类图片',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of game
+-- ----------------------------
+INSERT INTO `game` VALUES (1, '金牌月嫂', 0, 'https://xxpw.xianmxkj.com/file/uploadPath/2021/11/11/049f584624cd7bcca4de6cec506da1fe.png', '2021-08-10 09:46:12', '2021-11-30 10:10:36');
+INSERT INTO `game` VALUES (2, '做饭保姆', 0, 'https://xxpw.xianmxkj.com/file/uploadPath/2021/11/11/ce697f385af35bd4ac9ecd254801b815.png', '2021-08-10 09:46:12', '2021-11-11 17:51:43');
+INSERT INTO `game` VALUES (3, '育婴儿师', 0, 'https://xxpw.xianmxkj.com/file/uploadPath/2021/11/11/3537f952650ad425ba974a1ec4a8bdbc.png', '2021-08-10 09:46:12', '2021-11-30 10:11:16');
+INSERT INTO `game` VALUES (4, '钟点工', 0, 'https://xxpw.xianmxkj.com/file/uploadPath/2021/11/11/fbb61891331030a9f9bf61aa4041c7c6.png', '2021-08-10 09:46:12', '2021-11-30 10:11:33');
+INSERT INTO `game` VALUES (5, '护工护理', 0, 'https://xxpw.xianmxkj.com/file/uploadPath/2021/11/05/91fe0a53bce1db7b00cf14590796a16c.png', '2021-08-10 09:46:12', '2021-11-30 10:11:46');
+
+-- ----------------------------
+-- Table structure for goods
+-- ----------------------------
+DROP TABLE IF EXISTS `goods`;
+CREATE TABLE `goods` (
+ `goods_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
+ `goods_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品标题',
+ `longitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度',
+ `latitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度',
+ `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址',
+ `title_img` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图',
+ `img` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详情图',
+ `sum_num` int(11) NULL DEFAULT NULL COMMENT '总数量',
+ `end_num` int(11) NULL DEFAULT NULL COMMENT '剩余数量',
+ `goods_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品价格',
+ `member_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员满',
+ `member_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员返',
+ `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '普通用户满',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '普通用户返',
+ `start_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开始时间',
+ `end_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结束时间',
+ `classify` int(11) NULL DEFAULT NULL COMMENT '分类 1 饿了么 2美团',
+ `type_id` int(11) NULL DEFAULT NULL COMMENT '类型',
+ `num_star` int(11) NULL DEFAULT NULL COMMENT '几颗星',
+ `num_img` int(11) NULL DEFAULT NULL COMMENT '几张图',
+ `num_word` int(11) NULL DEFAULT NULL COMMENT '多少字',
+ `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注 富文本',
+ `url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '小程序跳转参数',
+ `status` int(11) NULL DEFAULT NULL COMMENT '1 上架 2下架',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
+ `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
+ `district` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
+ `activity_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '金刚区分类',
+ `is_goods` int(11) NULL DEFAULT NULL COMMENT '是否是精选商品 0否 1是',
+ `scope` int(11) NULL DEFAULT NULL COMMENT '范围',
+ `member_privilege` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '会员权益',
+ `privilege` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '普通用户权益',
+ `describes` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店介绍',
+ `shop_describe` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家介绍',
+ `phone` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
+ PRIMARY KEY (`goods_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 180 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of goods
+-- ----------------------------
+INSERT INTO `goods` VALUES (167, '德尚铭车北郊店', '108.9389', '34.35836', '凤城十 二路与文景路 十字西北角', 'https://audi.xianmxkj.com/img/20210625/678e2042e0024788949631e1c201fdcf.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:30:00', '23:40:00', NULL, 23, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-25 10:42:07', '陕西省', '西安市', '未央区', '21', 1, NULL, '会标成员西安市内救援:免费,会标成员刷新隐藏功能:免费,会标成员享受水蜡洗车:每月免费洗车一次,会标成员享受补胎项目:免费,会标成员车辆水蜡洗车:30元/次,会标成员享受添加玻璃水:全年免费', '非车标成员车辆水蜡洗车:60元/次', '首次进店的会标成员免费洗车
', '1.会员享受西安市内免费救援.免费刷新隐藏功能.享受每月免费一次水蜡洗车
2.享受全年免费添加玻璃水.享受每年两次免费钻石打蜡.每年免费补胎项目
3.贴标车辆水蜡洗车30元
', '13227737503');
+INSERT INTO `goods` VALUES (168, '新旅程汽车服务连锁(长安区)', '108.937935', '34.158966', '长兴北路乔家 村西门对面', 'https://audi.xianmxkj.com/img/20210625/de5fddb4e1a443bb84b3d5911f477767.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:52:46', '23:52:46', NULL, 25, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-25 13:53:37', '陕西省', '西安市', '长安区', '34', 1, NULL, '1.会标成员西安市内救援:免费,2.会标成员全年补胎:免费,3.会标成员四轮换位一次:免费,4.会标成员全年加玻璃水:免费,5.会标成员全年加防冻液,刹车油:免费,会标成员全年检测 :免费', '', '每月可免费享 受一次德式三 星洗车(其他时 间洗车可享受 店内会员价)
', '1.会员每月免费享受一次德式三星洗车
2.西安市内免费救援.全年免费补胎
3.免费四轮换位一次.全年免费加玻璃水
4.全年免费加防冻液刹车油.全年免费检测
', '18392119256');
+INSERT INTO `goods` VALUES (169, '美德豪华汽服(大雁塔)', '108.948051', '34.225315', '雁南一路与慈恩西路东北角海港城9街负一层', 'https://audi.xianmxkj.com/img/20210628/6b6744ade4f44840b941c92a04bc7413.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '09:16:53', '23:16:53', NULL, 24, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-28 14:26:29', '陕西省', '西安市', '雁塔区', '33', 1, NULL, '1.会标成员常规保养4缸:350 元,2.会标成员常规保养6缸:500 元,3.会标成员四轮定位:每年一次,4.会标成员补胎:全年不限次,5.会标成员加玻璃水:不限次数,6.会标成员全车油液(机油、刹车油、防冻液):免费添加,7.会标成员西安市内救援:免费,8.会标成员全车检查:不限次数,9.会标成员电脑诊断 :不限次数,10.会标成员天窗轨道清洁润滑:免费,11.会标成员洗车:38 元/次', '店面洗车价:98 元/次', '首次进店的会标成员免费洗车
', '1. 常规保养4缸350常规保养6缸500元
2.每年一次四轮定位.全年不限次数补胎
3.不限次数加玻璃水.免费添加全车油液
4.西安市内免费救援
5.不限次数全车检查.不限次数电脑诊断
6.天窗轨道清洁润滑
7.贴标洗车38元/次 首次进店的会标成员免费洗车
', '15686085315');
+INSERT INTO `goods` VALUES (170, 'HG 省代.奥嘉 车改俱乐部', '108.830551', '34.274097', '水厂东路 65 号奥嘉车改', 'https://audi.xianmxkj.com/img/20210628/5351885f8535480a9b38480ee1a1125c.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '17:35:15', '18:35:15', NULL, 24, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-28 17:35:19', '陕西省', '西安市', '未央区', '33', 1, NULL, '会标成员洗车:全年免费,会标成员发放熏黑尾灯膜一套 (价值 128):免费', '', '每个月初会群里举行抽奖活动,中网、碳纤维材质配件、免费保养等,价值 1000 到 3000+不等
仅限会标车主参与!
', '1.终生免费洗车,每位会标成员发放熏黑尾灯膜一套! 价值128!
2.每个月月初会在线上举行抽奖活动,中网 碳纤维材质配件 免费保养等,仅限会标群发起抽奖!
', '18066607700');
+INSERT INTO `goods` VALUES (171, '途虎养车', '108.936653', '34.306728', '文 景路 89 号唐安 酒店院内。(延 长石油小区对 面)', 'https://audi.xianmxkj.com/img/20210629/c76ebed28d2447f4b99443e29dc23e95.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:34:29', '23:34:29', NULL, 24, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:36:06', '陕西省', '西安市', '未央区', '33', 1, NULL, '会标成员添加玻璃水:终身免费,会标成员加充氮气:免费,会标成员臭氧消毒杀菌:免费,会标成员全车电脑检测:会标成员全车电脑检测,会标成员进店赠品牌机滤一个:仅限首次,只 可店内使用,会标成员小保养:终身免工时,会标成员维修工时:5 折,会标成员享受全年洗车机清洗:免费,会标成员享受全车内外清洁:19.9 元,会标成员享受美容项目:全部 5 折优惠,会标成员享受提供西安市救援:免费,会标成员轮胎换位:免费', '', '会标成员享受全年洗车机清洗 免费
', '1.会标车主玻璃水终身免费加,
免费臭氧消毒杀菌 免费加充氮气 免费全车电脑检测终身小保养免工时
2.会标车主享受全年洗车机免费清洗,美容项目全部5折优惠。提供免费救援.提供免费轮胎换位
', '13669251588');
+INSERT INTO `goods` VALUES (172, '圣佳膜咖直营店.3M直营店', '108.896896', '34.269058', '大庆路', 'https://audi.xianmxkj.com/img/20210629/68d95be6f7fe47e79430a84400239728.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:44:04', '21:44:04', NULL, 25, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:44:56', '陕西省', '西安市', '莲湖区', '34', 1, NULL, '会标成员首月三次车辆精洗:免费', '', '设置有陕西奥迪俱乐部专属休息室
', ' 首月免费三次车辆精洗 提供免费饮料零食 ,设置有陕西奥迪俱乐部专属休息室
', '13227737503');
+INSERT INTO `goods` VALUES (173, '海底捞', '108.94878', '34.22259', '雁塔区', 'https://audi.xianmxkj.com/img/20210629/57a9f9a2285a491bbf8d13c029346ebd.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10:46:54', '18:46:54', NULL, 29, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:47:58', '陕西省', '西安市', '雁塔区', '45', 1, NULL, '', '', '登陆俱乐部会员,优先用餐,8折优惠!(只可在西安地区登陆)
', '登陆俱乐部会员,无需 排队,全国范围内 8.8 折,西安 8 折!
', '18511013000');
+INSERT INTO `goods` VALUES (174, '蓬盛实弹射击俱乐部', '108.93425', '34.23053', '碑林区', 'https://audi.xianmxkj.com/img/20210629/aea36c11ad644d45955237fd25b94633.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11:49:07', '18:49:07', NULL, 27, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:50:27', '陕西省', '西安市', '碑林区', '45', 1, NULL, '', '', '提前联系翟经理,提供 姓名,电话,开卡,免 枪支使用费,卡里内赠 10 发小口径。
来玩的时候携带身份证原件, 酒后不可体验。享受 VIP 待 遇,专人服务!
', ' 凭标无枪械使用费 进店赠送十发小口经子弹!享受VIP待遇,专人服务!户外打猎体验优先待遇!
', '15102910683');
+INSERT INTO `goods` VALUES (175, '西安骏茂超跑豪车俱乐部 ', '108.89075', '34.22847', '科技一路 58 号', 'https://audi.xianmxkj.com/img/20210629/d8f4668a8b8745989f120b375095f921.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:54:55', '18:54:55', NULL, 27, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:55:08', '陕西省', '西安市', '雁塔区', '45', 1, NULL, '', '', '所有俱乐部会标成员租车免押金,享受免费送取车服务,所有车型9折优惠!
', '(价格很透明)针对俱乐 部成员所有车型 8.8 折 优惠,包月低至 7.6 折,跑车、轿车、越野 车、商务车皆可安排。
', '13468666789');
+INSERT INTO `goods` VALUES (176, 'K歌.Club (南郊延平门地铁口)', '108.891121', '34.237465', '南郊延平门 地铁口', 'https://audi.xianmxkj.com/img/20210629/2889dc38a5ee436a81b368d82f1d20db.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:56:21', '18:56:21', NULL, 27, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:57:55', '陕西省', '西安市', '雁塔区', '45', 1, NULL, '', '', '入店即送酒水一打,赠送三份小吃,果盘无限续! 注:无最低消费。
', '入店即送酒水一打,赠送三份小吃,果盘无限续! 注:无最低消费。
', '15596750333');
+INSERT INTO `goods` VALUES (177, '星绽放KTV (南郊群贤路群贤广场4F)', '108.894867', '34.245296', '南郊群贤路 群贤广场 4F', 'https://audi.xianmxkj.com/img/20210629/e79e85895ca14500afe8386704694f81.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '08:58:33', '18:58:33', NULL, 27, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 17:59:22', '陕西省', '西安市', '雁塔区', '45', 1, NULL, '', '', '会标成员入店即送酒水一打,绿茶一壶 果盘无限续! 小吃无限续!酒水买二送一 注:无最低消费!
', '会标成员入店即送酒水一打,绿茶一壶 果盘无限续! 小吃无限续!酒水买二送一 注:无最低消费!
', '15809189795');
+INSERT INTO `goods` VALUES (178, '希瑞格酒店', '108.93895', '34.218658', '朱雀大街南 段城市立方 G1 号楼', 'https://audi.xianmxkj.com/img/20210629/b63ad4c81d094dd3bea6ededf230da39.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '06:00:15', '19:00:15', NULL, 30, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 18:02:34', '陕西省', '西安市', '碑林区', '45', 1, NULL, '', '', '会标成员下午茶用餐等八折,住店赠送早餐俩份,入住所有房型八折优惠,退房延迟至16:00 入住高级房型免费升级豪华房型
', '会标成员下午茶用餐等八折,住店赠送早餐俩份,入住所有房型八折优惠,退房延迟至16:00 入住高级房型免费升级豪华房型
', '15280212995');
+INSERT INTO `goods` VALUES (179, 'STEK漆面膜陕西总代理(美德)', '108.93425', '34.23053', '碑林区', 'https://audi.xianmxkj.com/img/20210629/d8cd3bb1f78d4a97a1767b776299d873.png', 'https://audi.xianmxkj.com/img/20210629/72c18fde7ee443fab23e1ea46791f9e3.png', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '07:09:32', '19:09:32', NULL, 27, NULL, NULL, NULL, NULL, NULL, 1, '2021-06-29 18:10:36', '陕西省', '西安市', '碑林区', '45', 1, NULL, '加玻璃水:全年免费,西安市救援:终身免费,补胎:终身免费,四轮动平衡:终身免费,享受会员价:28元/次,价值1280元4个B柱车衣保护膜:免费赠送,价值880元前大灯透明保护膜一对:免费赠送,贴车衣膜面养护:终身免费,贴车衣,局部小刮擦修补:终身免费,基础保养会员价4杠:350元/次', '', '全年免费加玻璃水
', '全年免费加玻璃水
', '15280212995');
+
+-- ----------------------------
+-- Table structure for goods_type
+-- ----------------------------
+DROP TABLE IF EXISTS `goods_type`;
+CREATE TABLE `goods_type` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品类型id',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '类型名称',
+ `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '图片',
+ `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '上级类型id',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of goods_type
+-- ----------------------------
+INSERT INTO `goods_type` VALUES (10, '2021-06-25 10:21:46', '男装', 'https://www.gomyorder.cn/img/20200910/a04b841a1e474c16b589b8e2d3b7843e.png', 0, 1);
+INSERT INTO `goods_type` VALUES (12, '2020-09-14 10:51:10', '女装', 'https://www.gomyorder.cn/img/20200910/5a75277d953b4da7a0f89939cc111e64.jpg', 0, 2);
+INSERT INTO `goods_type` VALUES (13, '2020-09-14 10:50:59', '衬衫', 'https://www.gomyorder.cn/img/20200910/996b1adeac924abc99404a01e45cb091.jpg', 10, 1);
+INSERT INTO `goods_type` VALUES (14, '2020-09-10 14:44:00', '袜子', 'https://www.gomyorder.cn/img/20200910/4c8d907c6d6946c38efbfe786e29ef06.png', 10, 2);
+INSERT INTO `goods_type` VALUES (20, '2020-09-14 10:51:17', '童装', 'https://www.gomyorder.cn/img/20200910/135b92402aaa45de882fcb24ccf6aade.png', 0, 3);
+INSERT INTO `goods_type` VALUES (21, '2020-09-10 14:45:24', '鞋子', 'https://www.gomyorder.cn/img/20200910/dc1fd03916e743f0a3adce976df05fd2.png', 20, 1);
+INSERT INTO `goods_type` VALUES (23, '2020-09-14 10:51:24', '大家电', 'https://www.gomyorder.cn/img/20200910/ff31a115b22f4101a43fee026ce3335e.png', 0, 4);
+INSERT INTO `goods_type` VALUES (29, '2020-09-14 14:12:29', '裤子', 'https://www.gomyorder.cn/img/20200914/b4b2551e0dc044be8d4ec5b0141eade7.png', 12, 1);
+INSERT INTO `goods_type` VALUES (30, '2020-09-14 14:13:31', '上衣', 'https://www.gomyorder.cn/img/20200914/e14f254f3d04429995744407c03c4d2e.png', 12, 2);
+INSERT INTO `goods_type` VALUES (31, '2020-11-30 11:05:10', '瓜果蔬菜', 'https://www.gomyorder.cn/img/20201130/2204b0202e1d4cde8dfdb1839a98c7de.png', 0, 5);
+INSERT INTO `goods_type` VALUES (32, '2020-11-30 11:07:05', '苹果', 'https://www.gomyorder.cn/img/20201130/e1286331a4164c8ab7407e60b4fb5f43.png', 31, 5);
+INSERT INTO `goods_type` VALUES (33, '2020-11-30 11:08:25', '电视', 'https://www.gomyorder.cn/img/20201130/5a0ff54a5b5745a3b31b1a22f53cc965.png', 23, 5);
+INSERT INTO `goods_type` VALUES (34, '2020-11-30 11:10:45', '电子产品', 'https://www.gomyorder.cn/img/20201130/5db7ed61748d4383ae38b7469fce01ac.png', 23, 5);
+INSERT INTO `goods_type` VALUES (42, '2021-04-07 14:11:55', '坚果', 'https://tk.gomyorder.cn/img/20210407/d418f717a76b4683bd911583bdab89f8.jpg', 0, 6);
+INSERT INTO `goods_type` VALUES (43, '2021-04-07 14:12:51', '麻花', 'https://tk.gomyorder.cn/img/20210407/056a1d7ba629457d88a875788ad008de.jpg', 42, 12);
+INSERT INTO `goods_type` VALUES (44, '2021-04-19 21:21:19', '测试', '', 23, 1);
+INSERT INTO `goods_type` VALUES (46, '2021-08-10 18:01:59', '衣服', 'https://tk.gomyorder.cn/img/20210628/9697c4f2ba3d4a878c16cfbdf664e470.png', 0, 0);
+INSERT INTO `goods_type` VALUES (48, '2021-06-28 15:27:42', '衬衫', 'https://tk.gomyorder.cn/img/20210628/3149b3330050452caa2259b8aa98e434.png', 46, 1);
+INSERT INTO `goods_type` VALUES (51, '2021-08-10 17:53:28', '书籍类', 'https://audi.xianmxkj.com/img/20210810/b7e259e4fa7d4fd793f34526a58f02a7.jpg', 0, 1);
+INSERT INTO `goods_type` VALUES (52, '2021-08-10 17:53:11', '小孩书籍', 'https://sac.xianmxkj.com/img/20210810/e4ce41a616da4f1daca94fdbed6f42ad.jpg', 51, 1);
+INSERT INTO `goods_type` VALUES (53, '2021-08-10 18:03:54', '大孩子书籍', 'https://sac.xianmxkj.com/img/20210810/b7f9db9314d44a07a5cdb37ac7533876.jpg', 51, 1);
+INSERT INTO `goods_type` VALUES (54, '2022-05-19 10:13:09', '日用品', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/9d8f26344499e8f68a4ca33b44db4708.png', 0, 1);
+INSERT INTO `goods_type` VALUES (55, '2022-05-19 10:13:31', '垃圾桶', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/d00844556000c25ad51e26ff1e00c4cf.png', 54, 1);
+
+-- ----------------------------
+-- Table structure for help_classify
+-- ----------------------------
+DROP TABLE IF EXISTS `help_classify`;
+CREATE TABLE `help_classify` (
+ `help_classify_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '帮助中心分类',
+ `help_classify_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类名称',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `parent_id` int(11) NULL DEFAULT NULL COMMENT '上级id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `types` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`help_classify_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of help_classify
+-- ----------------------------
+INSERT INTO `help_classify` VALUES (7, '登录问题', 0, NULL, '2022-07-06', 1);
+INSERT INTO `help_classify` VALUES (8, '商家端入驻申请流程', 0, NULL, '2022-07-06', 2);
+INSERT INTO `help_classify` VALUES (9, '商家端怎么发起服务?', 0, NULL, '2022-07-06', 2);
+INSERT INTO `help_classify` VALUES (10, '充值问题', 1, NULL, '2023-01-18 17:24:09', 1);
+
+-- ----------------------------
+-- Table structure for help_word
+-- ----------------------------
+DROP TABLE IF EXISTS `help_word`;
+CREATE TABLE `help_word` (
+ `help_word_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '帮助文档id',
+ `help_word_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '帮助标题',
+ `help_word_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '帮助文档内容',
+ `help_classify_id` int(11) NULL DEFAULT NULL COMMENT '帮助分类id',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`help_word_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of help_word
+-- ----------------------------
+INSERT INTO `help_word` VALUES (1, '为什么提示不支持打开非业务域名', '因为所以科学道理', 2, 1, '2020-12-12 12:12:12');
+INSERT INTO `help_word` VALUES (2, '文件类课间如何保存', '不知道', 2, 2, '2020-12-12 12:12:12');
+INSERT INTO `help_word` VALUES (3, '已报名的活动可以取消吗', '可以,需要扣除百分之20', 3, 1, '2020-12-12 12:12:12');
+INSERT INTO `help_word` VALUES (7, '报名活动呀呀呀呀', '报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀报名活动呀呀呀呀
', 6, 0, '2022-07-05');
+INSERT INTO `help_word` VALUES (8, '怎么登录呢?', '微信授权即可登录
', 7, 0, '2023-01-18 17:17:48');
+INSERT INTO `help_word` VALUES (9, '商户怎么入驻呢?', '登录首页 点击:我要入驻
', 8, 1, '2022-10-31 14:46:27');
+INSERT INTO `help_word` VALUES (10, '额鹅鹅鹅', '额鹅鹅鹅
', 8, 0, '2022-10-31 14:49:57');
+INSERT INTO `help_word` VALUES (11, '如何充值提现呢?', '如何充值提现呢?充值充值
', 10, 0, '2023-01-18 17:25:03');
+
+-- ----------------------------
+-- Table structure for invite
+-- ----------------------------
+DROP TABLE IF EXISTS `invite`;
+CREATE TABLE `invite` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '邀请者id',
+ `invitee_user_id` int(11) NULL DEFAULT NULL COMMENT '被邀请者id',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '收益',
+ `create_time` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `money_type` int(1) NULL DEFAULT NULL COMMENT '1会员2陪玩',
+ `state` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 803 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '邀请信息' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of invite
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for invite_money
+-- ----------------------------
+DROP TABLE IF EXISTS `invite_money`;
+CREATE TABLE `invite_money` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '收益钱包id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `money_sum` decimal(10, 2) NULL DEFAULT NULL COMMENT '总获取收益',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '当前金额',
+ `cash_out` decimal(10, 2) NULL DEFAULT NULL COMMENT '累计提现',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 135 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of invite_money
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for massage_type
+-- ----------------------------
+DROP TABLE IF EXISTS `massage_type`;
+CREATE TABLE `massage_type` (
+ `massage_type_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '按摩类型id',
+ `massage_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
+ `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+ `old_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价',
+ `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '现价',
+ `member_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员价',
+ `artificer_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '技师价',
+ `duration` int(11) NULL DEFAULT NULL COMMENT '时长',
+ `sales` int(11) NULL DEFAULT NULL COMMENT '销量',
+ `is_sex` int(11) NULL DEFAULT NULL COMMENT '是否限制性别 0不限制 1男 2女',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1上 2下',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',
+ `content_img` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详情图',
+ `labels` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签逗号隔开',
+ `parent_id` int(11) NULL DEFAULT NULL COMMENT '下级id 加钟项目',
+ `classify_id` int(11) NULL DEFAULT NULL COMMENT '分类id',
+ `add_num` int(11) NULL DEFAULT NULL COMMENT '加钟次数',
+ `apply_people` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '适用人群',
+ `score` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`massage_type_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 34 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of massage_type
+-- ----------------------------
+INSERT INTO `massage_type` VALUES (17, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/aef64cb891c5ada332a9cdcc1e160713.png', '泰式按摩', '1、颈椎按摩', 300.00, 280.00, 250.00, 200.00, 10, 6, 2, 1, '2022-02-12 15:15:29', '石家庄市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/d891ae8f9a793fa5e66b1e06e03a863a.png', '专业', NULL, 91, 3, '不限', NULL);
+INSERT INTO `massage_type` VALUES (21, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/628ce3d31b8c22b3eba579fd0e031472.png', '盲人按摩', '盲人按摩盲人按摩盲人按摩盲人按摩', 100.00, 90.00, 88.00, 70.00, 50, 7, 1, 1, '2023-01-05 16:59:14', '西安市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/315a8a0cff77e9a689a4e9baa9e0c380.png', '', NULL, 91, 2, '健康人群即可', '10');
+INSERT INTO `massage_type` VALUES (22, '', '按摩脚丫子', '', NULL, 60.00, 50.00, 40.00, 30, 0, NULL, 1, '2023-01-05 17:14:40', '', '', '', 21, NULL, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (23, '', '开背', '', NULL, 50.00, 40.00, 35.00, 20, 0, NULL, 1, '2023-01-05 17:18:21', '', '', '', 21, NULL, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (24, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/00e541ad22606ae82452a8b2b4e56150.png', '本土泰式按摩精品服务', '服务内容服务内容服务内容服务内容服务内容服务内容服务内容服务内容服务内容服务内容服务内容服务内容', 120.00, 100.00, 90.00, 80.00, 60, 16, 0, 1, '2023-01-12 13:46:35', '西安市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/649ec8298bfa5f285ada03304f272d3f.png', '养生,专业', NULL, 91, 2, '孕妇及老年人外,其他人群均适用', NULL);
+INSERT INTO `massage_type` VALUES (25, '', '加钟一小时', '', NULL, 100.00, 90.00, 80.00, 15, 0, NULL, 1, '2023-01-12 13:47:52', '', '', '', 24, 91, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (26, '', '加钟两小时', '', NULL, 200.00, 180.00, 160.00, 30, 0, NULL, 1, '2023-01-12 13:48:26', '', '', '', 24, 91, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (27, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/4f4a6b555dd674cdbb3b13d05947e3c6.png', '产后修复妈咪宝贝瑜伽助产孕期瑜伽', '竹韵瑜伽产后期妈咪宝贝;\n60分钟瑜伽;\n产后修复.', 110.00, 100.00, 90.00, 80.00, 60, 7, 0, 2, '2023-01-17 11:30:50', '西安市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/18/de42cb31120782f845acd811f9cea3d8.png', '孕妇,瑜伽', NULL, 92, 1, '预产期等其他健康人士', NULL);
+INSERT INTO `massage_type` VALUES (28, '', '减脂(有氧运动)', '', NULL, 388.00, 358.00, 280.00, 120, 0, NULL, 1, '2023-01-17 14:19:08', '', '', '', 27, 92, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (29, '', '增肌训练(无氧运动)', '', NULL, 400.00, 350.00, 300.00, 150, 0, NULL, 1, '2023-01-17 14:19:30', '', '', '', 27, 92, NULL, NULL, NULL);
+INSERT INTO `massage_type` VALUES (30, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/19/022ba672d55b7b39f0fcabae1d254780.png', '花花', '', 1.00, 1.00, 1.00, 1.00, 1, 0, 0, 1, '2023-01-19 10:47:48', '西安市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/19/e501660223b2c2303b7600623b58a0f2.png', '', NULL, 91, 1, '人民', NULL);
+INSERT INTO `massage_type` VALUES (31, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/28/998732cf56770e958710c0c5a0491b4a.png', '精品按摩', '', 10.00, 0.10, 0.09, 0.08, 60, 1, 0, 1, '2023-01-28 20:10:36', '郑州市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/28/a0c62804124a46d648283639f0b6d7a7.png', '', NULL, 91, 3, '孕妇及老年人外,其他人群均适用', NULL);
+INSERT INTO `massage_type` VALUES (32, 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/28/1afaca9c9af9ea8a57c50d15b1cc9db9.png', '1111', '', 100.00, 90.00, 80.00, 70.00, 60, 0, 0, 2, '2023-01-28 20:11:31', '郑州市', 'https://anmo.xianmxkj.com/file/uploadPath/2023/01/28/d25a888ff600d9188c3af3b373f35c17.png', '', NULL, 92, 3, '孕妇及老年人外,其他人群均适用', NULL);
+INSERT INTO `massage_type` VALUES (33, '', '泰式按摩', '', NULL, 3000.00, 280.00, 280.00, 10, 0, NULL, 1, '2023-02-09 13:36:20', '', '', '', 17, NULL, NULL, NULL, NULL);
+
+-- ----------------------------
+-- Table structure for member
+-- ----------------------------
+DROP TABLE IF EXISTS `member`;
+CREATE TABLE `member` (
+ `member_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '会员特权id',
+ `member_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '特权图标',
+ `member_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '特权名称',
+ `sort` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`member_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of member
+-- ----------------------------
+INSERT INTO `member` VALUES (4, 'https://sac.xianmxkj.com/file/uploadPath/2022/02/16/74ed314cec7ae738cba7efed90d2c656.png', '享会员价', '1');
+INSERT INTO `member` VALUES (6, 'https://sac.xianmxkj.com/file/uploadPath/2022/02/16/88d495a21a15a651748d3d1b2f5c7613.png', '身份标识', '2');
+
+-- ----------------------------
+-- Table structure for message_info
+-- ----------------------------
+DROP TABLE IF EXISTS `message_info`;
+CREATE TABLE `message_info` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '消息id',
+ `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '内容',
+ `create_at` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `image` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '图片',
+ `is_see` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `type_id` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `type_name` varchar(600) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `state` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '分类',
+ `title` varchar(600) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '标题',
+ `by_user_id` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '地址',
+ `type` varchar(600) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL,
+ `by_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `user_id` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '用户id',
+ `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',
+ `audit_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9361 CHARACTER SET = big5 COLLATE = big5_chinese_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of message_info
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for msg
+-- ----------------------------
+DROP TABLE IF EXISTS `msg`;
+CREATE TABLE `msg` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `code` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '短信验证码',
+ `phone` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '电话',
+ PRIMARY KEY (`id`) USING BTREE,
+ INDEX `index_name`(`code`, `phone`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 3315 CHARACTER SET = big5 COLLATE = big5_chinese_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of msg
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for orders
+-- ----------------------------
+DROP TABLE IF EXISTS `orders`;
+CREATE TABLE `orders` (
+ `orders_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单id',
+ `artificer_id` int(11) DEFAULT NULL COMMENT '技师id',
+ `user_id` int(11) DEFAULT NULL COMMENT '用户id',
+ `serve_time` varchar(64) DEFAULT NULL COMMENT '服务时间',
+ `phone` varchar(255) DEFAULT NULL COMMENT '联系电话',
+ `address` varchar(500) DEFAULT NULL COMMENT '地址',
+ `remark` varchar(1000) DEFAULT NULL COMMENT '备注',
+ `pay_money` decimal(10,2) DEFAULT NULL COMMENT '项目单价',
+ `orders_no` varchar(64) DEFAULT NULL COMMENT '订单号',
+ `pay_time` varchar(64) DEFAULT NULL COMMENT '支付时间',
+ `pay_way` int(11) DEFAULT NULL COMMENT '支付方式',
+ `status` int(11) DEFAULT NULL COMMENT '状态 1待支付 2待服务 3待评论 4已取消 5已完成 6进行中 7技师出发 8技师到达',
+ `artificer_start_time` varchar(64) DEFAULT NULL COMMENT '技师出发时间',
+ `artificer_end_time` varchar(64) DEFAULT NULL COMMENT '技师到达时间',
+ `create_time` varchar(64) DEFAULT NULL COMMENT '创建时间',
+ `artificer_money` decimal(10,2) DEFAULT NULL COMMENT '技师收益',
+ `longitude` varchar(255) DEFAULT NULL COMMENT '经度',
+ `latitude` varchar(255) DEFAULT NULL COMMENT '纬度',
+ `start_longitude` varchar(255) DEFAULT NULL COMMENT '技师出发经度',
+ `start_latitude` varchar(255) DEFAULT NULL COMMENT '技师出发纬度',
+ `sum_money` varchar(255) DEFAULT NULL COMMENT '总金额',
+ `add_num` int(11) DEFAULT NULL COMMENT '加钟次数',
+ `add_time` varchar(60) DEFAULT NULL COMMENT '加钟时长',
+ `taxi_money` decimal(10,2) DEFAULT NULL COMMENT '出行服务费',
+ `trip_way` int(11) DEFAULT NULL COMMENT '出行方式 1公交 2出租 3免费',
+ `km` varchar(255) DEFAULT NULL COMMENT '全程公里',
+ `parent_id` int(11) DEFAULT NULL COMMENT '下级id 加钟订单id',
+ `start_time` datetime DEFAULT NULL COMMENT '开始服务时间',
+ `coupon_id` int(11) DEFAULT NULL COMMENT '优惠券id',
+ `coupon_name` varchar(255) DEFAULT NULL COMMENT '优惠券名称',
+ `coupon_money` decimal(10,2) DEFAULT NULL COMMENT '优惠券金额',
+ `add_artificer_money` decimal(10,2) DEFAULT NULL COMMENT '技师加钟金额',
+ `add_money` decimal(10,2) DEFAULT NULL COMMENT '加钟金额',
+ `price` decimal(10,2) DEFAULT NULL COMMENT '服务费用',
+ `sum_artificer_money` decimal(10,2) DEFAULT NULL COMMENT '技师总收益',
+ `is_send` int(11) DEFAULT NULL COMMENT '是否通知技师结束1是',
+ `end_time` varchar(64) DEFAULT NULL COMMENT '预估结束时间',
+ `user_name` varchar(255) DEFAULT NULL COMMENT '下单用户名称',
+ `one_user_money` decimal(10,2) DEFAULT NULL COMMENT '推广用户收益',
+ `one_user_id` int(11) DEFAULT NULL COMMENT '推广用户id',
+ `one_user_name` varchar(255) DEFAULT NULL COMMENT '推广用户名称',
+ `one_artificer_money` decimal(10,2) DEFAULT NULL COMMENT '推广技师收益',
+ `one_artificer_user_id` int(11) DEFAULT NULL COMMENT '推广技师用户id',
+ `one_artificer_user_name` varchar(255) DEFAULT NULL COMMENT '推广技师用户名称',
+ `ping_money` decimal(10,2) DEFAULT NULL COMMENT '平台收益',
+ `massage_type_id` int(11) DEFAULT NULL COMMENT '服务id',
+ `shop_money` decimal(10,2) DEFAULT NULL COMMENT '商家收益',
+ `shop_user_id` int(11) DEFAULT NULL COMMENT '商家用户id',
+ `shop_user_name` varchar(255) DEFAULT NULL COMMENT '商家用户名称',
+ `over_time_orders` int(11) DEFAULT NULL COMMENT '是否超时 1是 2否',
+ `end_times` varchar(64) DEFAULT NULL COMMENT '服务结束时间',
+ `consortia_id` int(11) DEFAULT NULL COMMENT '商家id',
+ `accomplish_longitude` varchar(255) DEFAULT NULL COMMENT '师傅完成经度',
+ `accomplish_latitude` varchar(255) DEFAULT NULL COMMENT '师傅完成纬度',
+ `warning` int(11) DEFAULT NULL COMMENT '是否是警告订单 1是',
+ `user_artificer_money` int(255) DEFAULT NULL,
+ `ping_taxi_money` decimal(10,2) DEFAULT NULL,
+ `artificer_taxi_money` decimal(10,2) DEFAULT NULL,
+ `start_address` varchar(500) DEFAULT NULL COMMENT '开始服务地点',
+ `accomplish_address` varchar(500) DEFAULT NULL COMMENT '完成服务地点',
+ `start_img` varchar(2000) DEFAULT NULL,
+ PRIMARY KEY (`orders_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=318 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
+
+-- ----------------------------
+-- Records of orders
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for orders_massage
+-- ----------------------------
+DROP TABLE IF EXISTS `orders_massage`;
+CREATE TABLE `orders_massage` (
+ `orders_massage_id` int(255) NOT NULL AUTO_INCREMENT COMMENT '订单服务id',
+ `orders_id` int(11) NULL DEFAULT NULL COMMENT '订单id',
+ `massage_id` int(11) NULL DEFAULT NULL COMMENT '服务id',
+ `num` int(11) NULL DEFAULT NULL COMMENT '数量',
+ PRIMARY KEY (`orders_massage_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of orders_massage
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for pay_classify
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_classify`;
+CREATE TABLE `pay_classify` (
+ `pay_classify_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '充值分类id',
+ `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '售价',
+ `coupon_id` bigint(10) NULL DEFAULT NULL COMMENT '优惠券id',
+ `give_num` bigint(10) NULL DEFAULT NULL COMMENT '数量',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时间',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '到账金额',
+ PRIMARY KEY (`pay_classify_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of pay_classify
+-- ----------------------------
+INSERT INTO `pay_classify` VALUES (2, 0.01, 30, 1, 2, NULL, NULL);
+INSERT INTO `pay_classify` VALUES (3, 0.02, 26, 2, 3, NULL, NULL);
+INSERT INTO `pay_classify` VALUES (4, 1000.00, 25, 4, 4, NULL, NULL);
+INSERT INTO `pay_classify` VALUES (5, 3000.00, 26, 5, 5, NULL, NULL);
+INSERT INTO `pay_classify` VALUES (17, 0.03, NULL, NULL, NULL, '2022-11-25 18:54:10', NULL);
+INSERT INTO `pay_classify` VALUES (18, 100.00, 30, 1, NULL, '2022-11-25 18:55:00', NULL);
+
+-- ----------------------------
+-- Table structure for pay_details
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_details`;
+CREATE TABLE `pay_details` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '充值id',
+ `classify` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类( 1app微信 2微信公众号 3微信小程序 4支付宝)',
+ `order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
+ `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝支付单号',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '充值金额',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `state` int(4) NULL DEFAULT NULL COMMENT '0待支付 1支付成功 2失败',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `pay_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付时间',
+ `type` int(4) NULL DEFAULT NULL COMMENT '支付类型 1 用户 2会员',
+ `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 840 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of pay_details
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for risk
+-- ----------------------------
+DROP TABLE IF EXISTS `risk`;
+CREATE TABLE `risk` (
+ `risk_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '风险记录',
+ `risk_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '风险类型(1ip属地风险 2动态评价风险 3聊天风险)',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '触犯原因',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时间',
+ PRIMARY KEY (`risk_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 93 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of risk
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for search
+-- ----------------------------
+DROP TABLE IF EXISTS `search`;
+CREATE TABLE `search` (
+ `search_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搜索id',
+ `search_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搜索名称',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`search_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 121 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of search
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_activity
+-- ----------------------------
+DROP TABLE IF EXISTS `self_activity`;
+CREATE TABLE `self_activity` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `create_at` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `image_url` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '图片地址',
+ `state` varchar(255) CHARACTER SET big5 COLLATE big5_chinese_ci NULL DEFAULT NULL COMMENT '状态',
+ `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '链接',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '标题',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = big5 COLLATE = big5_chinese_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_activity
+-- ----------------------------
+INSERT INTO `self_activity` VALUES (9, '2021-08-24 18:23:56', 'https://taskshop.xianmxkj.com/img/20210824/7f9c10c8434748c19b8aaaaef462f516.png', '1', '/package/pages/zysc/my/myList', '我的订单');
+INSERT INTO `self_activity` VALUES (10, '2021-08-24 18:24:19', 'https://taskshop.xianmxkj.com/img/20210824/de708a8d95504c94bac0e0ef8fea0c45.png', '1', '/package/pages/zysc/my/rebateorder', '我的返利');
+INSERT INTO `self_activity` VALUES (11, '2021-08-24 18:24:23', 'https://taskshop.xianmxkj.com/img/20210824/af5a96620ff54553a2958de23af1f1e7.png', '1', '/package/pages/zysc/my/teamorder', '团队返利');
+INSERT INTO `self_activity` VALUES (12, '2021-08-24 18:24:27', 'https://taskshop.xianmxkj.com/img/20210824/aafe0eb7a4ce4dbf838ec4706c847642.png', '1', '/package/pages/zysc/categray/category', '商品分类');
+INSERT INTO `self_activity` VALUES (13, '2021-08-24 18:24:32', 'https://taskshop.xianmxkj.com/img/20210824/c5199711f8484d84932f000475012cb9.png', '1', '/pages/invitation/invitationUser', '邀请好友');
+INSERT INTO `self_activity` VALUES (20, '2021-08-24 18:25:37', 'https://taskshop.xianmxkj.com/img/20210824/0d9a3211fc8f420ab3620adc1076a28e.png', '3', '/pages/index/tuiguang?cid=1', '精选好物');
+INSERT INTO `self_activity` VALUES (21, '2021-08-24 18:25:48', 'https://taskshop.xianmxkj.com/img/20210824/e234249b69e2464691b14c0a97200e75.png', '3', '/pages/index/tuiguang?cid=10', '精选好物');
+INSERT INTO `self_activity` VALUES (22, '2021-08-24 18:25:53', 'https://taskshop.xianmxkj.com/img/20210824/6c130f7cecc34100aefd396d2f3ba734.png', '4', '/pages/miandan/miandan', '热卖榜单');
+INSERT INTO `self_activity` VALUES (23, '2021-08-24 18:26:00', 'https://taskshop.xianmxkj.com/img/20210824/bff1b15798cc4b26bfb63eede94ea7a4.png', '4', '/pages/index/tuiguang?cid=4', '热卖榜单');
+INSERT INTO `self_activity` VALUES (24, '2021-08-24 18:26:07', 'https://taskshop.xianmxkj.com/img/20210824/9514cce44dc54eeeaaa2e15a64a1e73f.png', '5', '/pages/index/list?title=每日上新&type=1', '每日上新');
+INSERT INTO `self_activity` VALUES (25, '2021-08-24 18:26:11', 'https://taskshop.xianmxkj.com/img/20210824/d89261b278ec483aa5d30993b469eace.png', '5', '/pages/index/food?title=爆款美食&type=9', '爆款美食');
+INSERT INTO `self_activity` VALUES (35, '2021-08-24 18:24:45', 'https://taskshop.xianmxkj.com/img/20210824/d6de78ba664e424f852f3d05104717a0.png', '1', '/package/pages/zysc/categray/search?cid=48&name=衬衫', '女装');
+INSERT INTO `self_activity` VALUES (36, '2021-08-24 18:24:50', 'https://taskshop.xianmxkj.com/img/20210824/0e0791133e024a40a54f146f1dd6bb2a.png', '1', '/package/pages/zysc/my/like', '我的收藏');
+INSERT INTO `self_activity` VALUES (37, '2021-08-24 18:24:57', 'https://taskshop.xianmxkj.com/img/20210824/4e42272c61ca4f49aa88ecad7d953275.png', '1', '/package/pages/zysc/categray/search?cid=48&name=苹果', '新鲜瓜果');
+INSERT INTO `self_activity` VALUES (38, '2021-08-24 18:25:02', 'https://taskshop.xianmxkj.com/img/20210824/d757d4507d324b9f9d03fa4d81af94e2.png', '1', '/package/pages/zysc/categray/search?cid=48&name=电视', '电视');
+INSERT INTO `self_activity` VALUES (39, '2021-08-24 18:25:06', 'https://taskshop.xianmxkj.com/img/20210824/ac36e2e5121f4ad88e3deaca73224b7b.png', '1', '/package/pages/zysc/categray/search?cid=34&name=电子产品', '电子产品');
+
+-- ----------------------------
+-- Table structure for self_banner
+-- ----------------------------
+DROP TABLE IF EXISTS `self_banner`;
+CREATE TABLE `self_banner` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `img_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '图片地址',
+ `link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '跳转链接',
+ `sort` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_banner
+-- ----------------------------
+INSERT INTO `self_banner` VALUES (1, '2020-08-15 10:58:44', 'https://pic3.zhimg.com/ac2929dd435e78ae8efe25252008dcdd_xs.jpg?source=1940ef5c', 'www.jd.com', '1');
+INSERT INTO `self_banner` VALUES (4, '2020-08-15 11:00:26', 'https://pic4.zhimg.com/v2-095892c2f4425ff90f53b946b577847b_540x450.jpeg', 'www.taobao.com', '2');
+
+-- ----------------------------
+-- Table structure for self_goods
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods`;
+CREATE TABLE `self_goods` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品id',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `descrition` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '商品描述',
+ `img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '商品图片',
+ `merchants` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商户号',
+ `price` double NULL DEFAULT NULL COMMENT '价格',
+ `sales` int(11) NULL DEFAULT NULL COMMENT '商品销量',
+ `status` int(11) NULL DEFAULT 0 COMMENT '商品状态(默认1正常 2下架)',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '标题',
+ `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品类型id',
+ `member_price` double NULL DEFAULT NULL COMMENT '会员价格',
+ `original_price` double NULL DEFAULT NULL COMMENT '商品原价',
+ `commission_price` double NULL DEFAULT NULL COMMENT '商品佣金',
+ `home_goods` int(11) NULL DEFAULT NULL COMMENT '首页商品(0默认 1是首页商品)',
+ `is_select` int(11) NULL DEFAULT NULL COMMENT '精选好物(0默认 1精选好物)',
+ `buy_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '必买理由',
+ `cover_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品封面图片',
+ `is_express` int(11) NULL DEFAULT NULL COMMENT '是否需要发货(1普通商品需要发货 2虚拟商品无需发货)',
+ `is_recommend` int(11) NULL DEFAULT NULL COMMENT '每日推荐(0默认 1推荐商品)',
+ `postage_price` double NULL DEFAULT NULL COMMENT '邮费',
+ `type_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品类型id',
+ `is_postage` int(11) NULL DEFAULT NULL,
+ `is_ji_fen_goods` int(11) NULL DEFAULT NULL,
+ `brand_id` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 105 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods
+-- ----------------------------
+INSERT INTO `self_goods` VALUES (60, '2020-09-16 13:44:30', '
', 'https://tk.gomyorder.cn/img/20200916/318adb4736a84a70aa02e311c3fcf325.jpg,https://tk.gomyorder.cn/img/20200916/5075c958e04644bd983850e9a8f2e81e.jpg,https://tk.gomyorder.cn/img/20200916/06f285fd5d8748bf9baede8d38b5543a.jpg', '', 2, 21124, 1, '晾衣架子小孩子晒挂衣服婴儿童凉的家用袜子多夹子新生功能可折叠', NULL, 2, 3, 0.01, 1, 1, '好物', 'https://tk.gomyorder.cn/img/20200916/99e1d541b5c245e2addb9d5c4cdfddd1.jpg', 1, 0, NULL, '13', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (63, '2020-09-24 14:45:50', '
\n
\n
', 'https://tk.gomyorder.cn/img/20200924/7bae1c7b42d04943adb64b901cdca345.jpg,https://tk.gomyorder.cn/img/20200924/a401af5d892c4226bc5fdb31946bccb3.jpg,https://tk.gomyorder.cn/img/20200924/2c081e77d2c047d2b383de763b2a736b.jpg,https://tk.gomyorder.cn/img/20200924/7d729c59272e46d9bac220f19f94b4f0.jpg', '', 1, 1578, 1, '乔丹女运动鞋2020秋季网面跑步鞋气垫缓震增高旅游鞋黑粉色波鞋子', NULL, 1, 5, 0.01, 1, 1, '有种脾气叫,不放弃。', 'https://tk.gomyorder.cn/img/20200924/8bc17c26f578441981efb5c0d55a761f.jpg', 1, 1, 0, '13', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (65, '2020-09-24 14:49:11', '
\n
\n
\n
', 'https://tk.gomyorder.cn/img/20200924/1dfcd54fcc0a49a9bef6d6c93e354464.jpg,https://tk.gomyorder.cn/img/20200924/1523374d86b34c25a9af121c3238adee.jpg,https://tk.gomyorder.cn/img/20200924/13e991739f384fc3bbff71b65cab2b3b.jpg', '', 1, 2112, 1, '百草味-零食大礼包网红爆款休闲充饥夜宵小吃饼干组合一整箱送礼', NULL, 1, 2, 0.01, 1, 1, '600款零食 一站购 1元起开抢', 'https://tk.gomyorder.cn/img/20200924/6896a2717e3c419094f62a3c107455e6.jpg', 1, 1, 0, '21', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (66, '2020-09-24 14:52:21', '
\n
', 'https://api.shengqianxiong.com.cn/img/20210820/a59e127b5f1d435bb813543293609640.png', '', 1, 54219, 1, '维达手帕纸超韧4层8张18包卫生纸巾 自然无香面巾纸 新旧交替发货', NULL, 1, 5, 0.1, 1, 1, '出门必备易携带,超韧细密湿水不易破', 'https://api.shengqianxiong.com.cn/img/20210820/a61d772ddf6e4eaaae843993c91170d7.png', 1, 1, 0, '30', NULL, NULL, 1);
+INSERT INTO `self_goods` VALUES (97, '2021-08-10 16:12:36', '好好学习,天天向上。
', 'https://api.shengqianxiong.com.cn/img/20210810/d08193121f8549199294a3a0f53a9f22.jpg,https://api.shengqianxiong.com.cn/img/20210810/21001828cf2c465896995c6360f486e7.jpg,https://api.shengqianxiong.com.cn/img/20210810/852c4e1c2ef84f5087a58503bf32cdb8.jpg', '', 55, 12, 1, '计算机与科学书籍·', NULL, 55, 36, 0.2, 1, 1, '有用的东西不需要理由', 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 1, 1, 0, '51', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (98, '2021-08-11 18:09:32', '嗯
', 'https://api.shengqianxiong.com.cn/img/20210811/7d923d42836a4d82af306ec7163dbff6.jpg,https://api.shengqianxiong.com.cn/img/20210811/1339d822bf9042b99d85971752d4055d.jpg', '', 85, 10000, 1, '哲学', NULL, 85, 95, 0.1, 1, 1, '对你们有用哦', 'https://api.shengqianxiong.com.cn/img/20210811/7e2a40c37b1745539da07793e1c1c7dc.jpg', 3, 1, 10, '53', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (100, '2021-08-14 10:11:28', '今天 你吃了吗
', 'https://api.shengqianxiong.com.cn/img/20210814/19222cef43a845209f081ab6a38c4e2f.jpg,https://api.shengqianxiong.com.cn/img/20210814/48949a3bbb53412391ea33290e626f32.jpg', '', 50, 101, 1, '测试商品', NULL, 50, 100, 10, 1, 1, '迎娶白富美 走上人生巅峰', 'https://api.shengqianxiong.com.cn/img/20210814/7bb076847871417d9d153c1b126f99f2.jpg', 2, 1, 0, '48', NULL, NULL, 1);
+INSERT INTO `self_goods` VALUES (101, '2022-04-25 11:21:41', 'asdas
', 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/25/a9e8f15bdc0839a183fcfe208ddfe95f.jpg', '', 20, 20, 1, 'ceshi', NULL, NULL, NULL, NULL, NULL, NULL, '223232', 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/25/ae6370334a486d637f73de07c32afd6f.jpg', 1, NULL, 0, NULL, NULL, 1, NULL);
+INSERT INTO `self_goods` VALUES (102, '2022-04-30 01:54:19', '好喝不上头
', 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/30/f71215b08370ee99d3008430ce7740fb.png', '', 100, 100, 1, '神酒', NULL, 100, 100, 100, 1, 1, '好喝不上头', 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/30/7981dc0ed9a4792ddf3d14243e9473f2.png', 1, 1, 0, '44', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (103, '2022-05-19 10:22:59', 'dfdsfsf
', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/83d2e2b580440e41eef40eb4f2539058.jpg,https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/e04c924326249cef6ffb6af9ee90a2be.jpg', '', 1.01, 0, 1, '自营商品0519', NULL, 1.01, 10, 0.5, 1, 1, 'mmm', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/176e12eee3b6f6b9b61e6dc047a6870c.jpg', 1, 1, 0, '55', NULL, NULL, NULL);
+INSERT INTO `self_goods` VALUES (104, '2022-06-24 17:12:07', '

', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/516bdde7ccaada5913f6002fda859160.jpg,https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/5b7b056cd7ca3197fe44282eb668fce0.jpg', '', 90, 25, 1, '千禾酱油味极鲜1L特级生抽', NULL, 90, 100, 5, 1, 1, '千禾酱油味极鲜值得信赖', 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/94681944d192677aa426b95837c1abec.jpg', 1, 1, 5, '55', NULL, NULL, NULL);
+
+-- ----------------------------
+-- Table structure for self_goods_attr
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_attr`;
+CREATE TABLE `self_goods_attr` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `attr_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '属性名称',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `rule_id` bigint(20) NULL DEFAULT NULL COMMENT '规格模板id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 128 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_attr
+-- ----------------------------
+INSERT INTO `self_goods_attr` VALUES (1, '帽子', 52, NULL);
+INSERT INTO `self_goods_attr` VALUES (2, '衣服', 53, NULL);
+INSERT INTO `self_goods_attr` VALUES (3, '衣服', 54, NULL);
+INSERT INTO `self_goods_attr` VALUES (4, '衣服', 55, NULL);
+INSERT INTO `self_goods_attr` VALUES (5, '衣服', 56, NULL);
+INSERT INTO `self_goods_attr` VALUES (6, '衣服', 57, NULL);
+INSERT INTO `self_goods_attr` VALUES (7, '衣服', 58, NULL);
+INSERT INTO `self_goods_attr` VALUES (8, '衣服', 59, NULL);
+INSERT INTO `self_goods_attr` VALUES (13, '衣服', 76, 8);
+INSERT INTO `self_goods_attr` VALUES (15, '帽子', 77, 9);
+INSERT INTO `self_goods_attr` VALUES (20, '衣服', 78, 8);
+INSERT INTO `self_goods_attr` VALUES (25, '衣服', 79, 8);
+INSERT INTO `self_goods_attr` VALUES (45, '衣服', 83, 8);
+INSERT INTO `self_goods_attr` VALUES (91, '衣服', 94, 8);
+INSERT INTO `self_goods_attr` VALUES (117, '衣服', 99, 8);
+INSERT INTO `self_goods_attr` VALUES (121, '衣服', 97, 8);
+INSERT INTO `self_goods_attr` VALUES (122, '衣服1423', 96, 8);
+INSERT INTO `self_goods_attr` VALUES (123, '帽子', 95, 9);
+INSERT INTO `self_goods_attr` VALUES (126, '衣服', 100, 8);
+INSERT INTO `self_goods_attr` VALUES (127, '帽子', 104, 9);
+
+-- ----------------------------
+-- Table structure for self_goods_attr_value
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_attr_value`;
+CREATE TABLE `self_goods_attr_value` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '属性值组合:{尺寸: \"7寸\", 颜色: \"红底\"}',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '图片',
+ `member_price` double NULL DEFAULT NULL COMMENT '会员价格',
+ `original_price` double NULL DEFAULT NULL COMMENT '原价',
+ `price` double NULL DEFAULT NULL COMMENT '价格',
+ `sales` int(11) NULL DEFAULT NULL,
+ `stock` int(11) NULL DEFAULT NULL,
+ `attr_id` bigint(20) NULL DEFAULT NULL,
+ `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 293 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_attr_value
+-- ----------------------------
+INSERT INTO `self_goods_attr_value` VALUES (1, '大', 52, NULL, NULL, NULL, NULL, NULL, NULL, 1, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (2, '红色', 52, NULL, NULL, NULL, NULL, NULL, NULL, 1, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (3, '紫色,红色', 53, NULL, NULL, NULL, NULL, NULL, NULL, 2, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (4, 'm', 53, NULL, NULL, NULL, NULL, NULL, NULL, 2, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (5, '紫色,红色', 54, NULL, NULL, NULL, NULL, NULL, NULL, 3, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (6, 'm', 54, NULL, NULL, NULL, NULL, NULL, NULL, 3, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (7, '紫色,红色', 55, NULL, NULL, NULL, NULL, NULL, NULL, 4, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (8, 'm', 55, NULL, NULL, NULL, NULL, NULL, NULL, 4, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (11, '紫色,红色', 57, NULL, NULL, NULL, NULL, NULL, NULL, 6, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (12, 'm', 57, NULL, NULL, NULL, NULL, NULL, NULL, 6, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (13, '紫色,红色', 58, NULL, NULL, NULL, NULL, NULL, NULL, 7, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (14, 'm', 58, NULL, NULL, NULL, NULL, NULL, NULL, 7, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (15, '紫色,红色', 59, NULL, NULL, NULL, NULL, NULL, NULL, 8, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (16, 'm', 59, NULL, NULL, NULL, NULL, NULL, NULL, 8, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (33, '紫色,红色', 78, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (34, 'm', 78, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (43, '紫色,红色', 79, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (44, 'm', 79, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (83, '紫色,红色', 83, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (84, 'm', 83, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (175, '紫色,红色', 94, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (176, 'm', 94, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (237, '红,黄,蓝', 97, NULL, NULL, NULL, NULL, NULL, NULL, 121, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (238, 'x,l', 97, NULL, NULL, NULL, NULL, NULL, NULL, 121, '大小');
+INSERT INTO `self_goods_attr_value` VALUES (239, '紫色,红色', 96, NULL, NULL, NULL, NULL, NULL, NULL, 122, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (240, 'm', 96, NULL, NULL, NULL, NULL, NULL, NULL, 122, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (241, '大', 95, NULL, NULL, NULL, NULL, NULL, NULL, 123, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (242, '红色', 95, NULL, NULL, NULL, NULL, NULL, NULL, 123, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (261, '红色', 99, NULL, NULL, NULL, NULL, NULL, NULL, 117, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (262, 'm', 99, NULL, NULL, NULL, NULL, NULL, NULL, 117, '大小');
+INSERT INTO `self_goods_attr_value` VALUES (263, '工装', 99, NULL, NULL, NULL, NULL, NULL, NULL, 117, '风格');
+INSERT INTO `self_goods_attr_value` VALUES (264, '粉色,五颜六色', 99, NULL, NULL, NULL, NULL, NULL, NULL, 117, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (285, '红色', 100, NULL, NULL, NULL, NULL, NULL, NULL, 126, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (286, 'm', 100, NULL, NULL, NULL, NULL, NULL, NULL, 126, '大小');
+INSERT INTO `self_goods_attr_value` VALUES (287, '工装', 100, NULL, NULL, NULL, NULL, NULL, NULL, 126, '风格');
+INSERT INTO `self_goods_attr_value` VALUES (288, '粉色,黑色,红色', 100, NULL, NULL, NULL, NULL, NULL, NULL, 126, '颜色');
+INSERT INTO `self_goods_attr_value` VALUES (291, '大,小', 104, NULL, NULL, NULL, NULL, NULL, NULL, 127, '尺码');
+INSERT INTO `self_goods_attr_value` VALUES (292, '红色,黑色', 104, NULL, NULL, NULL, NULL, NULL, NULL, 127, '颜色');
+
+-- ----------------------------
+-- Table structure for self_goods_brand
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_brand`;
+CREATE TABLE `self_goods_brand` (
+ `brand_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `brand_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `create_time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `names` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`brand_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_brand
+-- ----------------------------
+INSERT INTO `self_goods_brand` VALUES (1, '马来西亚', '2020-10-28 10:05:10', 'INTI');
+INSERT INTO `self_goods_brand` VALUES (2, '泰国', '2020-10-28 10:18:25', '西那瓦');
+INSERT INTO `self_goods_brand` VALUES (3, '英国', '2020-10-28 10:19:21', '伯明翰');
+INSERT INTO `self_goods_brand` VALUES (5, '腾讯', '2020-11-10 16:07:18', '腾讯视频');
+
+-- ----------------------------
+-- Table structure for self_goods_comment
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_comment`;
+CREATE TABLE `self_goods_comment` (
+ `comment_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
+ `create_time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `goods_id` bigint(20) NULL DEFAULT NULL,
+ `img` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
+ `sku` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `user_header` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `user_id` bigint(20) NULL DEFAULT NULL,
+ `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `order_id` bigint(20) NULL DEFAULT NULL,
+ `sku_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reply` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `score` int(11) NULL DEFAULT NULL,
+ `score_type` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`comment_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_comment
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_goods_rule
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_rule`;
+CREATE TABLE `self_goods_rule` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `rule_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '规格名称',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_rule
+-- ----------------------------
+INSERT INTO `self_goods_rule` VALUES (8, '2020-09-11 15:21:01', '衣服');
+INSERT INTO `self_goods_rule` VALUES (9, '2020-09-11 15:27:02', '帽子');
+INSERT INTO `self_goods_rule` VALUES (10, '2020-09-11 15:44:37', '鞋子');
+INSERT INTO `self_goods_rule` VALUES (14, '2020-09-11 17:27:49', '裤子');
+INSERT INTO `self_goods_rule` VALUES (15, '2020-09-11 17:38:59', '袜子');
+INSERT INTO `self_goods_rule` VALUES (27, '2021-08-10 17:58:41', '首饰');
+INSERT INTO `self_goods_rule` VALUES (28, '2021-08-11 17:45:25', '项链');
+
+-- ----------------------------
+-- Table structure for self_goods_rule_value
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_rule_value`;
+CREATE TABLE `self_goods_rule_value` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '规格属性值',
+ `rule_id` bigint(20) NULL DEFAULT NULL COMMENT '规格id',
+ `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '规格属性名称',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 103 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_rule_value
+-- ----------------------------
+INSERT INTO `self_goods_rule_value` VALUES (1, '紫色', 3, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (2, '紫色', 4, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (3, 'm', 5, '尺码');
+INSERT INTO `self_goods_rule_value` VALUES (4, 'm,l', 5, NULL);
+INSERT INTO `self_goods_rule_value` VALUES (5, '紫色,红色', 6, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (6, '紫色,红色,蓝色', 7, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (9, '大', 9, '尺码');
+INSERT INTO `self_goods_rule_value` VALUES (10, '红色', 9, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (14, 'm', 11, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (15, '紫色', 12, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (16, '红色,紫色', 13, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (20, '红色', 16, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (22, '红色,白色', 17, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (23, '红色', 18, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (24, 'm', 18, '尺码');
+INSERT INTO `self_goods_rule_value` VALUES (25, '红色,黑色,白色', 19, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (26, 'm,l,s', 19, '尺码');
+INSERT INTO `self_goods_rule_value` VALUES (27, 'm,l', 20, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (28, '红色,紫色', 20, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (29, 'm,l', 21, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (30, '红色,紫色', 21, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (47, '黑色,白色,黑色', 22, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (52, '紫色', 10, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (53, 'm', 10, '尺码');
+INSERT INTO `self_goods_rule_value` VALUES (54, '红色,紫色', 14, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (55, 'm', 14, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (56, '黑色,白色,紫色', 15, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (59, '黑色', 23, 'X');
+INSERT INTO `self_goods_rule_value` VALUES (60, '156', 24, '大小·');
+INSERT INTO `self_goods_rule_value` VALUES (61, '222', 25, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (68, '253', 26, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (78, '带钻', 27, '有无钻');
+INSERT INTO `self_goods_rule_value` VALUES (79, '2-2000000', 27, '价位');
+INSERT INTO `self_goods_rule_value` VALUES (93, '布灵布灵', 28, '风格');
+INSERT INTO `self_goods_rule_value` VALUES (94, 'l', 28, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (99, '红色', 8, '颜色');
+INSERT INTO `self_goods_rule_value` VALUES (100, 'm', 8, '大小');
+INSERT INTO `self_goods_rule_value` VALUES (101, '工装', 8, '风格');
+INSERT INTO `self_goods_rule_value` VALUES (102, '粉色,五颜六色', 8, '颜色');
+
+-- ----------------------------
+-- Table structure for self_goods_sku
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_sku`;
+CREATE TABLE `self_goods_sku` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `sku_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT 'sku图片',
+ `sku_original_price` double NULL DEFAULT NULL COMMENT 'sku原价',
+ `sku_price` double NULL DEFAULT NULL COMMENT 'sku商品售价',
+ `member_price` double NULL DEFAULT NULL COMMENT '会员价格',
+ `detail_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT 'sku信息,json封装',
+ `sales` int(11) NULL DEFAULT NULL COMMENT '销量',
+ `stock` int(11) NULL DEFAULT NULL COMMENT '库存',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 160 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_sku
+-- ----------------------------
+INSERT INTO `self_goods_sku` VALUES (1, 52, NULL, 0, 0, 0, '大,红色', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (2, 53, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (3, 53, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (4, 54, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (5, 54, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (6, 55, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (7, 55, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (8, 57, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (9, 57, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (10, 58, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (11, 58, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (12, 59, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (13, 59, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (16, 76, NULL, 0, 0, 0, '紫色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (17, 76, NULL, 0, 0, 0, '红色,m', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (34, 91, 'https://tk.gomyorder.cn/img/20210512/66e26326a0a14e3abea2090bebd588f3.jfif', 100, 50, NULL, NULL, 0, 999);
+INSERT INTO `self_goods_sku` VALUES (84, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '红,x', 0, 995);
+INSERT INTO `self_goods_sku` VALUES (85, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '红,l', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (86, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '黄,x', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (87, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '黄,l', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (88, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '蓝,x', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (89, 97, 'https://api.shengqianxiong.com.cn/img/20210810/a47def2d5bfe4c07b8d6dfba2ff7fd8a.jpg', 36, 55, NULL, '蓝,l', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (90, 96, 'https://api.shengqianxiong.com.cn/img/20210810/99866e2ada0e4d9c8d55a56527f77deb.jpg', 50, 40, NULL, '紫色,m', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (91, 96, 'https://api.shengqianxiong.com.cn/img/20210810/99866e2ada0e4d9c8d55a56527f77deb.jpg', 50, 40, NULL, '红色,m', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (92, 95, 'https://api.shengqianxiong.com.cn/img/20210810/0f972f2dc9fe46a08dfebf508364be80.jpg', 100, 90, NULL, '大,红色', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (107, 99, 'https://api.shengqianxiong.com.cn/img/20210814/bcd8ed002d9446d1b2e26d12a35283f9.jpeg', 10, 0.01, NULL, '红色,m,工装,粉色', 0, 96);
+INSERT INTO `self_goods_sku` VALUES (108, 99, 'https://api.shengqianxiong.com.cn/img/20210814/8c038f45f5864a6e9bbaab133ee52bea.jpg', 10, 0.01, NULL, '红色,m,工装,五颜六色', 0, 88);
+INSERT INTO `self_goods_sku` VALUES (111, 65, 'https://tk.gomyorder.cn/img/20200924/6896a2717e3c419094f62a3c107455e6.jpg', 2, 1, NULL, NULL, 0, 5);
+INSERT INTO `self_goods_sku` VALUES (112, 63, 'https://tk.gomyorder.cn/img/20200924/8bc17c26f578441981efb5c0d55a761f.jpg', 5, 1, NULL, NULL, 0, 997);
+INSERT INTO `self_goods_sku` VALUES (133, 66, 'https://tk.gomyorder.cn/img/20201107/e2c3514bc9824acd97841a23bc5f9998.png', 5, 1, NULL, NULL, 0, 5);
+INSERT INTO `self_goods_sku` VALUES (135, 100, 'https://api.shengqianxiong.com.cn/img/20210814/7bb076847871417d9d153c1b126f99f2.jpg', 100, 50, NULL, '红色,m,工装,粉色', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (136, 100, 'https://api.shengqianxiong.com.cn/img/20210814/7bb076847871417d9d153c1b126f99f2.jpg', 100, 50, NULL, '红色,m,工装,黑色', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (137, 100, 'https://api.shengqianxiong.com.cn/img/20210814/7bb076847871417d9d153c1b126f99f2.jpg', 100, 50, NULL, '红色,m,工装,红色', 0, 0);
+INSERT INTO `self_goods_sku` VALUES (138, 101, 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/25/ae6370334a486d637f73de07c32afd6f.jpg', NULL, 20, NULL, NULL, 0, 999);
+INSERT INTO `self_goods_sku` VALUES (140, 102, 'https://api.shengqianxiong.com.cn/file/uploadPath/2022/04/30/7981dc0ed9a4792ddf3d14243e9473f2.png', 100, 100, NULL, NULL, 0, 999);
+INSERT INTO `self_goods_sku` VALUES (148, 98, 'https://api.shengqianxiong.com.cn/img/20210811/7e2a40c37b1745539da07793e1c1c7dc.jpg', 95, 85, NULL, NULL, 0, 998);
+INSERT INTO `self_goods_sku` VALUES (155, 104, 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/94681944d192677aa426b95837c1abec.jpg', 100, 90, NULL, '大,红色', 0, 996);
+INSERT INTO `self_goods_sku` VALUES (156, 104, 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/94681944d192677aa426b95837c1abec.jpg', 100, 90, NULL, '大,黑色', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (157, 104, 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/94681944d192677aa426b95837c1abec.jpg', 100, 90, NULL, '小,红色', 0, 999);
+INSERT INTO `self_goods_sku` VALUES (158, 104, 'https://rwshop.xianmxkj.com/file/uploadPath/2022/06/24/94681944d192677aa426b95837c1abec.jpg', 100, 90, NULL, '小,黑色', 0, 998);
+INSERT INTO `self_goods_sku` VALUES (159, 103, 'https://rwshop.xianmxkj.com/file/uploadPath/2022/05/19/176e12eee3b6f6b9b61e6dc047a6870c.jpg', 10, 1.01, NULL, NULL, 0, 999);
+
+-- ----------------------------
+-- Table structure for self_goods_virtual
+-- ----------------------------
+DROP TABLE IF EXISTS `self_goods_virtual`;
+CREATE TABLE `self_goods_virtual` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '卡密内容',
+ `cover_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品封面图片',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '链接',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态(1正常 2关闭 3已使用)',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '标题',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 57 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_goods_virtual
+-- ----------------------------
+INSERT INTO `self_goods_virtual` VALUES (6, 'sadasd45455', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 15:06:06', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (7, '12211212s1d', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 15:06:06', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (8, 'sfdssd65656', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 15:31:22', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (9, 'sdfsdfsd54587', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 15:31:22', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (10, 'sdfdsf5655', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 15:31:22', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (11, 'sfdssd65656', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 19:45:25', 80, 'http://www.baidu.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (15, 'sfdssd656586', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 19:48:41', 80, 'https://www.xiansqx.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (16, 'sfdssd659656', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 19:48:41', 80, 'https://www.xiansqx.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (17, 'sfdssd651656', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-12 19:48:41', 80, 'https://www.xiansqx.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (20, 'sfdssd65656', 'https://www.gomyorder.cn/img/20201107/10febbaeed25419f82a8d2cf7782f792.png', '2020-11-12 19:53:00', 82, 'https://www.xiansqx.com', 1, '诗凡黎衬衫女2020年新款秋装设计感小众天丝女装上衣长袖黄色衬衣');
+INSERT INTO `self_goods_virtual` VALUES (22, 'dfjkhf', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-17 13:31:06', 80, 'https://www.xiansqx.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (23, 'dfjkhdgf', 'https://www.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2020-11-17 13:31:06', 80, 'https://www.xiansqx.com', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (24, 'dsadkskldsalfDSF', 'https://www.gomyorder.cn/img/20201107/10febbaeed25419f82a8d2cf7782f792.png', '2020-11-17 14:58:54', 82, 'https://www.xiansqx.com', 1, '诗凡黎衬衫女2020年新款秋装设计感小众天丝女装上衣长袖黄色衬衣');
+INSERT INTO `self_goods_virtual` VALUES (25, '5546565656', 'https://www.gomyorder.cn/img/20201107/10febbaeed25419f82a8d2cf7782f792.png', '2020-11-17 14:58:54', 82, 'https://www.xiansqx.com', 1, '诗凡黎衬衫女2020年新款秋装设计感小众天丝女装上衣长袖黄色衬衣');
+INSERT INTO `self_goods_virtual` VALUES (30, '5454578855', 'https://www.gomyorder.cn/img/20201107/10febbaeed25419f82a8d2cf7782f792.png', '2020-11-17 15:14:49', 82, 'https://sqx.gomyorder.cn', 1, '诗凡黎衬衫女2020年新款秋装设计感小众天丝女装上衣长袖黄色衬衣');
+INSERT INTO `self_goods_virtual` VALUES (31, 'aaa', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-11-24 15:08:22', 83, 'http://tengxun.com', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (32, 'bbb', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-11-24 15:08:22', 83, 'http://tengxun.com', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (33, 'ccc', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-11-24 15:08:22', 83, 'https://m.nn.com/mcenterList.html?region_code=1&language=zh_CN&platform=2', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (34, 'dskjjfhkfh', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-12-04 13:10:27', 83, 'http://www/cj', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (35, 'sfjsf', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-12-04 13:10:27', 83, 'http://www/cj', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (36, 'sfkj', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-12-04 13:10:27', 83, 'http://www/cj', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (37, 'aa', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-12-08 10:57:49', 83, 'ss', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (38, 'wwqq', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2020-12-08 10:57:57', 83, 'ww', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (39, 'sbfsb', 'https://www.gomyorder.cn/img/20210322/77756115a5e046ee9b0463d53fb5ecfe.jpg', '2021-03-22 14:59:53', 89, 'sdvsf', 3, 'dbfg');
+INSERT INTO `self_goods_virtual` VALUES (40, 'grgde', 'https://www.gomyorder.cn/img/20210322/77756115a5e046ee9b0463d53fb5ecfe.jpg', '2021-03-22 15:00:17', 89, 'dgfr', 3, 'dbfg');
+INSERT INTO `self_goods_virtual` VALUES (41, 'fdhgf', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 11:04:22', 83, 'gdf', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (42, 'fdgdf', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 11:05:48', 83, 'http://www.baidu.com', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (43, 'dsgds', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 11:12:36', 83, 'https://www.baidu.com/', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (44, 'dvd', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 11:13:27', 83, 'https://sqx.gomyorder.cn', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (45, 'gregee', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 13:39:16', 83, 'reter', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (46, 'gtrg', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 14:05:15', 83, 'trg', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (47, 'fdbf', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 14:05:32', 83, 'dhb', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (48, 'bgf', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 14:05:45', 83, 'bfg', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (49, 'vd', 'https://www.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-03-24 14:06:39', 83, 'dv', 2, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (50, '111111111111111', 'https://tk.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-04-12 13:25:49', 83, '1111111', 3, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (51, '654654', 'https://tk.gomyorder.cn/img/20201118/3c8f31bfe8604dc199e52c59a15dae18.png', '2021-06-28 15:38:30', 83, '4645', 1, '腾讯视频');
+INSERT INTO `self_goods_virtual` VALUES (52, '64564', 'https://tk.gomyorder.cn/img/20210628/185be6791d9d4dc99d6b90602201f2cf.png', '2021-06-29 11:28:23', 92, '436456', 1, '衬衫');
+INSERT INTO `self_goods_virtual` VALUES (53, '67575', 'https://tk.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2021-06-29 16:33:42', 80, '75675', 3, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (54, '儿童', 'https://tk.gomyorder.cn/img/20201107/10febbaeed25419f82a8d2cf7782f792.png', '2021-08-03 09:45:08', 82, '儿童椅44444', 1, '诗凡黎衬衫女2020年新款秋装设计感小众天丝女装上衣长袖黄色衬衣');
+INSERT INTO `self_goods_virtual` VALUES (55, '没有', 'https://tk.gomyorder.cn/img/20201028/800543bfd20e4d4b818e8797146a655b.png', '2021-08-10 15:32:09', 80, 'VC', 1, '省钱兄淘宝客系统');
+INSERT INTO `self_goods_virtual` VALUES (56, '兜兜风', 'https://api.shengqianxiong.com.cn/img/20210814/7bb076847871417d9d153c1b126f99f2.jpg', '2022-04-15 10:43:36', 100, '嗯嗯', 3, '测试商品');
+
+-- ----------------------------
+-- Table structure for self_merchant_apply
+-- ----------------------------
+DROP TABLE IF EXISTS `self_merchant_apply`;
+CREATE TABLE `self_merchant_apply` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `audit_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '生效日期',
+ `audit_years` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '生效年限',
+ `company_address_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '公司注册地址市',
+ `company_address_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '公司注册详细地址',
+ `company_address_district` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '公司注册地址区',
+ `company_address_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '公司注册地址省',
+ `company_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '营业执照编号',
+ `company_license_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '营业执照照片',
+ `company_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商户名称',
+ `company_term` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '营业期限',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `id_card_img1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '证件照片正面',
+ `id_card_img2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '证件照片国徽面',
+ `id_card_img3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '手持证件照片',
+ `id_card_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '身份证号码',
+ `id_card_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '证件类型(1中国大陆居民身份证 2中国香港居民来往内地通行证 3中国澳门居民来往内地通行证 4中国台湾居民来往内地通行证 5其他国家或地区居民护照)',
+ `id_card_valid_time_end` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '身份证有效期起始时间',
+ `id_card_valid_time_start` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '身份证有效期截止时间',
+ `legal` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '店铺负责人',
+ `legal_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '负责人电话',
+ `server_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '客服电话',
+ `status` int(11) NULL DEFAULT NULL COMMENT '审核状态(1待处理 2通过 3拒绝)',
+ `store_address_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '店铺地址详细',
+ `store_address_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '店铺地址省市',
+ `store_head` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '负责人姓名',
+ `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '店铺名称',
+ `store_type` int(11) NULL DEFAULT NULL COMMENT '店铺类型(1个人 2个体工商户 3企业 4其他组织)',
+ `refund_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '拒绝原因',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_merchant_apply
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_order_relation
+-- ----------------------------
+DROP TABLE IF EXISTS `self_order_relation`;
+CREATE TABLE `self_order_relation` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `commission_price` double NULL DEFAULT NULL COMMENT '订单佣金',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '订单id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分销明细',
+ `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '电话',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1未到账 2已到账',
+ `finish_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '收货时间',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `goods_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品图片',
+ `goods_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品标题',
+ `lower_user_id` bigint(20) NULL DEFAULT NULL COMMENT '下级用户id',
+ `lower_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '下级用户名称',
+ `money_from` int(11) NULL DEFAULT NULL COMMENT '佣金来源(1直属 2自己 3非直属)',
+ `pay_money` double NULL DEFAULT NULL COMMENT '支付金额',
+ `commission_money` double NULL DEFAULT NULL COMMENT '订单佣金',
+ `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户姓名',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 473 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_order_relation
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_order_remind
+-- ----------------------------
+DROP TABLE IF EXISTS `self_order_remind`;
+CREATE TABLE `self_order_remind` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `orders_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态1提醒 2收到',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_order_remind
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_order_sale
+-- ----------------------------
+DROP TABLE IF EXISTS `self_order_sale`;
+CREATE TABLE `self_order_sale` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '未使用',
+ `refused` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `apply` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `orders_id` bigint(20) NULL DEFAULT NULL,
+ `status` int(11) NULL DEFAULT NULL,
+ `user_id` bigint(20) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_order_sale
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_orders
+-- ----------------------------
+DROP TABLE IF EXISTS `self_orders`;
+CREATE TABLE `self_orders` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `consignee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '收货人',
+ `create_at` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `descrition` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '订单备注',
+ `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '详细地址',
+ `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品图片',
+ `mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '电话',
+ `number` int(11) NULL DEFAULT NULL COMMENT '商品个数',
+ `order_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '订单号',
+ `pay_money` double NULL DEFAULT NULL COMMENT '支付金额',
+ `price` double NULL DEFAULT NULL COMMENT '价格',
+ `status` int(11) NULL DEFAULT NULL COMMENT '订单状态(1待付款 2已付款 3已发货 4已收货 5已取消 6退款中 7已退款 8拒绝退款 9拼团中 10已评价)',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '标题',
+ `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '类型',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `finish_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '完成时间',
+ `pay_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '支付时间',
+ `pay_way` int(11) NULL DEFAULT NULL COMMENT '支付方式(1app微信 2微信公众号 3微信小程序 4app支付宝 5H5支付宝 6零钱)',
+ `user_coupons_id` bigint(20) NULL DEFAULT NULL COMMENT '用户优惠券id',
+ `commission_price` double NULL DEFAULT NULL COMMENT '订单佣金',
+ `relation_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '会员邀请码id',
+ `provinces` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '省市区',
+ `express_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '快递名称',
+ `express_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '快递单号',
+ `refund` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '退款理由',
+ `goods_id` bigint(20) NULL DEFAULT NULL COMMENT '商品id',
+ `is_express` int(11) NULL DEFAULT NULL COMMENT '是否需要发货(1需要发货 2无需发货)',
+ `is_refund` int(11) NULL DEFAULT NULL COMMENT '是否可以退款(2不可退款)',
+ `refused_refund` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '拒绝退款理由',
+ `coupon_money` double NULL DEFAULT NULL COMMENT '优惠券金额',
+ `detail_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '商品sku信息',
+ `express_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '发货时间',
+ `group_id` bigint(20) NULL DEFAULT NULL COMMENT '拼团商品Id',
+ `group_pink_id` bigint(20) NULL DEFAULT NULL COMMENT '加入拼团团体id',
+ `merchant_id` bigint(20) NULL DEFAULT NULL COMMENT '商户id',
+ `order_type` int(11) NULL DEFAULT NULL COMMENT '订单类型(1普通订单 2拼团 3秒杀)',
+ `pay_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '支付单号',
+ `postage_price` double NULL DEFAULT NULL COMMENT '邮费',
+ `sec_kill_id` bigint(20) NULL DEFAULT NULL COMMENT '秒杀商品id',
+ `sku_id` bigint(20) NULL DEFAULT NULL COMMENT '商品skuId',
+ `virtual_id` bigint(20) NULL DEFAULT NULL COMMENT '虚拟商品id',
+ `member_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员价格',
+ `send_way` int(11) NULL DEFAULT NULL COMMENT '配送方式 1快递 2自取',
+ `old_status` int(11) NULL DEFAULT NULL COMMENT '退款前状态',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 618 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_orders
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_prize
+-- ----------------------------
+DROP TABLE IF EXISTS `self_prize`;
+CREATE TABLE `self_prize` (
+ `prize_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '奖品id',
+ `add_ji_fen` int(11) NULL DEFAULT NULL COMMENT '中奖积分',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '奖品展示名称',
+ `prize_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '奖品图片',
+ `prize_rule_id` bigint(20) NULL DEFAULT NULL,
+ `type` int(11) NULL DEFAULT NULL COMMENT '类型',
+ `weight` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`prize_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_prize
+-- ----------------------------
+INSERT INTO `self_prize` VALUES (1, 0, '2020-11-25 16:59:43', '谢谢惠顾', 'https://api.shengqianxiong.com.cn/img/20201125/83eca1a126ab43ddb98d50317ba98550.png', 1, 1, 100);
+INSERT INTO `self_prize` VALUES (2, 10, '2020-11-25 16:59:54', '10积分', 'https://api.shengqianxiong.com.cn/img/20201125/90f5eb02d4af4083a80e8dae51bdfd78.png', 1, 1, 30);
+INSERT INTO `self_prize` VALUES (3, 50, '2020-11-25 17:00:04', '50积分', 'https://api.shengqianxiong.com.cn/img/20201125/b7c494a13a06457192a2b63f9e7bcb3f.png', 1, 1, 50);
+INSERT INTO `self_prize` VALUES (4, 5, '2021-03-22 14:27:33', 'tyrt', '', 5, 1, 1);
+INSERT INTO `self_prize` VALUES (6, 1, '2021-06-25 16:51:49', 'tytr', 'https://h5.xuexiaedu.com/img/20210625/5ed65002c33f417eb7bfa5876723dd48.png', 7, 1, 5);
+
+-- ----------------------------
+-- Table structure for self_prize_rule
+-- ----------------------------
+DROP TABLE IF EXISTS `self_prize_rule`;
+CREATE TABLE `self_prize_rule` (
+ `prize_rule_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '奖池id',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '活动规则',
+ `ji_fen` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '消耗积分',
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '抽奖名称',
+ `number` int(11) NULL DEFAULT NULL COMMENT '每日抽取次数',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态(1开启 2关闭)',
+ PRIMARY KEY (`prize_rule_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_prize_rule
+-- ----------------------------
+INSERT INTO `self_prize_rule` VALUES (1, '2020-11-23 13:55:18', '每人每天限制抽取3次', '10', '积分抽奖', 3, 1);
+
+-- ----------------------------
+-- Table structure for self_prize_user
+-- ----------------------------
+DROP TABLE IF EXISTS `self_prize_user`;
+CREATE TABLE `self_prize_user` (
+ `prize_user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '抽奖记录id',
+ `add_ji_fen` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '增加的积分',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `less_ji_fen` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '减少的积分',
+ `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '昵称',
+ `prize_id` bigint(20) NULL DEFAULT NULL COMMENT '奖品id',
+ `prize_rule_id` bigint(20) NULL DEFAULT NULL COMMENT '奖池id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ PRIMARY KEY (`prize_user_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 189 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_prize_user
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_tenant_apply
+-- ----------------------------
+DROP TABLE IF EXISTS `self_tenant_apply`;
+CREATE TABLE `self_tenant_apply` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '未使用',
+ `company_address_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_address_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_address_district` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_address_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_license_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `company_term` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `legal` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `legal_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `server_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `store_address_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `store_address_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
+ `store_type` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_tenant_apply
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for self_user_collect
+-- ----------------------------
+DROP TABLE IF EXISTS `self_user_collect`;
+CREATE TABLE `self_user_collect` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `cover_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `create_time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `goods_id` bigint(20) NULL DEFAULT NULL,
+ `price` double NULL DEFAULT NULL,
+ `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `user_id` bigint(20) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of self_user_collect
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_captcha
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_captcha`;
+CREATE TABLE `sys_captcha` (
+ `uuid` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'uuid',
+ `code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '验证码',
+ `expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
+ PRIMARY KEY (`uuid`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统验证码' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_captcha
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_config
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_config`;
+CREATE TABLE `sys_config` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `param_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'key',
+ `param_value` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'value',
+ `status` tinyint(4) NULL DEFAULT 1 COMMENT '状态 0:隐藏 1:显示',
+ `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `param_key`(`param_key`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统配置信息表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_config
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_dict
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_dict`;
+CREATE TABLE `sys_dict` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典名称',
+ `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典类型',
+ `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典码',
+ `value` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典值',
+ `order_num` int(11) NULL DEFAULT 0 COMMENT '排序',
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ `parent_id` int(11) NULL DEFAULT NULL,
+ `status` int(11) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 96 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_dict
+-- ----------------------------
+INSERT INTO `sys_dict` VALUES (22, '服务类型', '服务类型', '', '', 5, '11', 0, NULL);
+INSERT INTO `sys_dict` VALUES (91, '', '', '足浴按摩', '足浴按摩', 2, '足浴按摩', 22, 1);
+INSERT INTO `sys_dict` VALUES (95, '', '', '健身私教', '健身私教', 1, '健身私教', 22, 1);
+
+-- ----------------------------
+-- Table structure for sys_log
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_log`;
+CREATE TABLE `sys_log` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',
+ `operation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户操作',
+ `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法',
+ `params` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数',
+ `time` bigint(20) NOT NULL COMMENT '执行时长(毫秒)',
+ `ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'IP地址',
+ `create_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 473 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统日志' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_log
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu` (
+ `menu_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父菜单ID,一级菜单为0',
+ `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单名称',
+ `url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单URL',
+ `perms` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
+ `type` int(11) NULL DEFAULT NULL COMMENT '类型 0:目录 1:菜单 2:按钮',
+ `icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标',
+ `order_num` int(11) NULL DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`menu_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 264 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES (2, 128, '管理员列表', 'sys/user', NULL, 1, 'admin', 1);
+INSERT INTO `sys_menu` VALUES (3, 128, '角色管理', 'sys/role', NULL, 1, 'role', 1);
+INSERT INTO `sys_menu` VALUES (4, 128, '菜单管理', 'sys/menu', NULL, 1, 'menu', 2);
+INSERT INTO `sys_menu` VALUES (15, 2, '查看', NULL, 'sys:user:list,sys:user:info', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (16, 2, '新增', NULL, 'sys:user:save,sys:role:select', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (17, 2, '修改', NULL, 'sys:user:update,sys:role:select', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (18, 2, '删除', NULL, 'sys:user:delete', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (19, 3, '查看', NULL, 'sys:role:list,sys:role:info', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (20, 3, '新增', NULL, 'sys:role:save,sys:menu:list', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (21, 3, '修改', NULL, 'sys:role:update,sys:menu:list', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (22, 3, '删除', NULL, 'sys:role:delete', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (23, 4, '查看', NULL, 'sys:menu:list,sys:menu:info', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (24, 4, '新增', NULL, 'sys:menu:save,sys:menu:select', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (25, 4, '修改', NULL, 'sys:menu:update,sys:menu:select', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (26, 4, '删除', NULL, 'sys:menu:delete', 2, NULL, 0);
+INSERT INTO `sys_menu` VALUES (32, 0, '用户中心', 'userList', '', 1, 'yonghul', 1);
+INSERT INTO `sys_menu` VALUES (33, 0, '数据中心', 'home', '', 1, 'shuju', 0);
+INSERT INTO `sys_menu` VALUES (34, 0, '财务中心', 'financeList', '', 1, 'caiwu', 1);
+INSERT INTO `sys_menu` VALUES (35, 34, '查看', '', 'financeList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (36, 34, '转账', '', 'financeList:transfer', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (37, 34, '退款', '', 'financeList:refund', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (39, 34, '修改', '', 'financeList:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (40, 34, '删除', '', 'financeList:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (41, 0, '消息中心', 'message', '', 1, 'xiaoxi', 1);
+INSERT INTO `sys_menu` VALUES (42, 41, '查看', '', 'message:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (43, 41, '消息推送', '', 'message:push', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (50, 0, '首页装修', 'bannerList', '', 1, 'shangpin', 2);
+INSERT INTO `sys_menu` VALUES (51, 50, '查看', '', 'bannerList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (52, 50, '添加', '', 'bannerList:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (53, 50, '修改', '', 'bannerList:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (54, 50, '删除', '', 'bannerList:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (57, 0, '系统配置', 'allocationList', '', 1, 'menu', 19);
+INSERT INTO `sys_menu` VALUES (58, 57, '查看', '', 'allocationList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (59, 57, '修改', '', 'allocationList:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (60, 32, '查看', '', 'userList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (61, 32, '删除', '', 'userList:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (62, 0, '订单中心', 'orderCenter', '', 1, 'log', 4);
+INSERT INTO `sys_menu` VALUES (63, 62, '查看', '', '', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (64, 62, '删除', '', 'orderCenter:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (69, 41, '添加', '', 'message:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (70, 41, '修改', '', 'message:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (71, 41, '删除', '', 'message:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (72, 0, '服务中心', 'locality', '', 1, 'order', 6);
+INSERT INTO `sys_menu` VALUES (73, 72, '添加', '', 'locality:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (74, 72, '查看', '', 'locality:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (75, 72, '修改', '', 'locality:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (76, 72, '删除', '', 'locality:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (77, 159, '实名认证', 'autonym', '', 1, 'shangpin', 6);
+INSERT INTO `sys_menu` VALUES (78, 77, '列表', '', 'autonym:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (79, 129, '聊天室', 'vueMchat', '', 1, 'xiaoxi', 0);
+INSERT INTO `sys_menu` VALUES (90, 32, '修改积分', '', 'userList:updatejf', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (91, 32, '修改用户状态', '', 'userList:updateStatus', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (92, 77, '通过', '', 'autonym:tongguo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (93, 77, '拒绝', '', 'autonym:jujue', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (94, 128, '升级配置', 'app', '', 1, 'sql', 9);
+INSERT INTO `sys_menu` VALUES (95, 94, '查看', '', 'app:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (96, 94, '添加', '', 'app:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (97, 94, '修改', '', 'app:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (98, 94, '删除', '', 'app:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (99, 129, '聊天记录', 'chatRecord', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (100, 99, '查看', '', 'chatRecord:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (101, 99, '删除', '', 'chatRecord:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (107, 159, '技师申请', 'applyList', '', 1, 'fenleilist', 0);
+INSERT INTO `sys_menu` VALUES (108, 107, '查看', '', 'applyList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (109, 107, '通过', '', 'applyList:tongguo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (110, 107, '拒绝', '', 'applyList:jujue', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (118, 130, '会员配置', 'memberDetails', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (119, 130, '会员特权', 'vipPrivilege', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (120, 118, '修改', '', 'memberDetails:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (121, 118, '删除', '', 'memberDetails:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (122, 118, '添加', '', 'memberDetails:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (123, 118, '列表', '', 'memberDetails:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (124, 119, '列表', '', 'vipPrivilege:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (125, 119, '添加', '', 'vipPrivilege:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (126, 119, '修改', '', 'vipPrivilege:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (127, 119, '删除', '', 'vipPrivilege:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (128, 0, '系统管理', '', '', 0, 'shezhi', 20);
+INSERT INTO `sys_menu` VALUES (129, 0, '聊天管理', '', '', 0, 'renwu1', 9);
+INSERT INTO `sys_menu` VALUES (130, 0, '会员管理', '', '', 0, 'leibie', 7);
+INSERT INTO `sys_menu` VALUES (131, 128, '字典', 'sys/dict', '', 1, 'fenleilist', 0);
+INSERT INTO `sys_menu` VALUES (132, 131, '查看', '', 'sys:dict:list,sys:dict:info', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (133, 131, '新增', '', 'sys:dict:save', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (134, 131, '修改', '', 'sys:dict:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (135, 131, '删除', '', 'sys:dict:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (136, 0, '师傅地图', 'shifuScheduling', '', 1, 'dangdifill', 10);
+INSERT INTO `sys_menu` VALUES (137, 136, '查看', '', 'shifuScheduling:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (138, 195, '天网中心', 'skynetCenter', '', 1, 'xinxi', 0);
+INSERT INTO `sys_menu` VALUES (139, 138, '查看', '', 'skynetCenter:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (140, 0, '优惠券管理', '', '', 0, 'editor', 7);
+INSERT INTO `sys_menu` VALUES (141, 140, '优惠券', 'couponYhq', '', 1, 'tianjia', 0);
+INSERT INTO `sys_menu` VALUES (142, 141, '查看', '', 'couponYhq:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (143, 141, '添加', '', 'couponYhq:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (144, 141, '修改', '', 'couponYhq:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (145, 141, '删除', '', 'couponYhq:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (146, 141, '赠送', '', 'couponYhq:zengsong', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (152, 140, '优惠券领取记录', 'couponuser', '', 1, 'order', 0);
+INSERT INTO `sys_menu` VALUES (153, 152, '查看', '', 'couponuser:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (154, 140, '充值配置', 'IntegralGoods', '', 1, 'log', 0);
+INSERT INTO `sys_menu` VALUES (155, 154, '查看', '', 'IntegralGoods:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (156, 154, '添加', '', 'IntegralGoods:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (157, 154, '修改', '', 'IntegralGoods:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (158, 154, '删除', '', 'IntegralGoods:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (159, 0, '技师管理', '', '', 0, 'role', 8);
+INSERT INTO `sys_menu` VALUES (160, 159, '技师列表', 'technician', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (161, 160, '查看', '', 'technician:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (162, 160, '修改', '', 'technician:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (163, 160, '删除', '', 'technician:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (164, 0, '评价中心', 'comment', '', 1, 'pinglun', 9);
+INSERT INTO `sys_menu` VALUES (165, 164, '查看', '', 'comment:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (166, 164, '删除', '', 'comment:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (167, 0, '投诉中心', 'business', '', 1, 'renwu1', 9);
+INSERT INTO `sys_menu` VALUES (168, 167, '查看', '', 'business:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (169, 167, '通过', '', 'business:tongguo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (170, 167, '拒绝', '', 'business:jujue', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (171, 167, '添加', '', 'business:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (172, 167, '修改', '', 'business:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (173, 167, '删除', '', 'business:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (174, 195, '紧急求助', 'emergencyHelp', '', 1, 'tianjia', 0);
+INSERT INTO `sys_menu` VALUES (175, 174, '查看', '', 'emergencyHelp:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (176, 32, '修改信用分', '', 'userList:updateXyf', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (177, 0, '出行配置', 'travel', '', 1, 'pingtai', 12);
+INSERT INTO `sys_menu` VALUES (178, 177, '查看', '', 'travel:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (179, 177, '添加', '', 'travel:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (180, 177, '修改', '', 'travel:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (181, 177, '删除', '', 'travel:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (182, 0, '推广代理', 'agent', '', 1, 'shangpin', 10);
+INSERT INTO `sys_menu` VALUES (183, 182, '查看', '', 'agent:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (184, 0, '帮助中心', 'materialsList', '', 1, 'leibie', 10);
+INSERT INTO `sys_menu` VALUES (185, 184, '查看', '', 'materialsList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (186, 184, '添加', '', 'materialsList:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (188, 184, '修改', '', 'materialsList:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (189, 184, '删除', '', 'materialsList:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (195, 0, '安全中心', '', '', 0, 'tianjia', 11);
+INSERT INTO `sys_menu` VALUES (196, 32, '修改佣金比例', '', 'userList:updatebl', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (197, 32, '设置会员', '', 'userList:updateVip', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (198, 32, '设置技师', '', 'userList:updateJs', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (199, 32, '设置推广员', '', 'userList:updateTgy', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (200, 32, '修改信息', '', 'userList:updateXx', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (201, 34, '导出', '', 'financeList:daochu', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (202, 62, '导出', '', 'orderCenter:daochu', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (203, 62, '退款', '', 'orderCenter:tuikuan', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (204, 182, '通过', '', 'agent:tongguo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (205, 182, '拒绝', '', 'agent:jujue', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (206, 138, '修改用户状态', '', 'skynetCenter:fxyh', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (207, 174, '处理', '', 'emergencyHelp:chuli', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (208, 0, '自营商城', '', '', 0, 'shouye', 6);
+INSERT INTO `sys_menu` VALUES (209, 208, '商品管理', 'shopAdmin', '', 1, 'peizhilb', 0);
+INSERT INTO `sys_menu` VALUES (210, 209, '查看', '', 'shopAdmin:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (211, 209, '添加', '', 'shopAdmin:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (213, 209, '修改', '', 'shopAdmin:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (214, 209, '删除', '', 'shopAdmin:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (215, 208, '商品分类', 'classifyAdmin', '', 1, 'leibie', 0);
+INSERT INTO `sys_menu` VALUES (216, 215, '查看', '', 'classifyAdmin:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (217, 215, '添加', '', 'classifyAdmin:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (218, 215, '修改', '', 'classifyAdmin:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (219, 215, '删除', '', 'classifyAdmin:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (220, 208, '商品规格', 'specification', '', 1, 'fenleilist', 0);
+INSERT INTO `sys_menu` VALUES (221, 220, '查看', '', 'specification:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (222, 220, '添加', '', 'specification:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (223, 220, '修改', '', 'specification:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (224, 220, '删除', '', 'specification:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (225, 208, '订单管理', 'orderAdmin', '', 1, 'order', 0);
+INSERT INTO `sys_menu` VALUES (226, 225, '查看', '', 'orderAdmin:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (227, 208, '商城配置', 'shopConfig', '', 1, 'config', 0);
+INSERT INTO `sys_menu` VALUES (228, 227, '查看', '', 'shopConfig:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (229, 227, '添加', '', 'shopConfig:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (230, 227, '修改', '', 'shopConfig:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (231, 227, '删除', '', 'shopConfig:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (232, 0, '商家管理', 'merchantList', '', 1, 'yonghul', 6);
+INSERT INTO `sys_menu` VALUES (233, 232, '查看', '', 'merchantList:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (234, 232, '添加', '', 'merchantList:add', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (235, 232, '修改', '', 'merchantList:update', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (236, 232, '删除', '', 'merchantList:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (237, 208, '待处理订单', 'disposeOrder', '', 1, 'config', 0);
+INSERT INTO `sys_menu` VALUES (238, 237, '查看', '', 'disposeOrder:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (239, 237, '确认退款', '', 'disposeOrder:refund', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (240, 237, '拒绝退款', '', 'disposeOrder:jujue', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (241, 237, '发货', '', 'disposeOrder:deliver', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (242, 32, '解绑商家', '', 'userList:updatejb', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (243, 32, '添加充值技师金额', '', 'userList:addcz', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (244, 32, '修改充值技师金额', '', 'userList:updatecz', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (245, 208, '商品评价', 'discuss', '', 1, 'xiaoxi', 0);
+INSERT INTO `sys_menu` VALUES (246, 245, '查看', '', 'discuss:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (247, 245, '回复', '', 'brandShop:huifu', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (248, 245, '删除', '', 'brandShop:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (249, 237, '确认收货', '', 'disposeOrder:shouhuo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (250, 225, '确认收货', '', 'disposeOrder:shouhuo', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (251, 159, '签到记录', 'signIn', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (252, 251, '查看', '', 'signIn:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (253, 159, '收益排行榜', 'riderTop', '', 1, 'tubiao', 0);
+INSERT INTO `sys_menu` VALUES (254, 253, '查看', '', 'riderTop:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (257, 0, '城市投票', 'cityVoting', '', 1, 'mudedi', 8);
+INSERT INTO `sys_menu` VALUES (258, 257, '查看', '', 'cityVoting:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (259, 195, '师傅位置记录', 'masterPosition', '', 1, 'dangdifill', 0);
+INSERT INTO `sys_menu` VALUES (260, 259, '查看', '', 'masterPosition:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (261, 195, '服务中订单', 'orderInService', '', 1, 'renwu', 0);
+INSERT INTO `sys_menu` VALUES (262, 261, '查看', '', 'orderInService:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (263, 62, '完成订单', '', 'orderCenter:wancheng', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (264, 159, '信用分排行榜', 'top', '', 1, 'tubiao', 1);
+INSERT INTO `sys_menu` VALUES (265, 264, '查看', '', 'top:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (266, 159, '信用分明细', 'creditScore', '', 1, 'renwu', 2);
+INSERT INTO `sys_menu` VALUES (267, 266, '查看', '', 'creditScore:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (268, 251, '删除', '', 'signIn:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (269, 0, '转化率列表', 'conversionRate', ' ', 1, 'leibie', 9);
+INSERT INTO `sys_menu` VALUES (270, 269, '查看', '', 'conversionRate:list', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (271, 152, '失效', '', 'couponuser:shixiao', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (272, 152, '删除', '', 'couponuser:delete', 2, '', 0);
+INSERT INTO `sys_menu` VALUES (273, 62, '取消订单', '', 'orderCenter:quxiao', 2, '', 0);
+
+-- ----------------------------
+-- Table structure for sys_oss
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_oss`;
+CREATE TABLE `sys_oss` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'URL地址',
+ `create_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件上传' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_oss
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role` (
+ `role_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名称',
+ `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ `create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID',
+ `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`role_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_role
+-- ----------------------------
+INSERT INTO `sys_role` VALUES (1, '超级管理员', 'super', 2, '2021-06-04 17:38:28');
+INSERT INTO `sys_role` VALUES (4, '普通用户', '普通用户', 2, '2021-09-10 15:33:47');
+
+-- ----------------------------
+-- Table structure for sys_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID',
+ `menu_id` bigint(20) NULL DEFAULT NULL COMMENT '菜单ID',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6313 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色与菜单对应关系' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_role_menu
+-- ----------------------------
+INSERT INTO `sys_role_menu` VALUES (7087, 4, 33);
+INSERT INTO `sys_role_menu` VALUES (7088, 4, 60);
+INSERT INTO `sys_role_menu` VALUES (7089, 4, 90);
+INSERT INTO `sys_role_menu` VALUES (7090, 4, 91);
+INSERT INTO `sys_role_menu` VALUES (7091, 4, 176);
+INSERT INTO `sys_role_menu` VALUES (7092, 4, 196);
+INSERT INTO `sys_role_menu` VALUES (7093, 4, 197);
+INSERT INTO `sys_role_menu` VALUES (7094, 4, 198);
+INSERT INTO `sys_role_menu` VALUES (7095, 4, 199);
+INSERT INTO `sys_role_menu` VALUES (7096, 4, 200);
+INSERT INTO `sys_role_menu` VALUES (7097, 4, 242);
+INSERT INTO `sys_role_menu` VALUES (7098, 4, 243);
+INSERT INTO `sys_role_menu` VALUES (7099, 4, 244);
+INSERT INTO `sys_role_menu` VALUES (7100, 4, 34);
+INSERT INTO `sys_role_menu` VALUES (7101, 4, 35);
+INSERT INTO `sys_role_menu` VALUES (7102, 4, 36);
+INSERT INTO `sys_role_menu` VALUES (7103, 4, 37);
+INSERT INTO `sys_role_menu` VALUES (7104, 4, 39);
+INSERT INTO `sys_role_menu` VALUES (7105, 4, 40);
+INSERT INTO `sys_role_menu` VALUES (7106, 4, 201);
+INSERT INTO `sys_role_menu` VALUES (7107, 4, 41);
+INSERT INTO `sys_role_menu` VALUES (7108, 4, 42);
+INSERT INTO `sys_role_menu` VALUES (7109, 4, 43);
+INSERT INTO `sys_role_menu` VALUES (7110, 4, 69);
+INSERT INTO `sys_role_menu` VALUES (7111, 4, 70);
+INSERT INTO `sys_role_menu` VALUES (7112, 4, 71);
+INSERT INTO `sys_role_menu` VALUES (7113, 4, 51);
+INSERT INTO `sys_role_menu` VALUES (7114, 4, 62);
+INSERT INTO `sys_role_menu` VALUES (7115, 4, 263);
+INSERT INTO `sys_role_menu` VALUES (7116, 4, 63);
+INSERT INTO `sys_role_menu` VALUES (7117, 4, 64);
+INSERT INTO `sys_role_menu` VALUES (7118, 4, 202);
+INSERT INTO `sys_role_menu` VALUES (7119, 4, 203);
+INSERT INTO `sys_role_menu` VALUES (7120, 4, 73);
+INSERT INTO `sys_role_menu` VALUES (7121, 4, 74);
+INSERT INTO `sys_role_menu` VALUES (7122, 4, 75);
+INSERT INTO `sys_role_menu` VALUES (7123, 4, 208);
+INSERT INTO `sys_role_menu` VALUES (7124, 4, 209);
+INSERT INTO `sys_role_menu` VALUES (7125, 4, 210);
+INSERT INTO `sys_role_menu` VALUES (7126, 4, 211);
+INSERT INTO `sys_role_menu` VALUES (7127, 4, 213);
+INSERT INTO `sys_role_menu` VALUES (7128, 4, 214);
+INSERT INTO `sys_role_menu` VALUES (7129, 4, 215);
+INSERT INTO `sys_role_menu` VALUES (7130, 4, 216);
+INSERT INTO `sys_role_menu` VALUES (7131, 4, 217);
+INSERT INTO `sys_role_menu` VALUES (7132, 4, 218);
+INSERT INTO `sys_role_menu` VALUES (7133, 4, 219);
+INSERT INTO `sys_role_menu` VALUES (7134, 4, 220);
+INSERT INTO `sys_role_menu` VALUES (7135, 4, 221);
+INSERT INTO `sys_role_menu` VALUES (7136, 4, 222);
+INSERT INTO `sys_role_menu` VALUES (7137, 4, 223);
+INSERT INTO `sys_role_menu` VALUES (7138, 4, 224);
+INSERT INTO `sys_role_menu` VALUES (7139, 4, 225);
+INSERT INTO `sys_role_menu` VALUES (7140, 4, 226);
+INSERT INTO `sys_role_menu` VALUES (7141, 4, 250);
+INSERT INTO `sys_role_menu` VALUES (7142, 4, 227);
+INSERT INTO `sys_role_menu` VALUES (7143, 4, 228);
+INSERT INTO `sys_role_menu` VALUES (7144, 4, 229);
+INSERT INTO `sys_role_menu` VALUES (7145, 4, 230);
+INSERT INTO `sys_role_menu` VALUES (7146, 4, 231);
+INSERT INTO `sys_role_menu` VALUES (7147, 4, 237);
+INSERT INTO `sys_role_menu` VALUES (7148, 4, 238);
+INSERT INTO `sys_role_menu` VALUES (7149, 4, 239);
+INSERT INTO `sys_role_menu` VALUES (7150, 4, 240);
+INSERT INTO `sys_role_menu` VALUES (7151, 4, 241);
+INSERT INTO `sys_role_menu` VALUES (7152, 4, 249);
+INSERT INTO `sys_role_menu` VALUES (7153, 4, 245);
+INSERT INTO `sys_role_menu` VALUES (7154, 4, 246);
+INSERT INTO `sys_role_menu` VALUES (7155, 4, 247);
+INSERT INTO `sys_role_menu` VALUES (7156, 4, 248);
+INSERT INTO `sys_role_menu` VALUES (7157, 4, 233);
+INSERT INTO `sys_role_menu` VALUES (7158, 4, 234);
+INSERT INTO `sys_role_menu` VALUES (7159, 4, 235);
+INSERT INTO `sys_role_menu` VALUES (7160, 4, 120);
+INSERT INTO `sys_role_menu` VALUES (7161, 4, 122);
+INSERT INTO `sys_role_menu` VALUES (7162, 4, 123);
+INSERT INTO `sys_role_menu` VALUES (7163, 4, 124);
+INSERT INTO `sys_role_menu` VALUES (7164, 4, 125);
+INSERT INTO `sys_role_menu` VALUES (7165, 4, 126);
+INSERT INTO `sys_role_menu` VALUES (7166, 4, 140);
+INSERT INTO `sys_role_menu` VALUES (7167, 4, 141);
+INSERT INTO `sys_role_menu` VALUES (7168, 4, 142);
+INSERT INTO `sys_role_menu` VALUES (7169, 4, 143);
+INSERT INTO `sys_role_menu` VALUES (7170, 4, 144);
+INSERT INTO `sys_role_menu` VALUES (7171, 4, 145);
+INSERT INTO `sys_role_menu` VALUES (7172, 4, 146);
+INSERT INTO `sys_role_menu` VALUES (7178, 4, 152);
+INSERT INTO `sys_role_menu` VALUES (7179, 4, 153);
+INSERT INTO `sys_role_menu` VALUES (7180, 4, 154);
+INSERT INTO `sys_role_menu` VALUES (7181, 4, 155);
+INSERT INTO `sys_role_menu` VALUES (7182, 4, 156);
+INSERT INTO `sys_role_menu` VALUES (7183, 4, 157);
+INSERT INTO `sys_role_menu` VALUES (7184, 4, 158);
+INSERT INTO `sys_role_menu` VALUES (7185, 4, 257);
+INSERT INTO `sys_role_menu` VALUES (7186, 4, 258);
+INSERT INTO `sys_role_menu` VALUES (7187, 4, 159);
+INSERT INTO `sys_role_menu` VALUES (7188, 4, 107);
+INSERT INTO `sys_role_menu` VALUES (7189, 4, 108);
+INSERT INTO `sys_role_menu` VALUES (7190, 4, 109);
+INSERT INTO `sys_role_menu` VALUES (7191, 4, 110);
+INSERT INTO `sys_role_menu` VALUES (7192, 4, 160);
+INSERT INTO `sys_role_menu` VALUES (7193, 4, 161);
+INSERT INTO `sys_role_menu` VALUES (7194, 4, 162);
+INSERT INTO `sys_role_menu` VALUES (7195, 4, 163);
+INSERT INTO `sys_role_menu` VALUES (7196, 4, 251);
+INSERT INTO `sys_role_menu` VALUES (7197, 4, 268);
+INSERT INTO `sys_role_menu` VALUES (7198, 4, 252);
+INSERT INTO `sys_role_menu` VALUES (7199, 4, 253);
+INSERT INTO `sys_role_menu` VALUES (7200, 4, 254);
+INSERT INTO `sys_role_menu` VALUES (7201, 4, 264);
+INSERT INTO `sys_role_menu` VALUES (7202, 4, 265);
+INSERT INTO `sys_role_menu` VALUES (7203, 4, 266);
+INSERT INTO `sys_role_menu` VALUES (7204, 4, 267);
+INSERT INTO `sys_role_menu` VALUES (7205, 4, 77);
+INSERT INTO `sys_role_menu` VALUES (7206, 4, 78);
+INSERT INTO `sys_role_menu` VALUES (7207, 4, 92);
+INSERT INTO `sys_role_menu` VALUES (7208, 4, 93);
+INSERT INTO `sys_role_menu` VALUES (7209, 4, 269);
+INSERT INTO `sys_role_menu` VALUES (7210, 4, 270);
+INSERT INTO `sys_role_menu` VALUES (7211, 4, 164);
+INSERT INTO `sys_role_menu` VALUES (7212, 4, 165);
+INSERT INTO `sys_role_menu` VALUES (7213, 4, 166);
+INSERT INTO `sys_role_menu` VALUES (7214, 4, 167);
+INSERT INTO `sys_role_menu` VALUES (7215, 4, 168);
+INSERT INTO `sys_role_menu` VALUES (7216, 4, 169);
+INSERT INTO `sys_role_menu` VALUES (7217, 4, 170);
+INSERT INTO `sys_role_menu` VALUES (7218, 4, 171);
+INSERT INTO `sys_role_menu` VALUES (7219, 4, 172);
+INSERT INTO `sys_role_menu` VALUES (7220, 4, 173);
+INSERT INTO `sys_role_menu` VALUES (7221, 4, 136);
+INSERT INTO `sys_role_menu` VALUES (7222, 4, 137);
+INSERT INTO `sys_role_menu` VALUES (7223, 4, 182);
+INSERT INTO `sys_role_menu` VALUES (7224, 4, 183);
+INSERT INTO `sys_role_menu` VALUES (7225, 4, 204);
+INSERT INTO `sys_role_menu` VALUES (7226, 4, 205);
+INSERT INTO `sys_role_menu` VALUES (7227, 4, 184);
+INSERT INTO `sys_role_menu` VALUES (7228, 4, 185);
+INSERT INTO `sys_role_menu` VALUES (7229, 4, 186);
+INSERT INTO `sys_role_menu` VALUES (7230, 4, 188);
+INSERT INTO `sys_role_menu` VALUES (7231, 4, 189);
+INSERT INTO `sys_role_menu` VALUES (7232, 4, 195);
+INSERT INTO `sys_role_menu` VALUES (7233, 4, 259);
+INSERT INTO `sys_role_menu` VALUES (7234, 4, 260);
+INSERT INTO `sys_role_menu` VALUES (7235, 4, 261);
+INSERT INTO `sys_role_menu` VALUES (7236, 4, 262);
+INSERT INTO `sys_role_menu` VALUES (7237, 4, 138);
+INSERT INTO `sys_role_menu` VALUES (7238, 4, 139);
+INSERT INTO `sys_role_menu` VALUES (7239, 4, 206);
+INSERT INTO `sys_role_menu` VALUES (7240, 4, 174);
+INSERT INTO `sys_role_menu` VALUES (7241, 4, 175);
+INSERT INTO `sys_role_menu` VALUES (7242, 4, 207);
+INSERT INTO `sys_role_menu` VALUES (7243, 4, 178);
+INSERT INTO `sys_role_menu` VALUES (7244, 4, 179);
+INSERT INTO `sys_role_menu` VALUES (7245, 4, 180);
+INSERT INTO `sys_role_menu` VALUES (7246, 4, 58);
+INSERT INTO `sys_role_menu` VALUES (7247, 4, 132);
+INSERT INTO `sys_role_menu` VALUES (7248, 4, 15);
+INSERT INTO `sys_role_menu` VALUES (7249, 4, 19);
+INSERT INTO `sys_role_menu` VALUES (7250, 4, 23);
+INSERT INTO `sys_role_menu` VALUES (7251, 4, 95);
+INSERT INTO `sys_role_menu` VALUES (7252, 4, -666666);
+INSERT INTO `sys_role_menu` VALUES (7253, 4, 32);
+INSERT INTO `sys_role_menu` VALUES (7254, 4, 50);
+INSERT INTO `sys_role_menu` VALUES (7255, 4, 72);
+INSERT INTO `sys_role_menu` VALUES (7256, 4, 232);
+INSERT INTO `sys_role_menu` VALUES (7257, 4, 130);
+INSERT INTO `sys_role_menu` VALUES (7258, 4, 118);
+INSERT INTO `sys_role_menu` VALUES (7259, 4, 119);
+INSERT INTO `sys_role_menu` VALUES (7260, 4, 177);
+INSERT INTO `sys_role_menu` VALUES (7261, 4, 57);
+INSERT INTO `sys_role_menu` VALUES (7262, 4, 128);
+INSERT INTO `sys_role_menu` VALUES (7263, 4, 131);
+INSERT INTO `sys_role_menu` VALUES (7264, 4, 2);
+INSERT INTO `sys_role_menu` VALUES (7265, 4, 3);
+INSERT INTO `sys_role_menu` VALUES (7266, 4, 4);
+INSERT INTO `sys_role_menu` VALUES (7267, 4, 94);
+INSERT INTO `sys_role_menu` VALUES (7471, 1, 33);
+INSERT INTO `sys_role_menu` VALUES (7472, 1, 32);
+INSERT INTO `sys_role_menu` VALUES (7473, 1, 60);
+INSERT INTO `sys_role_menu` VALUES (7474, 1, 61);
+INSERT INTO `sys_role_menu` VALUES (7475, 1, 90);
+INSERT INTO `sys_role_menu` VALUES (7476, 1, 91);
+INSERT INTO `sys_role_menu` VALUES (7477, 1, 176);
+INSERT INTO `sys_role_menu` VALUES (7478, 1, 196);
+INSERT INTO `sys_role_menu` VALUES (7479, 1, 197);
+INSERT INTO `sys_role_menu` VALUES (7480, 1, 198);
+INSERT INTO `sys_role_menu` VALUES (7481, 1, 199);
+INSERT INTO `sys_role_menu` VALUES (7482, 1, 200);
+INSERT INTO `sys_role_menu` VALUES (7483, 1, 242);
+INSERT INTO `sys_role_menu` VALUES (7484, 1, 243);
+INSERT INTO `sys_role_menu` VALUES (7485, 1, 244);
+INSERT INTO `sys_role_menu` VALUES (7486, 1, 34);
+INSERT INTO `sys_role_menu` VALUES (7487, 1, 35);
+INSERT INTO `sys_role_menu` VALUES (7488, 1, 36);
+INSERT INTO `sys_role_menu` VALUES (7489, 1, 37);
+INSERT INTO `sys_role_menu` VALUES (7490, 1, 39);
+INSERT INTO `sys_role_menu` VALUES (7491, 1, 40);
+INSERT INTO `sys_role_menu` VALUES (7492, 1, 201);
+INSERT INTO `sys_role_menu` VALUES (7493, 1, 41);
+INSERT INTO `sys_role_menu` VALUES (7494, 1, 42);
+INSERT INTO `sys_role_menu` VALUES (7495, 1, 43);
+INSERT INTO `sys_role_menu` VALUES (7496, 1, 69);
+INSERT INTO `sys_role_menu` VALUES (7497, 1, 70);
+INSERT INTO `sys_role_menu` VALUES (7498, 1, 71);
+INSERT INTO `sys_role_menu` VALUES (7499, 1, 50);
+INSERT INTO `sys_role_menu` VALUES (7500, 1, 51);
+INSERT INTO `sys_role_menu` VALUES (7501, 1, 52);
+INSERT INTO `sys_role_menu` VALUES (7502, 1, 53);
+INSERT INTO `sys_role_menu` VALUES (7503, 1, 54);
+INSERT INTO `sys_role_menu` VALUES (7504, 1, 62);
+INSERT INTO `sys_role_menu` VALUES (7505, 1, 263);
+INSERT INTO `sys_role_menu` VALUES (7506, 1, 273);
+INSERT INTO `sys_role_menu` VALUES (7507, 1, 63);
+INSERT INTO `sys_role_menu` VALUES (7508, 1, 64);
+INSERT INTO `sys_role_menu` VALUES (7509, 1, 202);
+INSERT INTO `sys_role_menu` VALUES (7510, 1, 203);
+INSERT INTO `sys_role_menu` VALUES (7511, 1, 72);
+INSERT INTO `sys_role_menu` VALUES (7512, 1, 73);
+INSERT INTO `sys_role_menu` VALUES (7513, 1, 74);
+INSERT INTO `sys_role_menu` VALUES (7514, 1, 75);
+INSERT INTO `sys_role_menu` VALUES (7515, 1, 76);
+INSERT INTO `sys_role_menu` VALUES (7516, 1, 208);
+INSERT INTO `sys_role_menu` VALUES (7517, 1, 209);
+INSERT INTO `sys_role_menu` VALUES (7518, 1, 210);
+INSERT INTO `sys_role_menu` VALUES (7519, 1, 211);
+INSERT INTO `sys_role_menu` VALUES (7520, 1, 213);
+INSERT INTO `sys_role_menu` VALUES (7521, 1, 214);
+INSERT INTO `sys_role_menu` VALUES (7522, 1, 215);
+INSERT INTO `sys_role_menu` VALUES (7523, 1, 216);
+INSERT INTO `sys_role_menu` VALUES (7524, 1, 217);
+INSERT INTO `sys_role_menu` VALUES (7525, 1, 218);
+INSERT INTO `sys_role_menu` VALUES (7526, 1, 219);
+INSERT INTO `sys_role_menu` VALUES (7527, 1, 220);
+INSERT INTO `sys_role_menu` VALUES (7528, 1, 221);
+INSERT INTO `sys_role_menu` VALUES (7529, 1, 222);
+INSERT INTO `sys_role_menu` VALUES (7530, 1, 223);
+INSERT INTO `sys_role_menu` VALUES (7531, 1, 224);
+INSERT INTO `sys_role_menu` VALUES (7532, 1, 225);
+INSERT INTO `sys_role_menu` VALUES (7533, 1, 226);
+INSERT INTO `sys_role_menu` VALUES (7534, 1, 250);
+INSERT INTO `sys_role_menu` VALUES (7535, 1, 227);
+INSERT INTO `sys_role_menu` VALUES (7536, 1, 228);
+INSERT INTO `sys_role_menu` VALUES (7537, 1, 229);
+INSERT INTO `sys_role_menu` VALUES (7538, 1, 230);
+INSERT INTO `sys_role_menu` VALUES (7539, 1, 231);
+INSERT INTO `sys_role_menu` VALUES (7540, 1, 237);
+INSERT INTO `sys_role_menu` VALUES (7541, 1, 238);
+INSERT INTO `sys_role_menu` VALUES (7542, 1, 239);
+INSERT INTO `sys_role_menu` VALUES (7543, 1, 240);
+INSERT INTO `sys_role_menu` VALUES (7544, 1, 241);
+INSERT INTO `sys_role_menu` VALUES (7545, 1, 249);
+INSERT INTO `sys_role_menu` VALUES (7546, 1, 245);
+INSERT INTO `sys_role_menu` VALUES (7547, 1, 246);
+INSERT INTO `sys_role_menu` VALUES (7548, 1, 247);
+INSERT INTO `sys_role_menu` VALUES (7549, 1, 248);
+INSERT INTO `sys_role_menu` VALUES (7550, 1, 232);
+INSERT INTO `sys_role_menu` VALUES (7551, 1, 233);
+INSERT INTO `sys_role_menu` VALUES (7552, 1, 234);
+INSERT INTO `sys_role_menu` VALUES (7553, 1, 235);
+INSERT INTO `sys_role_menu` VALUES (7554, 1, 236);
+INSERT INTO `sys_role_menu` VALUES (7555, 1, 130);
+INSERT INTO `sys_role_menu` VALUES (7556, 1, 118);
+INSERT INTO `sys_role_menu` VALUES (7557, 1, 120);
+INSERT INTO `sys_role_menu` VALUES (7558, 1, 121);
+INSERT INTO `sys_role_menu` VALUES (7559, 1, 122);
+INSERT INTO `sys_role_menu` VALUES (7560, 1, 123);
+INSERT INTO `sys_role_menu` VALUES (7561, 1, 119);
+INSERT INTO `sys_role_menu` VALUES (7562, 1, 124);
+INSERT INTO `sys_role_menu` VALUES (7563, 1, 125);
+INSERT INTO `sys_role_menu` VALUES (7564, 1, 126);
+INSERT INTO `sys_role_menu` VALUES (7565, 1, 127);
+INSERT INTO `sys_role_menu` VALUES (7566, 1, 140);
+INSERT INTO `sys_role_menu` VALUES (7567, 1, 141);
+INSERT INTO `sys_role_menu` VALUES (7568, 1, 142);
+INSERT INTO `sys_role_menu` VALUES (7569, 1, 143);
+INSERT INTO `sys_role_menu` VALUES (7570, 1, 144);
+INSERT INTO `sys_role_menu` VALUES (7571, 1, 145);
+INSERT INTO `sys_role_menu` VALUES (7572, 1, 146);
+INSERT INTO `sys_role_menu` VALUES (7573, 1, 152);
+INSERT INTO `sys_role_menu` VALUES (7574, 1, 271);
+INSERT INTO `sys_role_menu` VALUES (7575, 1, 272);
+INSERT INTO `sys_role_menu` VALUES (7576, 1, 153);
+INSERT INTO `sys_role_menu` VALUES (7577, 1, 154);
+INSERT INTO `sys_role_menu` VALUES (7578, 1, 155);
+INSERT INTO `sys_role_menu` VALUES (7579, 1, 156);
+INSERT INTO `sys_role_menu` VALUES (7580, 1, 157);
+INSERT INTO `sys_role_menu` VALUES (7581, 1, 158);
+INSERT INTO `sys_role_menu` VALUES (7582, 1, 257);
+INSERT INTO `sys_role_menu` VALUES (7583, 1, 258);
+INSERT INTO `sys_role_menu` VALUES (7584, 1, 159);
+INSERT INTO `sys_role_menu` VALUES (7585, 1, 107);
+INSERT INTO `sys_role_menu` VALUES (7586, 1, 108);
+INSERT INTO `sys_role_menu` VALUES (7587, 1, 109);
+INSERT INTO `sys_role_menu` VALUES (7588, 1, 110);
+INSERT INTO `sys_role_menu` VALUES (7589, 1, 160);
+INSERT INTO `sys_role_menu` VALUES (7590, 1, 161);
+INSERT INTO `sys_role_menu` VALUES (7591, 1, 162);
+INSERT INTO `sys_role_menu` VALUES (7592, 1, 163);
+INSERT INTO `sys_role_menu` VALUES (7593, 1, 251);
+INSERT INTO `sys_role_menu` VALUES (7594, 1, 268);
+INSERT INTO `sys_role_menu` VALUES (7595, 1, 252);
+INSERT INTO `sys_role_menu` VALUES (7596, 1, 253);
+INSERT INTO `sys_role_menu` VALUES (7597, 1, 254);
+INSERT INTO `sys_role_menu` VALUES (7598, 1, 264);
+INSERT INTO `sys_role_menu` VALUES (7599, 1, 265);
+INSERT INTO `sys_role_menu` VALUES (7600, 1, 266);
+INSERT INTO `sys_role_menu` VALUES (7601, 1, 267);
+INSERT INTO `sys_role_menu` VALUES (7602, 1, 77);
+INSERT INTO `sys_role_menu` VALUES (7603, 1, 78);
+INSERT INTO `sys_role_menu` VALUES (7604, 1, 92);
+INSERT INTO `sys_role_menu` VALUES (7605, 1, 93);
+INSERT INTO `sys_role_menu` VALUES (7606, 1, 269);
+INSERT INTO `sys_role_menu` VALUES (7607, 1, 270);
+INSERT INTO `sys_role_menu` VALUES (7608, 1, 164);
+INSERT INTO `sys_role_menu` VALUES (7609, 1, 165);
+INSERT INTO `sys_role_menu` VALUES (7610, 1, 166);
+INSERT INTO `sys_role_menu` VALUES (7611, 1, 167);
+INSERT INTO `sys_role_menu` VALUES (7612, 1, 168);
+INSERT INTO `sys_role_menu` VALUES (7613, 1, 169);
+INSERT INTO `sys_role_menu` VALUES (7614, 1, 170);
+INSERT INTO `sys_role_menu` VALUES (7615, 1, 171);
+INSERT INTO `sys_role_menu` VALUES (7616, 1, 172);
+INSERT INTO `sys_role_menu` VALUES (7617, 1, 173);
+INSERT INTO `sys_role_menu` VALUES (7618, 1, 136);
+INSERT INTO `sys_role_menu` VALUES (7619, 1, 137);
+INSERT INTO `sys_role_menu` VALUES (7620, 1, 182);
+INSERT INTO `sys_role_menu` VALUES (7621, 1, 183);
+INSERT INTO `sys_role_menu` VALUES (7622, 1, 204);
+INSERT INTO `sys_role_menu` VALUES (7623, 1, 205);
+INSERT INTO `sys_role_menu` VALUES (7624, 1, 184);
+INSERT INTO `sys_role_menu` VALUES (7625, 1, 185);
+INSERT INTO `sys_role_menu` VALUES (7626, 1, 186);
+INSERT INTO `sys_role_menu` VALUES (7627, 1, 188);
+INSERT INTO `sys_role_menu` VALUES (7628, 1, 189);
+INSERT INTO `sys_role_menu` VALUES (7629, 1, 195);
+INSERT INTO `sys_role_menu` VALUES (7630, 1, 259);
+INSERT INTO `sys_role_menu` VALUES (7631, 1, 260);
+INSERT INTO `sys_role_menu` VALUES (7632, 1, 261);
+INSERT INTO `sys_role_menu` VALUES (7633, 1, 262);
+INSERT INTO `sys_role_menu` VALUES (7634, 1, 138);
+INSERT INTO `sys_role_menu` VALUES (7635, 1, 139);
+INSERT INTO `sys_role_menu` VALUES (7636, 1, 206);
+INSERT INTO `sys_role_menu` VALUES (7637, 1, 174);
+INSERT INTO `sys_role_menu` VALUES (7638, 1, 175);
+INSERT INTO `sys_role_menu` VALUES (7639, 1, 207);
+INSERT INTO `sys_role_menu` VALUES (7640, 1, 177);
+INSERT INTO `sys_role_menu` VALUES (7641, 1, 178);
+INSERT INTO `sys_role_menu` VALUES (7642, 1, 179);
+INSERT INTO `sys_role_menu` VALUES (7643, 1, 180);
+INSERT INTO `sys_role_menu` VALUES (7644, 1, 181);
+INSERT INTO `sys_role_menu` VALUES (7645, 1, 57);
+INSERT INTO `sys_role_menu` VALUES (7646, 1, 58);
+INSERT INTO `sys_role_menu` VALUES (7647, 1, 59);
+INSERT INTO `sys_role_menu` VALUES (7648, 1, 128);
+INSERT INTO `sys_role_menu` VALUES (7649, 1, 131);
+INSERT INTO `sys_role_menu` VALUES (7650, 1, 132);
+INSERT INTO `sys_role_menu` VALUES (7651, 1, 133);
+INSERT INTO `sys_role_menu` VALUES (7652, 1, 134);
+INSERT INTO `sys_role_menu` VALUES (7653, 1, 135);
+INSERT INTO `sys_role_menu` VALUES (7654, 1, 2);
+INSERT INTO `sys_role_menu` VALUES (7655, 1, 15);
+INSERT INTO `sys_role_menu` VALUES (7656, 1, 16);
+INSERT INTO `sys_role_menu` VALUES (7657, 1, 17);
+INSERT INTO `sys_role_menu` VALUES (7658, 1, 18);
+INSERT INTO `sys_role_menu` VALUES (7659, 1, 3);
+INSERT INTO `sys_role_menu` VALUES (7660, 1, 19);
+INSERT INTO `sys_role_menu` VALUES (7661, 1, 20);
+INSERT INTO `sys_role_menu` VALUES (7662, 1, 21);
+INSERT INTO `sys_role_menu` VALUES (7663, 1, 22);
+INSERT INTO `sys_role_menu` VALUES (7664, 1, 4);
+INSERT INTO `sys_role_menu` VALUES (7665, 1, 23);
+INSERT INTO `sys_role_menu` VALUES (7666, 1, 24);
+INSERT INTO `sys_role_menu` VALUES (7667, 1, 25);
+INSERT INTO `sys_role_menu` VALUES (7668, 1, 26);
+INSERT INTO `sys_role_menu` VALUES (7669, 1, 94);
+INSERT INTO `sys_role_menu` VALUES (7670, 1, 95);
+INSERT INTO `sys_role_menu` VALUES (7671, 1, 96);
+INSERT INTO `sys_role_menu` VALUES (7672, 1, 97);
+INSERT INTO `sys_role_menu` VALUES (7673, 1, 98);
+INSERT INTO `sys_role_menu` VALUES (7674, 1, -666666);
+
+-- ----------------------------
+-- Table structure for sys_user
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user` (
+ `user_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
+ `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
+ `salt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盐',
+ `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
+ `mobile` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
+ `status` tinyint(4) NULL DEFAULT NULL COMMENT '状态 0:禁用 1:正常',
+ `create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID',
+ `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`user_id`) USING BTREE,
+ UNIQUE INDEX `username`(`username`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_user
+-- ----------------------------
+INSERT INTO `sys_user` VALUES (1, 'admin', '1cc7f0f4e29524bfbfb2a299dde135e6ebad047b2c0ef70eceb7fbc198293927', 'YKJpTRPDurwTYVsIhd0P', '24564651@qq.com', '13612345678', 1, 1, '2016-11-11 11:11:11');
+
+-- ----------------------------
+-- Table structure for sys_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_role`;
+CREATE TABLE `sys_user_role` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户ID',
+ `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与角色对应关系' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_user_role
+-- ----------------------------
+INSERT INTO `sys_user_role` VALUES (30, 1, 1);
+
+-- ----------------------------
+-- Table structure for sys_user_token
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_token`;
+CREATE TABLE `sys_user_token` (
+ `user_id` bigint(20) NOT NULL,
+ `token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'token',
+ `expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
+ `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`user_id`) USING BTREE,
+ UNIQUE INDEX `token`(`token`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户Token' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_user_token
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for taking_commnt
+-- ----------------------------
+DROP TABLE IF EXISTS `taking_commnt`;
+CREATE TABLE `taking_commnt` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '接单评论id',
+ `order_id` bigint(20) NULL DEFAULT NULL COMMENT '接单id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评论内容',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `mail` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系方式',
+ `score` int(11) NULL DEFAULT NULL COMMENT '评分',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '评论id',
+ `massage_type_id` int(11) NULL DEFAULT NULL COMMENT '项目id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 109 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of taking_commnt
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for tb_user
+-- ----------------------------
+DROP TABLE IF EXISTS `tb_user`;
+CREATE TABLE `tb_user` (
+ `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',
+ `type` int(11) NULL DEFAULT NULL COMMENT '用户类型 1普通用户 2技师',
+ `user_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',
+ `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
+ `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
+ `sex` int(11) NULL DEFAULT NULL COMMENT '性别 1男 2女',
+ `age` int(4) NULL DEFAULT NULL COMMENT '年龄',
+ `open_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信小程序openId',
+ `wx_open_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信App openId',
+ `password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+ `apple_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '苹果id',
+ `sys_phone` int(11) NULL DEFAULT NULL COMMENT '手机类型 1安卓 2ios',
+ `status` int(11) NULL DEFAULT NULL COMMENT '状态 1正常 2禁用',
+ `platform` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源 APP 小程序 公众号',
+ `jifen` int(11) NULL DEFAULT NULL COMMENT '积分',
+ `invitation_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邀请码',
+ `inviter_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邀请人邀请码',
+ `clientid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'app消息推送',
+ `zhi_fu_bao_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝名称',
+ `zhi_fu_bao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝账号',
+ `is_authentication` int(11) NULL DEFAULT NULL COMMENT '实名认证0未认证 1个人认证审核中 2个人认证成功 3个人认证失败',
+ `is_cash_deposit` int(11) NULL DEFAULT NULL COMMENT '保证金状态 1待缴纳 2已缴纳 3申请退款中',
+ `cash_deposit_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请时间',
+ `artificer_open_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技师小程序openId',
+ `is_coupon` int(11) NULL DEFAULT NULL COMMENT '是否领取新人优惠券',
+ `risk` int(11) NULL DEFAULT NULL COMMENT '是否是风险用户 1是 2不是',
+ `is_agency` int(11) NULL DEFAULT NULL COMMENT '是否是代理1是',
+ `user_rate` decimal(10, 2) NULL DEFAULT NULL COMMENT '代理用户分佣比例',
+ `shop_rate` decimal(10, 2) NULL DEFAULT NULL COMMENT '代理技师分佣比例',
+ `consortia_id` int(11) NULL DEFAULT NULL COMMENT '商家id',
+ `is_shop` int(11) NULL DEFAULT NULL COMMENT '是否是商家 1是',
+ `bank_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行卡号',
+ `bank_card_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行名称',
+ `bank_card_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行卡用户姓名',
+ `bank_card_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行开户行地址',
+ PRIMARY KEY (`user_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 313 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of tb_user
+-- ----------------------------
+INSERT INTO `tb_user` VALUES (1, NULL, '官方', '13000000000', 'https://jiaoyu.xianmxkj.com/file/uploadPath/2021/08/30/18d20e9a11701fbe6dbb31454ec37eb8.jpg', 0, NULL, NULL, NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', '2021-08-24 10:14:40', '2023-01-10 17:38:52', NULL, NULL, 2, 'H5', NULL, '666666', '666666', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0.10, 0.20, NULL, NULL, NULL, NULL, NULL, NULL);
+
+-- ----------------------------
+-- Table structure for trip
+-- ----------------------------
+DROP TABLE IF EXISTS `trip`;
+CREATE TABLE `trip` (
+ `trip_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '出行方式',
+ `taxi_starting_fare` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出租起步价',
+ `taxi_starting_km` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出租起步公里',
+ `taxi_km_money` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出租每公里价格',
+ `bus_starting_fare` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公交起步价',
+ `bus_starting_km` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公交起步公里',
+ `bus_km_money` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公交每公里价格',
+ `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`trip_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of trip
+-- ----------------------------
+INSERT INTO `trip` VALUES (1, '8.5', '3', '1.5', '2', '3', '0.5', '西安市', '2020-12-12 12:12:12');
+INSERT INTO `trip` VALUES (3, '10', '5', '3', '2', '6', '0.5', '北京', '2023-01-14 15:00:17');
+
+-- ----------------------------
+-- Table structure for user_browse
+-- ----------------------------
+DROP TABLE IF EXISTS `user_browse`;
+CREATE TABLE `user_browse` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `by_browse_id` bigint(20) NULL DEFAULT NULL COMMENT '浏览用户id',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+ `taking_id` bigint(20) NULL DEFAULT NULL COMMENT '接单id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 838 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_browse
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_follow
+-- ----------------------------
+DROP TABLE IF EXISTS `user_follow`;
+CREATE TABLE `user_follow` (
+ `follow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `follow_user_id` bigint(20) NULL DEFAULT NULL COMMENT '关注用户id',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`follow_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_follow
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_money
+-- ----------------------------
+DROP TABLE IF EXISTS `user_money`;
+CREATE TABLE `user_money` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '钱包id',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '钱包金额',
+ `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id',
+ `cash_deposit` decimal(10, 2) NULL DEFAULT NULL COMMENT '技师保证金',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 336 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_money
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_money_artificer
+-- ----------------------------
+DROP TABLE IF EXISTS `user_money_artificer`;
+CREATE TABLE `user_money_artificer` (
+ `user_money_artificer_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户充值师傅钱包',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '师傅id',
+ `money` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '金额',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时间',
+ PRIMARY KEY (`user_money_artificer_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_money_artificer
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_money_details
+-- ----------------------------
+DROP TABLE IF EXISTS `user_money_details`;
+CREATE TABLE `user_money_details` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '钱包详情id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `by_user_id` int(11) NULL DEFAULT NULL COMMENT '邀请用户id',
+ `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
+ `classify` int(11) NULL DEFAULT NULL COMMENT '1注册 2购买 3提现',
+ `type` int(11) NULL DEFAULT NULL COMMENT '类型(1充值 2.提现)',
+ `state` int(11) NULL DEFAULT 1 COMMENT '状态 1待支付 2已到账 3取消',
+ `money` decimal(10, 2) NULL DEFAULT NULL COMMENT '金额',
+ `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容',
+ `create_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '技师id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1595 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_money_details
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_vip
+-- ----------------------------
+DROP TABLE IF EXISTS `user_vip`;
+CREATE TABLE `user_vip` (
+ `vip_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '会员id',
+ `vip_name_type` int(2) NULL DEFAULT NULL COMMENT '会员类型0月1季2年',
+ `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
+ `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买时间',
+ `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '到期时间',
+ `is_vip` int(255) NULL DEFAULT NULL COMMENT '1是会员2不是',
+ PRIMARY KEY (`vip_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_vip
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_visitor
+-- ----------------------------
+DROP TABLE IF EXISTS `user_visitor`;
+CREATE TABLE `user_visitor` (
+ `id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '访客id',
+ `user_id` bigint(32) NULL DEFAULT NULL COMMENT '用户id',
+ `by_user_id` bigint(32) NULL DEFAULT NULL COMMENT '访问用户id',
+ `update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 310 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of user_visitor
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for vip_details
+-- ----------------------------
+DROP TABLE IF EXISTS `vip_details`;
+CREATE TABLE `vip_details` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `vip_name_type` int(2) NULL DEFAULT NULL COMMENT '会员类型0月1季2年',
+ `money` decimal(10, 0) NULL DEFAULT NULL COMMENT '会员价格',
+ `vip_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '会员名称',
+ `rate` decimal(10, 2) NULL DEFAULT NULL,
+ `award` decimal(10, 2) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of vip_details
+-- ----------------------------
+INSERT INTO `vip_details` VALUES (2, 1, 2, '季会员', NULL, 20.00);
+INSERT INTO `vip_details` VALUES (3, 2, 3, '年会员', NULL, 50.00);
+INSERT INTO `vip_details` VALUES (8, 0, 1, '月会员', NULL, 10.00);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/db/sql脚本 b/db/sql脚本
new file mode 100644
index 0000000..658cd37
--- /dev/null
+++ b/db/sql脚本
@@ -0,0 +1,25 @@
+--common_info表增加多少分钟等1积分 数据(type=100000)
+INSERT INTO `anmo`.`common_info` (`id`, `create_at`, `max`, `min`, `type`, `value`, `condition_from`) VALUES (430, '2024-02-01 11:19:11', NULL, '多少分钟等1积分', 100000, '10', 'xitong');
+
+
+--新增 积分等级字典表 artificer_partitioning_details.sql sql脚本在db文件夹下
+
+--新增 积分储值表
+CREATE TABLE `anmo`.`user_recharge` (
+ `id` bigint(11) NOT NULL AUTO_INCREMENT,
+ `user_recharge` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '用户充值积分',
+ `orders_id` int(11) NULL DEFAULT NULL COMMENT '订单id',
+ `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+ `type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '积分类型(1在线积分2储值积分)',
+ `artificer_id` int(11) NULL DEFAULT NULL COMMENT '技师id',
+ `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+);
+--artificer 技师表增加grade
+ALTER TABLE `anmo`.`artificer`
+ADD COLUMN `grade` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '当前等级' AFTER `up_time`;
+--artificer 技师表增加up_time
+ALTER TABLE `anmo`.`artificer`
+ADD COLUMN `up_time` datetime(0) NULL DEFAULT NULL COMMENT '上线时间' AFTER `grade`;
+
+INSERT INTO `anmo`.`common_info` (`id`, `create_at`, `max`, `min`, `type`, `value`, `condition_from`) VALUES (436, '2024-02-18 15:52:12', NULL, '中医忙时时间切换(只限输入 30半个小时 60一个小时)', 436, '60', 'fuwufei');
diff --git a/db/三期/artificer_partitioning_details.sql b/db/三期/artificer_partitioning_details.sql
new file mode 100644
index 0000000..88382cc
--- /dev/null
+++ b/db/三期/artificer_partitioning_details.sql
@@ -0,0 +1,55 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 192.168.1.102
+ Source Server Type : MySQL
+ Source Server Version : 50722 (5.7.22-log)
+ Source Host : 192.168.1.102:3306
+ Source Schema : anmoceshi
+
+ Target Server Type : MySQL
+ Target Server Version : 50722 (5.7.22-log)
+ File Encoding : 65001
+
+ Date: 21/03/2024 15:08:11
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for artificer_partitioning_details
+-- ----------------------------
+DROP TABLE IF EXISTS `artificer_partitioning_details`;
+CREATE TABLE `artificer_partitioning_details` (
+ `id` bigint(20) NOT NULL,
+ `grade` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '等级',
+ `outstanding_achievement` decimal(20, 2) NULL DEFAULT NULL COMMENT '最低业绩',
+ `clock_rate` decimal(20, 2) NULL DEFAULT NULL COMMENT '加钟率',
+ `deposit_rate` decimal(20, 2) NULL DEFAULT NULL COMMENT '充值率',
+ `duration_online` int(11) NULL DEFAULT NULL COMMENT '在线时长',
+ `integral` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '积分',
+ `proportional_sharing` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '分成比例',
+ `classify_id` int(11) NULL DEFAULT NULL COMMENT '项目类型id',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '技师等级表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of artificer_partitioning_details
+-- ----------------------------
+INSERT INTO `artificer_partitioning_details` VALUES (1, '新', 0.00, 0.00, 0.00, 0, '0', '0.65', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (3, 'A0', 0.00, 0.00, 0.00, 50, '0', '0.6', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (5, 'A1', 4000.00, 0.06, 0.10, 80, '0', '0.7', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (7, 'A2', 6000.00, 0.15, 0.15, 0, '1000', '0.75', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (9, 'A3', 8000.00, 0.20, 0.20, 0, '1200', '0.8', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (11, 'A4', 10000.00, 0.30, 0.30, 0, '2500', '0.9', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (13, 'A5', 12000.00, 0.35, 0.35, 0, '6000', '0.95', 91);
+INSERT INTO `artificer_partitioning_details` VALUES (27, '新', 0.00, 0.00, 0.00, 0, '0', '0.65', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (29, 'A0', 0.00, 0.00, 0.00, 50, '0', '0.6', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (31, 'A1', 4000.00, 0.10, 0.20, 80, '0', '0.7', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (33, 'A2', 6000.00, 0.15, 0.15, 0, '1000', '0.75', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (35, 'A3', 8000.00, 0.20, 0.20, 0, '1200', '0.8', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (37, 'A4', 10000.00, 0.30, 0.30, 0, '2500', '0.9', 95);
+INSERT INTO `artificer_partitioning_details` VALUES (39, 'A5', 12000.00, 0.35, 0.35, 0, '6000', '0.95', 95);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/gxdm.bat b/gxdm.bat
new file mode 100644
index 0000000..f8b23a9
--- /dev/null
+++ b/gxdm.bat
@@ -0,0 +1,6 @@
+@echo off
+echo º̨...
+git.exe pull -v --progress "origin"
+echo ³ɹ
+PAUSE
+exit
\ No newline at end of file
diff --git a/hs_err_pid36964.log b/hs_err_pid36964.log
new file mode 100644
index 0000000..7066a41
--- /dev/null
+++ b/hs_err_pid36964.log
@@ -0,0 +1,245 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (mmap) failed to map 268435456 bytes for G1 virtual space
+# Possible reasons:
+# The system is out of physical RAM or swap space
+# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap
+# Possible solutions:
+# Reduce memory load on the system
+# Increase physical memory or swap space
+# Check if swap backing store is full
+# Decrease Java heap size (-Xmx/-Xms)
+# Decrease number of Java threads
+# Decrease Java thread stack sizes (-Xss)
+# Set larger code cache with -XX:ReservedCodeCacheSize=
+# JVM is running with Zero Based Compressed Oops mode in which the Java heap is
+# placed in the first 32GB address space. The Java Heap base address is the
+# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress
+# to set the Java Heap base and to place the Java Heap above 32GB virtual address.
+# This output file may be truncated or incomplete.
+#
+# Out of Memory Error (os_windows.cpp:3825), pid=36964, tid=32736
+#
+# JRE version: (17.0.9+7) (build )
+# Java VM: OpenJDK 64-Bit Server VM (17.0.9+7-b1087.9, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
+# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
+#
+
+--------------- S U M M A R Y ------------
+
+Command Line: git4idea.http.GitAskPassApp Username for 'https://gitee.com':
+
+Host: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz, 6 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.3636)
+Time: Tue Apr 2 13:41:41 2024 Windows 10 , 64 bit Build 19041 (10.0.19041.3636) elapsed time: 0.039108 seconds (0d 0h 0m 0s)
+
+--------------- T H R E A D ---------------
+
+Current thread (0x000002889d97c530): JavaThread "Unknown thread" [_thread_in_vm, id=32736, stack(0x0000009f06a00000,0x0000009f06b00000)]
+
+Stack: [0x0000009f06a00000,0x0000009f06b00000]
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [jvm.dll+0x688349]
+V [jvm.dll+0x841bfa]
+V [jvm.dll+0x84383e]
+V [jvm.dll+0x843ea3]
+V [jvm.dll+0x24bdef]
+V [jvm.dll+0x6850f9]
+V [jvm.dll+0x67988a]
+V [jvm.dll+0x30cbfb]
+V [jvm.dll+0x3140a6]
+V [jvm.dll+0x363ede]
+V [jvm.dll+0x36410f]
+V [jvm.dll+0x2e29c8]
+V [jvm.dll+0x2e3934]
+V [jvm.dll+0x812771]
+V [jvm.dll+0x371d41]
+V [jvm.dll+0x7f12bc]
+V [jvm.dll+0x3f59cf]
+V [jvm.dll+0x3f7601]
+C [jli.dll+0x528f]
+C [ucrtbase.dll+0x21bb2]
+C [KERNEL32.DLL+0x17344]
+C [ntdll.dll+0x526b1]
+
+
+--------------- P R O C E S S ---------------
+
+Threads class SMR info:
+_java_thread_list=0x00007ffc3951df18, length=0, elements={
+}
+
+Java Threads: ( => current thread )
+
+Other Threads:
+ 0x000002889d9e76f0 GCTaskThread "GC Thread#0" [stack: 0x0000009f06b00000,0x0000009f06c00000] [id=36344]
+ 0x000002889d9f85c0 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000009f06c00000,0x0000009f06d00000] [id=24640]
+ 0x000002889d9f8fe0 ConcurrentGCThread "G1 Conc#0" [stack: 0x0000009f06d00000,0x0000009f06e00000] [id=23712]
+
+[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffc38cd3597]
+
+VM state: not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
+[0x000002889d9789f0] Heap_lock - owner thread: 0x000002889d97c530
+
+Heap address: 0x0000000700800000, size: 4088 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
+
+CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1.
+Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0
+
+GC Precious Log:
+
+
+Heap:
+ garbage-first heap total 0K, used 0K [0x0000000700800000, 0x0000000800000000)
+ region size 2048K, 0 young (0K), 0 survivors (0K)
+ Metaspace used 0K, committed 0K, reserved 0K
+ class space used 0K, committed 0K, reserved 0K
+
+Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
+
+Card table byte_map: [0x00000288b0a10000,0x00000288b1210000] _byte_map_base: 0x00000288ad20c000
+
+Marking Bits (Prev, Next): (CMBitMap*) 0x000002889d9e7d10, (CMBitMap*) 0x000002889d9e7d50
+ Prev Bits: [0x00000288b1a10000, 0x00000288b59f0000)
+ Next Bits: [0x00000288b59f0000, 0x00000288b99d0000)
+
+GC Heap History (0 events):
+No events
+
+Dll operation events (1 events):
+Event: 0.024 Loaded shared library C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\java.dll
+
+Deoptimization events (0 events):
+No events
+
+Classes unloaded (0 events):
+No events
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (0 events):
+No events
+
+VM Operations (0 events):
+No events
+
+Events (0 events):
+No events
+
+
+Dynamic libraries:
+0x00007ff726640000 - 0x00007ff72664a000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\java.exe
+0x00007ffc72ff0000 - 0x00007ffc731e8000 C:\Windows\SYSTEM32\ntdll.dll
+0x00007ffc71250000 - 0x00007ffc7130d000 C:\Windows\System32\KERNEL32.DLL
+0x00007ffc70800000 - 0x00007ffc70af6000 C:\Windows\System32\KERNELBASE.dll
+0x00007ffc706a0000 - 0x00007ffc707a0000 C:\Windows\System32\ucrtbase.dll
+0x00007ffc636a0000 - 0x00007ffc636b7000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\jli.dll
+0x00007ffc655f0000 - 0x00007ffc6560b000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\VCRUNTIME140.dll
+0x00007ffc71be0000 - 0x00007ffc71d7e000 C:\Windows\System32\USER32.dll
+0x00007ffc707a0000 - 0x00007ffc707c2000 C:\Windows\System32\win32u.dll
+0x00007ffc72d00000 - 0x00007ffc72d2b000 C:\Windows\System32\GDI32.dll
+0x00007ffc70b00000 - 0x00007ffc70c17000 C:\Windows\System32\gdi32full.dll
+0x00007ffc70f80000 - 0x00007ffc7101d000 C:\Windows\System32\msvcp_win.dll
+0x00007ffc62590000 - 0x00007ffc6282a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.3636_none_60b6a03d71f818d5\COMCTL32.dll
+0x00007ffc71ac0000 - 0x00007ffc71b5e000 C:\Windows\System32\msvcrt.dll
+0x00007ffc72e10000 - 0x00007ffc72e42000 C:\Windows\System32\IMM32.DLL
+0x00007ffc6a360000 - 0x00007ffc6a36c000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\vcruntime140_1.dll
+0x00007ffc592d0000 - 0x00007ffc5935d000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\msvcp140.dll
+0x00007ffc389e0000 - 0x00007ffc39662000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\server\jvm.dll
+0x00007ffc72e60000 - 0x00007ffc72f10000 C:\Windows\System32\ADVAPI32.dll
+0x00007ffc72f10000 - 0x00007ffc72fb0000 C:\Windows\System32\sechost.dll
+0x00007ffc71d80000 - 0x00007ffc71ea5000 C:\Windows\System32\RPCRT4.dll
+0x00007ffc707d0000 - 0x00007ffc707f7000 C:\Windows\System32\bcrypt.dll
+0x00007ffc6fc40000 - 0x00007ffc6fc8b000 C:\Windows\SYSTEM32\POWRPROF.dll
+0x00007ffc67ca0000 - 0x00007ffc67cc7000 C:\Windows\SYSTEM32\WINMM.dll
+0x00007ffc6a350000 - 0x00007ffc6a35a000 C:\Windows\SYSTEM32\VERSION.dll
+0x00007ffc6be30000 - 0x00007ffc6be39000 C:\Windows\SYSTEM32\WSOCK32.dll
+0x00007ffc71b70000 - 0x00007ffc71bdb000 C:\Windows\System32\ws2_32.DLL
+0x00007ffc6fab0000 - 0x00007ffc6fac2000 C:\Windows\SYSTEM32\UMPDC.dll
+0x00007ffc6ef30000 - 0x00007ffc6ef42000 C:\Windows\SYSTEM32\kernel.appcore.dll
+0x00007ffc6bf00000 - 0x00007ffc6bf0a000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\jimage.dll
+0x00007ffc6e160000 - 0x00007ffc6e344000 C:\Windows\SYSTEM32\DBGHELP.DLL
+0x00007ffc57240000 - 0x00007ffc57274000 C:\Windows\SYSTEM32\dbgcore.DLL
+0x00007ffc70cd0000 - 0x00007ffc70d52000 C:\Windows\System32\bcryptPrimitives.dll
+0x00007ffc63f20000 - 0x00007ffc63f45000 C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\java.dll
+
+dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
+symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.3636_none_60b6a03d71f818d5;C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\jbr\bin\server
+
+VM Arguments:
+java_command: git4idea.http.GitAskPassApp Username for 'https://gitee.com':
+java_class_path (initial): C:/Program Files/JetBrains/IntelliJ IDEA 2023.3.2/plugins/vcs-git/lib/git4idea-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.3.2/lib/externalProcess-rt.jar
+Launcher Type: SUN_STANDARD
+
+[Global flags]
+ intx CICompilerCount = 3 {product} {ergonomic}
+ uint ConcGCThreads = 2 {product} {ergonomic}
+ uint G1ConcRefinementThreads = 6 {product} {ergonomic}
+ size_t G1HeapRegionSize = 2097152 {product} {ergonomic}
+ uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
+ size_t InitialHeapSize = 268435456 {product} {ergonomic}
+ size_t MarkStackSize = 4194304 {product} {ergonomic}
+ size_t MaxHeapSize = 4286578688 {product} {ergonomic}
+ size_t MinHeapDeltaBytes = 2097152 {product} {ergonomic}
+ size_t MinHeapSize = 8388608 {product} {ergonomic}
+ uintx NonNMethodCodeHeapSize = 5832780 {pd product} {ergonomic}
+ uintx NonProfiledCodeHeapSize = 122912730 {pd product} {ergonomic}
+ uintx ProfiledCodeHeapSize = 122912730 {pd product} {ergonomic}
+ uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
+ bool SegmentedCodeCache = true {product} {ergonomic}
+ size_t SoftMaxHeapSize = 4286578688 {manageable} {ergonomic}
+ bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
+ bool UseCompressedOops = true {product lp64_product} {ergonomic}
+ bool UseG1GC = true {product} {ergonomic}
+ bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
+
+Logging:
+Log output configuration:
+ #0: stdout all=warning uptime,level,tags
+ #1: stderr all=off uptime,level,tags
+
+Environment Variables:
+PATH=C:/Program Files/Git/mingw64/libexec/git-core;C:/Program Files/Git/mingw64/libexec/git-core;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\Administrator\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\TortoiseGit\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\AppData\Roaming\npm
+USERNAME=Administrator
+DISPLAY=:0.0
+LC_ALL=en_US.UTF-8
+TERM=xterm-256color
+TMPDIR=C:\Users\Administrator\AppData\Local\Temp
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
+TMP=C:\Users\Administrator\AppData\Local\Temp
+TEMP=C:\Users\Administrator\AppData\Local\Temp
+
+
+
+Periodic native trim disabled
+
+JNI global refs:
+JNI global refs: 0, weak refs: 0
+
+JNI global refs memory usage: 0, weak refs: 0
+
+OOME stack traces (most recent first):
+Classloader memory used:
+
+
+--------------- S Y S T E M ---------------
+
+OS:
+ Windows 10 , 64 bit Build 19041 (10.0.19041.3636)
+OS uptime: 19 days 19:43 hours
+
+CPU: total 6 (initial active 6) (6 cores per cpu, 1 threads per core) family 6 model 158 stepping 10 microcode 0xb4, cx8, cmov, fxsr, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, fma, vzeroupper, clflush, clflushopt
+Processor Information for all 6 processors :
+ Max Mhz: 2904, Current Mhz: 2904, Mhz Limit: 2904
+
+Memory: 4k page, system-wide physical 16349M (1308M free)
+TotalPageFile size 35549M (AvailPageFile size 98M)
+current process WorkingSet (physical memory assigned to process): 10M, peak: 10M
+current process commit charge ("private bytes"): 56M, peak: 312M
+
+vm_info: OpenJDK 64-Bit Server VM (17.0.9+7-b1087.9) for windows-amd64 JRE (17.0.9+7-b1087.9), built on 2023-12-05 by "builduser" with MS VC++ 16.10 / 16.11 (VS2019)
+
+END.
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..c943b68
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,533 @@
+
+
+ 4.0.0
+ com.sqx
+ anmo
+ 3.0.0
+ jar
+ anmo
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.6.11
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ 3.2.0
+ 8.0.17
+ 4.0
+ 11.2.0.3
+ 1.1.13
+ 2.3.0
+ 2.6
+ 1.2.2
+ 2.5
+ 1.10
+ 1.10
+ 1.10.1
+ 0.7.0
+ 0.0.9
+ 7.2.23
+ 3.4.0
+ 4.4
+ 2.7.0
+ 2.9.9
+ 2.8.5
+ 1.2.83
+ 5.8.16
+ 1.18.22
+
+
+
+
+
+
+
+
+ com.winnerlook
+ voice-sdk
+ 1.1.6
+
+
+
+ com.github.xiaoymin
+ knife4j-spring-boot-starter
+ 2.0.2
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
+
+ com.tencentcloudapi
+ tencentcloud-sdk-java
+
+
+ 3.1.792
+
+
+
+ com.aliyun
+ dyplsapi20170525
+ 2.0.3
+
+
+
+ com.aliyun
+ dyvmsapi20170525
+ 2.1.4
+
+
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
+
+ org
+ jaudiotagger
+ 2.0.3
+
+
+
+
+ org.springframework
+ spring-websocket
+ 5.1.2.RELEASE
+
+
+
+ net.java.dev.jna
+ jna
+ 5.5.0
+
+
+ net.java.dev.jna
+ jna-platform
+ 5.5.0
+
+
+
+ com.alibaba
+ druid
+ 1.1.10
+
+
+
+ com.auth0
+ java-jwt
+ 3.8.3
+
+
+ com.auth0
+ jwks-rsa
+ 0.12.0
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.0
+
+
+ net.sf.json-lib
+ json-lib
+ 2.4
+ jdk15
+
+
+
+ org.apache.poi
+ poi
+ 4.0.1
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.0.1
+
+
+ com.github.qcloudsms
+ qcloudsms
+ 1.0.6
+
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+ 4.5.3
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ 3.4.0
+
+
+
+ com.alipay.sdk
+ alipay-sdk-java
+ 4.10.29.ALL
+
+
+ com.github.wxpay
+ wxpay-sdk
+ 0.0.3
+
+
+ com.github.liyiorg
+ weixin-popular
+ 2.8.25
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework
+ spring-context-support
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatisplus.version}
+
+
+ com.baomidou
+ mybatis-plus-generator
+
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
+
+
+ com.oracle
+ ojdbc6
+ ${oracle.version}
+
+
+
+ com.microsoft.sqlserver
+ sqljdbc4
+ ${mssql.version}
+
+
+
+ org.postgresql
+ postgresql
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ ${druid.version}
+
+
+ org.quartz-scheduler
+ quartz
+ ${quartz.version}
+
+
+ com.mchange
+ c3p0
+
+
+
+
+ commons-lang
+ commons-lang
+ ${commons.lang.version}
+
+
+ commons-fileupload
+ commons-fileupload
+ ${commons.fileupload.version}
+
+
+ commons-io
+ commons-io
+ ${commons.io.version}
+
+
+ commons-codec
+ commons-codec
+ ${commons.codec.version}
+
+
+ commons-configuration
+ commons-configuration
+ ${commons.configuration.version}
+
+
+ org.apache.shiro
+ shiro-core
+ ${shiro.version}
+
+
+ org.apache.shiro
+ shiro-spring
+ ${shiro.version}
+
+
+ com.github.axet
+ kaptcha
+ ${kaptcha.version}
+
+
+ com.qiniu
+ qiniu-java-sdk
+ ${qiniu.version}
+
+
+ com.qcloud
+ cos_api
+ ${qcloud.cos.version}
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+
+
+ joda-time
+ joda-time
+ ${joda.time.version}
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+ cn.hutool
+ hutool-all
+ ${hutool.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+
+
+
+ com.google.zxing
+ core
+ 3.3.3
+
+
+
+ com.google.zxing
+ javase
+ 3.3.3
+
+
+ com.github.binarywang
+ weixin-java-mp
+ 3.6.0
+
+
+ com.github.binarywang
+ weixin-java-pay
+ 3.6.0
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.2.5
+
+
+ mybatis-spring
+ org.mybatis
+
+
+ mybatis
+ org.mybatis
+
+
+
+
+ com.github.dozermapper
+ dozer-core
+ 6.4.1
+
+
+ com.getui.push
+ restful-sdk
+ 1.0.0.1
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework
+ spring-test
+
+
+
+
+ com.googlecode.soundlibs
+ jlayer
+ 1.0.1.4
+
+
+ com.googlecode.soundlibs
+ mp3spi
+ 1.9.5.4
+
+
+ com.googlecode.soundlibs
+ tritonus-all
+ 0.3.7.2
+
+
+
+
+
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 2.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+ org.codehaus.mojo
+ wagon-maven-plugin
+ 1.0
+
+
+
+
+ com.spotify
+ docker-maven-plugin
+ 0.4.14
+
+
+
+
+
+
+
+
+
+ sqx/fast
+ ${project.basedir}
+
+
+ /
+ ${project.build.directory}
+ ${project.build.finalName}.jar
+
+
+
+
+
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+ false
+
+
+
+
+
diff --git a/run.bat b/run.bat
new file mode 100644
index 0000000..a5e770f
--- /dev/null
+++ b/run.bat
@@ -0,0 +1,5 @@
+@echo off && chcp 65001
+#call mvn clean package
+for /f "delims=" %%i in ('dir target\*.jar /b ') do @set jarPath=%%i
+call java -jar -Dfile.encoding=utf-8 -Dspring.profiles.active=dev -Xms1024m -Xmx1536m -XX:PermSize=128M -XX:MaxPermSize=256M target\%jarPath%
+pause
\ No newline at end of file
diff --git a/script/fb.bat b/script/fb.bat
new file mode 100644
index 0000000..036716a
--- /dev/null
+++ b/script/fb.bat
@@ -0,0 +1,19 @@
+@echo off && title 벢
+echo лļ
+ren .\src\main\resources\application.yml application.yml.dev
+ren .\src\main\resources\application.yml.prod application.yml
+echo лϣִд
+call mvn clean package
+echo ԭļ
+ren .\src\main\resources\application.yml application.yml.prod
+ren .\src\main\resources\application.yml.dev application.yml
+echo ԭϣ
+echo Xrtx*2022
+echo ʼ
+pause
+::ɱ
+ssh root@49.232.154.11 "cd /home/springboot/jdbiJava/ && sh killJar.sh"
+scp ./target/jdyybi-0.0.1.jar root@49.232.154.11:/home/springboot/jdbiJava
+ssh root@49.232.154.11 "cd /home/springboot/jdbiJava/ && sh run.sh"
+pause
+
diff --git a/script/findps.sh b/script/findps.sh
new file mode 100644
index 0000000..def9ac6
--- /dev/null
+++ b/script/findps.sh
@@ -0,0 +1 @@
+ps -ef | grep anmo.jar | grep -v grep
\ No newline at end of file
diff --git a/script/killJar.sh b/script/killJar.sh
new file mode 100644
index 0000000..c52d6ee
--- /dev/null
+++ b/script/killJar.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+ps -ef | grep anmo.jar | grep -v grep | awk '{print $2}' | xargs kill -9
\ No newline at end of file
diff --git a/script/run.sh b/script/run.sh
new file mode 100644
index 0000000..279785c
--- /dev/null
+++ b/script/run.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#nohup
+JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn30m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true"
+#java $JAVA_OPTS -jar ./jdyybi-0.0.1.jar 1>/dev/null 2>./out.log &
+nohup java $JAVA_OPTS -jar ./anmo.jar >nohup.log 2>&1 &
+exit 0
\ No newline at end of file
diff --git a/src/main/java/com/sqx/SqxApplication.java b/src/main/java/com/sqx/SqxApplication.java
new file mode 100644
index 0000000..71c2984
--- /dev/null
+++ b/src/main/java/com/sqx/SqxApplication.java
@@ -0,0 +1,32 @@
+package com.sqx;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@Slf4j
+@SpringBootApplication
+@EnableScheduling
+public class SqxApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SqxApplication.class, args);
+ log.info("(♥◠‿◠)ノ゙ 按摩项目启动成功 ლ(´ڡ`ლ)゙ \n"+
+ " _ \n" +
+ " | | \n" +
+ " ___ | | __\n" +
+ " / _ \\| |/ /\n" +
+ "| (_) | < \n" +
+ " \\___/|_|\\_\\");
+ System.out.println("swagger访问地址:http://localhost:8187/sqx_fast/doc.html");
+ System.out.println("-------------======= 华丽的分割线 =========----------");
+ //返回Java虚拟机中的堆内存总量
+ long xmsMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024;
+ //返回Java虚拟机中使用的最大堆内存
+ long xmxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024;
+ System.out.println("-Xms:" + xmsMemory + "M");
+ System.out.println("-Xmx:" + xmxMemory + "M");
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/common/annotation/SysLog.java b/src/main/java/com/sqx/common/annotation/SysLog.java
new file mode 100644
index 0000000..70cec15
--- /dev/null
+++ b/src/main/java/com/sqx/common/annotation/SysLog.java
@@ -0,0 +1,19 @@
+package com.sqx.common.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 系统日志注解
+ *
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SysLog {
+
+ String value() default "";
+}
diff --git a/src/main/java/com/sqx/common/aspect/RedisAspect.java b/src/main/java/com/sqx/common/aspect/RedisAspect.java
new file mode 100644
index 0000000..896c0f7
--- /dev/null
+++ b/src/main/java/com/sqx/common/aspect/RedisAspect.java
@@ -0,0 +1,37 @@
+package com.sqx.common.aspect;
+
+import com.sqx.common.exception.SqxException;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Redis切面处理类
+ *
+ */
+@Aspect
+@Configuration
+public class RedisAspect {
+ private Logger logger = LoggerFactory.getLogger(getClass());
+ //是否开启redis缓存 true开启 false关闭
+ @Value("${spring.redis.open: false}")
+ private boolean open;
+
+ @Around("execution(* com.sqx.common.utils.RedisUtils.*(..))")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ Object result = null;
+ if(open){
+ try{
+ result = point.proceed();
+ }catch (Exception e){
+ logger.error("redis error", e);
+ throw new SqxException("Redis服务异常");
+ }
+ }
+ return result;
+ }
+}
diff --git a/src/main/java/com/sqx/common/aspect/SysLogAspect.java b/src/main/java/com/sqx/common/aspect/SysLogAspect.java
new file mode 100644
index 0000000..b0f5ac8
--- /dev/null
+++ b/src/main/java/com/sqx/common/aspect/SysLogAspect.java
@@ -0,0 +1,92 @@
+package com.sqx.common.aspect;
+
+import com.google.gson.Gson;
+import com.sqx.common.utils.HttpContextUtils;
+import com.sqx.common.utils.IPUtils;
+import com.sqx.common.annotation.SysLog;
+import com.sqx.modules.sys.entity.SysLogEntity;
+import com.sqx.modules.sys.entity.SysUserEntity;
+import com.sqx.modules.sys.service.SysLogService;
+import org.apache.shiro.SecurityUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Method;
+import java.util.Date;
+
+
+/**
+ * 系统日志,切面处理类
+ *
+ */
+@Aspect
+@Component
+public class SysLogAspect {
+ @Autowired
+ private SysLogService sysLogService;
+
+ @Pointcut("@annotation(com.sqx.common.annotation.SysLog)")
+ public void logPointCut() {
+
+ }
+
+ @Around("logPointCut()")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ long beginTime = System.currentTimeMillis();
+ //执行方法
+ Object result = point.proceed();
+ //执行时长(毫秒)
+ long time = System.currentTimeMillis() - beginTime;
+
+ //保存日志
+ saveSysLog(point, time);
+
+ return result;
+ }
+
+ private void saveSysLog(ProceedingJoinPoint joinPoint, long time) {
+ MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ Method method = signature.getMethod();
+
+ SysLogEntity sysLog = new SysLogEntity();
+ SysLog syslog = method.getAnnotation(SysLog.class);
+ if(syslog != null){
+ //注解上的描述
+ sysLog.setOperation(syslog.value());
+ }
+
+ //请求的方法名
+ String className = joinPoint.getTarget().getClass().getName();
+ String methodName = signature.getName();
+ sysLog.setMethod(className + "." + methodName + "()");
+
+ //请求的参数
+ Object[] args = joinPoint.getArgs();
+ try{
+ String params = new Gson().toJson(args);
+ sysLog.setParams(params);
+ }catch (Exception e){
+
+ }
+
+ //获取request
+ HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+ //设置IP地址
+ sysLog.setIp(IPUtils.getIpAddr(request));
+
+ //用户名
+ String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername();
+ sysLog.setUsername(username);
+
+ sysLog.setTime(time);
+ sysLog.setCreateDate(new Date());
+ //保存系统日志
+ sysLogService.save(sysLog);
+ }
+}
diff --git a/src/main/java/com/sqx/common/exception/SqxException.java b/src/main/java/com/sqx/common/exception/SqxException.java
new file mode 100644
index 0000000..f343af5
--- /dev/null
+++ b/src/main/java/com/sqx/common/exception/SqxException.java
@@ -0,0 +1,52 @@
+package com.sqx.common.exception;
+
+/**
+ * 自定义异常
+ *
+ */
+public class SqxException extends RuntimeException {
+ private static final long serialVersionUID = 1L;
+
+ private String msg;
+ private int code = 500;
+
+ public SqxException(String msg) {
+ super(msg);
+ this.msg = msg;
+ }
+
+ public SqxException(String msg, Throwable e) {
+ super(msg, e);
+ this.msg = msg;
+ }
+
+ public SqxException(String msg, int code) {
+ super(msg);
+ this.msg = msg;
+ this.code = code;
+ }
+
+ public SqxException(String msg, int code, Throwable e) {
+ super(msg, e);
+ this.msg = msg;
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+
+}
diff --git a/src/main/java/com/sqx/common/exception/SqxExceptionHandler.java b/src/main/java/com/sqx/common/exception/SqxExceptionHandler.java
new file mode 100644
index 0000000..a171e7d
--- /dev/null
+++ b/src/main/java/com/sqx/common/exception/SqxExceptionHandler.java
@@ -0,0 +1,55 @@
+package com.sqx.common.exception;
+
+import com.sqx.common.utils.Result;
+import org.apache.shiro.authz.AuthorizationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+/**
+ * 异常处理器
+ *
+ */
+@RestControllerAdvice
+public class SqxExceptionHandler {
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ /**
+ * 处理自定义异常
+ */
+ @ExceptionHandler(SqxException.class)
+ public Result handleException(SqxException e){
+ Result r = new Result();
+ r.put("code", e.getCode());
+ r.put("msg", e.getMessage());
+
+ return r;
+ }
+
+ @ExceptionHandler(NoHandlerFoundException.class)
+ public Result handlerNoFoundException(Exception e) {
+ logger.error(e.getMessage(), e);
+ return Result.error(404, "路径不存在,请检查路径是否正确");
+ }
+
+ @ExceptionHandler(DuplicateKeyException.class)
+ public Result handleDuplicateKeyException(DuplicateKeyException e){
+ logger.error(e.getMessage(), e);
+ return Result.error("数据库中已存在该记录");
+ }
+
+ @ExceptionHandler(AuthorizationException.class)
+ public Result handleAuthorizationException(AuthorizationException e){
+ logger.error(e.getMessage(), e);
+ return Result.error("没有权限,请联系管理员授权");
+ }
+
+ @ExceptionHandler(Exception.class)
+ public Result handleException(Exception e){
+ logger.error(e.getMessage(), e);
+ return Result.error();
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/ConfigConstant.java b/src/main/java/com/sqx/common/utils/ConfigConstant.java
new file mode 100644
index 0000000..6e18daf
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/ConfigConstant.java
@@ -0,0 +1,12 @@
+package com.sqx.common.utils;
+
+/**
+ * 系统参数相关Key
+ *
+ */
+public class ConfigConstant {
+ /**
+ * 云存储配置KEY
+ */
+ public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
+}
diff --git a/src/main/java/com/sqx/common/utils/Constant.java b/src/main/java/com/sqx/common/utils/Constant.java
new file mode 100644
index 0000000..436bcb1
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/Constant.java
@@ -0,0 +1,110 @@
+package com.sqx.common.utils;
+
+/**
+ * 常量
+ *
+ */
+public class Constant {
+ /** 超级管理员ID */
+ public static final int SUPER_ADMIN = 1;
+ /**
+ * 当前页码
+ */
+ public static final String PAGE = "page";
+ /**
+ * 每页显示记录数
+ */
+ public static final String LIMIT = "limit";
+ /**
+ * 排序字段
+ */
+ public static final String ORDER_FIELD = "sidx";
+ /**
+ * 排序方式
+ */
+ public static final String ORDER = "order";
+ /**
+ * 升序
+ */
+ public static final String ASC = "asc";
+ /**
+ * 菜单类型
+ */
+ public enum MenuType {
+ /**
+ * 目录
+ */
+ CATALOG(0),
+ /**
+ * 菜单
+ */
+ MENU(1),
+ /**
+ * 按钮
+ */
+ BUTTON(2);
+
+ private int value;
+
+ MenuType(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+ /**
+ * 定时任务状态
+ */
+ public enum ScheduleStatus {
+ /**
+ * 正常
+ */
+ NORMAL(0),
+ /**
+ * 暂停
+ */
+ PAUSE(1);
+
+ private int value;
+
+ ScheduleStatus(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+ /**
+ * 云服务商
+ */
+ public enum CloudService {
+ /**
+ * 七牛云
+ */
+ QINIU(1),
+ /**
+ * 阿里云
+ */
+ ALIYUN(2),
+ /**
+ * 腾讯云
+ */
+ QCLOUD(3);
+
+ private int value;
+
+ CloudService(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+}
diff --git a/src/main/java/com/sqx/common/utils/DateUtils.java b/src/main/java/com/sqx/common/utils/DateUtils.java
new file mode 100644
index 0000000..9d51649
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/DateUtils.java
@@ -0,0 +1,157 @@
+package com.sqx.common.utils;
+
+import org.apache.commons.lang.StringUtils;
+import org.joda.time.DateTime;
+import org.joda.time.LocalDate;
+import org.joda.time.format.DateTimeFormat;
+import org.joda.time.format.DateTimeFormatter;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 日期处理
+ *
+ */
+public class DateUtils {
+ /** 时间格式(yyyy-MM-dd) */
+ public final static String DATE_PATTERN = "yyyy-MM-dd";
+ /** 时间格式(yyyy-MM-dd HH:mm:ss) */
+ public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
+
+ /**
+ * 日期格式化 日期格式为:yyyy-MM-dd
+ * @param date 日期
+ * @return 返回yyyy-MM-dd格式日期
+ */
+ public static String format(Date date) {
+ return format(date, DATE_TIME_PATTERN);
+ }
+
+ /**
+ * 日期格式化 日期格式为:yyyy-MM-dd
+ * @param date 日期
+ * @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
+ * @return 返回yyyy-MM-dd格式日期
+ */
+ public static String format(Date date, String pattern) {
+ if(date != null){
+ SimpleDateFormat df = new SimpleDateFormat(pattern);
+ return df.format(date);
+ }
+ return null;
+ }
+
+ /**
+ * 字符串转换成日期
+ * @param strDate 日期字符串
+ * @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN
+ */
+ public static Date stringToDate(String strDate, String pattern) {
+ if (StringUtils.isBlank(strDate)){
+ return null;
+ }
+
+ DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
+ return fmt.parseLocalDateTime(strDate).toDate();
+ }
+
+ /**
+ * 根据周数,获取开始日期、结束日期
+ * @param week 周期 0本周,-1上周,-2上上周,1下周,2下下周
+ * @return 返回date[0]开始日期、date[1]结束日期
+ */
+ public static Date[] getWeekStartAndEnd(int week) {
+ DateTime dateTime = new DateTime();
+ LocalDate date = new LocalDate(dateTime.plusWeeks(week));
+
+ date = date.dayOfWeek().withMinimumValue();
+ Date beginDate = date.toDate();
+ Date endDate = date.plusDays(6).toDate();
+ return new Date[]{beginDate, endDate};
+ }
+
+ /**
+ * 对日期的【秒】进行加/减
+ *
+ * @param date 日期
+ * @param seconds 秒数,负数为减
+ * @return 加/减几秒后的日期
+ */
+ public static Date addDateSeconds(Date date, int seconds) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusSeconds(seconds).toDate();
+ }
+
+ /**
+ * 对日期的【分钟】进行加/减
+ *
+ * @param date 日期
+ * @param minutes 分钟数,负数为减
+ * @return 加/减几分钟后的日期
+ */
+ public static Date addDateMinutes(Date date, int minutes) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusMinutes(minutes).toDate();
+ }
+
+ /**
+ * 对日期的【小时】进行加/减
+ *
+ * @param date 日期
+ * @param hours 小时数,负数为减
+ * @return 加/减几小时后的日期
+ */
+ public static Date addDateHours(Date date, int hours) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusHours(hours).toDate();
+ }
+
+ /**
+ * 对日期的【天】进行加/减
+ *
+ * @param date 日期
+ * @param days 天数,负数为减
+ * @return 加/减几天后的日期
+ */
+ public static Date addDateDays(Date date, int days) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusDays(days).toDate();
+ }
+
+ /**
+ * 对日期的【周】进行加/减
+ *
+ * @param date 日期
+ * @param weeks 周数,负数为减
+ * @return 加/减几周后的日期
+ */
+ public static Date addDateWeeks(Date date, int weeks) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusWeeks(weeks).toDate();
+ }
+
+ /**
+ * 对日期的【月】进行加/减
+ *
+ * @param date 日期
+ * @param months 月数,负数为减
+ * @return 加/减几月后的日期
+ */
+ public static Date addDateMonths(Date date, int months) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusMonths(months).toDate();
+ }
+
+ /**
+ * 对日期的【年】进行加/减
+ *
+ * @param date 日期
+ * @param years 年数,负数为减
+ * @return 加/减几年后的日期
+ */
+ public static Date addDateYears(Date date, int years) {
+ DateTime dateTime = new DateTime(date);
+ return dateTime.plusYears(years).toDate();
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/HttpContextUtils.java b/src/main/java/com/sqx/common/utils/HttpContextUtils.java
new file mode 100644
index 0000000..82c860e
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/HttpContextUtils.java
@@ -0,0 +1,24 @@
+package com.sqx.common.utils;
+
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class HttpContextUtils {
+
+ public static HttpServletRequest getHttpServletRequest() {
+ return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ }
+
+ public static String getDomain(){
+ HttpServletRequest request = getHttpServletRequest();
+ StringBuffer url = request.getRequestURL();
+ return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
+ }
+
+ public static String getOrigin(){
+ HttpServletRequest request = getHttpServletRequest();
+ return request.getHeader("Origin");
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/IPUtils.java b/src/main/java/com/sqx/common/utils/IPUtils.java
new file mode 100644
index 0000000..0fbd6c9
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/IPUtils.java
@@ -0,0 +1,49 @@
+package com.sqx.common.utils;
+
+import com.alibaba.druid.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * IP地址
+ *
+ */
+public class IPUtils {
+ private static Logger logger = LoggerFactory.getLogger(IPUtils.class);
+
+ /**
+ * 获取IP地址
+ *
+ * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
+ * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
+ */
+ public static String getIpAddr(HttpServletRequest request) {
+ String ip = null;
+ try {
+ ip = request.getHeader("x-forwarded-for");
+ if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ }
+ if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_CLIENT_IP");
+ }
+ if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+ }
+ if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ }
+ } catch (Exception e) {
+ logger.error("IPUtils ERROR ", e);
+ }
+
+
+ return ip;
+ }
+
+}
diff --git a/src/main/java/com/sqx/common/utils/ListUtils.java b/src/main/java/com/sqx/common/utils/ListUtils.java
new file mode 100644
index 0000000..ad4ecdd
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/ListUtils.java
@@ -0,0 +1,54 @@
+package com.sqx.common.utils;
+
+import java.util.*;
+
+public class ListUtils {
+ /**
+ * list 集合分组
+ *
+ * @param list 待分组集合
+ * @param groupBy 分组Key算法
+ * @param 分组Key类型
+ * @param 行数据类型
+ * @return 分组后的Map集合
+ */
+ public static Map> groupBy(List list, GroupBy groupBy) {
+ return groupBy((Collection) list, groupBy);
+ }
+
+ /**
+ * list 集合分组
+ *
+ * @param list 待分组集合
+ * @param groupBy 分组Key算法
+ * @param 分组Key类型
+ * @param 行数据类型
+ * @return 分组后的Map集合
+ */
+ public static Map> groupBy(Collection list, GroupBy groupBy) {
+ Map> resultMap = new LinkedHashMap>();
+
+ for (V e : list) {
+
+ K k = groupBy.groupBy(e);
+ if (resultMap.containsKey(k)) {
+ resultMap.get(k).add(e);
+ } else {
+ List tmp = new LinkedList();
+ tmp.add(e);
+ resultMap.put(k, tmp);
+ }
+ }
+ return resultMap;
+ }
+
+ /**
+ * List分组
+ *
+ * @param 返回分组Key
+ * @param 分组行
+ */
+ public interface GroupBy {
+ K groupBy(V row);
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/MapUtils.java b/src/main/java/com/sqx/common/utils/MapUtils.java
new file mode 100644
index 0000000..14a1558
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/MapUtils.java
@@ -0,0 +1,17 @@
+package com.sqx.common.utils;
+
+import java.util.HashMap;
+
+
+/**
+ * Map工具类
+ *
+ */
+public class MapUtils extends HashMap {
+
+ @Override
+ public MapUtils put(String key, Object value) {
+ super.put(key, value);
+ return this;
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/PageUtils.java b/src/main/java/com/sqx/common/utils/PageUtils.java
new file mode 100644
index 0000000..6e522c0
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/PageUtils.java
@@ -0,0 +1,101 @@
+package com.sqx.common.utils;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 分页工具类
+ *
+ */
+public class PageUtils implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 总记录数
+ */
+ private int totalCount;
+ /**
+ * 每页记录数
+ */
+ private int pageSize;
+ /**
+ * 总页数
+ */
+ private int totalPage;
+ /**
+ * 当前页数
+ */
+ private int currPage;
+ /**
+ * 列表数据
+ */
+ private List> list;
+
+ /**
+ * 分页
+ * @param list 列表数据
+ * @param totalCount 总记录数
+ * @param pageSize 每页记录数
+ * @param currPage 当前页数
+ */
+ public PageUtils(List> list, int totalCount, int pageSize, int currPage) {
+ this.list = list;
+ this.totalCount = totalCount;
+ this.pageSize = pageSize;
+ this.currPage = currPage;
+ this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
+ }
+
+ /**
+ * 分页
+ */
+ public PageUtils(IPage> page) {
+ this.list = page.getRecords();
+ this.totalCount = (int)page.getTotal();
+ this.pageSize = (int)page.getSize();
+ this.currPage = (int)page.getCurrent();
+ this.totalPage = (int)page.getPages();
+ }
+
+ public int getTotalCount() {
+ return totalCount;
+ }
+
+ public void setTotalCount(int totalCount) {
+ this.totalCount = totalCount;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public int getTotalPage() {
+ return totalPage;
+ }
+
+ public void setTotalPage(int totalPage) {
+ this.totalPage = totalPage;
+ }
+
+ public int getCurrPage() {
+ return currPage;
+ }
+
+ public void setCurrPage(int currPage) {
+ this.currPage = currPage;
+ }
+
+ public List> getList() {
+ return list;
+ }
+
+ public void setList(List> list) {
+ this.list = list;
+ }
+
+}
diff --git a/src/main/java/com/sqx/common/utils/QRCodeUtil.java b/src/main/java/com/sqx/common/utils/QRCodeUtil.java
new file mode 100644
index 0000000..e4d06fa
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/QRCodeUtil.java
@@ -0,0 +1,175 @@
+package com.sqx.common.utils;
+
+import cn.hutool.extra.qrcode.BufferedImageLuminanceSource;
+import com.google.zxing.*;
+import com.google.zxing.Result;
+import com.google.zxing.common.BitMatrix;
+import com.google.zxing.common.HybridBinarizer;
+import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.geom.RoundRectangle2D;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.util.Hashtable;
+
+/**
+ * 二维码生成解析工具类
+
+ * @date 2020/02/12 09:37
+ */
+public class QRCodeUtil {
+
+ //编码格式,采用utf-8
+ private static final String UNICODE = "utf-8";
+ //图片格式
+ private static final String FORMAT = "JPG";
+ //二维码宽度,单位:像素pixels
+ private static final int QRCODE_WIDTH = 300;
+ //二维码高度,单位:像素pixels
+ private static final int QRCODE_HEIGHT = 300;
+ //LOGO宽度,单位:像素pixels
+ private static final int LOGO_WIDTH = 100;
+ //LOGO高度,单位:像素pixels
+ private static final int LOGO_HEIGHT = 100;
+
+ /**
+ * 生成二维码图片
+ * @param content 二维码内容
+ * @param logoPath 图片地址
+ * @param needCompress 是否压缩
+ * @return
+ * @throws Exception
+ */
+ private static BufferedImage createImage(String content, String logoPath, boolean needCompress) throws Exception {
+ Hashtable hints = new Hashtable();
+ hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
+ hints.put(EncodeHintType.CHARACTER_SET, UNICODE);
+ hints.put(EncodeHintType.MARGIN, 1);
+ BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QRCODE_WIDTH, QRCODE_HEIGHT,
+ hints);
+ int width = bitMatrix.getWidth();
+ int height = bitMatrix.getHeight();
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ for (int x = 0; x < width; x++) {
+ for (int y = 0; y < height; y++) {
+ image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
+ }
+ }
+ if (logoPath == null || "".equals(logoPath)) {
+ return image;
+ }
+ // 插入图片
+ QRCodeUtil.insertImage(image, logoPath, needCompress);
+ return image;
+ }
+
+ /**
+ * 插入LOGO
+ * @param source 二维码图片
+ * @param logoPath LOGO图片地址
+ * @param needCompress 是否压缩
+ * @throws Exception
+ */
+ private static void insertImage(BufferedImage source, String logoPath, boolean needCompress) throws Exception {
+ File file = new File(logoPath);
+ if (!file.exists()) {
+ throw new Exception("logo file not found.");
+ }
+ Image src = ImageIO.read(new File(logoPath));
+ int width = src.getWidth(null);
+ int height = src.getHeight(null);
+ if (needCompress) { // 压缩LOGO
+ if (width > LOGO_WIDTH) {
+ width = LOGO_WIDTH;
+ }
+ if (height > LOGO_HEIGHT) {
+ height = LOGO_HEIGHT;
+ }
+ Image image = src.getScaledInstance(width, height, Image.SCALE_SMOOTH);
+ BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ Graphics g = tag.getGraphics();
+ g.drawImage(image, 0, 0, null); // 绘制缩小后的图
+ g.dispose();
+ src = image;
+ }
+ // 插入LOGO
+ Graphics2D graph = source.createGraphics();
+ int x = (QRCODE_WIDTH - width) / 2;
+ int y = (QRCODE_HEIGHT - height) / 2;
+ graph.drawImage(src, x, y, width, height, null);
+ Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
+ graph.setStroke(new BasicStroke(3f));
+ graph.draw(shape);
+ graph.dispose();
+ }
+
+ /**
+ * 生成二维码(内嵌LOGO)
+ * 调用者指定二维码文件名
+ * @param content 二维码的内容
+ * @param logoPath 中间图片地址
+ * @param destPath 存储路径
+ * @param fileName 文件名称
+ * @param needCompress 是否压缩
+ * @return
+ * @throws Exception
+ */
+ public static String encode(String content, String logoPath, String destPath, String fileName, boolean needCompress) throws Exception {
+ BufferedImage image = QRCodeUtil.createImage(content, logoPath, needCompress);
+ mkdirs(destPath);
+ //文件名称通过传递
+ fileName = fileName.substring(0, fileName.indexOf(".")>0?fileName.indexOf("."):fileName.length())
+ + "." + FORMAT.toLowerCase();
+ ImageIO.write(image, FORMAT, new File(destPath + "/" + fileName));
+ return fileName;
+ }
+
+ /**
+ * 创建文件夹, mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
+ * @param destPath
+ */
+ public static void mkdirs(String destPath) {
+ File file = new File(destPath);
+ if (!file.exists() && !file.isDirectory()) {
+ file.mkdirs();
+ }
+ }
+
+ /**
+ * 解析二维码
+ * @param path 二维码图片路径
+ * @return String 二维码内容
+ * @throws Exception
+ */
+ public static String decode(String path) throws Exception {
+ File file = new File(path);
+ BufferedImage image = ImageIO.read(file);
+ if (image == null) {
+ return null;
+ }
+ BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(image);
+ BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
+ Result result;
+ Hashtable hints = new Hashtable();
+ hints.put(DecodeHintType.CHARACTER_SET, UNICODE);
+ result = new MultiFormatReader().decode(bitmap, hints);
+ return result.getText();
+ }
+
+ /**
+ * 测试
+ * @param args
+ * @throws Exception
+ */
+ public static void main(String[] args) throws Exception {
+ String text = "http://47.105.101.72:8088";
+ //不含Logo
+// QRCodeUtil.encode(text, null, "/Users/kyson/Downloads", "qrcode", true);
+ //含Logo,指定二维码图片名
+ QRCodeUtil.encode(text, "/Users/kyson/Downloads/宋康.jpg", "/Users/kyson/Downloads", "qrcode1", true);
+// System.out.println(QRCodeUtil.decode("d:\\cc\\qrcode1.jpg"));
+// System.out.println(QRCodeUtil.encode(text, null, "/Users/kyson/Downloads", "qrcode", true));
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/Query.java b/src/main/java/com/sqx/common/utils/Query.java
new file mode 100644
index 0000000..bbddb66
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/Query.java
@@ -0,0 +1,68 @@
+package com.sqx.common.utils;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sqx.common.xss.SQLFilter;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.Map;
+
+/**
+ * 查询参数
+ *
+ */
+public class Query {
+
+ public IPage getPage(Map params) {
+ return this.getPage(params, null, false);
+ }
+
+ public IPage getPage(Map params, String defaultOrderField, boolean isAsc) {
+ //分页参数
+ long curPage = 1;
+ long limit = 10;
+
+ if(params.get(Constant.PAGE) != null){
+ curPage = Long.parseLong(String.valueOf(params.get(Constant.PAGE)));
+ }
+ if(params.get(Constant.LIMIT) != null){
+ limit = Long.parseLong(String.valueOf(params.get(Constant.LIMIT)));
+ }
+
+ //分页对象
+ Page page = new Page<>(curPage, limit);
+
+ //分页参数
+ params.put(Constant.PAGE, page);
+
+ //排序字段
+ //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
+ String orderField = SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));
+ String order = (String)params.get(Constant.ORDER);
+
+
+ //前端字段排序
+ if(StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)){
+ if(Constant.ASC.equalsIgnoreCase(order)) {
+ return page.addOrder(OrderItem.asc(orderField));
+ }else {
+ return page.addOrder(OrderItem.desc(orderField));
+ }
+ }
+
+ //没有排序字段,则不排序
+ if(StringUtils.isBlank(defaultOrderField)){
+ return page;
+ }
+
+ //默认排序
+ if(isAsc) {
+ page.addOrder(OrderItem.asc(defaultOrderField));
+ }else {
+ page.addOrder(OrderItem.desc(defaultOrderField));
+ }
+
+ return page;
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/RedisKeys.java b/src/main/java/com/sqx/common/utils/RedisKeys.java
new file mode 100644
index 0000000..f195413
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/RedisKeys.java
@@ -0,0 +1,12 @@
+package com.sqx.common.utils;
+
+/**
+ * Redis所有Keys
+ *
+ */
+public class RedisKeys {
+
+ public static String getSysConfigKey(String key){
+ return "sys:config:" + key;
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/RedisUtils.java b/src/main/java/com/sqx/common/utils/RedisUtils.java
new file mode 100644
index 0000000..0e8ae54
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/RedisUtils.java
@@ -0,0 +1,95 @@
+package com.sqx.common.utils;
+
+import com.google.gson.Gson;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.*;
+import org.springframework.stereotype.Component;
+
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Redis工具类
+ *
+ */
+@Component
+public class RedisUtils {
+ @Autowired
+ private RedisTemplate redisTemplate;
+ @Autowired
+ private ValueOperations valueOperations;
+ @Autowired
+ private HashOperations hashOperations;
+ @Autowired
+ private ListOperations listOperations;
+ @Autowired
+ private SetOperations setOperations;
+ @Autowired
+ private ZSetOperations zSetOperations;
+ /** 默认过期时长,单位:秒 */
+ public final static long DEFAULT_EXPIRE = 60 * 60 * 24;
+ /** 不设置过期时长 */
+ public final static long NOT_EXPIRE = -1;
+ private final static Gson Gson = new Gson();
+
+ public void set(String key, Object value, long expire){
+ valueOperations.set(key, toJson(value));
+ if(expire != NOT_EXPIRE){
+ redisTemplate.expire(key, expire, TimeUnit.SECONDS);
+ }
+ }
+
+ public void set(String key, Object value){
+ set(key, value, DEFAULT_EXPIRE);
+ }
+
+ public T get(String key, Class clazz, long expire) {
+ String value = valueOperations.get(key);
+ if(expire != NOT_EXPIRE){
+ redisTemplate.expire(key, expire, TimeUnit.SECONDS);
+ }
+ return value == null ? null : fromJson(value, clazz);
+ }
+
+ public T get(String key, Class clazz) {
+ return get(key, clazz, NOT_EXPIRE);
+ }
+
+ public String get(String key, long expire) {
+ String value = valueOperations.get(key);
+ if(expire != NOT_EXPIRE){
+ redisTemplate.expire(key, expire, TimeUnit.SECONDS);
+ }
+ return value;
+ }
+
+ public String get(String key) {
+ return get(key, NOT_EXPIRE);
+ }
+
+ public Set keys(String key){
+ return redisTemplate.keys(key);
+ }
+
+ public void delete(String key) {
+ redisTemplate.delete(key);
+ }
+
+ /**
+ * Object转成JSON数据
+ */
+ private String toJson(Object object){
+ if(object instanceof Integer || object instanceof Long || object instanceof Float ||
+ object instanceof Double || object instanceof Boolean || object instanceof String){
+ return String.valueOf(object);
+ }
+ return Gson.toJson(object);
+ }
+
+ /**
+ * JSON数据,转成Object
+ */
+ private T fromJson(String json, Class clazz){
+ return Gson.fromJson(json, clazz);
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/Result.java b/src/main/java/com/sqx/common/utils/Result.java
new file mode 100644
index 0000000..6ceb162
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/Result.java
@@ -0,0 +1,56 @@
+package com.sqx.common.utils;
+
+import org.apache.http.HttpStatus;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 返回数据
+ *
+ */
+public class Result extends HashMap {
+ private static final long serialVersionUID = 1L;
+
+ public Result () {
+ put("code", 0);
+ put("msg", "success");
+ }
+
+ public static Result error() {
+ return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
+ }
+
+ public static Result error(String msg) {
+ return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
+ }
+
+ public static Result error(int code, String msg) {
+ Result r = new Result();
+ r.put("code", code);
+ r.put("msg", msg);
+ return r;
+ }
+
+ public static Result success(String msg) {
+ Result r = new Result();
+ r.put("msg", msg);
+ return r;
+ }
+
+ public static Result success(Map map) {
+ Result r = new Result();
+ r.putAll(map);
+ return r;
+ }
+
+ public static Result success() {
+ return new Result();
+ }
+
+ @Override
+ public Result put(String key, Object value) {
+ super.put(key, value);
+ return this;
+ }
+}
diff --git a/src/main/java/com/sqx/common/utils/ShiroUtils.java b/src/main/java/com/sqx/common/utils/ShiroUtils.java
new file mode 100644
index 0000000..291a032
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/ShiroUtils.java
@@ -0,0 +1,52 @@
+package com.sqx.common.utils;
+
+import com.sqx.common.exception.SqxException;
+import com.sqx.modules.sys.entity.SysUserEntity;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.subject.Subject;
+
+/**
+ * Shiro工具类
+ *
+ */
+public class ShiroUtils {
+
+ public static Session getSession() {
+ return SecurityUtils.getSubject().getSession();
+ }
+
+ public static Subject getSubject() {
+ return SecurityUtils.getSubject();
+ }
+
+ public static SysUserEntity getUserEntity() {
+ return (SysUserEntity)SecurityUtils.getSubject().getPrincipal();
+ }
+
+ public static Long getUserId() {
+ return getUserEntity().getUserId();
+ }
+
+ public static void setSessionAttribute(Object key, Object value) {
+ getSession().setAttribute(key, value);
+ }
+
+ public static Object getSessionAttribute(Object key) {
+ return getSession().getAttribute(key);
+ }
+
+ public static boolean isLogin() {
+ return SecurityUtils.getSubject().getPrincipal() != null;
+ }
+
+ public static String getKaptcha(String key) {
+ Object kaptcha = getSessionAttribute(key);
+ if(kaptcha == null){
+ throw new SqxException("验证码已失效");
+ }
+ getSession().removeAttribute(key);
+ return kaptcha.toString();
+ }
+
+}
diff --git a/src/main/java/com/sqx/common/utils/SpringContextUtils.java b/src/main/java/com/sqx/common/utils/SpringContextUtils.java
new file mode 100644
index 0000000..2061193
--- /dev/null
+++ b/src/main/java/com/sqx/common/utils/SpringContextUtils.java
@@ -0,0 +1,46 @@
+package com.sqx.common.utils;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+/**
+ * Spring Context 工具类
+ *
+ */
+@Component
+public class SpringContextUtils implements ApplicationContextAware {
+ public static ApplicationContext applicationContext;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext)
+ throws BeansException {
+ SpringContextUtils.applicationContext = applicationContext;
+ }
+
+ public static Object getBean(String name) {
+ return applicationContext.getBean(name);
+ }
+
+ public static T getBean(String name, Class requiredType) {
+ return applicationContext.getBean(name, requiredType);
+ }
+
+ public static T getBean(Class clazz) {
+ return applicationContext.getBean(clazz);
+ }
+
+ public static boolean containsBean(String name) {
+ return applicationContext.containsBean(name);
+ }
+
+ public static boolean isSingleton(String name) {
+ return applicationContext.isSingleton(name);
+ }
+
+ public static Class extends Object> getType(String name) {
+ return applicationContext.getType(name);
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/common/validator/Assert.java b/src/main/java/com/sqx/common/validator/Assert.java
new file mode 100644
index 0000000..3152500
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/Assert.java
@@ -0,0 +1,23 @@
+package com.sqx.common.validator;
+
+import com.sqx.common.exception.SqxException;
+import org.apache.commons.lang.StringUtils;
+
+/**
+ * 数据校验
+ *
+ */
+ public class Assert {
+
+ public static void isBlank(String str, String message) {
+ if (StringUtils.isBlank(str)) {
+ throw new SqxException(message);
+ }
+ }
+
+ public static void isNull(Object object, String message) {
+ if (object == null) {
+ throw new SqxException(message);
+ }
+ }
+}
diff --git a/src/main/java/com/sqx/common/validator/ValidatorUtils.java b/src/main/java/com/sqx/common/validator/ValidatorUtils.java
new file mode 100644
index 0000000..f771453
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/ValidatorUtils.java
@@ -0,0 +1,14 @@
+package com.sqx.common.validator;
+
+import com.sqx.common.exception.SqxException;
+
+
+
+public class ValidatorUtils {
+
+
+ public static void validateEntity(Object object, Class>... groups)
+ throws SqxException {
+
+ }
+}
diff --git a/src/main/java/com/sqx/common/validator/group/AddGroup.java b/src/main/java/com/sqx/common/validator/group/AddGroup.java
new file mode 100644
index 0000000..b7021b2
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/group/AddGroup.java
@@ -0,0 +1,8 @@
+package com.sqx.common.validator.group;
+
+/**
+ * 新增数据 Group
+ *
+ */
+public interface AddGroup {
+}
diff --git a/src/main/java/com/sqx/common/validator/group/AliyunGroup.java b/src/main/java/com/sqx/common/validator/group/AliyunGroup.java
new file mode 100644
index 0000000..d130a82
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/group/AliyunGroup.java
@@ -0,0 +1,8 @@
+package com.sqx.common.validator.group;
+
+/**
+ * 阿里云
+ *
+ */
+public interface AliyunGroup {
+}
diff --git a/src/main/java/com/sqx/common/validator/group/QcloudGroup.java b/src/main/java/com/sqx/common/validator/group/QcloudGroup.java
new file mode 100644
index 0000000..323a9ce
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/group/QcloudGroup.java
@@ -0,0 +1,8 @@
+package com.sqx.common.validator.group;
+
+/**
+ * 腾讯云
+ *
+ */
+public interface QcloudGroup {
+}
diff --git a/src/main/java/com/sqx/common/validator/group/QiniuGroup.java b/src/main/java/com/sqx/common/validator/group/QiniuGroup.java
new file mode 100644
index 0000000..17ab553
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/group/QiniuGroup.java
@@ -0,0 +1,8 @@
+package com.sqx.common.validator.group;
+
+/**
+ * 七牛
+ *
+ */
+public interface QiniuGroup {
+}
diff --git a/src/main/java/com/sqx/common/validator/group/UpdateGroup.java b/src/main/java/com/sqx/common/validator/group/UpdateGroup.java
new file mode 100644
index 0000000..fa0a242
--- /dev/null
+++ b/src/main/java/com/sqx/common/validator/group/UpdateGroup.java
@@ -0,0 +1,10 @@
+package com.sqx.common.validator.group;
+
+/**
+ * 更新数据 Group
+ *
+ */
+
+public interface UpdateGroup {
+
+}
diff --git a/src/main/java/com/sqx/common/websocket/WebSocketMessage.java b/src/main/java/com/sqx/common/websocket/WebSocketMessage.java
new file mode 100644
index 0000000..6dd687a
--- /dev/null
+++ b/src/main/java/com/sqx/common/websocket/WebSocketMessage.java
@@ -0,0 +1,39 @@
+package com.sqx.common.websocket;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @description:WebSocketMessage
+ * @author:zc.
+ * @createData:2024-1-10 下午 4:21
+ * @projectName:anmo
+ * @className:WebSocketMessage
+ * @packageName:com.sqx.websocket
+ */
+@Data
+public class WebSocketMessage {
+
+ /**
+ * 用户ID
+ */
+ private String fromId;
+
+ /**
+ * 对方ID
+ */
+ private String toOtherId;
+ /**
+ * 消息内容
+ */
+ private String message;
+
+ /**
+ * 发送时间
+ */
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ public Date date;
+
+}
diff --git a/src/main/java/com/sqx/common/websocket/WebSocketServer.java b/src/main/java/com/sqx/common/websocket/WebSocketServer.java
new file mode 100644
index 0000000..e60ca14
--- /dev/null
+++ b/src/main/java/com/sqx/common/websocket/WebSocketServer.java
@@ -0,0 +1,140 @@
+package com.sqx.common.websocket;
+
+
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sqx.modules.artificer.dao.ArtificerDao;
+import com.sqx.modules.artificer.dao.UserRechargeDao;
+import com.sqx.modules.artificer.entity.Artificer;
+import com.sqx.modules.artificer.entity.UserRecharge;
+import com.sqx.modules.common.dao.CommonInfoDao;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+/**
+ * @description:WebSocketServer 操作类
+ * @author:zc.
+ * @createData:2024-1-10 下午 4:21
+ * @projectName:anmo
+ * @className:WebSocketServer
+ * @packageName:com.sqx.websocket
+ */
+@ServerEndpoint("/ws/{userId}")
+@Component
+@Slf4j
+public class WebSocketServer {
+
+ @Autowired
+ private ArtificerDao artificerDao;
+ @Autowired
+ private UserRechargeDao userRechargeDao;
+ @Autowired
+ private CommonInfoDao commonInfoDao;
+ //静态初始化
+ public static WebSocketServer webSocketServer;
+
+ //保证Bean初始化前已经装配了属性
+ @PostConstruct
+ public void init() {
+ webSocketServer = this;
+ }
+
+ // 与某个客户端的连接会话,需要通过它来给客户端发送数据
+ private String userId;
+
+
+ // session集合,存放对应的session
+ private static ConcurrentHashMap sessionPool = new ConcurrentHashMap<>();
+
+ // concurrent包的线程安全Set,用来存放每个客户端对应的WebSocket对象。
+ private static CopyOnWriteArraySet webSocketSet = new CopyOnWriteArraySet<>();
+
+ /**
+ * 建立WebSocket连接
+ *
+ * @param session
+ * @param userId 用户ID
+ */
+ @OnOpen
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
+ log.info("WebSocket建立连接中,连接用户ID:{}", userId);
+ try {
+ Session historySession = sessionPool.get(userId);
+ // historySession不为空,说明已经有人登陆账号,应该删除登陆的WebSocket对象
+ if (historySession != null) {
+ webSocketSet.remove(historySession);
+ historySession.close();
+ }
+ } catch (IOException e) {
+ log.error("重复登录异常,错误信息:" + e.getMessage(), e);
+ }
+ // 建立连接
+ this.userId = userId;
+ webSocketSet.add(this);
+ sessionPool.put(userId, session);
+ log.info("建立连接完成,当前在线人数为:{}", webSocketSet.size());
+ }
+
+ /**
+ * 发生错误
+ *
+ * @param throwable e
+ */
+ @OnError
+ public void onError(Throwable throwable) {
+ throwable.printStackTrace();
+ }
+
+ /**
+ * 连接关闭
+ */
+ @OnClose
+ public void onClose() {
+ turnOffTheGoLive(this.userId);
+ webSocketSet.remove(this);
+ sessionPool.remove(this.userId);
+ log.info("连接断开,当前在线人数为:{}", webSocketSet.size());
+ }
+
+
+ /**
+ * 技师在线强制退出应用,改为离线状态
+ *
+ * @param userId 技师id
+ */
+ public void turnOffTheGoLive(String userId) {
+ Artificer artificer = webSocketServer.artificerDao.selectOne(Wrappers.lambdaUpdate().eq(Artificer::getUserId, userId));
+ Artificer artificerUpd = new Artificer();
+ artificerUpd.setStatus(2);
+ artificerUpd.setArtificerId(artificer.getArtificerId());
+ webSocketServer.artificerDao.updateById(artificerUpd);
+
+ Integer i = Integer.valueOf(webSocketServer.commonInfoDao.findOne(100000).getValue());
+ Date upTime = artificer.getUpTime();
+ long betweenDay = DateUtil.between(upTime, new Date(), DateUnit.MINUTE);
+ int i1 = new Long(betweenDay).intValue();
+ int count = i1 / i;
+ for (int i2 = 0; i2 < count; i2++) {
+ UserRecharge userRecharge = new UserRecharge();
+ userRecharge.setArtificerId(artificer.getArtificerId().intValue());
+ userRecharge.setUserRecharge(new BigDecimal("1"));
+ userRecharge.setType("1");
+ upTime = DateUtil.offsetMinute(upTime, i);
+ userRecharge.setCreateTime(upTime.toString());
+ webSocketServer.userRechargeDao.insert(userRecharge);
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/common/xss/HTMLFilter.java b/src/main/java/com/sqx/common/xss/HTMLFilter.java
new file mode 100644
index 0000000..1cc0e4f
--- /dev/null
+++ b/src/main/java/com/sqx/common/xss/HTMLFilter.java
@@ -0,0 +1,526 @@
+package com.sqx.common.xss;
+
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ *
+ * HTML filtering utility for protecting against XSS (Cross Site Scripting).
+ *
+ * This code is licensed LGPLv3
+ *
+ * This code is a Java port of the original work in PHP by Cal Hendersen.
+ * http://code.iamcal.com/php/lib_filter/
+ *
+ * The trickiest part of the translation was handling the differences in regex handling
+ * between PHP and Java. These resources were helpful in the process:
+ *
+ * http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
+ * http://us2.php.net/manual/en/reference.pcre.pattern.modifiers.php
+ * http://www.regular-expressions.info/modifiers.html
+ *
+ * A note on naming conventions: instance variables are prefixed with a "v"; global
+ * constants are in all caps.
+ *
+ * Sample use:
+ * String input = ...
+ * String clean = new HTMLFilter().filter( input );
+ *
+ * The class is not thread safe. Create a new instance if in doubt.
+ *
+ * If you find bugs or have suggestions on improvement (especially regarding
+ * performance), please contact us. The latest version of this
+ * source, and our contact details, can be found at http://xss-html-filter.sf.net
+ *
+ * @author Joseph O'Connell
+ * @author Cal Hendersen
+ * @author Michael Semb Wever
+ */
+public final class HTMLFilter {
+
+ /** regex flag union representing /si modifiers in php **/
+ private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL;
+ private static final Pattern P_COMMENTS = Pattern.compile("", Pattern.DOTALL);
+ private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI);
+ private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL);
+ private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI);
+ private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI);
+ private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI);
+ private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI);
+ private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI);
+ private static final Pattern P_ENTITY = Pattern.compile("(\\d+);?");
+ private static final Pattern P_ENTITY_UNICODE = Pattern.compile("([0-9a-f]+);?");
+ private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?");
+ private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))");
+ private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL);
+ private static final Pattern P_END_ARROW = Pattern.compile("^>");
+ private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)");
+ private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)");
+ private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)");
+ private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)");
+ private static final Pattern P_AMP = Pattern.compile("&");
+ private static final Pattern P_QUOTE = Pattern.compile("<");
+ private static final Pattern P_LEFT_ARROW = Pattern.compile("<");
+ private static final Pattern P_RIGHT_ARROW = Pattern.compile(">");
+ private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>");
+
+ // @xxx could grow large... maybe use sesat's ReferenceMap
+ private static final ConcurrentMap P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap();
+ private static final ConcurrentMap P_REMOVE_SELF_BLANKS = new ConcurrentHashMap();
+
+ /** set of allowed html elements, along with allowed attributes for each element **/
+ private final Map> vAllowed;
+ /** counts of open tags for each (allowable) html element **/
+ private final Map vTagCounts = new HashMap();
+
+ /** html elements which must always be self-closing (e.g. "
") **/
+ private final String[] vSelfClosingTags;
+ /** html elements which must always have separate opening and closing tags (e.g. "") **/
+ private final String[] vNeedClosingTags;
+ /** set of disallowed html elements **/
+ private final String[] vDisallowed;
+ /** attributes which should be checked for valid protocols **/
+ private final String[] vProtocolAtts;
+ /** allowed protocols **/
+ private final String[] vAllowedProtocols;
+ /** tags which should be removed if they contain no content (e.g. "" or "") **/
+ private final String[] vRemoveBlanks;
+ /** entities allowed within html markup **/
+ private final String[] vAllowedEntities;
+ /** flag determining whether comments are allowed in input String. */
+ private final boolean stripComment;
+ private final boolean encodeQuotes;
+ private boolean vDebug = false;
+ /**
+ * flag determining whether to try to make tags when presented with "unbalanced"
+ * angle brackets (e.g. "" becomes " text "). If set to false,
+ * unbalanced angle brackets will be html escaped.
+ */
+ private final boolean alwaysMakeTags;
+
+ /** Default constructor.
+ *
+ */
+ public HTMLFilter() {
+ vAllowed = new HashMap<>();
+
+ final ArrayList a_atts = new ArrayList();
+ a_atts.add("href");
+ a_atts.add("target");
+ vAllowed.put("a", a_atts);
+
+ final ArrayList img_atts = new ArrayList();
+ img_atts.add("src");
+ img_atts.add("width");
+ img_atts.add("height");
+ img_atts.add("alt");
+ vAllowed.put("img", img_atts);
+
+ final ArrayList no_atts = new ArrayList();
+ vAllowed.put("b", no_atts);
+ vAllowed.put("strong", no_atts);
+ vAllowed.put("i", no_atts);
+ vAllowed.put("em", no_atts);
+
+ vSelfClosingTags = new String[]{"img"};
+ vNeedClosingTags = new String[]{"a", "b", "strong", "i", "em"};
+ vDisallowed = new String[]{};
+ vAllowedProtocols = new String[]{"http", "mailto", "https"}; // no ftp.
+ vProtocolAtts = new String[]{"src", "href"};
+ vRemoveBlanks = new String[]{"a", "b", "strong", "i", "em"};
+ vAllowedEntities = new String[]{"amp", "gt", "lt", "quot"};
+ stripComment = true;
+ encodeQuotes = true;
+ alwaysMakeTags = true;
+ }
+
+ /** Set debug flag to true. Otherwise use default settings. See the default constructor.
+ *
+ * @param debug turn debug on with a true argument
+ */
+ public HTMLFilter(final boolean debug) {
+ this();
+ vDebug = debug;
+
+ }
+
+ /** Map-parameter configurable constructor.
+ *
+ * @param conf map containing configuration. keys match field names.
+ */
+ public HTMLFilter(final Map conf) {
+
+ assert conf.containsKey("vAllowed") : "configuration requires vAllowed";
+ assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags";
+ assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags";
+ assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed";
+ assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols";
+ assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts";
+ assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks";
+ assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities";
+
+ vAllowed = Collections.unmodifiableMap((HashMap>) conf.get("vAllowed"));
+ vSelfClosingTags = (String[]) conf.get("vSelfClosingTags");
+ vNeedClosingTags = (String[]) conf.get("vNeedClosingTags");
+ vDisallowed = (String[]) conf.get("vDisallowed");
+ vAllowedProtocols = (String[]) conf.get("vAllowedProtocols");
+ vProtocolAtts = (String[]) conf.get("vProtocolAtts");
+ vRemoveBlanks = (String[]) conf.get("vRemoveBlanks");
+ vAllowedEntities = (String[]) conf.get("vAllowedEntities");
+ stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true;
+ encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true;
+ alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true;
+ }
+
+ private void reset() {
+ vTagCounts.clear();
+ }
+
+ private void debug(final String msg) {
+ if (vDebug) {
+ Logger.getAnonymousLogger().info(msg);
+ }
+ }
+
+ //---------------------------------------------------------------
+ // my versions of some PHP library functions
+ public static String chr(final int decimal) {
+ return String.valueOf((char) decimal);
+ }
+
+ public static String htmlSpecialChars(final String s) {
+ String result = s;
+ result = regexReplace(P_AMP, "&", result);
+ result = regexReplace(P_QUOTE, """, result);
+ result = regexReplace(P_LEFT_ARROW, "<", result);
+ result = regexReplace(P_RIGHT_ARROW, ">", result);
+ return result;
+ }
+
+ //---------------------------------------------------------------
+ /**
+ * given a user submitted input String, filter out any invalid or restricted
+ * html.
+ *
+ * @param input text (i.e. submitted by a user) than may contain html
+ * @return "clean" version of input, with only valid, whitelisted html elements allowed
+ */
+ public String filter(final String input) {
+ reset();
+ String s = input;
+
+ debug("************************************************");
+ debug(" INPUT: " + input);
+
+ s = escapeComments(s);
+ debug(" escapeComments: " + s);
+
+ s = balanceHTML(s);
+ debug(" balanceHTML: " + s);
+
+ s = checkTags(s);
+ debug(" checkTags: " + s);
+
+ s = processRemoveBlanks(s);
+ debug("processRemoveBlanks: " + s);
+
+ s = validateEntities(s);
+ debug(" validateEntites: " + s);
+
+ debug("************************************************\n\n");
+ return s;
+ }
+
+ public boolean isAlwaysMakeTags(){
+ return alwaysMakeTags;
+ }
+
+ public boolean isStripComments(){
+ return stripComment;
+ }
+
+ private String escapeComments(final String s) {
+ final Matcher m = P_COMMENTS.matcher(s);
+ final StringBuffer buf = new StringBuffer();
+ if (m.find()) {
+ final String match = m.group(1); //(.*?)
+ m.appendReplacement(buf, Matcher.quoteReplacement(""));
+ }
+ m.appendTail(buf);
+
+ return buf.toString();
+ }
+
+ private String balanceHTML(String s) {
+ if (alwaysMakeTags) {
+ //
+ // try and form html
+ //
+ s = regexReplace(P_END_ARROW, "", s);
+ s = regexReplace(P_BODY_TO_END, "<$1>", s);
+ s = regexReplace(P_XML_CONTENT, "$1<$2", s);
+
+ } else {
+ //
+ // escape stray brackets
+ //
+ s = regexReplace(P_STRAY_LEFT_ARROW, "<$1", s);
+ s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2><", s);
+
+ //
+ // the last regexp causes '<>' entities to appear
+ // (we need to do a lookahead assertion so that the last bracket can
+ // be used in the next pass of the regexp)
+ //
+ s = regexReplace(P_BOTH_ARROWS, "", s);
+ }
+
+ return s;
+ }
+
+ private String checkTags(String s) {
+ Matcher m = P_TAGS.matcher(s);
+
+ final StringBuffer buf = new StringBuffer();
+ while (m.find()) {
+ String replaceStr = m.group(1);
+ replaceStr = processTag(replaceStr);
+ m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr));
+ }
+ m.appendTail(buf);
+
+ s = buf.toString();
+
+ // these get tallied in processTag
+ // (remember to reset before subsequent calls to filter method)
+ for (String key : vTagCounts.keySet()) {
+ for (int ii = 0; ii < vTagCounts.get(key); ii++) {
+ s += "" + key + ">";
+ }
+ }
+
+ return s;
+ }
+
+ private String processRemoveBlanks(final String s) {
+ String result = s;
+ for (String tag : vRemoveBlanks) {
+ if(!P_REMOVE_PAIR_BLANKS.containsKey(tag)){
+ P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?>" + tag + ">"));
+ }
+ result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result);
+ if(!P_REMOVE_SELF_BLANKS.containsKey(tag)){
+ P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>"));
+ }
+ result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result);
+ }
+
+ return result;
+ }
+
+ private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) {
+ Matcher m = regex_pattern.matcher(s);
+ return m.replaceAll(replacement);
+ }
+
+ private String processTag(final String s) {
+ // ending tags
+ Matcher m = P_END_TAG.matcher(s);
+ if (m.find()) {
+ final String name = m.group(1).toLowerCase();
+ if (allowed(name)) {
+ if (!inArray(name, vSelfClosingTags)) {
+ if (vTagCounts.containsKey(name)) {
+ vTagCounts.put(name, vTagCounts.get(name) - 1);
+ return "" + name + ">";
+ }
+ }
+ }
+ }
+
+ // starting tags
+ m = P_START_TAG.matcher(s);
+ if (m.find()) {
+ final String name = m.group(1).toLowerCase();
+ final String body = m.group(2);
+ String ending = m.group(3);
+
+ //debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" );
+ if (allowed(name)) {
+ String params = "";
+
+ final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body);
+ final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body);
+ final List paramNames = new ArrayList();
+ final List paramValues = new ArrayList();
+ while (m2.find()) {
+ paramNames.add(m2.group(1)); //([a-z0-9]+)
+ paramValues.add(m2.group(3)); //(.*?)
+ }
+ while (m3.find()) {
+ paramNames.add(m3.group(1)); //([a-z0-9]+)
+ paramValues.add(m3.group(3)); //([^\"\\s']+)
+ }
+
+ String paramName, paramValue;
+ for (int ii = 0; ii < paramNames.size(); ii++) {
+ paramName = paramNames.get(ii).toLowerCase();
+ paramValue = paramValues.get(ii);
+
+ if (allowedAttribute(name, paramName)) {
+ if (inArray(paramName, vProtocolAtts)) {
+ paramValue = processParamProtocol(paramValue);
+ }
+ params += " " + paramName + "=\"" + paramValue + "\"";
+ }
+ }
+
+ if (inArray(name, vSelfClosingTags)) {
+ ending = " /";
+ }
+
+ if (inArray(name, vNeedClosingTags)) {
+ ending = "";
+ }
+
+ if (ending == null || ending.length() < 1) {
+ if (vTagCounts.containsKey(name)) {
+ vTagCounts.put(name, vTagCounts.get(name) + 1);
+ } else {
+ vTagCounts.put(name, 1);
+ }
+ } else {
+ ending = " /";
+ }
+ return "<" + name + params + ending + ">";
+ } else {
+ return "";
+ }
+ }
+
+ // comments
+ m = P_COMMENT.matcher(s);
+ if (!stripComment && m.find()) {
+ return "<" + m.group() + ">";
+ }
+
+ return "";
+ }
+
+ private String processParamProtocol(String s) {
+ s = decodeEntities(s);
+ final Matcher m = P_PROTOCOL.matcher(s);
+ if (m.find()) {
+ final String protocol = m.group(1);
+ if (!inArray(protocol, vAllowedProtocols)) {
+ // bad protocol, turn into local anchor link instead
+ s = "#" + s.substring(protocol.length() + 1, s.length());
+ if (s.startsWith("#//")) {
+ s = "#" + s.substring(3, s.length());
+ }
+ }
+ }
+
+ return s;
+ }
+
+ private String decodeEntities(String s) {
+ StringBuffer buf = new StringBuffer();
+
+ Matcher m = P_ENTITY.matcher(s);
+ while (m.find()) {
+ final String match = m.group(1);
+ final int decimal = Integer.decode(match).intValue();
+ m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+ }
+ m.appendTail(buf);
+ s = buf.toString();
+
+ buf = new StringBuffer();
+ m = P_ENTITY_UNICODE.matcher(s);
+ while (m.find()) {
+ final String match = m.group(1);
+ final int decimal = Integer.valueOf(match, 16).intValue();
+ m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+ }
+ m.appendTail(buf);
+ s = buf.toString();
+
+ buf = new StringBuffer();
+ m = P_ENCODE.matcher(s);
+ while (m.find()) {
+ final String match = m.group(1);
+ final int decimal = Integer.valueOf(match, 16).intValue();
+ m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+ }
+ m.appendTail(buf);
+ s = buf.toString();
+
+ s = validateEntities(s);
+ return s;
+ }
+
+ private String validateEntities(final String s) {
+ StringBuffer buf = new StringBuffer();
+
+ // validate entities throughout the string
+ Matcher m = P_VALID_ENTITIES.matcher(s);
+ while (m.find()) {
+ final String one = m.group(1); //([^&;]*)
+ final String two = m.group(2); //(?=(;|&|$))
+ m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two)));
+ }
+ m.appendTail(buf);
+
+ return encodeQuotes(buf.toString());
+ }
+
+ private String encodeQuotes(final String s){
+ if(encodeQuotes){
+ StringBuffer buf = new StringBuffer();
+ Matcher m = P_VALID_QUOTES.matcher(s);
+ while (m.find()) {
+ final String one = m.group(1); //(>|^)
+ final String two = m.group(2); //([^<]+?)
+ final String three = m.group(3); //(<|$)
+ m.appendReplacement(buf, Matcher.quoteReplacement(one + regexReplace(P_QUOTE, """, two) + three));
+ }
+ m.appendTail(buf);
+ return buf.toString();
+ }else{
+ return s;
+ }
+ }
+
+ private String checkEntity(final String preamble, final String term) {
+
+ return ";".equals(term) && isValidEntity(preamble)
+ ? '&' + preamble
+ : "&" + preamble;
+ }
+
+ private boolean isValidEntity(final String entity) {
+ return inArray(entity, vAllowedEntities);
+ }
+
+ private static boolean inArray(final String s, final String[] array) {
+ for (String item : array) {
+ if (item != null && item.equals(s)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean allowed(final String name) {
+ return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed);
+ }
+
+ private boolean allowedAttribute(final String name, final String paramName) {
+ return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName));
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/common/xss/SQLFilter.java b/src/main/java/com/sqx/common/xss/SQLFilter.java
new file mode 100644
index 0000000..b16ad39
--- /dev/null
+++ b/src/main/java/com/sqx/common/xss/SQLFilter.java
@@ -0,0 +1,41 @@
+package com.sqx.common.xss;
+
+import com.sqx.common.exception.SqxException;
+import org.apache.commons.lang.StringUtils;
+
+/**
+ * SQL过滤
+ *
+ */
+public class SQLFilter {
+
+ /**
+ * SQL注入过滤
+ * @param str 待验证的字符串
+ */
+ public static String sqlInject(String str){
+ if(StringUtils.isBlank(str)){
+ return null;
+ }
+ //去掉'|"|;|\字符
+ str = StringUtils.replace(str, "'", "");
+ str = StringUtils.replace(str, "\"", "");
+ str = StringUtils.replace(str, ";", "");
+ str = StringUtils.replace(str, "\\", "");
+
+ //转换成小写
+ str = str.toLowerCase();
+
+ //非法字符
+ String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
+
+ //判断是否包含非法字符
+ for(String keyword : keywords){
+ if(str.indexOf(keyword) != -1){
+ throw new SqxException("包含非法字符");
+ }
+ }
+
+ return str;
+ }
+}
diff --git a/src/main/java/com/sqx/common/xss/XssFilter.java b/src/main/java/com/sqx/common/xss/XssFilter.java
new file mode 100644
index 0000000..2ece381
--- /dev/null
+++ b/src/main/java/com/sqx/common/xss/XssFilter.java
@@ -0,0 +1,46 @@
+package com.sqx.common.xss;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * XSS过滤
+ *
+ */
+public class XssFilter implements Filter {
+
+ @Override
+ public void init(FilterConfig config) throws ServletException {
+ }
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
+ HttpServletRequest hreq = (HttpServletRequest) request;
+ HttpServletResponse hresp = (HttpServletResponse) response;
+
+ //跨域
+ hresp.setHeader("Access-Control-Allow-Origin", "*");
+
+
+ //跨域 Header
+
+ hresp.setHeader("Access-Control-Allow-Methods", "*");
+
+ hresp.setHeader("Access-Control-Allow-Headers", "*");
+
+ // Filter 只是链式处理,请求依然转发到目的地址。
+
+ chain.doFilter(request, response);
+ /*XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(
+ (HttpServletRequest) request);
+ chain.doFilter(xssRequest, response);*/
+ }
+
+ @Override
+ public void destroy() {
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/common/xss/XssHttpServletRequestWrapper.java b/src/main/java/com/sqx/common/xss/XssHttpServletRequestWrapper.java
new file mode 100644
index 0000000..d9700e9
--- /dev/null
+++ b/src/main/java/com/sqx/common/xss/XssHttpServletRequestWrapper.java
@@ -0,0 +1,138 @@
+package com.sqx.common.xss;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * XSS过滤处理
+ *
+ */
+public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
+ //没被包装过的HttpServletRequest(特殊场景,需要自己过滤)
+ HttpServletRequest orgRequest;
+ //html过滤
+ private final static HTMLFilter HtmlFilter = new HTMLFilter();
+
+ public XssHttpServletRequestWrapper(HttpServletRequest request) {
+ super(request);
+ orgRequest = request;
+ }
+
+ @Override
+ public ServletInputStream getInputStream() throws IOException {
+ //非json类型,直接返回
+ if(!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))){
+ return super.getInputStream();
+ }
+
+ //为空,直接返回
+ String json = IOUtils.toString(super.getInputStream(), "utf-8");
+ if (StringUtils.isBlank(json)) {
+ return super.getInputStream();
+ }
+
+ //xss过滤
+ json = xssEncode(json);
+ final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8"));
+ return new ServletInputStream() {
+ @Override
+ public boolean isFinished() {
+ return true;
+ }
+
+ @Override
+ public boolean isReady() {
+ return true;
+ }
+
+ @Override
+ public void setReadListener(ReadListener readListener) {
+
+ }
+
+ @Override
+ public int read() throws IOException {
+ return bis.read();
+ }
+ };
+ }
+
+ @Override
+ public String getParameter(String name) {
+ String value = super.getParameter(xssEncode(name));
+ if (StringUtils.isNotBlank(value)) {
+ value = xssEncode(value);
+ }
+ return value;
+ }
+
+ @Override
+ public String[] getParameterValues(String name) {
+ String[] parameters = super.getParameterValues(name);
+ if (parameters == null || parameters.length == 0) {
+ return null;
+ }
+
+ for (int i = 0; i < parameters.length; i++) {
+ parameters[i] = xssEncode(parameters[i]);
+ }
+ return parameters;
+ }
+
+ @Override
+ public Map getParameterMap() {
+ Map map = new LinkedHashMap<>();
+ Map parameters = super.getParameterMap();
+ for (String key : parameters.keySet()) {
+ String[] values = parameters.get(key);
+ for (int i = 0; i < values.length; i++) {
+ values[i] = xssEncode(values[i]);
+ }
+ map.put(key, values);
+ }
+ return map;
+ }
+
+ @Override
+ public String getHeader(String name) {
+ String value = super.getHeader(xssEncode(name));
+ if (StringUtils.isNotBlank(value)) {
+ value = xssEncode(value);
+ }
+ return value;
+ }
+
+ private String xssEncode(String input) {
+ return HtmlFilter.filter(input);
+ }
+
+ /**
+ * 获取最原始的request
+ */
+ public HttpServletRequest getOrgRequest() {
+ return orgRequest;
+ }
+
+ /**
+ * 获取最原始的request
+ */
+ public static HttpServletRequest getOrgRequest(HttpServletRequest request) {
+ if (request instanceof XssHttpServletRequestWrapper) {
+ return ((XssHttpServletRequestWrapper) request).getOrgRequest();
+ }
+
+ return request;
+ }
+
+}
diff --git a/src/main/java/com/sqx/config/CorsConfig.java b/src/main/java/com/sqx/config/CorsConfig.java
new file mode 100644
index 0000000..781ce11
--- /dev/null
+++ b/src/main/java/com/sqx/config/CorsConfig.java
@@ -0,0 +1,47 @@
+package com.sqx.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+
+/**
+ * 跨域设置
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+ /*private CorsConfiguration buildConfig() {
+ CorsConfiguration corsConfiguration = new CorsConfiguration();
+ // 1允许任何域名使用
+ corsConfiguration.addAllowedOrigin("*");
+ // 2允许任何头
+ corsConfiguration.addAllowedHeader("*");
+ // 3允许任何方法(post、get等)
+ corsConfiguration.addAllowedMethod("*");
+ return corsConfiguration;
+ }
+
+ @Bean
+ public CorsFilter corsFilter() {
+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+ source.registerCorsConfiguration("/**", buildConfig());
+ return new CorsFilter(source);
+ }*/
+
+
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**")
+ .allowedOriginPatterns("*")
+ .allowCredentials(true)
+ .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
+ .maxAge(3600);
+ }
+
+
+}
diff --git a/src/main/java/com/sqx/config/FilterConfig.java b/src/main/java/com/sqx/config/FilterConfig.java
new file mode 100644
index 0000000..778e0b2
--- /dev/null
+++ b/src/main/java/com/sqx/config/FilterConfig.java
@@ -0,0 +1,40 @@
+package com.sqx.config;
+
+import com.sqx.common.xss.XssFilter;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.filter.DelegatingFilterProxy;
+
+import javax.servlet.DispatcherType;
+
+/**
+ * Filter配置
+ *
+ */
+@Configuration
+public class FilterConfig {
+
+ @Bean
+ public FilterRegistrationBean shiroFilterRegistration() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+ registration.setFilter(new DelegatingFilterProxy("shiroFilter"));
+ //该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由ServletContainer管理
+ registration.addInitParameter("targetFilterLifecycle", "true");
+ registration.setEnabled(true);
+ registration.setOrder(Integer.MAX_VALUE - 1);
+ registration.addUrlPatterns("/*");
+ return registration;
+ }
+
+ @Bean
+ public FilterRegistrationBean xssFilterRegistration() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+ registration.setDispatcherTypes(DispatcherType.REQUEST);
+ registration.setFilter(new XssFilter());
+ registration.addUrlPatterns("/*");
+ registration.setName("xssFilter");
+ registration.setOrder(Integer.MAX_VALUE);
+ return registration;
+ }
+}
diff --git a/src/main/java/com/sqx/config/KaptchaConfig.java b/src/main/java/com/sqx/config/KaptchaConfig.java
new file mode 100644
index 0000000..ea8c936
--- /dev/null
+++ b/src/main/java/com/sqx/config/KaptchaConfig.java
@@ -0,0 +1,30 @@
+package com.sqx.config;
+
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.google.code.kaptcha.util.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+
+/**
+ * 生成验证码配置
+ *
+ */
+@Configuration
+public class KaptchaConfig {
+
+ @Bean
+ public DefaultKaptcha producer() {
+ Properties properties = new Properties();
+ properties.put("kaptcha.border", "no");
+ properties.put("kaptcha.textproducer.font.color", "black");
+ properties.put("kaptcha.textproducer.char.space", "5");
+ properties.put("kaptcha.textproducer.font.names", "Arial,Courier,cmr10,宋体,楷体,微软雅黑");
+ Config config = new Config(properties);
+ DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+ defaultKaptcha.setConfig(config);
+ return defaultKaptcha;
+ }
+}
diff --git a/src/main/java/com/sqx/config/MybatisPlusConfig.java b/src/main/java/com/sqx/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..97edf00
--- /dev/null
+++ b/src/main/java/com/sqx/config/MybatisPlusConfig.java
@@ -0,0 +1,22 @@
+package com.sqx.config;
+
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * mybatis-plus配置
+ *
+ */
+@Configuration
+public class MybatisPlusConfig {
+
+ /**
+ * 分页插件
+ */
+ @Bean
+ public PaginationInterceptor paginationInterceptor() {
+ return new PaginationInterceptor();
+ }
+
+}
diff --git a/src/main/java/com/sqx/config/RedisConfig.java b/src/main/java/com/sqx/config/RedisConfig.java
new file mode 100644
index 0000000..deb93e2
--- /dev/null
+++ b/src/main/java/com/sqx/config/RedisConfig.java
@@ -0,0 +1,54 @@
+package com.sqx.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.*;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * Redis配置
+ *
+ */
+@Configuration
+public class RedisConfig {
+ @Autowired
+ private RedisConnectionFactory factory;
+
+ @Bean
+ public RedisTemplate redisTemplate() {
+ RedisTemplate redisTemplate = new RedisTemplate<>();
+ redisTemplate.setKeySerializer(new StringRedisSerializer());
+ redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+ redisTemplate.setHashValueSerializer(new StringRedisSerializer());
+ redisTemplate.setValueSerializer(new StringRedisSerializer());
+ redisTemplate.setConnectionFactory(factory);
+ return redisTemplate;
+ }
+
+ @Bean
+ public HashOperations hashOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForHash();
+ }
+
+ @Bean
+ public ValueOperations valueOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForValue();
+ }
+
+ @Bean
+ public ListOperations listOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForList();
+ }
+
+ @Bean
+ public SetOperations setOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForSet();
+ }
+
+ @Bean
+ public ZSetOperations zSetOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForZSet();
+ }
+}
diff --git a/src/main/java/com/sqx/config/ShiroConfig.java b/src/main/java/com/sqx/config/ShiroConfig.java
new file mode 100644
index 0000000..bb181fe
--- /dev/null
+++ b/src/main/java/com/sqx/config/ShiroConfig.java
@@ -0,0 +1,106 @@
+package com.sqx.config;
+
+import com.sqx.modules.sys.oauth2.OAuth2Filter;
+import com.sqx.modules.sys.oauth2.OAuth2Realm;
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.spring.LifecycleBeanPostProcessor;
+import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.servlet.Filter;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Shiro配置
+ *
+ */
+@Configuration
+public class ShiroConfig {
+
+ @Bean("securityManager")
+ public SecurityManager securityManager(OAuth2Realm oAuth2Realm) {
+ DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+ securityManager.setRealm(oAuth2Realm);
+ securityManager.setRememberMeManager(null);
+ return securityManager;
+ }
+
+ @Bean("shiroFilter")
+ public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
+ ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
+ shiroFilter.setSecurityManager(securityManager);
+
+ //oauth过滤
+ Map filters = new HashMap<>();
+ filters.put("oauth2", new OAuth2Filter());
+ shiroFilter.setFilters(filters);
+
+ Map filterMap = new LinkedHashMap<>();
+ filterMap.put("/webjars/**", "anon");
+ filterMap.put("/druid/**", "anon");
+
+ filterMap.put("/advert/list", "anon");
+ filterMap.put("/goods/recommend", "anon");
+ filterMap.put("/selfActivity/state", "anon");
+ filterMap.put("/goods/homeGoods", "anon");
+ filterMap.put("/goods/find", "anon");
+ filterMap.put("/goods/selectGoods", "anon");
+ filterMap.put("/selfActivity/list", "anon");
+ filterMap.put("/pay/**", "anon");
+ filterMap.put("/aliPay/**", "anon");
+ filterMap.put("/order/**", "anon");
+ filterMap.put("/pays/notifyPay", "anon");
+ filterMap.put("/selfGoodsBrand/find", "anon");
+ filterMap.put("/selfGoodsComment/list", "anon");
+ filterMap.put("/selfGoodsComment/count", "anon");
+ filterMap.put("/selfGoodsComment/findByOrderId", "anon");
+ filterMap.put("/selfGoodsComment/find", "anon");
+ filterMap.put("/goods/brandList", "anon");
+
+
+ filterMap.put("/app/wxPay/notifyJsApi", "anon");
+ filterMap.put("/app/wxPay/notifyMp", "anon");
+ filterMap.put("/app/wxPay/notify", "anon");
+ filterMap.put("/app/aliPay/notifyApp", "anon");
+ filterMap.put("/app/**", "anon");
+ filterMap.put("/activity/**", "anon");
+ filterMap.put("/banner/**", "anon");
+ filterMap.put("/courseClassification/selectCourseClassification", "anon");
+ filterMap.put("/sys/login", "anon");
+ filterMap.put("/swagger/**", "anon");
+ filterMap.put("/v2/api-docs", "anon");
+ filterMap.put("/swagger-ui.html", "anon");
+ filterMap.put("/swagger-resources/**", "anon");
+ filterMap.put("/captcha.jpg", "anon");
+ filterMap.put("/chatSocket/**", "anon");
+ filterMap.put("/websocket/**", "anon");
+ filterMap.put("/mapWebsocket/**", "anon");
+ filterMap.put("/monitorWebSocket/**", "anon");
+ filterMap.put("/search/**", "anon");
+ filterMap.put("/alioss/**","anon");
+ filterMap.put("/ws/**","anon");
+ filterMap.put("/doc.html/**","anon");
+ filterMap.put("/**", "oauth2");
+ shiroFilter.setFilterChainDefinitionMap(filterMap);
+
+ return shiroFilter;
+ }
+
+ @Bean("lifecycleBeanPostProcessor")
+ public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
+ return new LifecycleBeanPostProcessor();
+ }
+
+ @Bean
+ public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
+ AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();
+ advisor.setSecurityManager(securityManager);
+ return advisor;
+ }
+
+}
diff --git a/src/main/java/com/sqx/config/SwaggerConfig.java b/src/main/java/com/sqx/config/SwaggerConfig.java
new file mode 100644
index 0000000..f573a38
--- /dev/null
+++ b/src/main/java/com/sqx/config/SwaggerConfig.java
@@ -0,0 +1,55 @@
+package com.sqx.config;
+
+import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.ApiKey;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.List;
+
+import static com.google.common.collect.Lists.newArrayList;
+
+@Configuration
+@EnableSwagger2
+@EnableKnife4j
+public class SwaggerConfig implements WebMvcConfigurer {
+
+ @Bean
+ public Docket createRestApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .select()
+ //加了ApiOperation注解的类,才生成接口文档
+ .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+ //包下的类,才生成接口文档
+ //.apis(RequestHandlerSelectors.basePackage("com.sqx.controller"))
+ .paths(PathSelectors.any())
+ .build()
+ .securitySchemes(security());
+ }
+
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("")
+ .description("sqx-fast文档")
+ .termsOfServiceUrl("")
+ .version("3.0.0")
+ .build();
+ }
+
+ private List security() {
+ return newArrayList(
+ new ApiKey("token", "token", "header")
+ );
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/datasource/annotation/DataSource.java b/src/main/java/com/sqx/datasource/annotation/DataSource.java
new file mode 100644
index 0000000..082da71
--- /dev/null
+++ b/src/main/java/com/sqx/datasource/annotation/DataSource.java
@@ -0,0 +1,14 @@
+package com.sqx.datasource.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 多数据源注解
+ */
+@Target({ElementType.METHOD, ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+public @interface DataSource {
+ String value() default "";
+}
diff --git a/src/main/java/com/sqx/datasource/aspect/DataSourceAspect.java b/src/main/java/com/sqx/datasource/aspect/DataSourceAspect.java
new file mode 100644
index 0000000..b3c5d0a
--- /dev/null
+++ b/src/main/java/com/sqx/datasource/aspect/DataSourceAspect.java
@@ -0,0 +1,61 @@
+package com.sqx.datasource.aspect;
+
+
+import com.sqx.datasource.annotation.DataSource;
+import com.sqx.datasource.config.DynamicContextHolder;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+/**
+ * 多数据源,切面处理类
+ */
+@Aspect
+@Component
+@Order(Ordered.HIGHEST_PRECEDENCE)
+public class DataSourceAspect {
+ protected Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Pointcut("@annotation(com.sqx.datasource.annotation.DataSource) " +
+ "|| @within(com.sqx.datasource.annotation.DataSource)")
+ public void dataSourcePointCut() {
+
+ }
+
+ @Around("dataSourcePointCut()")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ MethodSignature signature = (MethodSignature) point.getSignature();
+ Class targetClass = point.getTarget().getClass();
+ Method method = signature.getMethod();
+
+ DataSource targetDataSource = (DataSource)targetClass.getAnnotation(DataSource.class);
+ DataSource methodDataSource = method.getAnnotation(DataSource.class);
+ if(targetDataSource != null || methodDataSource != null){
+ String value;
+ if(methodDataSource != null){
+ value = methodDataSource.value();
+ }else {
+ value = targetDataSource.value();
+ }
+
+ DynamicContextHolder.push(value);
+ logger.debug("set datasource is {}", value);
+ }
+
+ try {
+ return point.proceed();
+ } finally {
+ DynamicContextHolder.poll();
+ logger.debug("clean datasource");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/datasource/config/DynamicContextHolder.java b/src/main/java/com/sqx/datasource/config/DynamicContextHolder.java
new file mode 100644
index 0000000..f059bf7
--- /dev/null
+++ b/src/main/java/com/sqx/datasource/config/DynamicContextHolder.java
@@ -0,0 +1,47 @@
+package com.sqx.datasource.config;
+
+import java.util.ArrayDeque;
+import java.util.Deque;
+
+/**
+ * 多数据源上下文
+ */
+public class DynamicContextHolder {
+ @SuppressWarnings("unchecked")
+ private static final ThreadLocal> CONTEXT_HOLDER = new ThreadLocal() {
+ @Override
+ protected Object initialValue() {
+ return new ArrayDeque();
+ }
+ };
+
+ /**
+ * 获得当前线程数据源
+ *
+ * @return 数据源名称
+ */
+ public static String peek() {
+ return CONTEXT_HOLDER.get().peek();
+ }
+
+ /**
+ * 设置当前线程数据源
+ *
+ * @param dataSource 数据源名称
+ */
+ public static void push(String dataSource) {
+ CONTEXT_HOLDER.get().push(dataSource);
+ }
+
+ /**
+ * 清空当前线程数据源
+ */
+ public static void poll() {
+ Deque deque = CONTEXT_HOLDER.get();
+ deque.poll();
+ if (deque.isEmpty()) {
+ CONTEXT_HOLDER.remove();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/datasource/config/DynamicDataSource.java b/src/main/java/com/sqx/datasource/config/DynamicDataSource.java
new file mode 100644
index 0000000..4374032
--- /dev/null
+++ b/src/main/java/com/sqx/datasource/config/DynamicDataSource.java
@@ -0,0 +1,15 @@
+package com.sqx.datasource.config;
+
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+
+/**
+ * 多数据源
+ */
+public class DynamicDataSource extends AbstractRoutingDataSource {
+
+ @Override
+ protected Object determineCurrentLookupKey() {
+ return DynamicContextHolder.peek();
+ }
+
+}
diff --git a/src/main/java/com/sqx/datasource/config/DynamicDataSourceConfig.java b/src/main/java/com/sqx/datasource/config/DynamicDataSourceConfig.java
new file mode 100644
index 0000000..9c1033f
--- /dev/null
+++ b/src/main/java/com/sqx/datasource/config/DynamicDataSourceConfig.java
@@ -0,0 +1,53 @@
+package com.sqx.datasource.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.sqx.datasource.properties.DataSourceProperties;
+import com.sqx.datasource.properties.DynamicDataSourceProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 配置多数据源
+ */
+@Configuration
+@EnableConfigurationProperties(DynamicDataSourceProperties.class)
+public class DynamicDataSourceConfig {
+ @Autowired
+ private DynamicDataSourceProperties properties;
+
+ @Bean
+ @ConfigurationProperties(prefix = "spring.datasource.druid")
+ public DataSourceProperties dataSourceProperties() {
+ return new DataSourceProperties();
+ }
+
+ @Bean
+ public DynamicDataSource dynamicDataSource(DataSourceProperties dataSourceProperties) {
+ DynamicDataSource dynamicDataSource = new DynamicDataSource();
+ dynamicDataSource.setTargetDataSources(getDynamicDataSource());
+
+ //默认数据源
+ DruidDataSource defaultDataSource = DynamicDataSourceFactory.buildDruidDataSource(dataSourceProperties);
+ dynamicDataSource.setDefaultTargetDataSource(defaultDataSource);
+
+ return dynamicDataSource;
+ }
+
+ private Map