├── .gitignore ├── README.md ├── pom.xml ├── wx-app-core ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ ├── cn │ │ └── ucaner │ │ │ └── wx │ │ │ └── app │ │ │ └── core │ │ │ ├── Application.java │ │ │ ├── config │ │ │ ├── CorsConfig.java │ │ │ └── JacksonConfig.java │ │ │ ├── constant │ │ │ └── GlobalConstant.java │ │ │ ├── db │ │ │ ├── DataSourceEnum.java │ │ │ └── DynamicDataSource.java │ │ │ ├── dwz │ │ │ ├── DWZ.java │ │ │ └── DwzAjax.java │ │ │ ├── enums │ │ │ ├── PublicEnum.java │ │ │ └── PublicStatusEnum.java │ │ │ ├── exception │ │ │ ├── BizException.java │ │ │ ├── GlobalExceptionResolver.java │ │ │ └── SystemException.java │ │ │ ├── framework │ │ │ ├── ext │ │ │ │ └── Demo.java │ │ │ └── mvc │ │ │ │ ├── controller │ │ │ │ ├── BaseController.java │ │ │ │ ├── CheckParams.java │ │ │ │ ├── DateConvertEditor.java │ │ │ │ ├── FormParams.java │ │ │ │ ├── PageParams.java │ │ │ │ ├── Servlets.java │ │ │ │ └── package.html │ │ │ │ ├── dao │ │ │ │ ├── BaseDao.java │ │ │ │ ├── impl │ │ │ │ │ ├── BaseDaoImpl.java │ │ │ │ │ └── package.html │ │ │ │ └── package.html │ │ │ │ ├── entity │ │ │ │ ├── BaseEntity.java │ │ │ │ ├── BasePlatformEntity.java │ │ │ │ └── package.html │ │ │ │ ├── exception │ │ │ │ └── GlobalExceptionHanlder.java │ │ │ │ └── service │ │ │ │ ├── BaseService.java │ │ │ │ ├── impl │ │ │ │ ├── BaseServiceImpl.java │ │ │ │ └── package.html │ │ │ │ └── package.html │ │ │ ├── interceptor │ │ │ ├── LoginInterceptor.java │ │ │ └── MethodTimeAdviceInterceptor.java │ │ │ ├── listener │ │ │ └── ApplicationContextListener.java │ │ │ ├── utils │ │ │ ├── base │ │ │ │ ├── ConvertUtils.java │ │ │ │ ├── IdcardValidator.java │ │ │ │ ├── MoneyUtils.java │ │ │ │ ├── RegexUtils.java │ │ │ │ ├── StringHelper.java │ │ │ │ └── ValidateHelper.java │ │ │ ├── bcrypt │ │ │ │ ├── BCrypt.java │ │ │ │ └── BCryptPasswordEncoder.java │ │ │ ├── bean │ │ │ │ └── BeanUtils.java │ │ │ ├── captcha │ │ │ │ └── CaptchaUtil.java │ │ │ ├── cookie │ │ │ │ └── CookieUtil.java │ │ │ ├── date │ │ │ │ └── DateHelper.java │ │ │ ├── encode │ │ │ │ └── EncodeUtils.java │ │ │ ├── encrypt │ │ │ │ ├── AESUtils.java │ │ │ │ ├── Base64Utils.java │ │ │ │ ├── CryptAES.java │ │ │ │ ├── EncryptUtil.java │ │ │ │ └── MD5Utils.java │ │ │ ├── key │ │ │ │ ├── SnowflakeIdWorker.java │ │ │ │ ├── SystemClock.java │ │ │ │ └── VestaKey.java │ │ │ ├── pk │ │ │ │ └── PKGenerator.java │ │ │ └── plugin │ │ │ │ └── UcanerCommentGenerator.java │ │ │ └── vo │ │ │ └── RespBody.java │ │ └── resources │ │ ├── application-dep.properties │ │ ├── application-dev.properties │ │ ├── application-prod.properties │ │ ├── application.properties │ │ ├── application.yaml │ │ ├── banner.txt │ │ └── logback │ │ ├── logback-dev.xml │ │ └── logback-prod.xml │ └── test │ └── java │ └── cn │ └── ucaner │ └── wx │ └── app │ └── core │ └── ApplicationTest.java ├── wx-app-data ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── ucaner │ │ └── wx │ │ └── app │ │ └── data │ │ ├── elasticsearch │ │ ├── ElasticSerachApplication.java │ │ ├── config │ │ │ └── ElasticSearchConfig.java │ │ ├── controller │ │ │ └── OrderRestController.java │ │ ├── model │ │ │ ├── Es.java │ │ │ └── Order.java │ │ ├── service │ │ │ ├── BulkProcessorService.java │ │ │ ├── ElasticSearchService.java │ │ │ ├── QueryService.java │ │ │ └── impl │ │ │ │ ├── BulkProcessorServiceImpl.java │ │ │ │ ├── ElasticSearchServiceImpl.java │ │ │ │ └── QueryServiceImpl.java │ │ └── util │ │ │ └── EmptyUtils.java │ │ └── kafka │ │ ├── KafkaApplication.java │ │ ├── consumer │ │ └── Consumer.java │ │ ├── controller │ │ └── SendController.java │ │ └── producer │ │ ├── Message.java │ │ └── Producer.java │ └── resources │ ├── application-dev.yml │ ├── application-prod.yml │ ├── application.properties │ ├── banner.txt │ └── logback │ ├── logback-dev.xml │ └── logback-prod.xml ├── wx-app-gateway ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── cn │ │ │ └── ucaner │ │ │ └── wx │ │ │ └── app │ │ │ └── gateway │ │ │ ├── Application.java │ │ │ ├── annotation │ │ │ ├── LoginUser.java │ │ │ └── support │ │ │ │ └── LoginUserHandlerMethodArgumentResolver.java │ │ │ ├── config │ │ │ ├── HttpsConfiguration.java │ │ │ └── UseConfig.java │ │ │ ├── controller │ │ │ ├── DemoController.java │ │ │ ├── api │ │ │ │ └── ApiController.java │ │ │ ├── common │ │ │ │ └── BaseController.java │ │ │ └── permission │ │ │ │ └── PermissionController.java │ │ │ ├── jwt │ │ │ └── utils │ │ │ │ └── JWTUtil.java │ │ │ └── shiro │ │ │ ├── config │ │ │ └── ShiroConfiguration.java │ │ │ ├── credentials │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── filter │ │ │ └── JWTFilter.java │ │ │ ├── principal │ │ │ └── JWTToken.java │ │ │ ├── realm │ │ │ └── ApiShiroRealm.java │ │ │ ├── spring │ │ │ └── SpringCacheManagerWrapper.java │ │ │ └── utils │ │ │ ├── PasswordHelper.java │ │ │ └── ValidateUtils.java │ └── resources │ │ ├── application-dev.properties │ │ ├── application-docker.yml │ │ ├── application-prod.properties │ │ ├── application.properties │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── cer │ │ └── server.jks │ │ ├── config │ │ └── ehcache-shiro.xml │ │ ├── docker │ │ └── Dockerfile │ │ ├── logback │ │ ├── logback-dev.xml │ │ └── logback-prod.xml │ │ └── static │ │ ├── errorpage │ │ ├── 404.html │ │ └── 500.html │ │ ├── favicon.ico │ │ └── unauthorized │ │ └── 403.ftl │ └── test │ └── java │ └── cn │ └── ucaner │ └── wx │ └── app │ └── gateway │ ├── GateWayTest.java │ └── JwtTest.java ├── wx-app-service ├── .gitignore ├── mybatis-generator │ ├── generator.properties │ ├── generatorConfig-bak.xml │ └── generatorConfig.xml ├── pom.xml ├── sql │ ├── wxapps_data.sql │ ├── wxapps_schema.sql │ └── wxapps_table.sql └── src │ └── main │ ├── java │ └── cn │ │ └── ucaner │ │ └── wx │ │ └── app │ │ └── service │ │ ├── Application.java │ │ ├── account │ │ └── Demo.java │ │ ├── common │ │ ├── config │ │ │ └── MybatisConfig.java │ │ ├── mp │ │ │ └── UcanerMyBatis3Impl.java │ │ └── plugin │ │ │ └── UcanerCommentGenerator.java │ │ ├── generator │ │ ├── dao │ │ │ ├── TestDao.java │ │ │ └── impl │ │ │ │ └── TestDaoImpl.java │ │ ├── entity │ │ │ └── Test.java │ │ └── service │ │ │ ├── TestService.java │ │ │ └── impl │ │ │ └── TestServiceImpl.java │ │ ├── permission │ │ ├── dao │ │ │ ├── PermissionBaseDao.java │ │ │ ├── PmsMenuDao.java │ │ │ ├── PmsMenuRoleDao.java │ │ │ ├── PmsOperatorDao.java │ │ │ ├── PmsOperatorLogDao.java │ │ │ ├── PmsOperatorRoleDao.java │ │ │ ├── PmsPermissionDao.java │ │ │ ├── PmsRoleDao.java │ │ │ ├── PmsRolePermissionDao.java │ │ │ └── impl │ │ │ │ ├── PermissionBaseDaoImpl.java │ │ │ │ ├── PmsMenuDaoImpl.java │ │ │ │ ├── PmsMenuRoleDaoImpl.java │ │ │ │ ├── PmsOperatorDaoImpl.java │ │ │ │ ├── PmsOperatorLogDaoImpl.java │ │ │ │ ├── PmsOperatorRoleDaoImpl.java │ │ │ │ ├── PmsPermissionDaoImpl.java │ │ │ │ ├── PmsRoleDaoImpl.java │ │ │ │ └── PmsRolePermissionDaoImpl.java │ │ ├── entity │ │ │ ├── PermissionBaseEntity.java │ │ │ ├── PmsMenu.java │ │ │ ├── PmsMenuRole.java │ │ │ ├── PmsOperator.java │ │ │ ├── PmsOperatorLog.java │ │ │ ├── PmsOperatorRole.java │ │ │ ├── PmsPermission.java │ │ │ ├── PmsRole.java │ │ │ └── PmsRolePermission.java │ │ ├── exception │ │ │ └── PermissionException.java │ │ └── service │ │ │ ├── PmsMenuRoleService.java │ │ │ ├── PmsMenuService.java │ │ │ ├── PmsOperatorLogService.java │ │ │ ├── PmsOperatorRoleService.java │ │ │ ├── PmsOperatorService.java │ │ │ ├── PmsPermissionService.java │ │ │ ├── PmsRolePermissionService.java │ │ │ ├── PmsRoleService.java │ │ │ └── impl │ │ │ ├── PmsMenuRoleServiceImpl.java │ │ │ ├── PmsMenuServiceImpl.java │ │ │ ├── PmsOperatorLogServiceImpl.java │ │ │ ├── PmsOperatorRoleServiceImpl.java │ │ │ ├── PmsOperatorServiceImpl.java │ │ │ ├── PmsPermissionServiceImpl.java │ │ │ ├── PmsRolePermissionServiceImpl.java │ │ │ └── PmsRoleServiceImpl.java │ │ └── user │ │ └── Demo.java │ └── resources │ ├── application-dep.properties │ ├── application-dev.properties │ ├── application-prod.properties │ ├── application.properties │ ├── application.yaml │ ├── banner.txt │ ├── logback │ ├── logback-dev.xml │ └── logback-prod.xml │ └── mapper │ ├── permission │ ├── PmsMenuMapper.xml │ ├── PmsMenuRoleMapper.xml │ ├── PmsOperatorLogMapper.xml │ ├── PmsOperatorMapper.xml │ ├── PmsOperatorRoleMapper.xml │ ├── PmsPermissionMapper.xml │ ├── PmsRoleMapper.xml │ └── PmsRolePermissionMapper.xml │ └── user │ └── TestMapper.xml ├── wx-app-web-boss ├── .gitignore ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── ucaner │ │ └── wx │ │ └── app │ │ └── boss │ │ ├── Application.java │ │ ├── controller │ │ ├── common │ │ │ └── BaseController.java │ │ ├── config │ │ │ ├── WebFilterConfig.java │ │ │ └── WebMvcConfig.java │ │ ├── exception │ │ │ └── WebExceptionHandler.java │ │ └── login │ │ │ └── LoginController.java │ │ └── permission │ │ ├── biz │ │ └── PmsMenuBiz.java │ │ ├── controller │ │ ├── PmsMenuController.java │ │ ├── PmsOperatorController.java │ │ ├── PmsPermissionController.java │ │ └── PmsRoleController.java │ │ ├── enums │ │ └── OperatorTypeEnum.java │ │ ├── shiro │ │ ├── config │ │ │ └── ShiroConfiguration.java │ │ ├── credentials │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ ├── filter │ │ │ ├── RcCaptchaFilter.java │ │ │ ├── RcCaptchaValidateFilter.java │ │ │ └── RcFormAuthenticationFilter.java │ │ ├── realm │ │ │ ├── MyShiroRealm.java │ │ │ └── OperatorRealm.java │ │ └── spring │ │ │ └── SpringCacheManagerWrapper.java │ │ └── utils │ │ ├── PasswordHelper.java │ │ └── ValidateUtils.java │ ├── resources │ ├── application-dev.properties │ ├── application-docker.yml │ ├── application-prod.properties │ ├── application.properties │ ├── application.yml │ ├── banner.txt │ ├── config │ │ └── ehcache-shiro.xml │ ├── log4j.properties │ └── logback │ │ ├── logback-dev.xml │ │ └── logback-prod.xml │ └── webapp │ ├── common │ ├── error │ │ ├── 400.ftl │ │ ├── 404.ftl │ │ └── 500.ftl │ └── js │ │ ├── login │ │ └── login.js │ │ └── qrcode │ │ ├── jquery.min.js │ │ └── qrcode.js │ ├── dwz │ ├── bin │ │ ├── ESC.wsf │ │ ├── dwz.min.js │ │ ├── gzip.exe │ │ ├── gzjs.bat │ │ └── gzjs.sh │ ├── chart │ │ ├── g.bar.js │ │ ├── g.dot.js │ │ ├── g.line.js │ │ ├── g.pie.js │ │ ├── g.raphael.js │ │ ├── raphael-min.js │ │ ├── raphael.js │ │ └── test │ │ │ ├── barchart.html │ │ │ ├── hbarchart.html │ │ │ ├── linechart.html │ │ │ ├── linechart2.html │ │ │ ├── linechart3.html │ │ │ └── piechart.html │ ├── doc │ │ ├── dwz-user-guide.docx │ │ ├── dwz-user-guide.pdf │ │ └── git.txt │ ├── dwz.frag.xml │ ├── js │ │ ├── dwz.accordion.js │ │ ├── dwz.ajax.js │ │ ├── dwz.alertMsg.js │ │ ├── dwz.barDrag.js │ │ ├── dwz.checkbox.js │ │ ├── dwz.combox.js │ │ ├── dwz.contextmenu.js │ │ ├── dwz.core.js │ │ ├── dwz.cssTable.js │ │ ├── dwz.database.js │ │ ├── dwz.datepicker.js │ │ ├── dwz.dialog.js │ │ ├── dwz.dialogDrag.js │ │ ├── dwz.drag.js │ │ ├── dwz.effects.js │ │ ├── dwz.history.js │ │ ├── dwz.navTab.js │ │ ├── dwz.pagination.js │ │ ├── dwz.panel.js │ │ ├── dwz.print.js │ │ ├── dwz.regional.zh.js │ │ ├── dwz.resize.js │ │ ├── dwz.scrollCenter.js │ │ ├── dwz.sortDrag.js │ │ ├── dwz.stable.js │ │ ├── dwz.switchEnv.js │ │ ├── dwz.tab.js │ │ ├── dwz.taskBar.js │ │ ├── dwz.theme.js │ │ ├── dwz.tree.js │ │ ├── dwz.ui.js │ │ ├── dwz.util.date.js │ │ ├── dwz.util.number.js │ │ ├── dwz.validate.method.js │ │ ├── jquery-1.11.3.js │ │ ├── jquery-1.11.3.min.js │ │ ├── jquery-2.1.4.js │ │ ├── jquery-2.1.4.min.js │ │ ├── jquery.bgiframe.js │ │ ├── jquery.cookie.js │ │ ├── jquery.easing.1.3.js │ │ ├── jquery.validate.js │ │ ├── jquery.validate.min.js │ │ └── speedup.js │ ├── themes │ │ ├── azure │ │ │ ├── images │ │ │ │ ├── accordion │ │ │ │ │ └── accordion.png │ │ │ │ ├── account_info_bg.png │ │ │ │ ├── alert │ │ │ │ │ ├── alertpanel.png │ │ │ │ │ └── alertpanel_icon.png │ │ │ │ ├── button │ │ │ │ │ ├── button_s.png │ │ │ │ │ ├── imgX.gif │ │ │ │ │ └── imgX.png │ │ │ │ ├── dialog │ │ │ │ │ ├── dialogpanel.png │ │ │ │ │ └── dialogpanel_icon.png │ │ │ │ ├── form │ │ │ │ │ ├── input_bg.png │ │ │ │ │ └── input_bt.png │ │ │ │ ├── grid │ │ │ │ │ ├── grid.png │ │ │ │ │ ├── resizeCol.png │ │ │ │ │ └── tableth.png │ │ │ │ ├── header_bg.png │ │ │ │ ├── icon.png │ │ │ │ ├── layout │ │ │ │ │ ├── taskbar.png │ │ │ │ │ ├── taskbar_control.png │ │ │ │ │ ├── taskbar_icon.png │ │ │ │ │ └── toggleSidebar.png │ │ │ │ ├── listLine.png │ │ │ │ ├── menu │ │ │ │ │ └── menu.png │ │ │ │ ├── order_down.gif │ │ │ │ ├── order_up.gif │ │ │ │ ├── pageHeader_bg.png │ │ │ │ ├── panel │ │ │ │ │ ├── panel.png │ │ │ │ │ └── panel_icon.png │ │ │ │ ├── preview.png │ │ │ │ ├── progressBar │ │ │ │ │ ├── progressBar_l.gif │ │ │ │ │ ├── progressBar_m.gif │ │ │ │ │ └── progressBar_s.gif │ │ │ │ ├── search-bg.gif │ │ │ │ ├── search-bt.gif │ │ │ │ ├── shadow │ │ │ │ │ ├── shadow_c_c.png │ │ │ │ │ ├── shadow_c_l.png │ │ │ │ │ ├── shadow_c_r.png │ │ │ │ │ ├── shadow_f_c.png │ │ │ │ │ ├── shadow_f_l.png │ │ │ │ │ ├── shadow_f_r.png │ │ │ │ │ ├── shadow_h_c.png │ │ │ │ │ ├── shadow_h_l.png │ │ │ │ │ └── shadow_h_r.png │ │ │ │ ├── tabs │ │ │ │ │ ├── tabscontrol.png │ │ │ │ │ ├── tabspage.png │ │ │ │ │ ├── tabspage_icon.png │ │ │ │ │ └── tabspanel.png │ │ │ │ └── tree │ │ │ │ │ ├── check.png │ │ │ │ │ ├── folder.png │ │ │ │ │ └── tree.png │ │ │ └── style.css │ │ ├── css │ │ │ ├── core.css │ │ │ ├── ieHack.css │ │ │ ├── login.css │ │ │ └── print.css │ │ ├── default │ │ │ ├── images │ │ │ │ ├── accordion │ │ │ │ │ └── accordion.png │ │ │ │ ├── account_info_bg.png │ │ │ │ ├── alert │ │ │ │ │ ├── alertpanel.png │ │ │ │ │ └── alertpanel_icon.png │ │ │ │ ├── button │ │ │ │ │ ├── button_s.png │ │ │ │ │ ├── imgX.gif │ │ │ │ │ ├── toleft.gif │ │ │ │ │ ├── toleftone.gif │ │ │ │ │ ├── toright.gif │ │ │ │ │ └── torightone.gif │ │ │ │ ├── dialog │ │ │ │ │ ├── dialogpanel.png │ │ │ │ │ └── dialogpanel_icon.png │ │ │ │ ├── form │ │ │ │ │ ├── input_bg.png │ │ │ │ │ └── input_bt.png │ │ │ │ ├── grid │ │ │ │ │ ├── grid.png │ │ │ │ │ ├── resizeCol.png │ │ │ │ │ └── tableth.png │ │ │ │ ├── header_bg.png │ │ │ │ ├── icon.png │ │ │ │ ├── layout │ │ │ │ │ ├── taskbar.png │ │ │ │ │ ├── taskbar_control.png │ │ │ │ │ ├── taskbar_icon.png │ │ │ │ │ └── toggleSidebar.png │ │ │ │ ├── listLine.png │ │ │ │ ├── login_banner.jpg │ │ │ │ ├── login_bg.png │ │ │ │ ├── login_content_bg.png │ │ │ │ ├── login_header_bg.png │ │ │ │ ├── login_list.png │ │ │ │ ├── login_logo.gif │ │ │ │ ├── login_logo.png │ │ │ │ ├── login_sub.png │ │ │ │ ├── login_title.png │ │ │ │ ├── logo.png │ │ │ │ ├── menu │ │ │ │ │ └── menu.png │ │ │ │ ├── order_down.gif │ │ │ │ ├── order_up.gif │ │ │ │ ├── pageHeader_bg.png │ │ │ │ ├── panel │ │ │ │ │ ├── panel.png │ │ │ │ │ └── panel_icon.png │ │ │ │ ├── progressBar │ │ │ │ │ ├── progressBar_l.gif │ │ │ │ │ ├── progressBar_m.gif │ │ │ │ │ └── progressBar_s.gif │ │ │ │ ├── search-bg.gif │ │ │ │ ├── search-bt.gif │ │ │ │ ├── shadow │ │ │ │ │ ├── shadow_c_c.png │ │ │ │ │ ├── shadow_c_l.png │ │ │ │ │ ├── shadow_c_r.png │ │ │ │ │ ├── shadow_f_c.png │ │ │ │ │ ├── shadow_f_l.png │ │ │ │ │ ├── shadow_f_r.png │ │ │ │ │ ├── shadow_h_c.png │ │ │ │ │ ├── shadow_h_l.png │ │ │ │ │ └── shadow_h_r.png │ │ │ │ ├── tabs │ │ │ │ │ ├── tabscontrol.png │ │ │ │ │ ├── tabspage.png │ │ │ │ │ ├── tabspage_icon.png │ │ │ │ │ └── tabspanel.png │ │ │ │ ├── themeButton.png │ │ │ │ ├── tree │ │ │ │ │ ├── check.png │ │ │ │ │ ├── folder.png │ │ │ │ │ └── tree.png │ │ │ │ ├── wx.png │ │ │ │ └── zfb.png │ │ │ └── style.css │ │ ├── green │ │ │ ├── images │ │ │ │ ├── accordion │ │ │ │ │ └── accordion.png │ │ │ │ ├── account_info_bg.png │ │ │ │ ├── alert │ │ │ │ │ ├── alertpanel.png │ │ │ │ │ └── alertpanel_icon.png │ │ │ │ ├── button │ │ │ │ │ ├── button_s.png │ │ │ │ │ └── imgX.gif │ │ │ │ ├── dialog │ │ │ │ │ ├── dialogpanel.png │ │ │ │ │ └── dialogpanel_icon.png │ │ │ │ ├── form │ │ │ │ │ ├── input_bg.png │ │ │ │ │ └── input_bt.png │ │ │ │ ├── grid │ │ │ │ │ ├── grid.png │ │ │ │ │ ├── resizeCol.png │ │ │ │ │ └── tableth.png │ │ │ │ ├── header_bg.png │ │ │ │ ├── layout │ │ │ │ │ └── toggleSidebar.png │ │ │ │ ├── listLine.png │ │ │ │ ├── logo.png │ │ │ │ ├── pageHeader_bg.png │ │ │ │ ├── panel │ │ │ │ │ ├── panel.png │ │ │ │ │ └── panel_icon.png │ │ │ │ ├── tabs │ │ │ │ │ ├── tabscontrol.png │ │ │ │ │ ├── tabspage.png │ │ │ │ │ ├── tabspage_icon.png │ │ │ │ │ └── tabspanel.png │ │ │ │ └── tree │ │ │ │ │ └── tree.png │ │ │ └── style.css │ │ ├── purple │ │ │ ├── images │ │ │ │ ├── accordion │ │ │ │ │ └── accordion.png │ │ │ │ ├── account_info_bg.png │ │ │ │ ├── alert │ │ │ │ │ ├── alertpanel.png │ │ │ │ │ └── alertpanel_icon.png │ │ │ │ ├── button │ │ │ │ │ ├── button_s.png │ │ │ │ │ └── imgX.gif │ │ │ │ ├── dialog │ │ │ │ │ ├── dialogpanel.png │ │ │ │ │ └── dialogpanel_icon.png │ │ │ │ ├── form │ │ │ │ │ ├── input_bg.png │ │ │ │ │ └── input_bt.png │ │ │ │ ├── grid │ │ │ │ │ ├── grid.png │ │ │ │ │ ├── resizeCol.png │ │ │ │ │ └── tableth.png │ │ │ │ ├── header_bg.png │ │ │ │ ├── layout │ │ │ │ │ ├── taskbar.png │ │ │ │ │ ├── taskbar_control.png │ │ │ │ │ ├── taskbar_icon.png │ │ │ │ │ └── toggleSidebar.png │ │ │ │ ├── login_bg.png │ │ │ │ ├── login_content_bg.png │ │ │ │ ├── login_header_bg.png │ │ │ │ ├── login_list.png │ │ │ │ ├── menu │ │ │ │ │ └── menu.png │ │ │ │ ├── pageHeader_bg.png │ │ │ │ ├── panel │ │ │ │ │ ├── panel.png │ │ │ │ │ └── panel_icon.png │ │ │ │ ├── progressBar │ │ │ │ │ ├── progressBar_l.gif │ │ │ │ │ ├── progressBar_m.gif │ │ │ │ │ └── progressBar_s.gif │ │ │ │ ├── shadow │ │ │ │ │ ├── shadow_c_c.png │ │ │ │ │ ├── shadow_c_l.png │ │ │ │ │ ├── shadow_c_r.png │ │ │ │ │ ├── shadow_f_c.png │ │ │ │ │ ├── shadow_f_l.png │ │ │ │ │ ├── shadow_f_r.png │ │ │ │ │ ├── shadow_h_c.png │ │ │ │ │ ├── shadow_h_l.png │ │ │ │ │ └── shadow_h_r.png │ │ │ │ ├── tabs │ │ │ │ │ ├── tabscontrol.png │ │ │ │ │ ├── tabspage.png │ │ │ │ │ ├── tabspage_icon.png │ │ │ │ │ └── tabspanel.png │ │ │ │ └── tree │ │ │ │ │ ├── check.png │ │ │ │ │ ├── folder.png │ │ │ │ │ └── tree.png │ │ │ └── style.css │ │ └── silver │ │ │ ├── images │ │ │ ├── accordion │ │ │ │ └── accordion.png │ │ │ ├── account_info_bg.png │ │ │ ├── alert │ │ │ │ ├── alertpanel.png │ │ │ │ └── alertpanel_icon.png │ │ │ ├── button │ │ │ │ ├── button_s.png │ │ │ │ └── imgX.gif │ │ │ ├── dialog │ │ │ │ ├── dialogpanel.png │ │ │ │ └── dialogpanel_icon.png │ │ │ ├── form │ │ │ │ ├── input_bg.png │ │ │ │ └── input_bt.png │ │ │ ├── grid │ │ │ │ ├── grid.png │ │ │ │ ├── resizeCol.png │ │ │ │ └── tableth.png │ │ │ ├── header_bg.png │ │ │ ├── layout │ │ │ │ ├── taskbar.png │ │ │ │ ├── taskbar_control.png │ │ │ │ ├── taskbar_icon.png │ │ │ │ └── toggleSidebar.png │ │ │ ├── listLine.png │ │ │ ├── menu │ │ │ │ └── menu.png │ │ │ ├── pageHeader_bg.png │ │ │ ├── panel │ │ │ │ ├── panel.png │ │ │ │ └── panel_icon.png │ │ │ ├── progressBar │ │ │ │ ├── progressBar_l.gif │ │ │ │ ├── progressBar_m.gif │ │ │ │ └── progressBar_s.gif │ │ │ ├── shadow │ │ │ │ ├── shadow_c_c.png │ │ │ │ ├── shadow_c_l.png │ │ │ │ ├── shadow_c_r.png │ │ │ │ ├── shadow_f_c.png │ │ │ │ ├── shadow_f_l.png │ │ │ │ ├── shadow_f_r.png │ │ │ │ ├── shadow_h_c.png │ │ │ │ ├── shadow_h_l.png │ │ │ │ └── shadow_h_r.png │ │ │ ├── tabs │ │ │ │ ├── tabscontrol.png │ │ │ │ ├── tabspage.png │ │ │ │ ├── tabspage_icon.png │ │ │ │ └── tabspanel.png │ │ │ └── tree │ │ │ │ ├── check.png │ │ │ │ ├── folder.png │ │ │ │ └── tree.png │ │ │ └── style.css │ ├── uploadify │ │ ├── Change Log.txt │ │ ├── css │ │ │ └── uploadify.css │ │ ├── img │ │ │ ├── add.jpg │ │ │ ├── cancel.jpg │ │ │ ├── delete.jpg │ │ │ ├── upload.jpg │ │ │ └── uploadify-cancel.png │ │ └── scripts │ │ │ ├── jquery.uploadify.js │ │ │ ├── jquery.uploadify.min.js │ │ │ └── uploadify.swf │ └── xheditor │ │ ├── xheditor-1.2.2.min.js │ │ ├── xheditor_emot │ │ ├── default │ │ │ ├── angry.gif │ │ │ ├── awkward.gif │ │ │ ├── bye.gif │ │ │ ├── config.txt │ │ │ ├── crazy.gif │ │ │ ├── cry.gif │ │ │ ├── curse.gif │ │ │ ├── cute.gif │ │ │ ├── despise.gif │ │ │ ├── doubt.gif │ │ │ ├── envy.gif │ │ │ ├── fastcry.gif │ │ │ ├── knock.gif │ │ │ ├── laugh.gif │ │ │ ├── mad.gif │ │ │ ├── ohmy.gif │ │ │ ├── panic.gif │ │ │ ├── proud.gif │ │ │ ├── quiet.gif │ │ │ ├── sad.gif │ │ │ ├── shutup.gif │ │ │ ├── shy.gif │ │ │ ├── sleep.gif │ │ │ ├── smile.gif │ │ │ ├── struggle.gif │ │ │ ├── titter.gif │ │ │ ├── tongue.gif │ │ │ ├── wail.gif │ │ │ └── wronged.gif │ │ ├── ipb │ │ │ ├── alien.gif │ │ │ ├── angel.gif │ │ │ ├── angry.gif │ │ │ ├── bandit.gif │ │ │ ├── biglaugh.gif │ │ │ ├── blink.gif │ │ │ ├── blush.gif │ │ │ ├── config.txt │ │ │ ├── cool.gif │ │ │ ├── cry.gif │ │ │ ├── depres.gif │ │ │ ├── devil.gif │ │ │ ├── glare.gif │ │ │ ├── heart.gif │ │ │ ├── joyful.gif │ │ │ ├── kiss.gif │ │ │ ├── laugh.gif │ │ │ ├── magician.gif │ │ │ ├── ninja.gif │ │ │ ├── pinch.gif │ │ │ ├── police.gif │ │ │ ├── sad.gif │ │ │ ├── sick.gif │ │ │ ├── sideways.gif │ │ │ ├── sleep.gif │ │ │ ├── smile.gif │ │ │ ├── surprised.gif │ │ │ ├── tongue.gif │ │ │ ├── unsure.gif │ │ │ ├── w00t.gif │ │ │ ├── whistling.gif │ │ │ ├── wondering.gif │ │ │ └── wub.gif │ │ ├── msn │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 5.gif │ │ │ ├── 6.gif │ │ │ ├── 7.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ │ └── pidgin │ │ │ ├── angry.gif │ │ │ ├── bad.gif │ │ │ ├── blush.gif │ │ │ ├── brokenheart.gif │ │ │ ├── bye.gif │ │ │ ├── coffee.gif │ │ │ ├── config.txt │ │ │ ├── cool.gif │ │ │ ├── cry.gif │ │ │ ├── curse.gif │ │ │ ├── cute.gif │ │ │ ├── devil.gif │ │ │ ├── envy.gif │ │ │ ├── gift.gif │ │ │ ├── good.gif │ │ │ ├── kiss.gif │ │ │ ├── laugh.gif │ │ │ ├── love.gif │ │ │ ├── music.gif │ │ │ ├── question.gif │ │ │ ├── rose.gif │ │ │ ├── sad.gif │ │ │ ├── shocked.gif │ │ │ ├── shout.gif │ │ │ ├── sick.gif │ │ │ ├── sleepy.gif │ │ │ ├── smile.gif │ │ │ ├── soccer.gif │ │ │ ├── sweat.gif │ │ │ ├── tired.gif │ │ │ ├── tongue.gif │ │ │ ├── victory.gif │ │ │ └── wink.gif │ │ ├── xheditor_lang │ │ ├── en.js │ │ ├── zh-cn.js │ │ └── zh-tw.js │ │ ├── xheditor_plugins │ │ ├── html2markdown.js │ │ ├── htmldomparser.js │ │ ├── multiupload │ │ │ ├── img │ │ │ │ ├── add.gif │ │ │ │ ├── bg1.gif │ │ │ │ ├── bg2.gif │ │ │ │ ├── btnbg.gif │ │ │ │ ├── btnbgr.gif │ │ │ │ ├── clear.gif │ │ │ │ ├── progressbg.gif │ │ │ │ └── start.gif │ │ │ ├── multiupload.css │ │ │ ├── multiupload.html │ │ │ ├── multiupload.js │ │ │ └── swfupload │ │ │ │ ├── swfupload.js │ │ │ │ └── swfupload.swf │ │ ├── showdown.js │ │ └── ubb.js │ │ └── xheditor_skin │ │ ├── blank.gif │ │ ├── default │ │ ├── iframe.css │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── close.gif │ │ │ ├── flash.gif │ │ │ ├── icons.gif │ │ │ ├── loading.gif │ │ │ ├── progress.gif │ │ │ ├── progressbg.gif │ │ │ ├── tag-address.gif │ │ │ ├── tag-div.gif │ │ │ ├── tag-h1.gif │ │ │ ├── tag-h2.gif │ │ │ ├── tag-h3.gif │ │ │ ├── tag-h4.gif │ │ │ ├── tag-h5.gif │ │ │ ├── tag-h6.gif │ │ │ ├── tag-p.gif │ │ │ ├── tag-pre.gif │ │ │ ├── waiting.gif │ │ │ ├── wmp.gif │ │ │ └── wordimg.gif │ │ └── ui.css │ │ ├── nostyle │ │ ├── iframe.css │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── close.gif │ │ │ ├── flash.gif │ │ │ ├── icons.gif │ │ │ ├── loading.gif │ │ │ ├── progress.gif │ │ │ ├── progressbg.gif │ │ │ ├── tag-address.gif │ │ │ ├── tag-div.gif │ │ │ ├── tag-h1.gif │ │ │ ├── tag-h2.gif │ │ │ ├── tag-h3.gif │ │ │ ├── tag-h4.gif │ │ │ ├── tag-h5.gif │ │ │ ├── tag-h6.gif │ │ │ ├── tag-p.gif │ │ │ ├── tag-pre.gif │ │ │ ├── waiting.gif │ │ │ ├── wmp.gif │ │ │ └── wordimg.gif │ │ └── ui.css │ │ ├── o2007blue │ │ ├── iframe.css │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── buttonbg.gif │ │ │ ├── close.gif │ │ │ ├── flash.gif │ │ │ ├── icons.gif │ │ │ ├── loading.gif │ │ │ ├── progress.gif │ │ │ ├── progressbg.gif │ │ │ ├── tag-address.gif │ │ │ ├── tag-div.gif │ │ │ ├── tag-h1.gif │ │ │ ├── tag-h2.gif │ │ │ ├── tag-h3.gif │ │ │ ├── tag-h4.gif │ │ │ ├── tag-h5.gif │ │ │ ├── tag-h6.gif │ │ │ ├── tag-p.gif │ │ │ ├── tag-pre.gif │ │ │ ├── waiting.gif │ │ │ ├── wmp.gif │ │ │ └── wordimg.gif │ │ └── ui.css │ │ ├── o2007silver │ │ ├── iframe.css │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── buttonbg.gif │ │ │ ├── close.gif │ │ │ ├── flash.gif │ │ │ ├── icons.gif │ │ │ ├── loading.gif │ │ │ ├── progress.gif │ │ │ ├── progressbg.gif │ │ │ ├── tag-address.gif │ │ │ ├── tag-div.gif │ │ │ ├── tag-h1.gif │ │ │ ├── tag-h2.gif │ │ │ ├── tag-h3.gif │ │ │ ├── tag-h4.gif │ │ │ ├── tag-h5.gif │ │ │ ├── tag-h6.gif │ │ │ ├── tag-p.gif │ │ │ ├── tag-pre.gif │ │ │ ├── waiting.gif │ │ │ ├── wmp.gif │ │ │ └── wordimg.gif │ │ └── ui.css │ │ └── vista │ │ ├── iframe.css │ │ ├── img │ │ ├── anchor.gif │ │ ├── buttonbg.gif │ │ ├── close.gif │ │ ├── flash.gif │ │ ├── icons.gif │ │ ├── loading.gif │ │ ├── progress.gif │ │ ├── progressbg.gif │ │ ├── tag-address.gif │ │ ├── tag-div.gif │ │ ├── tag-h1.gif │ │ ├── tag-h2.gif │ │ ├── tag-h3.gif │ │ ├── tag-h4.gif │ │ ├── tag-h5.gif │ │ ├── tag-h6.gif │ │ ├── tag-p.gif │ │ ├── tag-pre.gif │ │ ├── titlebg.gif │ │ ├── waiting.gif │ │ ├── wmp.gif │ │ └── wordimg.gif │ │ └── ui.css │ └── views │ └── system │ ├── favicon.ico │ ├── index.ftl │ └── login.ftl └── wx-chat-bot ├── pom.xml └── src └── main ├── java └── cn │ └── ucaner │ └── wx │ └── chat │ └── bot │ ├── WeChatBotApplication.java │ ├── aop │ └── HttpAop.java │ ├── biz │ └── common │ │ ├── config │ │ └── CommonConst.java │ │ └── consts │ │ └── ConfigPathConstant.java │ ├── config │ └── SysConfig.java │ ├── dao │ ├── ListenMessageDao.java │ ├── WechatDao.java │ └── impl │ │ ├── ListenMessageDaoImpl.java │ │ └── WechatDaoImpl.java │ ├── framework │ └── common │ │ └── util │ │ ├── base │ │ └── StringHelper.java │ │ ├── date │ │ └── DateHelper.java │ │ ├── ip │ │ └── IpUtil.java │ │ └── properties │ │ └── PropertiesHelper.java │ ├── model │ ├── contact │ │ ├── ContactList.java │ │ ├── ContactMemberModel.java │ │ ├── ContactModel.java │ │ └── MemberModel.java │ ├── core │ │ ├── BaseRequest.java │ │ └── WechatCore.java │ ├── group │ │ ├── GroupInfo.java │ │ └── GroupModel.java │ ├── initialization │ │ ├── BaseResponse.java │ │ ├── InitModel.java │ │ ├── MPArticle.java │ │ ├── MPSubscribeMsg.java │ │ ├── SyncKey.java │ │ ├── SyncKeyModel.java │ │ └── UserModel.java │ ├── listen │ │ ├── AddMessage.java │ │ ├── AddMessageAppInfo.java │ │ ├── AddMessageRecommendInfo.java │ │ ├── MessageModel.java │ │ ├── UnreadMessageModel.java │ │ └── WechatMessageCode.java │ ├── login │ │ └── LoginModel.java │ ├── scan │ │ └── ScanCode.java │ └── statusnotify │ │ └── StatusNotify.java │ ├── service │ ├── ListenMessageService.java │ ├── QrCodeService.java │ ├── WechatRunService.java │ ├── WechatService.java │ ├── impl │ │ ├── ListenMessageServiceImpl.java │ │ ├── QrCodeServiceImpl.java │ │ └── WechatServiceImpl.java │ ├── message │ │ ├── ActionMessage.java │ │ ├── EmojiMessage.java │ │ ├── ImageMessage.java │ │ ├── LinkMessage.java │ │ ├── MiniAppMessage.java │ │ ├── RecallMessage.java │ │ ├── ShowMessageFactory.java │ │ ├── SystemMessage.java │ │ ├── TextMessage.java │ │ ├── VideoMessage.java │ │ ├── VoiceMessage.java │ │ └── core │ │ │ ├── BaseMessage.java │ │ │ ├── IMessage.java │ │ │ ├── IShowMessage.java │ │ │ ├── MessageCache.java │ │ │ ├── MessageCacheUtils.java │ │ │ └── MessageType.java │ └── unreadmsg │ │ ├── LoginOtherDeviceNotice.java │ │ ├── NewMessageNotice.java │ │ ├── NoticeMsgFactory.java │ │ ├── PhoneExitNotice.java │ │ ├── SleepNotice.java │ │ └── core │ │ ├── INotice.java │ │ └── INoticeMsg.java │ ├── utils │ ├── ClassUtils.java │ ├── DingMessageUtils.java │ ├── FileUtils.java │ ├── HttpUtils.java │ ├── IdGenerate.java │ ├── QrcodeUtils.java │ ├── TimeUtils.java │ ├── WechatApiPool.java │ ├── WechatCode.java │ └── XmlUtils.java │ └── windows │ ├── QrCodeFrame.java │ └── QrCodeFrameImage.java └── resources ├── app-wechat-bot.properties ├── application-dev.yaml ├── application-prod.yaml ├── application.yaml ├── banner.txt └── config └── logback ├── logback-dev.xml └── logback-prod.xml /.gitignore: -------------------------------------------------------------------------------- 1 | ###############git ignore by Jason ######### 2 | /.settings/ 3 | /.project 4 | .idea/ 5 | *.iml 6 | ##################Ignore by Jason ######### -------------------------------------------------------------------------------- /wx-app-core/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /.settings/ 3 | /.classpath 4 | /.project 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/ext/Demo.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | *
4 | *Copyright CHINA GUANGZHOU WANGUO INFO-TECH CO.,LTD
5 | *All rights reserved.
6 | *Created on 2018年7月25日 上午10:14:03
7 | *Created by WUBIN@WANGUO.COM
8 | * 9 | * 10 | */ 11 | package cn.ucaner.wx.app.core.framework.ext; 12 | 13 | /** 14 | * @Package:cn.ucaner.wx.app.core.framework.ext 15 | * @ClassName:Demo 16 | * @Description:ext 留作以后的框架扩展使用
17 | * @Author: - Jason 18 | * @CreatTime:2018年10月23日 下午7:33:43 19 | * @Modify By: 20 | * @ModifyTime: 2018年10月23日 21 | * @Modify marker: 22 | * @version V1.0 23 | */ 24 | public class Demo { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/controller/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础action接口. by Jason
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/dao/impl/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础dao的实现类.
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/dao/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础dao.
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/entity/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础entity.
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/service/impl/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础service实现.
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/framework/mvc/service/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |基础service.
4 | 5 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/cn/ucaner/wx/app/core/utils/key/VestaKey.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * 4 | *Copyright JasonInternational
5 | *All rights reserved.
6 | *Created on 2018年11月23日 下午3:07:58
7 | *Created by Jason
8 | * 9 | * 10 | */ 11 | package cn.ucaner.wx.app.core.utils.key; 12 | 13 | /** 14 | * @Package:cn.ucaner.wx.app.core.utils.key 15 | * @ClassName:VestaKey 16 | * @Description:VestaKey - https://www.v2ex.com/t/510260#reply13
17 | * @Author: - Jason 18 | * @CreatTime:2018年11月23日 下午3:07:58 19 | * @Modify By: 20 | * @ModifyTime: 2018年11月23日 21 | * @Modify marker: 22 | * @version V1.0 23 | */ 24 | public class VestaKey { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/resources/application-dep.properties: -------------------------------------------------------------------------------- 1 | #测试环境 2 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | #日志记录级别 2 | #日志记录级别 3 | logging.config=classpath:logback/logback-dev.xml 4 | -------------------------------------------------------------------------------- /wx-app-core/src/main/java/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | #生产环境配置项 [后期改用yaml profile ] 2 | 3 | 4 | #日志记录级别 5 | logging.config=classpath:logback/logback-prod.xml -------------------------------------------------------------------------------- /wx-app-core/src/main/java/resources/application.properties: -------------------------------------------------------------------------------- 1 | #####ApplicationConfig###### 2 | #激活dev开发环境 3 | spring.profiles.active=dep 4 | #服务器端口 5 | server.port=9092 6 | 7 | spring.message.encoding = UTF-8 -------------------------------------------------------------------------------- /wx-app-core/src/test/java/cn/ucaner/wx/app/core/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package cn.ucaner.wx.app.core; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * @Package:cn.ucaner.wx.app.core 8 | * @ClassName:ApplicationTest 9 | * @Description:ApplicationTest
10 | * @Author: - Jason 11 | * @CreatTime:2018年10月23日 下午7:58:37 12 | * @Modify By: 13 | * @ModifyTime: 2018年10月23日 14 | * @Modify marker: 15 | * @version V1.0 16 | */ 17 | @SpringBootApplication 18 | public class ApplicationTest { 19 | 20 | public static void main(String[] args) { 21 | SpringApplication.run(Application.class, args); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /wx-app-data/src/main/java/cn/ucaner/wx/app/data/elasticsearch/service/QueryService.java: -------------------------------------------------------------------------------- 1 | package cn.ucaner.wx.app.data.elasticsearch.service; 2 | 3 | import cn.ucaner.wx.app.data.elasticsearch.model.Es; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | /** 9 | * @ClassName:QueryService 10 | * @Description:QueryService
11 | * @Author: - Jason 12 | * @CreatTime:2019/3/11 - 8:55 13 | * @Modify By: 14 | * @ModifyTime: 2019/3/11 15 | * @Modify marker: 16 | * @version V1.0 17 | */ 18 | public interface QueryService { 19 | 20 | /** 21 | * @param es 22 | * @param storeId 23 | * @param storeName 24 | * @param startDate 25 | * @param endDate 26 | * @return 27 | */ 28 | List