Commit 4d890fa1 authored by Tu Bach's avatar Tu Bach

api customer

parent b57bf84e
target/
/.idea/
logs/
\ No newline at end of file
......@@ -13,4 +13,9 @@
<module name="service-campaign" target="1.8" />
</bytecodeTargetLevel>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="service-campaign" options="-parameters" />
</option>
</component>
</project>
\ No newline at end of file
<component name="libraryTable">
<library name="Maven: log4j:log4j:1.2.16">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.16/log4j-1.2.16.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.16/log4j-1.2.16-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar!/" />
</SOURCES>
</library>
</component>
\ No newline at end of file
......@@ -2,48 +2,65 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="5c5a6e49-5215-4271-a1d3-f663530e06ec" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSocketConfig.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/DTO/ApParamDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/ApParamController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/CustomerController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/CorsFilter.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/ApParam.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/Customer.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepository.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepositoryCustom.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/AppParamRepositoryImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/CustomerRepository.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__log4j_log4j_1_2_16.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201905/dev.20190530.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201905/ops.20190530.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201905/ops.20190530.log" beforeDir="false" afterPath="$PROJECT_DIR$/etc/app.conf" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201905/qa.20190530.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201906/dev.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201906/ops.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/campaign/201906/qa.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springAppName_IS_UNDEFINED/201906/dev.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springAppName_IS_UNDEFINED/201906/ops.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springAppName_IS_UNDEFINED/201906/qa.20190604.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/service-campaign.iml" beforeDir="false" afterPath="$PROJECT_DIR$/service-campaign.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.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="TRACKING_ENABLED" 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 leaf-file-name="WebSecurityConfig.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSecurityConfig.java">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/Customer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" selection-start-line="15" selection-end-line="15" />
<state relative-caret-position="3026">
<caret line="272" selection-start-line="272" selection-end-line="272" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3115#3116#0" expanded="true" />
<element signature="e#3149#3150#0" expanded="true" />
<element signature="e#4705#4706#0" expanded="true" />
<element signature="e#4739#4740#0" expanded="true" />
<element signature="e#5340#5341#0" expanded="true" />
<element signature="e#5371#5372#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Consumer.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Consumer.java">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="12" column="38" selection-start-line="12" selection-start-column="29" selection-end-line="12" selection-end-column="38" />
<state relative-caret-position="170">
<caret line="10" column="58" selection-start-line="10" selection-start-column="58" selection-end-line="10" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -51,41 +68,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="Producer.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Producer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="15" column="52" selection-start-line="15" selection-start-column="42" selection-end-line="15" selection-end-column="52" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bootstrap.yml" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/bootstrap.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="18" selection-start-line="2" selection-start-column="10" selection-end-line="2" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="application.yml" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="25" column="57" selection-start-line="25" selection-start-column="57" selection-end-line="25" selection-end-column="57" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="UserSession.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/UserSession.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="14" column="50" selection-start-line="14" selection-start-column="50" selection-end-line="14" selection-end-column="50" />
<state relative-caret-position="630">
<caret line="47" column="71" selection-start-line="47" selection-start-column="71" selection-end-line="47" selection-end-column="71" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -93,11 +80,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="KafkaController.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/CustomerRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="97">
<caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
<state relative-caret-position="238">
<caret line="14" column="41" selection-start-line="14" selection-start-column="41" selection-end-line="14" selection-end-column="41" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -105,16 +92,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="app.conf" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/etc/app.conf">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file leaf-file-name="WebSocketConfig.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSocketConfig.java">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/CustomerController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="26" column="1" selection-start-line="26" selection-start-column="1" selection-end-line="26" selection-end-column="1" />
<state relative-caret-position="306">
<caret line="18" column="26" selection-start-line="18" selection-start-column="18" selection-end-line="18" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -141,7 +123,16 @@
<find>org.springframework.kafka</find>
<find>ka</find>
<find>sleuth</find>
<find>Configuration</find>
<find>varchar(100) null,</find>
<find>CustomerEntity</find>
<find>\n</find>
<find>customer</find>
<find>page</find>
</findStrings>
<replaceStrings>
<replace>ApParam</replace>
</replaceStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
......@@ -154,11 +145,25 @@
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSecurityConfig.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/UserSession.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Producer.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java" />
<option value="$PROJECT_DIR$/src/main/resources/bootstrap.yml" />
<option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSocketConfig.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/DTO/ApParamDTO.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/CorsFilter.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamService.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepositoryCustom.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/AppParamRepositoryImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/ApParam.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/ApParamController.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepository.java" />
<option value="$PROJECT_DIR$/src/main/resources/application.yml" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/CustomerRepository.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerService.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/Customer.java" />
<option value="$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/CustomerController.java" />
</list>
</option>
</component>
......@@ -176,8 +181,8 @@
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="25" />
<option name="y" value="23" />
<option name="x" value="166" />
<option name="y" value="27" />
<option name="width" value="1655" />
<option name="height" value="1027" />
</component>
......@@ -190,7 +195,6 @@
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
......@@ -201,18 +205,20 @@
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="etc" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" 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="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -220,6 +226,7 @@
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -228,6 +235,7 @@
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="config" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -236,7 +244,7 @@
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="config" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -245,7 +253,7 @@
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="service" type="462c0819:PsiDirectoryNode" />
<item name="DTO" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -254,7 +262,7 @@
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="model" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
......@@ -263,42 +271,48 @@
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
<item name="repository" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="service" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="service-campaign" type="b2602c69:ProjectViewProjectNode" />
<item name="service-campaign" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="campaign" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="AndroidView" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
......@@ -307,8 +321,10 @@
<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="last_opened_file_path" value="$PROJECT_DIR$/../pentacoSrc" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="project.structure.last.edited" value="Modules" />
......@@ -333,25 +349,33 @@
</list>
</option>
</component>
<component name="RunManager">
<component name="RunManager" selected="Application.ServiceCampaignApplication">
<configuration name="ServiceCampaignApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.viettel.campaign.ServiceCampaignApplication" />
<module name="service-campaign" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.viettel.campaign.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<patterns />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="ServiceCampaignApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="service-campaign" />
......@@ -359,28 +383,20 @@
<option name="VM_PARAMETERS" value="-DskipTests" />
<option name="ALTERNATIVE_JRE_PATH" />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<configuration default="true" type="TestNG">
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
<option name="OUTPUT_DIRECTORY" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<properties />
<listeners />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.ServiceCampaignApplication" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
......@@ -401,49 +417,92 @@
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="28093000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="25" y="23" width="1655" height="1027" extended-state="6" />
<frame x="-8" y="-8" width="1936" height="1066" extended-state="6" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
<window_info id="Capture Tool" order="2" />
<window_info id="Designer" order="2" />
<window_info anchor="right" id="Database" order="3" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.21215352" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Messages" order="8" weight="0.32903227" />
<window_info anchor="right" id="Palette&#9;" order="3" />
<window_info id="Image Layers" order="2" />
<window_info anchor="bottom" id="Java Enterprise" order="7" />
<window_info anchor="right" id="Capture Analysis" order="3" />
<window_info anchor="bottom" id="Version Control" order="7" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Spring" order="7" />
<window_info anchor="bottom" id="Terminal" order="7" visible="true" weight="0.32903227" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25604463" />
<window_info anchor="right" id="Bean Validation" order="3" />
<window_info id="Web" order="2" side_tool="true" />
<window_info anchor="right" id="Theme Preview" order="3" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info id="Designer" order="2" />
<window_info id="Image Layers" order="3" />
<window_info id="UI Designer" order="4" />
<window_info id="Favorites" order="5" side_tool="true" />
<window_info id="Capture Tool" order="6" />
<window_info id="Web" order="7" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3290461" />
<window_info anchor="bottom" id="Run" order="2" weight="0.3290461" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39978564" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.3290461" />
<window_info anchor="bottom" id="Spring" order="7" />
<window_info anchor="bottom" id="Terminal" order="8" sideWeight="0.49946696" weight="0.3108253" />
<window_info anchor="bottom" id="Java Enterprise" order="9" />
<window_info anchor="bottom" id="Database Changes" order="10" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="11" weight="0.3290461" />
<window_info anchor="bottom" id="Messages" order="12" weight="0.3279743" />
<window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" weight="0.3108253" />
<window_info anchor="right" id="Maven" order="0" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="1" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="2" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="3" weight="0.25" />
<window_info anchor="right" id="Palette" order="4" />
<window_info anchor="right" id="Capture Analysis" order="5" />
<window_info anchor="right" id="Maven Projects" order="6" />
<window_info anchor="right" id="Database" order="7" />
<window_info anchor="right" id="Palette&#9;" order="8" />
<window_info anchor="right" id="Theme Preview" order="9" />
<window_info anchor="right" id="Bean Validation" order="10" />
</layout>
<layout-to-restore>
<window_info content_ui="combo" id="Project" order="0" weight="0.21215352" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Designer" order="2" />
<window_info id="Image Layers" order="3" />
<window_info id="UI Designer" order="4" />
<window_info id="Favorites" order="5" side_tool="true" />
<window_info id="Capture Tool" order="6" />
<window_info id="Web" order="7" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3290461" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.3290461" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39978564" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.3290461" />
<window_info anchor="bottom" id="Spring" order="7" />
<window_info anchor="bottom" id="Terminal" order="8" sideWeight="0.49946696" weight="0.3108253" />
<window_info anchor="bottom" id="Java Enterprise" order="9" />
<window_info anchor="bottom" id="Database Changes" order="10" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="11" weight="0.3290461" />
<window_info anchor="bottom" id="Messages" order="12" weight="0.3279743" />
<window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" weight="0.3108253" />
<window_info anchor="right" id="Maven" order="0" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="1" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="2" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="3" weight="0.25" />
<window_info anchor="right" id="Palette" order="4" />
<window_info anchor="right" id="Capture Analysis" order="5" />
<window_info anchor="right" id="Maven Projects" order="6" />
<window_info anchor="right" id="Database" order="7" />
<window_info anchor="right" id="Palette&#9;" order="8" />
<window_info anchor="right" id="Theme Preview" order="9" />
<window_info anchor="right" id="Bean Validation" order="10" />
</layout-to-restore>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
......@@ -453,18 +512,32 @@
<properties />
<option name="timeStamp" value="5" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerServiceImpl.java</url>
<line>30</line>
<properties />
<option name="timeStamp" value="9" />
</line-breakpoint>
</breakpoints>
<option name="time" value="6" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/pom.xml">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebConfig.java" />
<entry file="file://$PROJECT_DIR$/src/test/java/com/viettel/campaign/ServiceCampaignApplicationTests.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/kafka/spring-kafka/2.1.10.RELEASE/spring-kafka-2.1.10.RELEASE.jar!/org/springframework/kafka/core/KafkaTemplate.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2190">
<caret line="146" column="39" selection-start-line="146" selection-start-column="31" selection-end-line="146" selection-end-column="39" />
<state relative-caret-position="252">
<caret line="103" column="70" selection-start-line="103" selection-start-column="67" selection-end-line="103" selection-end-column="70" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Producer.java" />
<entry file="file://$PROJECT_DIR$/src/main/resources/logback.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
......@@ -472,188 +545,241 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSecurityConfig.java">
<entry file="file://$PROJECT_DIR$/HELP.md" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/UserSession.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="14" column="69" selection-start-line="14" selection-start-column="69" selection-end-line="14" selection-end-column="69" />
<state relative-caret-position="238">
<caret line="14" column="50" selection-start-line="14" selection-start-column="50" selection-end-line="14" selection-end-column="50" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Consumer.java">
<entry file="file://$PROJECT_DIR$/etc/app.conf">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSocketConfig.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="12" column="38" selection-start-line="12" selection-start-column="29" selection-end-line="12" selection-end-column="38" />
<state relative-caret-position="442">
<caret line="26" column="1" selection-start-line="26" selection-start-column="1" selection-end-line="26" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Producer.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Consumer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="15" column="52" selection-start-line="15" selection-start-column="42" selection-end-line="15" selection-end-column="52" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="153">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/bootstrap.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<state relative-caret-position="34">
<caret line="2" column="18" selection-start-line="2" selection-start-column="10" selection-end-line="2" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/UserSession.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/CorsFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="14" column="50" lean-forward="true" selection-start-line="14" selection-start-column="50" selection-end-line="14" selection-end-column="50" />
<state relative-caret-position="459">
<caret line="27" column="31" lean-forward="true" selection-start-line="23" selection-start-column="22" selection-end-line="27" selection-end-column="31" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSecurityConfig.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="19" column="36" lean-forward="true" selection-start-line="19" selection-start-column="36" selection-end-line="19" selection-end-column="36" />
<state relative-caret-position="187">
<caret line="11" selection-start-line="11" selection-end-line="11" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/ServiceCampaignApplication.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="13" selection-start-line="13" selection-end-line="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pom.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="600">
<caret line="40" column="52" selection-start-line="40" selection-start-column="24" selection-end-line="40" selection-end-column="52" />
<state relative-caret-position="443">
<caret line="117" column="34" selection-start-line="117" selection-start-column="34" selection-end-line="117" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" selection-start-line="5" selection-end-line="5" />
<state relative-caret-position="200">
<caret line="16" selection-start-line="16" selection-end-line="16" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebConfig.java" />
<entry file="file://$PROJECT_DIR$/src/test/java/com/viettel/campaign/ServiceCampaignApplicationTests.java">
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/data/spring-data-jpa/2.0.11.RELEASE/spring-data-jpa-2.0.11.RELEASE.jar!/org/springframework/data/jpa/repository/JpaRepository.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
<state relative-caret-position="119">
<caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/kafka/spring-kafka/2.1.10.RELEASE/spring-kafka-2.1.10.RELEASE.jar!/org/springframework/kafka/core/KafkaTemplate.class">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/DTO/ApParamDTO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="103" column="70" selection-start-line="103" selection-start-column="67" selection-end-line="103" selection-end-column="70" />
<state relative-caret-position="34">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Consumer.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/ApParam.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="12" column="38" selection-start-line="12" selection-start-column="29" selection-end-line="12" selection-end-column="38" />
<state relative-caret-position="221">
<caret line="13" column="20" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/Producer.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/ApParamController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="15" column="52" selection-start-line="15" selection-start-column="42" selection-end-line="15" selection-end-column="52" />
<state relative-caret-position="408">
<caret line="36" selection-start-line="36" selection-end-line="36" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/filter/UserSession.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="14" column="50" selection-start-line="14" selection-start-column="50" selection-end-line="14" selection-end-column="50" />
<state relative-caret-position="153">
<caret line="9" column="1" selection-start-line="9" selection-start-column="1" selection-end-line="9" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSocketConfig.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/ApParamServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="26" column="1" selection-start-line="26" selection-start-column="1" selection-end-line="26" selection-end-column="1" />
<state relative-caret-position="340">
<caret line="22" column="56" selection-start-line="22" selection-start-column="56" selection-end-line="22" selection-end-column="56" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#630#631#0" expanded="true" />
<element signature="e#657#658#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/logback.xml">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepositoryCustom.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="88" selection-start-line="5" selection-start-column="84" selection-end-line="5" selection-end-column="88" />
<state relative-caret-position="119">
<caret line="7" selection-start-line="7" selection-end-line="7" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pom.xml">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/AppParamRepositoryImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="146" column="39" selection-start-line="146" selection-start-column="31" selection-end-line="146" selection-end-column="39" />
<state relative-caret-position="306">
<caret line="18" column="5" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/config/WebSecurityConfig.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/ApParamRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" selection-start-line="15" selection-end-line="15" />
<state relative-caret-position="153">
<caret line="9" column="5" selection-start-line="9" selection-start-column="5" selection-end-line="9" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/bootstrap.yml">
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="18" selection-start-line="2" selection-start-column="10" selection-end-line="2" selection-end-column="18" />
<state relative-caret-position="408">
<caret line="24" column="41" selection-start-line="24" selection-start-column="41" selection-end-line="24" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/HELP.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor />
<second_editor />
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/5.0.10.RELEASE/spring-web-5.0.10.RELEASE.jar!/org/springframework/web/method/support/InvocableHandlerMethod.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="178">
<caret line="127" selection-start-line="127" selection-end-line="127" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/web/controller/KafkaController.java">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="97">
<caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
<state relative-caret-position="630">
<caret line="47" column="71" selection-start-line="47" selection-start-column="71" selection-end-line="47" selection-end-column="71" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/etc/app.conf">
<provider selected="true" editor-type-id="text-editor" />
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/service/CustomerService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="10" column="58" selection-start-line="10" selection-start-column="58" selection-end-line="10" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/repository/CustomerRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="14" column="41" selection-start-line="14" selection-start-column="41" selection-end-line="14" selection-end-column="41" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/model/Customer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="25" column="57" selection-start-line="25" selection-start-column="57" selection-end-line="25" selection-end-column="57" />
<state relative-caret-position="3026">
<caret line="272" selection-start-line="272" selection-end-line="272" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3115#3116#0" expanded="true" />
<element signature="e#3149#3150#0" expanded="true" />
<element signature="e#4705#4706#0" expanded="true" />
<element signature="e#4739#4740#0" expanded="true" />
<element signature="e#5340#5341#0" expanded="true" />
<element signature="e#5371#5372#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/viettel/campaign/controller/CustomerController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="26" selection-start-line="18" selection-start-column="18" selection-end-line="18" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
......
......@@ -152,6 +152,17 @@
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<dependencyManagement>
......
......@@ -182,12 +182,12 @@
<orderEntry type="library" scope="TEST" name="Maven: org.scala-lang:scala-library:2.11.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.101tec:zkclient:0.10" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apache.zookeeper:zookeeper:3.4.10" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: log4j:log4j:1.2.16" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apache.kafka:kafka_2.11:test:1.0.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.restdocs:spring-restdocs-mockmvc:2.0.2.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.restdocs:spring-restdocs-core:2.0.2.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.security:spring-security-test:5.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
</component>
</module>
\ No newline at end of file
package com.viettel.campaign.DTO;
public class ApParamDTO {
private Long apParamId;
private String parName;
private String parValue;
private String parCode;
private Long resourceId;
private Long status;
public Long getApParamId() {
return apParamId;
}
public void setApParamId(Long apParamId) {
this.apParamId = apParamId;
}
public String getParName() {
return parName;
}
public void setParName(String parName) {
this.parName = parName;
}
public String getParValue() {
return parValue;
}
public void setParValue(String parValue) {
this.parValue = parValue;
}
public String getParCode() {
return parCode;
}
public void setParCode(String parCode) {
this.parCode = parCode;
}
public Long getResourceId() {
return resourceId;
}
public void setResourceId(Long resourceId) {
this.resourceId = resourceId;
}
public Long getStatus() {
return status;
}
public void setStatus(Long status) {
this.status = status;
}
}
package com.viettel.campaign.controller;
import com.viettel.campaign.DTO.ApParamDTO;
import com.viettel.campaign.model.ApParam;
import com.viettel.campaign.service.ApParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@RequestMapping("/ipcc")
public class ApParamController {
@Autowired(required=true)
ApParamService apParamService;
@GetMapping(path = "/apParam/findAlls")
@ResponseBody
public ResponseEntity<List<ApParam>> listAllCustomer(){
List<ApParam> listCustomer = (List<ApParam>) apParamService.getAllParams();
if(listCustomer.isEmpty()) {
return new ResponseEntity(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<List<ApParam>>(listCustomer, HttpStatus.OK);
}
@PostMapping(path = "/apParam/findByName")
@ResponseBody
public ResponseEntity<List<ApParam>> searchParamByName(@RequestParam(name = "parName") String parName) {
List<ApParam> lst = apParamService.getParamByName(parName);
if (lst.isEmpty())
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
return new ResponseEntity<List<ApParam>>(lst, HttpStatus.OK);
}
}
package com.viettel.campaign.controller;
import com.viettel.campaign.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@Controller
@RequestMapping("/ipcc")
public class CustomerController {
@Autowired(required=true)
CustomerService customerService;
@GetMapping("/customer/findAll")
@ResponseBody
public ResponseEntity findAllCustomer(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort) {
Map result = customerService.listAllCustomer(page, pageSize, sort);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@GetMapping("/customer/findCustName")
@ResponseBody
public ResponseEntity findAllCustomerName(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort, @RequestParam("name") String name) {
Map result = customerService.listCustByName(page, pageSize, sort, name);
return new ResponseEntity(result, HttpStatus.OK);
}
}
package com.viettel.campaign.filter;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class CorsFilter implements Filter {
private Logger logger = Logger.getLogger(CorsFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
try {
chain.doFilter(req, resp);
} catch (Exception e) {
logger.error(e.getMessage(), e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
}
}
@Override
public void destroy() {
}
}
package com.viettel.campaign.model;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Entity
@Table(name = "AP_PARAM")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "ApParam.findAll", query = "SELECT a FROM ApParam a"),
@NamedQuery(name = "ApParam.findByCalendarTimeId", query = "SELECT a FROM ApParam a WHERE a.apParamId = :apParamId")})
public class ApParam implements Serializable {
@Id
@NotNull
@Column(name = "AP_PARAM_ID")
private Long apParamId;
@Column(name = "PAR_TYPE")
private String parType;
@Column(name = "PAR_NAME")
private String parName;
@Column(name = "PAR_VALUE")
private String parValue;
@Column(name = "PAR_CODE")
private String parCode;
@Column(name = "DESCRIPTION")
private Long description;
@Column(name = "IS_DELETE")
private Long isDelete;
@Column(name = "IS_DEFAULT")
private Long isDefault;
@Column(name = "ENABLE_EDIT")
private Long enableEdit;
@Column(name = "COMPANY_SITE_ID")
private Long siteId;
public Long getApParamId() {
return apParamId;
}
public void setApParamId(Long apParamId) {
this.apParamId = apParamId;
}
public String getParType() {
return parType;
}
public void setParType(String parType) {
this.parType = parType;
}
public String getParName() {
return parName;
}
public void setParName(String parName) {
this.parName = parName;
}
public String getParValue() {
return parValue;
}
public void setParValue(String parValue) {
this.parValue = parValue;
}
public String getParCode() {
return parCode;
}
public void setParCode(String parCode) {
this.parCode = parCode;
}
public Long getDescription() {
return description;
}
public void setDescription(Long description) {
this.description = description;
}
public Long getIsDelete() {
return isDelete;
}
public void setIsDelete(Long isDelete) {
this.isDelete = isDelete;
}
public Long getIsDefault() {
return isDefault;
}
public void setIsDefault(Long isDefault) {
this.isDefault = isDefault;
}
public Long getEnableEdit() {
return enableEdit;
}
public void setEnableEdit(Long enableEdit) {
this.enableEdit = enableEdit;
}
public Long getSiteId() {
return siteId;
}
public void setSiteId(Long siteId) {
this.siteId = siteId;
}
}
package com.viettel.campaign.model;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name = "CUSTOMER")
public class Customer implements Serializable {
@Id
@GeneratedValue(generator = "customer_seq")
@SequenceGenerator(name = "customer_seq", sequenceName = "customer_seq", allocationSize = 1)
@Basic(optional = false)
@NotNull
@Column(name = "CUSTOMER_ID")
private Long customerId;
@Column(name = "CODE")
private String code;
@Column(name = "NAME")
private String name;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "COMPANY_NAME")
private String companyName;
@Column(name = "CUSTOMER_IMG")
private String customerImg;
@Basic(optional = false)
@NotNull
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
@Column(name = "UPDATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date updateDate;
@Column(name = "STATUS")
private String status;
@Column(name = "CREATE_BY")
private String createBy;
@Column(name = "UPDATE_BY")
private String updateBy;
@Column(name = "SITE_ID")
private Long siteId;
@Column(name = "GENDER")
private Short gender;
@Column(name = "CURRENT_ADDRESS")
private String currentAddress;
@Column(name = "PLACE_OF_BIRTH")
private String placeOfBirth;
@Column(name = "DATE_OF_BIRTH")
@Temporal(TemporalType.TIMESTAMP)
private Date dateOfBirth;
@Column(name = "MOBILE_NUMBER")
private String mobileNumber;
@Column(name = "EMAIL")
private String email;
@Column(name = "USERNAME")
private String userName;
@Column(name = "AREA_CODE")
private String areaCode;
@Column(name = "CUSTOMER_TYPE")
private Long customerType;
@Column(name = "CALL_ALLOWED")
private String callAllowed;
@Column(name = "EMAIL_ALLOWED")
private Long emailAllowed;
@Column(name = "SMS_ALLOWED")
private Long smsAllowed;
@Column(name = "IPCC_STATUS")
private String ipccStatus;
public Long getCustomerId() {
return customerId;
}
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getCustomerImg() {
return customerImg;
}
public void setCustomerImg(String customerImg) {
this.customerImg = customerImg;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Long getSiteId() {
return siteId;
}
public void setSiteId(Long siteId) {
this.siteId = siteId;
}
public Short getGender() {
return gender;
}
public void setGender(Short gender) {
this.gender = gender;
}
public String getCurrentAddress() {
return currentAddress;
}
public void setCurrentAddress(String currentAddress) {
this.currentAddress = currentAddress;
}
public String getPlaceOfBirth() {
return placeOfBirth;
}
public void setPlaceOfBirth(String placeOfBirth) {
this.placeOfBirth = placeOfBirth;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAreaCode() {
return areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public Long getCustomerType() {
return customerType;
}
public void setCustomerType(Long customerType) {
this.customerType = customerType;
}
public String getCallAllowed() {
return callAllowed;
}
public void setCallAllowed(String callAllowed) {
this.callAllowed = callAllowed;
}
public Long getEmailAllowed() {
return emailAllowed;
}
public void setEmailAllowed(Long emailAllowed) {
this.emailAllowed = emailAllowed;
}
public Long getSmsAllowed() {
return smsAllowed;
}
public void setSmsAllowed(Long smsAllowed) {
this.smsAllowed = smsAllowed;
}
public String getIpccStatus() {
return ipccStatus;
}
public void setIpccStatus(String ipccStatus) {
this.ipccStatus = ipccStatus;
}
}
package com.viettel.campaign.repository;
import com.viettel.campaign.model.ApParam;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParamRepositoryCustom {
@Query(value = "SELECT * FROM AP_PARAM p WHERE PAR_NAME LIKE %?1%", nativeQuery = true)
List<ApParam> findParamByName(String parName);
}
package com.viettel.campaign.repository;
import com.viettel.campaign.model.ApParam;
import java.util.List;
public interface ApParamRepositoryCustom {
}
package com.viettel.campaign.repository;
import com.viettel.campaign.model.ApParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.List;
@Repository
public class AppParamRepositoryImpl implements ApParamRepositoryCustom {
@Autowired
EntityManager entityManager;
public AppParamRepositoryImpl() {
}
}
package com.viettel.campaign.repository;
import com.viettel.campaign.model.Customer;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface CustomerRepository extends JpaRepository<Customer, Long> {
Page<Customer> findAll(Pageable pageable);
@Query("FROM Customer WHERE name = ?1")
List<Customer> findByName(String firstName, Pageable pageable);
}
package com.viettel.campaign.service;
import com.viettel.campaign.model.ApParam;
import java.util.List;
public interface ApParamService {
Iterable<ApParam> getAllParams();
List<ApParam> getParamByName(String parName);
}
package com.viettel.campaign.service;
import com.viettel.campaign.model.ApParam;
import com.viettel.campaign.repository.ApParamRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ApParamServiceImpl implements ApParamService {
@Autowired
ApParamRepository apParamRepository;
@Override
public Iterable<ApParam> getAllParams() {
return apParamRepository.findAll();
}
@Override
public List<ApParam> getParamByName(String parName) {
return apParamRepository.findParamByName(parName);
}
}
package com.viettel.campaign.service;
import com.viettel.campaign.model.Customer;
import java.util.List;
import java.util.Map;
public interface CustomerService {
Map listAllCustomer(int page, int pageSize, String sort);
Map listCustByName(int page, int pageSize, String sort, String name);
}
package com.viettel.campaign.service;
import com.viettel.campaign.model.Customer;
import com.viettel.campaign.repository.CustomerRepository;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class CustomerServiceImpl implements CustomerService {
@Autowired
EntityManager entityManager;
@Autowired
CustomerRepository customerRepository;
@Override
public Map listAllCustomer(int page, int pageSize, String sort) {
Map result = new HashMap();
List<Customer> lst = new ArrayList<>();
Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
Page<Customer> pc = customerRepository.findAll(pageable);
result.put("totalItem", pc.getTotalElements());
result.put("customers", pc.iterator());
return result;
}
@Override
public Map listCustByName(int page, int pageSize, String sort, String name) {
Map result = new HashMap();
List<Customer> lst = new ArrayList<>();
Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
lst = customerRepository.findByName(name, pageable);
result.put("totalItem", lst.size());
result.put("customers", lst);
return result;
}
}
......@@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.apache.log4j.Logger;
/**
* @author hanv_itsol
* @project service-campaign
......@@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping(value = "/kafka")
public class KafkaController {
private static final Logger log = Logger.getLogger(KafkaController.class);
private final Producer producer;
@Autowired
......@@ -26,13 +29,13 @@ public class KafkaController {
@PostMapping(value = "/publish")
public void sendMessageToKafkaTopic(@RequestParam("message") String message) {
log.info("message: #{}", message);
log.info("message: " + message);
this.producer.sendMessage(message);
}
@PostMapping(value = "/publish2")
public void sendMessageToKafkaTopic2(@RequestParam("message") String message) {
log.info("message: #{}", message);
log.info("message: " + message);
this.producer.sendMessageTopic2(message);
}
}
......@@ -9,18 +9,21 @@ spring:
username: CCMS_FULL
password: CCMS_FULL#123
jpa:
database-platform: org.hibernate.dialect.Oracle10gDialect
show-sql: true
generate-ddl: false
hibernate:
ddl-auto: validate
kafka:
consumer:
bootstrap-servers: 192.168.1.201:9092
group-id: group_id
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
bootstrap-servers: 192.168.1.201:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
\ No newline at end of file
ddl-auto: none
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# kafka:
# consumer:
# bootstrap-servers: 192.168.1.201:9092
# group-id: group_id
# auto-offset-reset: earliest
# key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# producer:
# bootstrap-servers: 192.168.1.201:9092
# key-serializer: org.apache.kafka.common.serialization.StringSerializer
# value-serializer: org.apache.kafka.common.serialization.StringSerializer
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment