master
zyy 5 years ago
parent 4a915b1a60
commit d0d64ced1f

2
.gitignore vendored

@ -0,0 +1,2 @@
# Created by .ignore support plugin (hsz.mobi)
/target/

@ -0,0 +1,983 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="7c587b04-9193-46ab-a36f-efa5259159b1" name="Default Changelist" comment="up">
<change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/RedisService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/application-prod.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/bsd-say-1.0-SNAPSHOT.jar" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/bsd-say-1.0-SNAPSHOT.jar.original" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/META-INF/spring-configuration-metadata.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/application-dev.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/application-prod.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/application.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/SayApplication.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/aop/LogAspect.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/beans/AjaxData.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/beans/AjaxPage.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/beans/AjaxRequest.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/beans/AjaxResult.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/config/MybatisPlusConfig.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/config/RedisProperies.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/config/WebMvcConfig.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/constants/Constants.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/constants/FillterConstants.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/AwardListController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/BaseController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/CouponController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/LoveLetterController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/LoveTypeController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/UsersController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/controller/WechatController.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/AwardList.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/BaseEntity.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/Coupon.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/LoveLetter.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/LoveType.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/Record.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/Source.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/entities/Users.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/exception/BusinessException.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/exception/LoginException.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/exception/ParamsException.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/handler/JsonTypeHandler.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/AwardListMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/CouponMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/LoveLetterMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/LoveTypeMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/RecordMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/SourceMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/mapper/UsersMapper.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/quartz/ScheduledTask.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/AwardListService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/BaseService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/CouponService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/LoveLetterService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/LoveTypeService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/RecordService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/RedisService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/SourceService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/UsersService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/WxOpenServiceDemo.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/AwardListServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/BaseServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/CouponServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/LoveLetterServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/LoveTypeServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/RecordServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/RedisServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/SourceServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/UsersServiceImpl.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/service/impl/WeixinService.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/AESWithJCEUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/CodeGenerator$1.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/CodeGenerator$2.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/CodeGenerator.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/DateUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/FileUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/HttpRequestUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/JWTUtil.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/LogEnum.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/LogUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/MD5Utils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/MessageUtil$1$1.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/MessageUtil$1.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/MessageUtil.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/RandomUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/ResponseUtil.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/Xml2MapUtil.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/AesException.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/ByteGroup.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/PKCS7Encoder.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/SHA1.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/Sign.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/WXBizMsgCrypt.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/WXBizMsgCryptTest.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/WeChatUtils.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/com/bsd/say/util/wechat/XMLParse.class" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/log4j2.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/mapper/AwardListMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/mapper/CouponMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/mapper/LoveLetterMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/mapper/LoveTypeMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/classes/mapper/UsersMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/maven-archiver/pom.properties" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/target/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DefaultGradleProjectSettings">
<option name="isMigrated" value="true" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44">
<caret line="2" column="15" selection-start-line="2" selection-start-column="15" selection-end-line="2" selection-end-column="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="61">
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="142">
<caret line="92" column="64" selection-start-line="92" selection-start-column="64" selection-end-line="92" selection-end-column="64" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="76" column="28" selection-start-line="76" selection-start-column="28" selection-end-line="76" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276">
<caret line="159" column="48" selection-start-line="159" selection-start-column="48" selection-end-line="159" selection-end-column="48" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44">
<caret line="228" column="30" lean-forward="true" selection-start-line="228" selection-start-column="30" selection-end-line="228" selection-end-column="30" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="jar://$MAVEN_REPOSITORY$/com/alibaba/fastjson/1.2.72/fastjson-1.2.72.jar!/com/alibaba/fastjson/JSONObject.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="184">
<caret line="175" selection-start-line="175" selection-end-line="175" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/RedisService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="44" column="18" selection-start-line="44" selection-start-column="18" selection-end-line="44" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>callback</find>
<find>success&quot;</find>
<find>System.out.println</find>
<find>fast</find>
<find>jedisPool</find>
<find>pool</find>
<find>get</find>
<find>s-valid-lottery</find>
<find>letter&quot;</find>
<find>record</find>
<find>redis</find>
<find>autologin</find>
<find>rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com</find>
<find>r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com</find>
</findStrings>
<replaceStrings>
<replace>log.fin</replace>
<replace>logger.info</replace>
</replaceStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/main/java/demo/Program.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/util/MessageUtil.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/WxOpenServiceDemo.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/util/AESWithJCEUtils.java" />
<option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/RedisService.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/resources/application.yml" />
<option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
<option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
<option value="$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java" />
<option value="$PROJECT_DIR$/.gitignore" />
</list>
</option>
</component>
<component name="MavenImportPreferences">
<option name="generalSettings">
<MavenGeneralSettings>
<option name="mavenHome" value="$PROJECT_DIR$/../../apache-maven-3.6.1" />
</MavenGeneralSettings>
</option>
<option name="importingSettings">
<MavenImportingSettings>
<option name="importAutomatically" value="true" />
</MavenImportingSettings>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="y" value="23" />
<option name="width" value="1920" />
<option name="height" value="976" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="say" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="say" type="462c0819:PsiDirectoryNode" />
<item name="constants" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="say" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="say" type="462c0819:PsiDirectoryNode" />
<item name="service" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="say" type="462c0819:PsiDirectoryNode" />
<item name="service" type="462c0819:PsiDirectoryNode" />
<item name="impl" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="bsd-say" type="b2602c69:ProjectViewProjectNode" />
<item name="bsd-say" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="RequestMappingsPanelOrder0" value="0" />
<property name="RequestMappingsPanelOrder1" value="1" />
<property name="RequestMappingsPanelWidth0" value="75" />
<property name="RequestMappingsPanelWidth1" value="75" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="ignore_missing_gitignore" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.28120184" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="settings.editor.selected.configurable" value="MavenSettings" />
</component>
<component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.bsd.say.service.impl" />
<recent name="com.bsd.say.service" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/src/main/java" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Spring Boot.SayApplication">
<configuration name="AESWithJCEUtils" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.bsd.say.util.AESWithJCEUtils" />
<module name="bsd-say" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.bsd.say.util.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="SayApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="bsd-say" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.bsd.say.SayApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.AESWithJCEUtils" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="7c587b04-9193-46ab-a36f-efa5259159b1" name="Default Changelist" comment="" />
<created>1596695903430</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1596695903430</updated>
<workItem from="1596695904727" duration="7346000" />
<workItem from="1596720954479" duration="209000" />
<workItem from="1596723198244" duration="66000" />
<workItem from="1596733574590" duration="368000" />
<workItem from="1596763398490" duration="120000" />
<workItem from="1596985066668" duration="1532000" />
<workItem from="1597020105789" duration="2486000" />
<workItem from="1597136595259" duration="516000" />
<workItem from="1597152101762" duration="12536000" />
</task>
<task id="LOCAL-00001" summary="up">
<created>1596723235629</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1596723235629</updated>
</task>
<task id="LOCAL-00002" summary="up">
<created>1596733843956</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1596733843956</updated>
</task>
<task id="LOCAL-00003" summary="up">
<created>1597022474271</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1597022474271</updated>
</task>
<option name="localTasksCounter" value="4" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="25179000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1680" height="946" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Image Layers" order="0" />
<window_info id="UI Designer" order="1" />
<window_info id="Capture Tool" order="2" />
<window_info id="Favorites" order="3" side_tool="true" />
<window_info id="Web" order="4" side_tool="true" />
<window_info id="Designer" order="5" />
<window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.24908425" />
<window_info id="Structure" order="7" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Messages" order="0" weight="0.3280543" />
<window_info anchor="bottom" id="Terminal" order="1" visible="true" weight="0.3266979" />
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
<window_info anchor="bottom" id="Docker" order="3" show_stripe_button="false" />
<window_info anchor="bottom" id="Java Enterprise" order="4" />
<window_info anchor="bottom" id="Database Changes" order="5" />
<window_info anchor="bottom" id="Version Control" order="6" weight="0.32918552" />
<window_info anchor="bottom" id="Spring" order="7" weight="0.32918552" />
<window_info anchor="bottom" id="Message" order="8" />
<window_info anchor="bottom" id="Find" order="9" />
<window_info anchor="bottom" id="Run" order="10" weight="0.3280543" />
<window_info anchor="bottom" id="Debug" order="11" weight="0.39929742" />
<window_info anchor="bottom" id="Cvs" order="12" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="13" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="14" />
<window_info anchor="right" id="Palette" order="0" />
<window_info anchor="right" id="Capture Analysis" order="1" />
<window_info anchor="right" id="Mongo Explorer" order="2" />
<window_info anchor="right" id="Database" order="3" />
<window_info anchor="right" id="Palette&#9;" order="4" />
<window_info anchor="right" id="Theme Preview" order="5" />
<window_info anchor="right" id="Bean Validation" order="6" />
<window_info anchor="right" id="Maven" order="7" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="8" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="9" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="10" weight="0.25" />
</layout>
<layout-to-restore>
<window_info id="Image Layers" order="0" />
<window_info id="UI Designer" order="1" />
<window_info id="Capture Tool" order="2" />
<window_info id="Favorites" order="3" side_tool="true" />
<window_info id="Web" order="4" side_tool="true" />
<window_info id="Designer" order="5" />
<window_info content_ui="combo" id="Project" order="6" visible="true" weight="0.24908425" />
<window_info id="Structure" order="7" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Messages" order="0" weight="0.3280543" />
<window_info anchor="bottom" id="Terminal" order="1" weight="0.3266979" />
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
<window_info anchor="bottom" id="Docker" order="3" show_stripe_button="false" />
<window_info anchor="bottom" id="Java Enterprise" order="4" />
<window_info anchor="bottom" id="Database Changes" order="5" />
<window_info anchor="bottom" id="Version Control" order="6" weight="0.32918552" />
<window_info anchor="bottom" id="Spring" order="7" weight="0.32918552" />
<window_info anchor="bottom" id="Message" order="8" />
<window_info anchor="bottom" id="Find" order="9" />
<window_info anchor="bottom" id="Run" order="10" weight="0.3280543" />
<window_info active="true" anchor="bottom" id="Debug" order="11" visible="true" weight="0.39929742" />
<window_info anchor="bottom" id="Cvs" order="12" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="13" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="14" />
<window_info anchor="right" id="Palette" order="0" />
<window_info anchor="right" id="Capture Analysis" order="1" />
<window_info anchor="right" id="Mongo Explorer" order="2" />
<window_info anchor="right" id="Database" order="3" />
<window_info anchor="right" id="Palette&#9;" order="4" />
<window_info anchor="right" id="Theme Preview" order="5" />
<window_info anchor="right" id="Bean Validation" order="6" />
<window_info anchor="right" id="Maven" order="7" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="8" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="9" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="10" weight="0.25" />
</layout-to-restore>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="up" />
<option name="LAST_COMMIT_MESSAGE" value="up" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java</url>
<line>72</line>
<properties />
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java</url>
<line>67</line>
<properties />
<option name="timeStamp" value="2" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/wechat/WXBizMsgCrypt.java</url>
<line>220</line>
<properties />
<option name="timeStamp" value="3" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/AESWithJCEUtils.java</url>
<line>24</line>
<properties />
<option name="timeStamp" value="4" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/AwardListController.java</url>
<line>17</line>
<properties />
<option name="timeStamp" value="5" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java</url>
<line>142</line>
<properties />
<option name="timeStamp" value="6" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java</url>
<line>166</line>
<properties />
<option name="timeStamp" value="7" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java</url>
<line>222</line>
<properties />
<option name="timeStamp" value="11" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java</url>
<line>244</line>
<properties />
<option name="timeStamp" value="12" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java</url>
<line>255</line>
<properties />
<option name="timeStamp" value="13" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/bsd_say$SayApplication.ic" NAME="SayApplication Coverage Results" MODIFIED="1597224429449" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
</component>
<component name="debuggerHistoryManager">
<expressions id="evaluateCodeFragment">
<expression>
<expression-string>redisService.exists(openId)</expression-string>
<language-id>JAVA</language-id>
<evaluation-mode>CODE_FRAGMENT</evaluation-mode>
</expression>
</expressions>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/MessageUtil.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1760">
<caret line="96" column="38" selection-start-line="96" selection-start-column="38" selection-end-line="96" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/qq/weixin/mp/aes/SHA1.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/qq/weixin/mp/aes/WXBizMsgCryptTest.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/qq/weixin/mp/aes/AesException.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/qq/weixin/mp/aes/PKCS7Encoder.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/qq/weixin/mp/aes/WXBizMsgCrypt.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/wechat/WXBizMsgCrypt.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="519">
<caret line="244" column="48" selection-start-line="244" selection-start-column="36" selection-end-line="244" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/redis/clients/jedis/2.9.0/jedis-2.9.0.jar!/redis/clients/jedis/JedisPool.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="17" column="13" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/demo/Program.java" />
<entry file="file://$PROJECT_DIR$/pom.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="316">
<caret line="36" column="32" selection-start-line="36" selection-start-column="32" selection-end-line="36" selection-end-column="32" />
</state>
</provider>
<provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/config/RedisProperies.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="88">
<caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/WxOpenServiceDemo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="264">
<caret line="24" column="3" selection-start-line="24" selection-start-column="3" selection-end-line="24" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/SayApplication.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/HttpRequestUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2706">
<caret line="142" column="30" selection-start-line="142" selection-start-column="30" selection-end-line="142" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/com/github/binarywang/weixin-java-open/3.8.0/weixin-java-open-3.8.0.jar!/me/chanjar/weixin/open/api/impl/WxOpenInRedisConfigStorage.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="15" column="39" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="39" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/5.1.5.RELEASE/spring-web-5.1.5.RELEASE.jar!/org/springframework/web/bind/annotation/RequestBody.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/BaseController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-142">
<caret line="26" column="41" selection-start-line="26" selection-start-column="41" selection-end-line="26" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/RecordService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="7" column="21" selection-start-line="7" selection-start-column="21" selection-end-line="7" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/beans/AjaxRequest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="242">
<caret line="15" column="13" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/AwardListController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="307">
<caret line="45" column="50" selection-start-line="45" selection-start-column="50" selection-end-line="45" selection-end-column="50" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/UsersController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="36" column="39" selection-start-line="36" selection-start-column="39" selection-end-line="36" selection-end-column="39" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/AESWithJCEUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="793">
<caret line="60" column="25" selection-start-line="60" selection-start-column="25" selection-end-line="60" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/LoveLetterService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/LoveLetterController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="507">
<caret line="57" column="51" selection-start-line="57" selection-start-column="51" selection-end-line="57" selection-end-column="51" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/LoveTypeServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1144">
<caret line="66" column="5" lean-forward="true" selection-start-line="66" selection-start-column="5" selection-end-line="66" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-591">
<caret line="138" selection-start-line="138" selection-end-line="139" selection-end-column="51" />
<folding>
<element signature="e#2927#2934#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/AwardListService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="224">
<caret line="126" column="22" selection-start-line="126" selection-start-column="22" selection-end-line="126" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1012">
<caret line="93" column="13" lean-forward="true" selection-start-line="93" selection-start-column="13" selection-end-line="93" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/UsersServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-191">
<caret line="29" column="13" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/SourceServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="142">
<caret line="92" column="64" selection-start-line="92" selection-start-column="64" selection-end-line="92" selection-end-column="64" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/RedisService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="44" column="18" selection-start-line="44" selection-start-column="18" selection-end-line="44" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44">
<caret line="2" column="15" selection-start-line="2" selection-start-column="15" selection-end-line="2" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="76" column="28" selection-start-line="76" selection-start-column="28" selection-end-line="76" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276">
<caret line="159" column="48" selection-start-line="159" selection-start-column="48" selection-end-line="159" selection-end-column="48" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/com/alibaba/fastjson/1.2.72/fastjson-1.2.72.jar!/com/alibaba/fastjson/JSONObject.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="184">
<caret line="175" selection-start-line="175" selection-end-line="175" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="61">
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44">
<caret line="228" column="30" lean-forward="true" selection-start-line="228" selection-start-column="30" selection-end-line="228" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<last-edited>Spring</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<last-edited>1.8.0_211</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>bsd-say</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

