gitextract_hjh0math/ ├── .gitignore ├── LICENSE ├── README.md ├── bin/ │ ├── clean.bat │ ├── package.bat │ └── run.bat ├── pom.xml ├── ruoyi-admin/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── ruoyi/ │ │ │ ├── RuoYiApplication.java │ │ │ ├── RuoYiServletInitializer.java │ │ │ └── web/ │ │ │ ├── controller/ │ │ │ │ ├── common/ │ │ │ │ │ ├── CaptchaController.java │ │ │ │ │ ├── CodeController.java │ │ │ │ │ ├── CommonController.java │ │ │ │ │ └── OssController.java │ │ │ │ ├── monitor/ │ │ │ │ │ ├── CacheController.java │ │ │ │ │ ├── ServerController.java │ │ │ │ │ ├── SysLogininforController.java │ │ │ │ │ ├── SysOperlogController.java │ │ │ │ │ └── SysUserOnlineController.java │ │ │ │ ├── system/ │ │ │ │ │ ├── ConfigController.java │ │ │ │ │ ├── SysConfigController.java │ │ │ │ │ ├── SysDeptController.java │ │ │ │ │ ├── SysDictDataController.java │ │ │ │ │ ├── SysDictTypeController.java │ │ │ │ │ ├── SysIndexController.java │ │ │ │ │ ├── SysLoginController.java │ │ │ │ │ ├── SysMenuController.java │ │ │ │ │ ├── SysNoticeController.java │ │ │ │ │ ├── SysPostController.java │ │ │ │ │ ├── SysProfileController.java │ │ │ │ │ ├── SysRegisterController.java │ │ │ │ │ ├── SysRoleController.java │ │ │ │ │ └── SysUserController.java │ │ │ │ └── tool/ │ │ │ │ ├── SwaggerController.java │ │ │ │ └── TestController.java │ │ │ └── core/ │ │ │ └── config/ │ │ │ ├── H5MemberInterceptor.java │ │ │ ├── MvcConfig.java │ │ │ └── SwaggerConfig.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring-devtools.properties │ │ ├── application-druid.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── i18n/ │ │ │ └── messages.properties │ │ ├── logback.xml │ │ └── mybatis/ │ │ └── mybatis-config.xml │ └── test/ │ └── java/ │ └── com/ │ └── fjp/ │ └── lc/ │ └── test/ │ ├── common/ │ │ └── CommonTest.java │ └── service/ │ ├── ControllerTest.java │ ├── OssTest.java │ ├── ServiceTest.java │ └── WechatTest.java ├── ruoyi-common/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── ruoyi/ │ └── common/ │ ├── annotation/ │ │ ├── DataScope.java │ │ ├── DataSource.java │ │ ├── Excel.java │ │ ├── Excels.java │ │ ├── Log.java │ │ ├── RateLimiter.java │ │ └── RepeatSubmit.java │ ├── config/ │ │ ├── RuoYiConfig.java │ │ ├── SmsConfig.java │ │ └── properties/ │ │ └── SmsProperties.java │ ├── constant/ │ │ ├── CacheConstants.java │ │ ├── CommonConstant.java │ │ ├── Constants.java │ │ ├── GenConstants.java │ │ ├── HttpStatus.java │ │ ├── ScheduleConstants.java │ │ └── UserConstants.java │ ├── core/ │ │ ├── controller/ │ │ │ └── BaseController.java │ │ ├── domain/ │ │ │ ├── AjaxResult.java │ │ │ ├── BaseAudit.java │ │ │ ├── BaseEntity.java │ │ │ ├── IQuery.java │ │ │ ├── TreeEntity.java │ │ │ ├── TreeSelect.java │ │ │ ├── entity/ │ │ │ │ ├── SysDept.java │ │ │ │ ├── SysDictData.java │ │ │ │ ├── SysDictType.java │ │ │ │ ├── SysMenu.java │ │ │ │ ├── SysRole.java │ │ │ │ └── SysUser.java │ │ │ └── model/ │ │ │ ├── ExtraUserBody.java │ │ │ ├── LoginBody.java │ │ │ ├── LoginMember.java │ │ │ ├── LoginUser.java │ │ │ ├── PhoneLoginBody.java │ │ │ ├── RegisterBody.java │ │ │ └── SmsResult.java │ │ ├── mybatis/ │ │ │ ├── BaseAuditInterceptor.java │ │ │ ├── MybatisAutoSetUserAuditInfoInterceptor.java │ │ │ └── MybatisId.java │ │ ├── page/ │ │ │ ├── PageDomain.java │ │ │ ├── TableDataInfo.java │ │ │ └── TableSupport.java │ │ ├── redis/ │ │ │ ├── RedisCache.java │ │ │ └── RedisService.java │ │ ├── sms/ │ │ │ ├── AliyunSmsTemplate.java │ │ │ └── SmsTemplate.java │ │ └── text/ │ │ ├── CharsetKit.java │ │ ├── Convert.java │ │ └── StrFormatter.java │ ├── enums/ │ │ ├── AftersaleStatus.java │ │ ├── BusinessStatus.java │ │ ├── BusinessType.java │ │ ├── DataSourceType.java │ │ ├── HttpMethod.java │ │ ├── LimitType.java │ │ ├── OperatorType.java │ │ ├── OrderRefundStatus.java │ │ ├── OrderStatus.java │ │ ├── TradeStatusEnum.java │ │ └── UserStatus.java │ ├── exception/ │ │ ├── DemoModeException.java │ │ ├── GlobalException.java │ │ ├── ServiceException.java │ │ ├── UtilException.java │ │ ├── base/ │ │ │ └── BaseException.java │ │ ├── file/ │ │ │ ├── FileException.java │ │ │ ├── FileNameLengthLimitExceededException.java │ │ │ ├── FileSizeLimitExceededException.java │ │ │ └── InvalidExtensionException.java │ │ ├── job/ │ │ │ └── TaskException.java │ │ ├── sms/ │ │ │ └── SmsException.java │ │ └── user/ │ │ ├── CaptchaException.java │ │ ├── CaptchaExpireException.java │ │ ├── UserException.java │ │ └── UserPasswordNotMatchException.java │ ├── filter/ │ │ ├── RepeatableFilter.java │ │ ├── RepeatedlyRequestWrapper.java │ │ ├── XssFilter.java │ │ └── XssHttpServletRequestWrapper.java │ └── utils/ │ ├── AesCryptoUtils.java │ ├── Arith.java │ ├── DateUtils.java │ ├── DictUtils.java │ ├── ExceptionUtil.java │ ├── IDGenerator.java │ ├── JsonUtils.java │ ├── LogUtils.java │ ├── MessageUtils.java │ ├── OssUtils.java │ ├── PhoneUtils.java │ ├── ResponseUtils.java │ ├── SecurityUtils.java │ ├── ServletUtils.java │ ├── SmsUtils.java │ ├── SortUtil.java │ ├── StringUtils.java │ ├── Threads.java │ ├── VerifyCodeUtils.java │ ├── bean/ │ │ └── BeanUtils.java │ ├── file/ │ │ ├── FileTypeUtils.java │ │ ├── FileUploadUtils.java │ │ ├── FileUtils.java │ │ ├── ImageUtils.java │ │ └── MimeTypeUtils.java │ ├── html/ │ │ ├── EscapeUtil.java │ │ └── HTMLFilter.java │ ├── http/ │ │ ├── HttpHelper.java │ │ └── HttpUtils.java │ ├── ip/ │ │ ├── AddressUtils.java │ │ └── IpUtils.java │ ├── poi/ │ │ ├── ExcelHandlerAdapter.java │ │ └── ExcelUtil.java │ ├── reflect/ │ │ └── ReflectUtils.java │ ├── sign/ │ │ ├── Base64.java │ │ └── Md5Utils.java │ ├── spring/ │ │ └── SpringUtils.java │ ├── sql/ │ │ └── SqlUtil.java │ └── uuid/ │ ├── IdUtils.java │ └── UUID.java ├── ruoyi-framework/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── ruoyi/ │ └── framework/ │ ├── aspectj/ │ │ ├── DataScopeAspect.java │ │ ├── DataSourceAspect.java │ │ ├── LogAspect.java │ │ ├── LoggingAspect.java │ │ └── RateLimiterAspect.java │ ├── config/ │ │ ├── ApplicationConfig.java │ │ ├── CaptchaConfig.java │ │ ├── DruidConfig.java │ │ ├── FastJson2JsonRedisSerializer.java │ │ ├── FilterConfig.java │ │ ├── KaptchaTextCreator.java │ │ ├── LocalDataUtil.java │ │ ├── MyBatisConfig.java │ │ ├── MybatisPlusConfig.java │ │ ├── PaginationConfiguration.java │ │ ├── RedisConfig.java │ │ ├── ResourcesConfig.java │ │ ├── SecurityConfig.java │ │ ├── ServerConfig.java │ │ ├── ThreadPoolConfig.java │ │ └── properties/ │ │ └── DruidProperties.java │ ├── datasource/ │ │ ├── DynamicDataSource.java │ │ └── DynamicDataSourceContextHolder.java │ ├── interceptor/ │ │ ├── RepeatSubmitInterceptor.java │ │ └── impl/ │ │ └── SameUrlDataInterceptor.java │ ├── manager/ │ │ ├── AsyncManager.java │ │ ├── ShutdownManager.java │ │ └── factory/ │ │ └── AsyncFactory.java │ ├── security/ │ │ ├── filter/ │ │ │ └── JwtAuthenticationTokenFilter.java │ │ └── handle/ │ │ ├── AuthenticationEntryPointImpl.java │ │ └── LogoutSuccessHandlerImpl.java │ └── web/ │ ├── domain/ │ │ ├── Server.java │ │ └── server/ │ │ ├── Cpu.java │ │ ├── Jvm.java │ │ ├── Mem.java │ │ ├── Sys.java │ │ └── SysFile.java │ ├── exception/ │ │ └── GlobalExceptionHandler.java │ └── service/ │ ├── PermissionService.java │ ├── SysLoginService.java │ ├── SysPermissionService.java │ ├── SysRegisterService.java │ ├── TokenService.java │ └── UserDetailsServiceImpl.java ├── ruoyi-generator/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── ruoyi/ │ │ │ └── generator/ │ │ │ ├── config/ │ │ │ │ ├── GenConfig.java │ │ │ │ └── GenPathConfig.java │ │ │ ├── constant/ │ │ │ │ └── ProjectPathConstant.java │ │ │ ├── controller/ │ │ │ │ └── GenController.java │ │ │ ├── domain/ │ │ │ │ ├── GenTable.java │ │ │ │ └── GenTableColumn.java │ │ │ ├── mapper/ │ │ │ │ ├── GenTableColumnMapper.java │ │ │ │ └── GenTableMapper.java │ │ │ ├── service/ │ │ │ │ ├── GenTableColumnServiceImpl.java │ │ │ │ ├── GenTableServiceImpl.java │ │ │ │ ├── IGenTableColumnService.java │ │ │ │ └── IGenTableService.java │ │ │ └── util/ │ │ │ ├── GenUtils.java │ │ │ ├── VelocityInitializer.java │ │ │ └── VelocityUtils.java │ │ └── resources/ │ │ ├── generator.yml │ │ ├── mapper/ │ │ │ └── generator/ │ │ │ ├── GenTableColumnMapper.xml │ │ │ └── GenTableMapper.xml │ │ └── vm/ │ │ ├── java/ │ │ │ ├── controller.java.vm │ │ │ ├── convert.java.vm │ │ │ ├── domain.java.vm │ │ │ ├── dto.java.vm │ │ │ ├── example.java.vm │ │ │ ├── mapper.java.vm │ │ │ ├── query.java.vm │ │ │ ├── service.java.vm │ │ │ ├── serviceImpl.java.vm │ │ │ ├── sub-domain.java.vm │ │ │ └── vo.java.vm │ │ ├── js/ │ │ │ └── api.js.vm │ │ ├── sql/ │ │ │ └── sql.vm │ │ ├── vue/ │ │ │ ├── index-tree.vue.vm │ │ │ └── index.vue.vm │ │ └── xml/ │ │ └── mapper.xml.vm │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── generator/ │ │ ├── ApplicationTest.java │ │ ├── CommonTest.java │ │ ├── SingleComponentTest.java │ │ └── SpringAppTest.java │ └── resources/ │ ├── application.yml │ ├── generator.properties │ ├── generatorConfig.xml │ ├── logback.xml │ └── vm2/ │ ├── java/ │ │ ├── controller.java.vm │ │ ├── convert.java.vm │ │ ├── domain.java.vm │ │ ├── example.java.vm │ │ ├── mapper.java.vm │ │ ├── query.java.vm │ │ ├── service.java.vm │ │ ├── serviceImpl.java.vm │ │ └── vo.java.vm │ ├── js/ │ │ └── api.js.vm │ ├── sql/ │ │ └── sql.vm │ ├── vue/ │ │ ├── index-tree.vue.vm │ │ └── index.vue.vm │ └── xml/ │ └── mapper.xml.vm ├── ruoyi-mall/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cyl/ │ │ │ ├── config/ │ │ │ │ ├── AESForWeixinGetPhoneNumber.java │ │ │ │ ├── RestTemplateConfig.java │ │ │ │ └── WechatConfig.java │ │ │ ├── external/ │ │ │ │ ├── ExternalException.java │ │ │ │ ├── WechatUtil.java │ │ │ │ └── resp/ │ │ │ │ ├── AccessTokenResp.java │ │ │ │ ├── BaseResp.java │ │ │ │ └── UserInfoResp.java │ │ │ ├── h5/ │ │ │ │ ├── config/ │ │ │ │ │ └── SecurityUtil.java │ │ │ │ ├── controller/ │ │ │ │ │ ├── CategoryController.java │ │ │ │ │ ├── H5CommonController.java │ │ │ │ │ ├── H5MemberAddressController.java │ │ │ │ │ ├── H5MemberCartController.java │ │ │ │ │ ├── H5MemberController.java │ │ │ │ │ ├── H5OrderController.java │ │ │ │ │ ├── H5ProductController.java │ │ │ │ │ ├── NoAuthController.java │ │ │ │ │ ├── PayNotifyController.java │ │ │ │ │ ├── UserController.java │ │ │ │ │ └── WechatController2.java │ │ │ │ ├── domain/ │ │ │ │ │ ├── dto/ │ │ │ │ │ │ ├── CategoryDTO.java │ │ │ │ │ │ ├── DeliveryReq.java │ │ │ │ │ │ ├── OrderProductListDTO.java │ │ │ │ │ │ └── PayNotifyMessageDTO.java │ │ │ │ │ ├── form/ │ │ │ │ │ │ ├── ApplyRefundForm.java │ │ │ │ │ │ ├── BindOpenIDForm.java │ │ │ │ │ │ ├── CancelOrderForm.java │ │ │ │ │ │ ├── H5AccountLoginForm.java │ │ │ │ │ │ ├── H5LoginForm.java │ │ │ │ │ │ ├── H5SmsLoginForm.java │ │ │ │ │ │ ├── OrderCreateForm.java │ │ │ │ │ │ ├── OrderPayForm.java │ │ │ │ │ │ ├── OrderSubmitForm.java │ │ │ │ │ │ ├── RegisterForm.java │ │ │ │ │ │ └── WechatLoginForm.java │ │ │ │ │ ├── query/ │ │ │ │ │ │ └── OrderH5Query.java │ │ │ │ │ └── vo/ │ │ │ │ │ ├── AftersaleRefundInfoVO.java │ │ │ │ │ ├── CountOrderVO.java │ │ │ │ │ ├── H5LoginVO.java │ │ │ │ │ ├── H5OrderVO.java │ │ │ │ │ ├── H5ProductVO.java │ │ │ │ │ ├── HomeConfigVO.java │ │ │ │ │ ├── OrderCalcVO.java │ │ │ │ │ ├── OrderPayVO.java │ │ │ │ │ ├── ProductDetailVO.java │ │ │ │ │ ├── RegisterVO.java │ │ │ │ │ ├── SkuViewVO.java │ │ │ │ │ ├── ValidatePhoneVO.java │ │ │ │ │ └── WechatLoginVO.java │ │ │ │ └── service/ │ │ │ │ ├── H5MemberAddressService.java │ │ │ │ ├── H5MemberCartService.java │ │ │ │ ├── H5MemberService.java │ │ │ │ └── H5OrderService.java │ │ │ ├── job/ │ │ │ │ ├── OrderJob.java │ │ │ │ └── StatisticsJob.java │ │ │ ├── manager/ │ │ │ │ ├── act/ │ │ │ │ │ ├── constant/ │ │ │ │ │ │ └── IntegralRule.java │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── CouponActivityController.java │ │ │ │ │ │ ├── H5CouponController.java │ │ │ │ │ │ ├── H5IntegralHistoryController.java │ │ │ │ │ │ ├── IntegralHistoryController.java │ │ │ │ │ │ └── MemberCouponController.java │ │ │ │ │ ├── convert/ │ │ │ │ │ │ ├── CouponActivityConvert.java │ │ │ │ │ │ ├── IntegralHistoryConvert.java │ │ │ │ │ │ └── MemberCouponConvert.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ ├── CouponActivity.java │ │ │ │ │ │ │ ├── IntegralHistory.java │ │ │ │ │ │ │ └── MemberCoupon.java │ │ │ │ │ │ ├── query/ │ │ │ │ │ │ │ ├── CouponActivityQuery.java │ │ │ │ │ │ │ ├── IntegralHistoryQuery.java │ │ │ │ │ │ │ └── MemberCouponQuery.java │ │ │ │ │ │ └── vo/ │ │ │ │ │ │ ├── CouponActivityVO.java │ │ │ │ │ │ ├── IntegralHistoryVO.java │ │ │ │ │ │ ├── IntegralStatVO.java │ │ │ │ │ │ └── MemberCouponVO.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── CouponActivityMapper.java │ │ │ │ │ │ ├── IntegralHistoryMapper.java │ │ │ │ │ │ └── MemberCouponMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ ├── CouponActivityService.java │ │ │ │ │ ├── IntegralHistoryService.java │ │ │ │ │ └── MemberCouponService.java │ │ │ │ ├── aws/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── SystemStatisticsController.java │ │ │ │ │ ├── convert/ │ │ │ │ │ │ └── SystemStatisticsConvert.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ └── SystemStatistics.java │ │ │ │ │ │ ├── query/ │ │ │ │ │ │ │ └── SystemStatisticsQuery.java │ │ │ │ │ │ └── vo/ │ │ │ │ │ │ └── SystemStatisticsVO.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── SystemStatisticsMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ └── SystemStatisticsService.java │ │ │ │ ├── oms/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AftersaleController.java │ │ │ │ │ │ ├── AftersaleItemController.java │ │ │ │ │ │ ├── OrderController.java │ │ │ │ │ │ ├── OrderDeliveryHistoryController.java │ │ │ │ │ │ ├── OrderItemController.java │ │ │ │ │ │ ├── OrderOperateHistoryController.java │ │ │ │ │ │ └── WechatPaymentHistoryController.java │ │ │ │ │ ├── convert/ │ │ │ │ │ │ ├── AftersaleConvert.java │ │ │ │ │ │ ├── AftersaleItemConvert.java │ │ │ │ │ │ ├── OrderConvert.java │ │ │ │ │ │ ├── OrderDeliveryHistoryConvert.java │ │ │ │ │ │ ├── OrderItemConvert.java │ │ │ │ │ │ ├── OrderOperateHistoryConvert.java │ │ │ │ │ │ └── WechatPaymentHistoryConvert.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ ├── Aftersale.java │ │ │ │ │ │ │ ├── AftersaleItem.java │ │ │ │ │ │ │ ├── Order.java │ │ │ │ │ │ │ ├── OrderDeliveryHistory.java │ │ │ │ │ │ │ ├── OrderItem.java │ │ │ │ │ │ │ ├── OrderOperateHistory.java │ │ │ │ │ │ │ └── WechatPaymentHistory.java │ │ │ │ │ │ ├── form/ │ │ │ │ │ │ │ ├── DealWithAftersaleForm.java │ │ │ │ │ │ │ ├── DeliverProductForm.java │ │ │ │ │ │ │ ├── ManagerAftersaleOrderForm.java │ │ │ │ │ │ │ └── ManagerOrderQueryForm.java │ │ │ │ │ │ ├── query/ │ │ │ │ │ │ │ ├── AftersaleItemQuery.java │ │ │ │ │ │ │ ├── AftersaleQuery.java │ │ │ │ │ │ │ ├── OrderDeliveryHistoryQuery.java │ │ │ │ │ │ │ ├── OrderItemQuery.java │ │ │ │ │ │ │ ├── OrderOperateHistoryQuery.java │ │ │ │ │ │ │ ├── OrderQuery.java │ │ │ │ │ │ │ └── WechatPaymentHistoryQuery.java │ │ │ │ │ │ └── vo/ │ │ │ │ │ │ ├── AftersaleItemVO.java │ │ │ │ │ │ ├── AftersaleVO.java │ │ │ │ │ │ ├── ManagerOrderAddressVo.java │ │ │ │ │ │ ├── ManagerOrderDetailVO.java │ │ │ │ │ │ ├── ManagerOrderProductVO.java │ │ │ │ │ │ ├── ManagerOrderVO.java │ │ │ │ │ │ ├── ManagerRefundOrderDetailVO.java │ │ │ │ │ │ ├── ManagerRefundOrderVO.java │ │ │ │ │ │ ├── OrderAddressVO.java │ │ │ │ │ │ ├── OrderDeliveryHistoryVO.java │ │ │ │ │ │ ├── OrderItemVO.java │ │ │ │ │ │ ├── OrderOperateHistoryVO.java │ │ │ │ │ │ ├── OrderVO.java │ │ │ │ │ │ ├── RefundInfoVO.java │ │ │ │ │ │ └── WechatPaymentHistoryVO.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── AftersaleItemMapper.java │ │ │ │ │ │ ├── AftersaleMapper.java │ │ │ │ │ │ ├── OrderDeliveryHistoryMapper.java │ │ │ │ │ │ ├── OrderItemMapper.java │ │ │ │ │ │ ├── OrderMapper.java │ │ │ │ │ │ ├── OrderOperateHistoryMapper.java │ │ │ │ │ │ └── WechatPaymentHistoryMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ ├── AftersaleItemService.java │ │ │ │ │ ├── AftersaleService.java │ │ │ │ │ ├── OrderDeliveryHistoryService.java │ │ │ │ │ ├── OrderItemService.java │ │ │ │ │ ├── OrderOperateHistoryService.java │ │ │ │ │ ├── OrderService.java │ │ │ │ │ └── WechatPaymentHistoryService.java │ │ │ │ ├── pms/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── BrandController.java │ │ │ │ │ │ ├── ProductCategoryController.java │ │ │ │ │ │ ├── ProductController.java │ │ │ │ │ │ └── SkuController.java │ │ │ │ │ ├── convert/ │ │ │ │ │ │ ├── BrandConvert.java │ │ │ │ │ │ ├── ProductCategoryConvert.java │ │ │ │ │ │ ├── ProductConvert.java │ │ │ │ │ │ └── SkuConvert.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ ├── Brand.java │ │ │ │ │ │ │ ├── Product.java │ │ │ │ │ │ │ ├── ProductCategory.java │ │ │ │ │ │ │ └── Sku.java │ │ │ │ │ │ ├── query/ │ │ │ │ │ │ │ ├── BrandQuery.java │ │ │ │ │ │ │ ├── ProductCategoryQuery.java │ │ │ │ │ │ │ ├── ProductQuery.java │ │ │ │ │ │ │ └── SkuQuery.java │ │ │ │ │ │ └── vo/ │ │ │ │ │ │ ├── BrandVO.java │ │ │ │ │ │ ├── ProductCategoryVO.java │ │ │ │ │ │ ├── ProductVO.java │ │ │ │ │ │ └── SkuVO.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── BrandMapper.java │ │ │ │ │ │ ├── ProductCategoryMapper.java │ │ │ │ │ │ ├── ProductMapper.java │ │ │ │ │ │ └── SkuMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ ├── BrandService.java │ │ │ │ │ ├── ProductCategoryService.java │ │ │ │ │ ├── ProductService.java │ │ │ │ │ └── SkuService.java │ │ │ │ ├── statistics/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── IndexStatisticsManagerController.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── query/ │ │ │ │ │ │ │ ├── GoodsStatisticsQuery.java │ │ │ │ │ │ │ └── OrderStatisticsQuery.java │ │ │ │ │ │ └── vo/ │ │ │ │ │ │ ├── MemberAndCartStatisticsVO.java │ │ │ │ │ │ ├── OrderAndAftersaleStatisticsVO.java │ │ │ │ │ │ ├── OrderStatisticsVO.java │ │ │ │ │ │ └── ProductTopVO.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── IndexStatisticsMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ └── IndexStatisticsService.java │ │ │ │ └── ums/ │ │ │ │ ├── controller/ │ │ │ │ │ ├── FeedbackController.java │ │ │ │ │ ├── MemberAccountController.java │ │ │ │ │ ├── MemberAddressController.java │ │ │ │ │ ├── MemberCartController.java │ │ │ │ │ ├── MemberController.java │ │ │ │ │ ├── MemberLogininforController.java │ │ │ │ │ ├── MemberWechatController.java │ │ │ │ │ └── PlatformVerifyController.java │ │ │ │ ├── convert/ │ │ │ │ │ ├── FeedbackConvert.java │ │ │ │ │ ├── MemberAccountConvert.java │ │ │ │ │ ├── MemberAddressConvert.java │ │ │ │ │ ├── MemberCartConvert.java │ │ │ │ │ ├── MemberConvert.java │ │ │ │ │ ├── MemberLogininforConvert.java │ │ │ │ │ └── MemberWechatConvert.java │ │ │ │ ├── domain/ │ │ │ │ │ ├── dto/ │ │ │ │ │ │ └── AddressDTO.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── Address.java │ │ │ │ │ │ ├── Feedback.java │ │ │ │ │ │ ├── Member.java │ │ │ │ │ │ ├── MemberAccount.java │ │ │ │ │ │ ├── MemberAddress.java │ │ │ │ │ │ ├── MemberCart.java │ │ │ │ │ │ ├── MemberLogininfor.java │ │ │ │ │ │ └── MemberWechat.java │ │ │ │ │ ├── form/ │ │ │ │ │ │ ├── AddMemberCartForm.java │ │ │ │ │ │ ├── ChangeMemberStatusForm.java │ │ │ │ │ │ ├── MemberAddressForm.java │ │ │ │ │ │ └── UpdateMemberCartForm.java │ │ │ │ │ ├── query/ │ │ │ │ │ │ ├── FeedbackQuery.java │ │ │ │ │ │ ├── MemberAccountQuery.java │ │ │ │ │ │ ├── MemberAddressQuery.java │ │ │ │ │ │ ├── MemberCartQuery.java │ │ │ │ │ │ ├── MemberLogininforQuery.java │ │ │ │ │ │ ├── MemberQuery.java │ │ │ │ │ │ └── MemberWechatQuery.java │ │ │ │ │ └── vo/ │ │ │ │ │ ├── FeedbackVO.java │ │ │ │ │ ├── MemberAccountVO.java │ │ │ │ │ ├── MemberAddressVO.java │ │ │ │ │ ├── MemberCartVO.java │ │ │ │ │ ├── MemberDataStatisticsVO.java │ │ │ │ │ ├── MemberLogininforVO.java │ │ │ │ │ ├── MemberVO.java │ │ │ │ │ └── MemberWechatVO.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── AddressMapper.java │ │ │ │ │ ├── FeedbackMapper.java │ │ │ │ │ ├── MemberAccountMapper.java │ │ │ │ │ ├── MemberAddressMapper.java │ │ │ │ │ ├── MemberCartMapper.java │ │ │ │ │ ├── MemberLogininforMapper.java │ │ │ │ │ ├── MemberMapper.java │ │ │ │ │ └── MemberWechatMapper.java │ │ │ │ └── service/ │ │ │ │ ├── FeedbackService.java │ │ │ │ ├── MemberAccountService.java │ │ │ │ ├── MemberAddressService.java │ │ │ │ ├── MemberCartService.java │ │ │ │ ├── MemberLogininforService.java │ │ │ │ ├── MemberService.java │ │ │ │ └── MemberWechatService.java │ │ │ ├── sms/ │ │ │ │ ├── controller/ │ │ │ │ │ └── SmsController.java │ │ │ │ └── service/ │ │ │ │ └── SmsService.java │ │ │ └── wechat/ │ │ │ ├── WechatAuthService.java │ │ │ ├── WechatController.java │ │ │ ├── WechatPayConfig.java │ │ │ ├── WechatPayData.java │ │ │ ├── WechatPayService.java │ │ │ ├── WechatPayUtil.java │ │ │ └── response/ │ │ │ ├── JssdkConfigResponse.java │ │ │ ├── WeChatAmount.java │ │ │ ├── WeChatPayNotify.java │ │ │ ├── WeChatPayer.java │ │ │ └── WechatUserAuth.java │ │ └── resources/ │ │ ├── application.properties │ │ └── mapper/ │ │ ├── act/ │ │ │ ├── CouponActivityMapper.xml │ │ │ ├── IntegralHistoryMapper.xml │ │ │ └── MemberCouponMapper.xml │ │ ├── aws/ │ │ │ └── SystemStatisticsMapper.xml │ │ ├── oms/ │ │ │ ├── AftersaleItemMapper.xml │ │ │ ├── AftersaleMapper.xml │ │ │ ├── OrderDeliveryHistoryMapper.xml │ │ │ ├── OrderItemMapper.xml │ │ │ ├── OrderMapper.xml │ │ │ ├── OrderOperateHistoryMapper.xml │ │ │ └── WechatPaymentHistoryMapper.xml │ │ ├── pms/ │ │ │ ├── BrandMapper.xml │ │ │ ├── ProductCategoryMapper.xml │ │ │ ├── ProductMapper.xml │ │ │ └── SkuMapper.xml │ │ ├── statistics/ │ │ │ └── IndexStatisticsMapper.xml │ │ └── ums/ │ │ ├── AddressMapper.xml │ │ ├── FeedbackMapper.xml │ │ ├── MemberAccountMapper.xml │ │ ├── MemberAddressMapper.xml │ │ ├── MemberCartMapper.xml │ │ ├── MemberLogininforMapper.xml │ │ ├── MemberMapper.xml │ │ └── MemberWechatMapper.xml │ └── test/ │ └── java/ │ └── com/ │ └── example/ │ └── ruoyimall/ │ └── RuoyiMallApplicationTests.java ├── ruoyi-quartz/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── quartz/ │ │ ├── config/ │ │ │ └── ScheduleConfig.java │ │ ├── controller/ │ │ │ ├── SysJobController.java │ │ │ └── SysJobLogController.java │ │ ├── domain/ │ │ │ ├── SysJob.java │ │ │ └── SysJobLog.java │ │ ├── mapper/ │ │ │ ├── SysJobLogMapper.java │ │ │ └── SysJobMapper.java │ │ ├── service/ │ │ │ ├── ISysJobLogService.java │ │ │ ├── ISysJobService.java │ │ │ └── impl/ │ │ │ ├── SysJobLogServiceImpl.java │ │ │ └── SysJobServiceImpl.java │ │ ├── task/ │ │ │ └── RyTask.java │ │ └── util/ │ │ ├── AbstractQuartzJob.java │ │ ├── CronUtils.java │ │ ├── JobInvokeUtil.java │ │ ├── QuartzDisallowConcurrentExecution.java │ │ ├── QuartzJobExecution.java │ │ └── ScheduleUtils.java │ └── resources/ │ └── mapper/ │ └── quartz/ │ ├── SysJobLogMapper.xml │ └── SysJobMapper.xml ├── ruoyi-system/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── system/ │ │ ├── domain/ │ │ │ ├── SysCache.java │ │ │ ├── SysConfig.java │ │ │ ├── SysLogininfor.java │ │ │ ├── SysNotice.java │ │ │ ├── SysOperLog.java │ │ │ ├── SysPost.java │ │ │ ├── SysRoleDept.java │ │ │ ├── SysRoleMenu.java │ │ │ ├── SysUserOnline.java │ │ │ ├── SysUserPost.java │ │ │ ├── SysUserRole.java │ │ │ └── vo/ │ │ │ ├── MetaVo.java │ │ │ ├── RouterVo.java │ │ │ └── SysConfigVo.java │ │ ├── mapper/ │ │ │ ├── SysConfigMapper.java │ │ │ ├── SysDeptMapper.java │ │ │ ├── SysDictDataMapper.java │ │ │ ├── SysDictTypeMapper.java │ │ │ ├── SysLogininforMapper.java │ │ │ ├── SysMenuMapper.java │ │ │ ├── SysNoticeMapper.java │ │ │ ├── SysOperLogMapper.java │ │ │ ├── SysPostMapper.java │ │ │ ├── SysRoleDeptMapper.java │ │ │ ├── SysRoleMapper.java │ │ │ ├── SysRoleMenuMapper.java │ │ │ ├── SysUserMapper.java │ │ │ ├── SysUserPostMapper.java │ │ │ └── SysUserRoleMapper.java │ │ └── service/ │ │ ├── ISysConfigService.java │ │ ├── ISysDeptService.java │ │ ├── ISysDictDataService.java │ │ ├── ISysDictTypeService.java │ │ ├── ISysLogininforService.java │ │ ├── ISysMenuService.java │ │ ├── ISysNoticeService.java │ │ ├── ISysOperLogService.java │ │ ├── ISysPostService.java │ │ ├── ISysRoleService.java │ │ ├── ISysUserOnlineService.java │ │ ├── ISysUserService.java │ │ ├── PhoneCodeService.java │ │ └── impl/ │ │ ├── SysConfigServiceImpl.java │ │ ├── SysDeptServiceImpl.java │ │ ├── SysDictDataServiceImpl.java │ │ ├── SysDictTypeServiceImpl.java │ │ ├── SysLogininforServiceImpl.java │ │ ├── SysMenuServiceImpl.java │ │ ├── SysNoticeServiceImpl.java │ │ ├── SysOperLogServiceImpl.java │ │ ├── SysPostServiceImpl.java │ │ ├── SysRoleServiceImpl.java │ │ ├── SysUserOnlineServiceImpl.java │ │ └── SysUserServiceImpl.java │ └── resources/ │ └── mapper/ │ └── system/ │ ├── SysConfigMapper.xml │ ├── SysDeptMapper.xml │ ├── SysDictDataMapper.xml │ ├── SysDictTypeMapper.xml │ ├── SysLogininforMapper.xml │ ├── SysMenuMapper.xml │ ├── SysNoticeMapper.xml │ ├── SysOperLogMapper.xml │ ├── SysPostMapper.xml │ ├── SysRoleDeptMapper.xml │ ├── SysRoleMapper.xml │ ├── SysRoleMenuMapper.xml │ ├── SysUserMapper.xml │ ├── SysUserPostMapper.xml │ └── SysUserRoleMapper.xml ├── ry.bat ├── ry.sh └── sql/ ├── address.sql └── 数据和结构.sql