@ -1,17 +1,11 @@
package com.bsd.say.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.api.R;
import com.bsd.say.beans.AjaxRequest;
import com.bsd.say.beans.AjaxResult;
import com.bsd.say.entities.Record;
import com.bsd.say.mapper.RecordMapper;
import com.bsd.say.service.WxOpenServiceDemo;
import com.bsd.say.service.impl.WeixinService;
import com.bsd.say.util.AESWithJCEUtils;
import com.bsd.say.util.HttpRequestUtils;
import com.bsd.say.util.LogUtils;
import com.bsd.say.util.wechat.AesException;
import me.chanjar.weixin.common.error.WxErrorException;
@ -29,7 +23,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Map;
@RestController
@ -139,42 +132,53 @@ public class WechatController {
weixinService.refreshComponentAccessToken();
}
// @RequestMapping("autologin")
// public AjaxResult autoLogin(@RequestParam String openId) throws IOException {
//
// logger.info("请求openid:"+ openId);
// String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
//
// JSONObject result2 = JSONObject.parseObject(result1);
// String result3 = result2.getString("access_token");
// String pubkey = "1234567890123456";
// String iv = "WJi7HTZQoh8eHjup";
// String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
// String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
// JSONObject jsonObject = JSONObject.parseObject(resutl);
// Integer subscribe = jsonObject.getInteger("subscribe");
// weixinService.insertRecord(openId,subscribe);
// AjaxResult ajaxResult = new AjaxResult();
// ajaxResult.setData(jsonObject);
// return ajaxResult;
// }
@RequestMapping("autologin")
public AjaxResult autoLogin(@RequestParam String openId) throws IOException {
logger.info("请求openid:"+ openId);
String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
JSONObject result2 = JSONObject.parseObject(result1);
String result3 = result2.getString("access_token");
String pubkey = "1234567890123456";
String iv = "WJi7HTZQoh8eHjup";
String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
JSONObject jsonObject = JSONObject.parseObject(resutl);
Integer subscribe = jsonObject.getInteger("subscribe");
weixinService.insertRecord(openId,subscribe);
AjaxResult ajaxResult = new AjaxResult();
logger.info("请求openid:" + openId);
JSONObject jsonObject = weixinService.autoLogin(openId);
AjaxResult ajaxResult = new AjaxResult();
ajaxResult.setData(jsonObject);
return ajaxResult;
}
@RequestMapping("get-sign")
public AjaxResult getSign(@RequestBody AjaxRequest ajaxRequest){
public AjaxResult getSign(@RequestBody AjaxRequest ajaxRequest) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (data == null){
if (data == null) {
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
return ajaxResult;
}else {
} else {
String url = data.getString("url");
if (StringUtils.isEmpty(url)){
if (StringUtils.isEmpty(url)) {
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("url missing");
return ajaxResult;
}else {
Map<String,String> sign = weixinService.getSign(url);
} else {
Map<String, String> sign = weixinService.getSign(url);
ajaxResult.setRetmsg("SUCCESS");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(sign);

@ -0,0 +1,64 @@
package com.bsd.say.service;
/**
* redicache
*/
public interface RedisService {
/**
* value
*
* @param keys
*/
public void remove(final String... keys);
/**
* key
*
* @param pattern
*/
public void removePattern(final String pattern);
/**
* value
*
* @param key
*/
public void remove(final String key);
/**
* value
*
* @param key
* @return
*/
public boolean exists(final String key);
/**
*
*
* @param key
* @return
*/
public Object get(final String key);
/**
*
*
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value);
/**
*
*
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value, Long expireTime);
}

@ -136,15 +136,15 @@ public class AwardListServiceImpl extends BaseServiceImpl<AwardListMapper, Award
return ajaxResult;
} else {
JSONObject userInfo = weixinService.getUserInfoByOpenId(openId);
String unionId = userInfo.getString("unionid");
logger.info("union_id:"+unionId);
// String unionId = userInfo.getString("unionid");
// logger.info("union_id:"+unionId);
Users users = usersMapper.selectOne(Wrappers.<Users>lambdaQuery().eq(Users::getOpenId,openId)
.and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1)));
if (users == null){
//新会员直接创,肯定没抽过奖
Users newUsers = new Users();
newUsers.setOpenId(openId);
newUsers.setUnionId(unionId);
// newUsers.setUnionId(unionId);
newUsers.setUserType(2);
newUsers.setCreateDateTime(new Date());
newUsers.setUpdateDateTime(new Date());

@ -0,0 +1,125 @@
package com.bsd.say.service.impl;
import com.bsd.say.service.RedisService;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* redicache
*/
@Service
public class RedisServiceImpl implements RedisService {
@Resource
private RedisTemplate redisTemplate;
/**
* value
*
* @param keys
*/
public void remove(final String... keys) {
for (String key : keys) {
remove(key);
}
}
/**
* key
*
* @param pattern
*/
public void removePattern(final String pattern) {
Set<Serializable> keys = redisTemplate.keys(pattern);
if (keys.size() > 0)
redisTemplate.delete(keys);
}
/**
* value
*
* @param key
*/
public void remove(final String key) {
if (exists(key)) {
redisTemplate.delete(key);
}
}
/**
* value
*
* @param key
* @return
*/
public boolean exists(final String key) {
return redisTemplate.hasKey(key);
}
/**
*
*
* @param key
* @return
*/
public Object get(final String key) {
Object result = null;
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
result = operations.get(key);
return result;
}
/**
*
*
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
*
*
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value, Long expireTime) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}

@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.bsd.say.config.RedisProperies;
import com.bsd.say.entities.Record;
import com.bsd.say.mapper.RecordMapper;
import com.bsd.say.service.WxOpenServiceDemo;
import com.bsd.say.service.RedisService;
import com.bsd.say.util.AESWithJCEUtils;
import com.bsd.say.util.HttpRequestUtils;
import com.bsd.say.util.LogUtils;
import com.bsd.say.util.wechat.Sign;
import com.sun.org.apache.bcel.internal.generic.NEW;
import me.chanjar.weixin.open.api.impl.WxOpenInRedisConfigStorage;
import me.chanjar.weixin.open.api.impl.WxOpenMessageRouter;
import me.chanjar.weixin.open.api.impl.WxOpenServiceImpl;
@ -20,10 +19,8 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.JedisPool;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
@ -31,7 +28,9 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
public class WeixinService extends WxOpenServiceImpl {
public class WeixinService extends WxOpenServiceImpl {
@Value("${wechat.aesKey}")
private String aesKey;
@Value("${wechat.componentToken}")
@ -56,22 +55,27 @@ public class WeixinService extends WxOpenServiceImpl {
private RedisTemplate redisTemplate;
@Resource
private RecordMapper recordMapper;
private WxOpenMessageRouter wxOpenMessageRouter;
@Resource
private RedisService redisService;
Logger logger = LogUtils.getBussinessLogger();
/**
* accessToken
*/
public void refreshComponentAccessToken(){
public void refreshComponentAccessToken() {
RedisProperies redisProperies = new RedisProperies();
JedisPool pool =
new JedisPool(redisProperies, redisProperies.getHost(),
redisProperies.getPort(), redisProperies.getConnectionTimeout(),
redisProperies.getSoTimeout(), redisProperies.getPassword(),
redisProperies.getDatabase(), redisProperies.getClientName(),
redisProperies.isSsl(), redisProperies.getSslSocketFactory(),
redisProperies.getSslParameters(), redisProperies.getHostnameVerifier());
new JedisPool(redisProperies, redisProperies.getHost(),
redisProperies.getPort(), redisProperies.getConnectionTimeout(),
redisProperies.getSoTimeout(), redisProperies.getPassword(),
redisProperies.getDatabase(), redisProperies.getClientName(),
redisProperies.isSsl(), redisProperies.getSslSocketFactory(),
redisProperies.getSslParameters(), redisProperies.getHostnameVerifier());
try {
WxOpenInRedisConfigStorage inRedisConfigStorage = new WxOpenInRedisConfigStorage(pool);
inRedisConfigStorage.setComponentAppId(componentAppId);
@ -81,19 +85,19 @@ public class WeixinService extends WxOpenServiceImpl {
setWxOpenConfigStorage(inRedisConfigStorage);
wxOpenMessageRouter = new WxOpenMessageRouter(this);
String ComponentVerifyTicket = inRedisConfigStorage.getComponentVerifyTicket();
logger.info("ComponentVerifyTicket"+ComponentVerifyTicket);
logger.info("ComponentVerifyTicket" + ComponentVerifyTicket);
JSONObject jsonObject = new JSONObject();
jsonObject.put("component_appid", componentAppId);
jsonObject.put("component_appsecret", componentAppSecret);
jsonObject.put("component_verify_ticket", ComponentVerifyTicket);
String post = HttpRequestUtils.sendPost(getComponentAccessTokenUrl,jsonObject);
String post = HttpRequestUtils.sendPost(getComponentAccessTokenUrl, jsonObject);
// logger.debug("====================返回post结果" + post);
HashMap<String, String> hashMap = JSON.parseObject(post, HashMap.class);
String componentAccessToken = hashMap.get("component_access_token");
if (StringUtils.isNotEmpty(componentAccessToken)) {
redisTemplate.opsForValue().set("component_access_token", componentAccessToken, 60 * 60 * 2, TimeUnit.SECONDS);
String accessToken = redisTemplate.opsForValue().get("component_access_token").toString();
System.out.println("accessToken"+accessToken);
System.out.println("accessToken" + accessToken);
// logger.debug("====================令牌component_access_token】【" + accessToken + "】====================");
} else {
throw new RuntimeException("微信开放平台,第三方平台获取【令牌】失败");
@ -105,10 +109,11 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* accessToken
*
* @return
*/
public JSONObject getAccessToken(String code){
String component_access_token = redisTemplate.opsForValue().get("component_access_token").toString();
public JSONObject getAccessToken(String code) {
String component_access_token = redisTemplate.opsForValue().get("component_access_token").toString();
String param = appId + "&code=" + code + "&grant_type=authorization_code&component_appid=" + componentAppId
+ "&component_access_token=" + component_access_token;
String url = getAccessTokenUrl + param;
@ -119,10 +124,11 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* unionId
*
* @param code
* @return
*/
public String getUnionId(String code){
public String getUnionId(String code) {
JSONObject jsonObject = getAccessToken(code);
String accessToken = jsonObject.getString("access_token");
String openid = jsonObject.getString("openid");
@ -137,9 +143,8 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* openId()
*/
public JSONObject getUserInfoByOpenId(String openId){
public JSONObject getUserInfoByOpenId(String openId) {
String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
logger.info("openId----: "+ openId);
JSONObject result2 = JSONObject.parseObject(result1);
String result3 = result2.getString("access_token");
String pubkey = "1234567890123456";
@ -147,14 +152,14 @@ public class WeixinService extends WxOpenServiceImpl {
String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
JSONObject jsonObject = JSONObject.parseObject(resutl);
logger.info("userInfo:"+ jsonObject.toString());
logger.info("userInfo:" + jsonObject.toString());
return jsonObject;
}
/**
* accessTokenticket
*/
public String getTicket(){
public String getTicket() {
String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
JSONObject result2 = JSONObject.parseObject(result1);
String access_token = result2.getString("access_token");
@ -166,49 +171,91 @@ public class WeixinService extends WxOpenServiceImpl {
return jsapi_ticket;
}
public Map<String,String> getSign(String url){
public Map<String, String> getSign(String url) {
String jsapiTicket = getTicket();
logger.info("jsapiTicket:"+ jsapiTicket);
Map<String,String> sign = Sign.sign(jsapiTicket,url);
sign.put("appId",appId);
logger.info("jsapiTicket:" + jsapiTicket);
Map<String, String> sign = Sign.sign(jsapiTicket, url);
sign.put("appId", appId);
logger.info("sign:" + sign);
return sign;
}
/**
*
*
* @param openId
* @param subscribe
*/
@Transactional
public void insertRecord(String openId,Integer subscribe){
logger.info("subscribe"+ subscribe);
Record recordByOpenId = recordMapper.selectOne(Wrappers.<Record>lambdaQuery().eq(Record::getOpenId,openId)
.and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1)));
if (subscribe == 0){
public void insertRecord(String openId, Integer subscribe) {
logger.info("subscribe" + subscribe);
Record recordByOpenId = recordMapper.selectOne(Wrappers.<Record>lambdaQuery().eq(Record::getOpenId, openId)
.and(queryWrapper1 -> queryWrapper1.eq(Record::getState, 1)));
if (subscribe == 0) {
//未关注公众号
if (recordByOpenId == null){
if (recordByOpenId == null) {
logger.info("新粉丝第一次进入");
Record record = new Record();
record.setOpenId(openId);
record.setFan("新粉丝");
record.setCreateDateTime(new Date());
recordMapper.insert(record);
}else {
} else {
logger.info("游客访问过,但未关注");
}
}else {
} else {
//关注过公众号
if (recordByOpenId == null){
if (recordByOpenId == null) {
logger.info("老粉丝第一次进入");
Record record = new Record();
record.setOpenId(openId);
record.setFan("老粉丝");
record.setCreateDateTime(new Date());
recordMapper.insert(record);
}else {
} else {
logger.info("老粉丝访问过,已关注");
}
}
}
public JSONObject autoLogin(String openId) {
String userInfo = "";
if (redisService.exists(openId)) {
userInfo = redisService.get(openId).toString();
JSONObject jsonObject = JSONObject.parseObject(userInfo);
Integer subscribe = jsonObject.getInteger("subscribe");
insertRecord(openId, subscribe);
return jsonObject;
}
String accessToken = fetchAccessToken();
userInfo = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + accessToken + "&openid=" + openId + "&lang=zh_CN");
redisService.set(openId, userInfo.toString());
JSONObject jsonObject = JSONObject.parseObject(userInfo);
Integer subscribe = jsonObject.getInteger("subscribe");
insertRecord(openId, subscribe);
return jsonObject;
}
private String fetchAccessToken() {
String access_token = "";
//从cache中获取
if (redisService.exists("access_token")) {
access_token = redisService.get("access_token").toString();
return access_token;
}
String accessTokenResult = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
JSONObject accessTokenObject = JSONObject.parseObject(accessTokenResult);
String aesAccessToken = accessTokenObject.getString("access_token");
Long expiresIn = accessTokenObject.getLongValue("expires_in");
String pubkey = "1234567890123456";
String iv = "WJi7HTZQoh8eHjup";
String accessToken = AESWithJCEUtils.aesDecode(aesAccessToken, pubkey, iv);
redisService.set("access_token", access_token, expiresIn - 1000);
return accessToken;
}
}

@ -0,0 +1,69 @@
# springboot整合postgres连接配制
spring:
redis:
database: 0
#host: 111.229.204.101
host: r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com
port: 7682
password: Bsd00L0ve202008#H5
jedis:
pool:
max-idle: 8
min-idle: 0
max-active: 8
max-wait: -1
datasource:
url: jdbc:mysql://rm-uf6ghz8v10sjx1719yo.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: bsdloveh5
password: L0ve#h5_Bsd202008+
driver-class-name: com.mysql.jdbc.Driver
#解决整合后报的一个错:<aused by: java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。>
jpa:
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
#mybatis-plus整合加了表前缀的全局配制加了类中与表中驼峰的映射不加会查不出数据因无法做表与类字段映射
mybatis-plus:
global-config:
db-config:
table-prefix: template.
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.bsd.say.entities
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.bsd.say.mapper: debug
server:
port: 8082
award:
rule: 5
amount: 10
wechat:
aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
componentToken: bosidengqixi
appId: wx4f4363086a52e92c
componentAppId: wx474350bcaea2d745
componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
bsd:
tokenkey: BOSIDENG
sendSource: BRAND_VERIFY_CODE
verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
### 上传文件路径
#upload:
# excel:
# path: /Users/yaoyao.zhu/Documents/

@ -0,0 +1,69 @@
# springboot整合postgres连接配制
spring:
redis:
database: 0
#host: 111.229.204.101
host: r-uf6l1kaunndm1ikjg3.redis.rds.aliyuncs.com
port: 7682
password: Bsd00L0ve202008#H5
jedis:
pool:
max-idle: 8
min-idle: 0
max-active: 8
max-wait: -1
datasource:
url: jdbc:mysql://rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: bsdloveh5
password: L0ve#h5_Bsd202008+
driver-class-name: com.mysql.jdbc.Driver
#解决整合后报的一个错:<aused by: java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。>
jpa:
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
#mybatis-plus整合加了表前缀的全局配制加了类中与表中驼峰的映射不加会查不出数据因无法做表与类字段映射
mybatis-plus:
global-config:
db-config:
table-prefix: template.
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.bsd.say.entities
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.bsd.say.mapper: debug
server:
port: 8082
award:
rule: 5
amount: 10
wechat:
aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
componentToken: bosidengqixi
appId: wx4f4363086a52e92c
componentAppId: wx474350bcaea2d745
componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
bsd:
tokenkey: BOSIDENG
sendSource: BRAND_VERIFY_CODE
verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
### 上传文件路径
#upload:
# excel:
# path: /Users/yaoyao.zhu/Documents/

@ -1,68 +1,3 @@
# springboot整合postgres连接配制
spring:
redis:
database: 4
host: 111.229.204.101
port: 63790
password: 1qaz2wsx
jedis:
pool:
max-idle: 8
min-idle: 0
max-active: 8
max-wait: -1
datasource:
url: jdbc:mysql://47.100.216.66:3306/bsd_asy?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: root
password: Bsd@2019
driver-class-name: com.mysql.jdbc.Driver
#解决整合后报的一个错:<aused by: java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。>
jpa:
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
#mybatis-plus整合加了表前缀的全局配制加了类中与表中驼峰的映射不加会查不出数据因无法做表与类字段映射
mybatis-plus:
global-config:
db-config:
table-prefix: template.
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.bsd.say.entities
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.bsd.say.mapper: debug
server:
port: 8082
award:
rule: 5
amount: 10
wechat:
aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
componentToken: bosidengqixi
appId: wx4f4363086a52e92c
componentAppId: wx474350bcaea2d745
componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
bsd:
tokenkey: BOSIDENG
sendSource: BRAND_VERIFY_CODE
verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
### 上传文件路径
#upload:
# excel:
# path: /Users/yaoyao.zhu/Documents/
profiles:
active: dev

Binary file not shown.

@ -0,0 +1,177 @@
{
"groups": [
{
"name": "wechat.redis",
"type": "com.bsd.say.config.RedisProperies",
"sourceType": "com.bsd.say.config.RedisProperies"
}
],
"properties": [
{
"name": "wechat.redis.block-when-exhausted",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.client-name",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.connection-timeout",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.database",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies",
"defaultValue": 4
},
{
"name": "wechat.redis.eviction-policy",
"type": "org.apache.commons.pool2.impl.EvictionPolicy<T>",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.eviction-policy-class-name",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.evictor-shutdown-timeout-millis",
"type": "java.lang.Long",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.fairness",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.host",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies",
"defaultValue": "111.229.204.101"
},
{
"name": "wechat.redis.hostname-verifier",
"type": "javax.net.ssl.HostnameVerifier",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.jmx-enabled",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.jmx-name-base",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.jmx-name-prefix",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.lifo",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.max-idle",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.max-total",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.max-wait-millis",
"type": "java.lang.Long",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.min-evictable-idle-time-millis",
"type": "java.lang.Long",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.min-idle",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.num-tests-per-eviction-run",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.password",
"type": "java.lang.String",
"sourceType": "com.bsd.say.config.RedisProperies",
"defaultValue": "1qaz2wsx"
},
{
"name": "wechat.redis.port",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies",
"defaultValue": 63790
},
{
"name": "wechat.redis.so-timeout",
"type": "java.lang.Integer",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.soft-min-evictable-idle-time-millis",
"type": "java.lang.Long",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.ssl",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies",
"defaultValue": false
},
{
"name": "wechat.redis.ssl-parameters",
"type": "javax.net.ssl.SSLParameters",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.ssl-socket-factory",
"type": "javax.net.ssl.SSLSocketFactory",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.test-on-borrow",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.test-on-create",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.test-on-return",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.test-while-idle",
"type": "java.lang.Boolean",
"sourceType": "com.bsd.say.config.RedisProperies"
},
{
"name": "wechat.redis.time-between-eviction-runs-millis",
"type": "java.lang.Long",
"sourceType": "com.bsd.say.config.RedisProperies"
}
],
"hints": []
}

@ -0,0 +1,69 @@
# springboot整合postgres连接配制
spring:
redis:
database: 0
#host: 111.229.204.101
host: r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com
port: 7682
password: Bsd00L0ve202008#H5
jedis:
pool:
max-idle: 8
min-idle: 0
max-active: 8
max-wait: -1
datasource:
url: jdbc:mysql://rm-uf6ghz8v10sjx1719yo.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: bsdloveh5
password: L0ve#h5_Bsd202008+
driver-class-name: com.mysql.jdbc.Driver
#解决整合后报的一个错:<aused by: java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。>
jpa:
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
#mybatis-plus整合加了表前缀的全局配制加了类中与表中驼峰的映射不加会查不出数据因无法做表与类字段映射
mybatis-plus:
global-config:
db-config:
table-prefix: template.
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.bsd.say.entities
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.bsd.say.mapper: debug
server:
port: 8082
award:
rule: 5
amount: 10
wechat:
aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
componentToken: bosidengqixi
appId: wx4f4363086a52e92c
componentAppId: wx474350bcaea2d745
componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
bsd:
tokenkey: BOSIDENG
sendSource: BRAND_VERIFY_CODE
verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
### 上传文件路径
#upload:
# excel:
# path: /Users/yaoyao.zhu/Documents/

@ -0,0 +1,69 @@
# springboot整合postgres连接配制
spring:
redis:
database: 0
#host: 111.229.204.101
host: r-uf6l1kaunndm1ikjg3.redis.rds.aliyuncs.com
port: 7682
password: Bsd00L0ve202008#H5
jedis:
pool:
max-idle: 8
min-idle: 0
max-active: 8
max-wait: -1
datasource:
url: jdbc:mysql://rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: bsdloveh5
password: L0ve#h5_Bsd202008+
driver-class-name: com.mysql.jdbc.Driver
#解决整合后报的一个错:<aused by: java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。>
jpa:
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
#mybatis-plus整合加了表前缀的全局配制加了类中与表中驼峰的映射不加会查不出数据因无法做表与类字段映射
mybatis-plus:
global-config:
db-config:
table-prefix: template.
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.bsd.say.entities
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.bsd.say.mapper: debug
server:
port: 8082
award:
rule: 5
amount: 10
wechat:
aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
componentToken: bosidengqixi
appId: wx4f4363086a52e92c
componentAppId: wx474350bcaea2d745
componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
bsd:
tokenkey: BOSIDENG
sendSource: BRAND_VERIFY_CODE
verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
### 上传文件路径
#upload:
# excel:
# path: /Users/yaoyao.zhu/Documents/

@ -0,0 +1,3 @@
spring:
profiles:
active: dev

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save