From 2429c55948869951cf10ffea42e8b79054e93068 Mon Sep 17 00:00:00 2001
From: Permana <[email protected]>
Date: Tue, 02 Oct 2018 13:40:18 +0900
Subject: [PATCH] update price

---
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/database/repository/MonitoringUserMapper.java     |    2 
 unipin_notification_service/src/main/resources/application-dev.properties                                                            |    2 
 unipin_request_service/src/main/resources/logback.xml                                                                                |    4 
 unipin_notification_service/unipin-notification-service.iml                                                                          |   52 -
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/security/WebSecurityConfig.java                   |    4 
 unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/service/ClientWapChargingService.java |   58 +
 unipin_charge_service/pom.xml                                                                                                        |    2 
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/Application.java                                  |   39 +
 unipin_charge_service/unipin-charge-service.iml                                                                                      |   30 
 processcount.sh                                                                                                                      |    3 
 unipin_api_service/src/main/resources/application-dev.properties                                                                     |    2 
 unipin_mo_service/src/main/resources/logback-spring.xml                                                                              |    8 
 unipin_result_service/unipin-result-service.iml                                                                                      |   27 
 unipin_bot_telegram_service/unipin_bot_telegram_service.iml                                                                          |   98 +++
 unipin_cms_service/src/main/resources/application.properties                                                                         |    7 
 unipin_cms_service/src/main/resources/mybatis/mapper/monitoringUser.xml                                                              |    9 
 unipin_bgw_service/unipin-bgw-service.iml                                                                                            |  114 ++++
 unipin_api_service/unipin-api-service.iml                                                                                            |  116 ++++
 unipin_mo_service/unipin-mo-service.iml                                                                                              |   65 +
 unipin_cms_service/src/main/resources/application-prod.properties                                                                    |   28 +
 unipin_cms_service/src/main/resources/logback-spring.xml                                                                             |   21 
 unipin.iml                                                                                                                           |   59 +
 unipin_request_service/unipin-request-service.iml                                                                                    |   41 +
 unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/job/ChargeWorker.java                 |   31 +
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/Monitoring.java                           |   22 
 unipin_request_service/src/main/resources/application-dev.properties                                                                 |    2 
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/BBDOController.java                    |   74 ++
 unipin_model/unipin-model.iml                                                                                                        |   59 +
 unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/properties/Price.java                         |   10 
 unipin_cms_service/src/main/resources/application-dev.properties                                                                     |   14 
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/MainController.java                    |   20 
 unipin_mo_service/src/main/resources/application-dev.properties                                                                      |    2 
 unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/Application.java                    |    3 
 unipin_charge_service/src/main/resources/application.properties                                                                      |    3 
 unipin_cms_service/pom.xml                                                                                                           |   15 
 unipin_cms_service/src/main/resources/static/images/Logo Tri 2017-01 - Copy.png                                                      |    0 
 unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/service/SMSService.java             |   22 
 unipin_database_service/unipin-database-service.iml                                                                                  |  109 ++++
 unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/ILineData.java             |    4 
 unipin_notification_service/src/main/resources/logback.xml                                                                           |   26 
 pom.xml                                                                                                                              |    9 
 application.properties                                                                                                               |   34 +
 unipin_request_service/src/main/resources/application-prod.properties                                                                |    2 
 unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/Application.java                      |    1 
 unipin_cms_service/unipin-cms-service.iml                                                                                            |  135 +++++
 unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/MonitoringService.java                    |   71 +-
 unipin_mo_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/moservice/Application.java                                 |    3 
 unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/HutchBillResponse.java     |    1 
 unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/controller/PaymentRequestController.java      |    9 
 49 files changed, 1,217 insertions(+), 255 deletions(-)

diff --git a/application.properties b/application.properties
new file mode 100644
index 0000000..c5f6a0d
--- /dev/null
+++ b/application.properties
@@ -0,0 +1,34 @@
+server-port=9100
+#JPA CONFIGURATION
+spring.datasource.url=jdbc:mysql://52.74.234.11:3306/line_bgw
+spring.datasource.username=line
+spring.datasource.password=am9999
+
+#APPLICATION LEVEL CONFIGURATION
+app.line.whitelist.ip=202.158.94.131,202.43.73.235,202.43.73.237
+#202.137.31.125-Office IP
+#211.43.222.86-Monitoring
+#202.159.28.20-Jay Home
+
+#app.apiurl.auth=http://localhost:8031/%s/billing/authkey?country_code=ID&op_code=%s
+#app.apiurl.purchase=http://localhost:8031/%s/billing/purchase?op_code=%s&country_code=ID&trx_id=%s&price=%s&msisdn=%s&prod_id=%s&auth_key=%s
+#app.apiurl.delete=http://localhost:8031/%s/billing/deleteVerificationCode?op_code=%s&country_code=ID&trx_id=%s&auth_key=%s
+
+app.apiurl.auth=http://localhost:%s/%s/billing/authkey?country_code=ID&op_code=%s
+app.apiurl.purchase=http://localhost:%s/%s/billing/purchase?op_code=%s&country_code=ID&trx_id=%s&price=%s&msisdn=%s&prod_id=%s&auth_key=%s
+app.apiurl.delete=http://localhost:%s/%s/billing/deleteVerificationCode?op_code=%s&country_code=ID&trx_id=%s&auth_key=%s
+app.httprequest.timeout=10
+app.httprequest.retry.max=20
+
+app.carrier.port.telkomsel=8031
+app.carrier.port.xl=8031
+app.carrier.port.indosat=8031
+app.carrier.port.smartfren=8032
+app.carrier.port.hutch=8033
+
+app.carrier.prefix.telkomsel=0811,0812,0813,0851,0852,0853,0821,0822,0823
+app.carrier.prefix.xl=0817,0818,0819,0859,0879,0878,0877,0838,0831,0832,0833
+app.carrier.prefix.indosat=0814,0815,0816,0855,0856,0857,0858
+app.carrier.prefix.smartfren=0881,0882,0883,0884,0885,0886,0887,0888,0889
+app.carrier.prefix.hutch=0894,0895,0896,0897,0898,0899
+
diff --git a/pom.xml b/pom.xml
index d8267e9..31a4717 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,8 +65,13 @@
 
         <dependency>
             <groupId>id.co.qhodok.tools</groupId>
-            <artifactId>trigger</artifactId>
-            <version>2.0</version>
+            <artifactId>qhodok-tools-logger</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>id.co.qhodok.tools</groupId>
+            <artifactId>qhodok-tools-telegram</artifactId>
+            <version>1.0</version>
         </dependency>
 
         <dependency>
diff --git a/processcount.sh b/processcount.sh
new file mode 100644
index 0000000..6abe143
--- /dev/null
+++ b/processcount.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+ps -ef | grep $1|grep -v grep |awk '{print $2}'|wc -l
diff --git a/unipin.iml b/unipin.iml
index 1b97d1c..3842f5a 100644
--- a/unipin.iml
+++ b/unipin.iml
@@ -16,21 +16,12 @@
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
@@ -44,13 +35,51 @@
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_api_service/src/main/resources/application-dev.properties b/unipin_api_service/src/main/resources/application-dev.properties
index e8f5e3a..6324edb 100644
--- a/unipin_api_service/src/main/resources/application-dev.properties
+++ b/unipin_api_service/src/main/resources/application-dev.properties
@@ -19,7 +19,7 @@
 mybatis.config-location=classpath:mybatis/mybatis-config.xml
 logging.level.sample.mybatis.mapper=TRACE
 
-app.line.whitelist.ip=202.43.73.237,202.43.73.235
+app.line.whitelist.ip=202.43.73.237,202.43.73.235,35.201.139.206,35.234.31.113,104.199.242.128,104.199.175.52
 
 app.apiurl.auth=http://localhost:%s/%s/billing/authkey?country_code=ID&op_code=%s
 app.apiurl.purchase=http://localhost:%s/%s/billing/purchase?op_code=%s&country_code=ID&trx_id=%s&price=%s&msisdn=%s&prod_id=%s&auth_key=%s
diff --git a/unipin_api_service/unipin-api-service.iml b/unipin_api_service/unipin-api-service.iml
new file mode 100644
index 0000000..88e548b
--- /dev/null
+++ b/unipin_api_service/unipin-api-service.iml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
+    <orderEntry type="module" module-name="unipin-database-service" />
+    <orderEntry type="module" module-name="unipin-model" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/unipin_bgw_service/unipin-bgw-service.iml b/unipin_bgw_service/unipin-bgw-service.iml
new file mode 100644
index 0000000..04baa45
--- /dev/null
+++ b/unipin_bgw_service/unipin-bgw-service.iml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/unipin_bot_telegram_service/unipin_bot_telegram_service.iml b/unipin_bot_telegram_service/unipin_bot_telegram_service.iml
new file mode 100644
index 0000000..35e429f
--- /dev/null
+++ b/unipin_bot_telegram_service/unipin_bot_telegram_service.iml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
+    <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/unipin_charge_service/pom.xml b/unipin_charge_service/pom.xml
index 42b8424..e958c62 100644
--- a/unipin_charge_service/pom.xml
+++ b/unipin_charge_service/pom.xml
@@ -19,7 +19,7 @@
         </dependency>
         <dependency>
             <groupId>com.hcpt.client</groupId>
-            <artifactId>charginggatewayclient</artifactId>
+            <artifactId>chargingGatewayClient</artifactId>
             <version>1.0</version>
         </dependency>
 
diff --git a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/Application.java b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/Application.java
index e3d42a6..a48252c 100644
--- a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/Application.java
+++ b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/Application.java
@@ -83,7 +83,6 @@
     }
 
     public static void main(String[] args) {
-        //System.out.println("6289690835978".matches(".*89690835978"));
         SpringApplication.run(Application.class, args);
     }
 }
diff --git a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/job/ChargeWorker.java b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/job/ChargeWorker.java
index 5b8971a..f9f39a7 100644
--- a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/job/ChargeWorker.java
+++ b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/job/ChargeWorker.java
@@ -82,7 +82,9 @@
             if (HutchBillResponse.SUCCESS == response) {
                 rslt = ILineData.STATUS_SUCCESS;
                 insertChargeSuccessNotiQueue(request.getFromMsisdn(), billParams.getPrice());
-
+            } else if (HutchBillResponse.BLOCK_REQUEST == response) {
+                rslt = ILineData.STATUS_ERROR_BLOCK;
+                insertBlockRequest(request.getFromMsisdn(), billParams.getPrice());
             } else {
                 rslt = ILineData.STATUS_FAILURE;
                 insertChargeFailureNotiQueue(request.getFromMsisdn(), billParams.getPrice());
@@ -136,16 +138,18 @@
     private int chargeUser(BillParams billParams) {
         String logTitle = "chargeUser/Msisdn[" + billParams.getMsisdn() + "], BillCd[" + billParams.getBillId() + "], TrxId[" + billParams.getLineTrxId() + "], ";
         int billResponse;
-        log.info(this.whitelist + " " + billParams.getMsisdn().matches(this.whitelist) + " " + billParams.getMsisdn());
         if (billParams.getMsisdn().matches(this.whitelist)) {
             RequestOneStepPaymentModel paymentModel = new RequestOneStepPaymentModel();
             paymentModel.setMSISDN(billParams.getMsisdn());
             paymentModel.setPrice(billParams.getPrice());
             paymentModel.setSessionID(this.simpleDateFormat.format(new Date()) + this.generateSessionID() + System.currentTimeMillis() / 1000);
             paymentModel.setContentID(this.providerCode + this.contentType + "-0000");
+            log.info("sessionID/"+paymentModel.getSessionID());
             ResponseOneStepPaymentModel responseOneStepPaymentModel = this.clientWapChargingService.requestCharging(paymentModel);
             if (responseOneStepPaymentModel.getResult() == 1) {
                 billResponse = HutchBillResponse.SUCCESS;
+            } else if (responseOneStepPaymentModel.getReasonCode().equals("5031")) {
+                billResponse = HutchBillResponse.BLOCK_REQUEST;
             } else {
                 log.info(logTitle + "BillResponse error [{}]", this.gson.toJson(responseOneStepPaymentModel));
                 billResponse = HutchBillResponse.GENERAL_ERROR;
@@ -159,8 +163,15 @@
     }
 
     private void insertResultQueue(Queue request, BillParams billParams) {
-        String result = ILineData.STATUS_SUCCESS.endsWith(request.getRslt()) ?
-                ILineData.RESULT_SUCCESS + ":" + ILineData.STR_SUCCESS : ILineData.RESULT_BILLING_INSUFFBALANCE + ":" + ILineData.STR_BILLING_INSUFFBALANCE;
+
+        String result =  "";
+        if(ILineData.STATUS_SUCCESS.endsWith(request.getRslt())){
+            result = ILineData.RESULT_SUCCESS + ":" + ILineData.STR_SUCCESS;
+        }else if(ILineData.STATUS_ERROR_BLOCK.endsWith(request.getRslt())){
+            result = ILineData.RESULT_BLOCK_POSTPAID + ":" + ILineData.STR_BLOCK_POSTPAID;
+        }else{
+            result = ILineData.RESULT_BILLING_INSUFFBALANCE + ":" + ILineData.STR_BILLING_INSUFFBALANCE;
+        }
 
         Queue queueRslt = new Queue();
         queueRslt.setFromMsisdn(request.getFromMsisdn());
@@ -200,6 +211,18 @@
         queueNotiMapper.insert(notiRequest);
     }
 
+    private void insertBlockRequest(String msisdn, int price) {
+        SmsMessage smsMsg = smsMessageMapper.findOne(ILineData.MSG_CD_BLOCK_REQUEST);
+        Queue notiRequest = new Queue();
+        notiRequest.setFromMsisdn("997780");
+        notiRequest.setToMsisdn(msisdn);
+        notiRequest.setMsg(smsMsg.getMsg());
+        notiRequest.setTrxId("");
+        notiRequest.setTrxDt("");
+        notiRequest.setReqUrl("");
+        queueNotiMapper.insert(notiRequest);
+    }
+
     protected String generateSessionID() {
         if (System.currentTimeMillis() / 1000 == sessionID) {
             sessionID++;
diff --git a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/HutchBillResponse.java b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/HutchBillResponse.java
index 8caf2fc..d19d16f 100644
--- a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/HutchBillResponse.java
+++ b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/HutchBillResponse.java
@@ -13,5 +13,6 @@
     public static final int DATA_NOT_FOUND          = 25;
     public static final int DATABASE_ERROR          = 95;
     public static final int TIMEOUT                 = 97;
+    public static final int BLOCK_REQUEST           = 98;
 
 }
diff --git a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/ILineData.java b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/ILineData.java
index b10b2fd..64cb369 100644
--- a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/ILineData.java
+++ b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/properties/ILineData.java
@@ -41,6 +41,7 @@
 	public static final int RESULT_BILLING_INSUFFBALANCE 		= 46;
 
 	public static final int RESULT_TIMEOUT 						= 51;
+	public static final int RESULT_BLOCK_POSTPAID 				= 52; // postpaid
 	public static final int RESULT_INTERNAL_ERROR 				= 91;
 	
 	//Error String
@@ -68,6 +69,7 @@
 	
 	public static final String STR_TIMEOUT 						= "Network timeout.";
 	public static final String STR_INTERNAL_ERROR 				= "Internal error.";
+	public static final String STR_BLOCK_POSTPAID 				= "block msisdn.";
 	
 	//History table
 	//CBG_HIS_TB.STATUS
@@ -83,6 +85,7 @@
 	public static String STATUS_INSUFFICIENT_BALANCE    = "I";
 	public static String STATUS_NO_CONFIRM              = "C";
 	public static String STATUS_ERROR              		= "E";
+	public static String STATUS_ERROR_BLOCK             = "B"; // for postpaid error
 
 	//CBG_HIS_TB.ERR_CD
 	public static int ERR_CD_SUCCESS                = 0;
@@ -135,6 +138,7 @@
 	public static final String MSG_CD_SEND_VERIFICATION_CODE = "NOTI_VERIFICATION_CODE";
 	public static final String MSG_CD_CHARGING_FAILURE		 = "NOTI_CHARGING_FAILURE";
 	public static final String MSG_CD_CHARGING_SUCCESS		 = "NOTI_CHARGING_SUCCESS";
+	public static final String MSG_CD_BLOCK_REQUEST			 = "NOTI_BLOCK_REQUEST";
 
 
 	//API Type
diff --git a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/service/ClientWapChargingService.java b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/service/ClientWapChargingService.java
index 4882fc0..b2bb14b 100644
--- a/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/service/ClientWapChargingService.java
+++ b/unipin_charge_service/src/main/java/id/co/accessmobile/carrier/billling/unipin/chargingservice/service/ClientWapChargingService.java
@@ -3,7 +3,6 @@
 import com.google.gson.Gson;
 import id.co.accessmobile.carrier.billling.unipin.chargingservice.Application;
 import id.co.accessmobile.carrier.billling.unipin.chargingservice.Monitoring;
-import id.co.accessmobile.carrier.billling.unipin.chargingservice.common.util.MsisdnUtil;
 import id.co.accessmobile.carrier.billling.unipin.chargingservice.model.RefreshToken;
 import id.co.accessmobile.carrier.billling.unipin.chargingservice.model.RequestOneStepPaymentModel;
 import id.co.accessmobile.carrier.billling.unipin.chargingservice.model.ResponseOneStepPaymentModel;
@@ -18,11 +17,14 @@
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
+import org.telegram.telegrambots.exceptions.TelegramApiException;
 
 import javax.annotation.PostConstruct;
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.Base64;
 import java.util.Calendar;
+import java.util.List;
 
 /**
  * Created by Permana on 2/22/2018.
@@ -41,6 +43,9 @@
     @Value("${app.wap.charging.password}")
     protected String password;
 
+    @Value("${app.whitelist.block.test}")
+    protected String msisdnBlockTest;
+
     protected long nextRefreshToken;
 
     protected String accessToken;
@@ -54,6 +59,8 @@
     protected Calendar calendar = Calendar.getInstance();
 
     protected Object accessTokenGeneratedKey = new Object();
+
+    protected List<String> error4012;
 
     @Autowired
     protected Monitoring monitoring;
@@ -69,6 +76,20 @@
     protected void scheduleRefreshToken() {
         if (this.nextRefreshToken - System.currentTimeMillis() < 10 * 1000) {
             this.refreshToken();
+        }
+    }
+
+    @Scheduled(cron = "0 0 9 * * *")
+    public void reportError() throws TelegramApiException {
+        String message = "WARN\n" +
+                "4012 error payment\n";
+        for(String msisdn:this.error4012){
+            message+= msisdn+"\n";
+        }
+
+        if(!this.error4012.isEmpty()){
+            this.monitoring.sendMessageForTechnical(message);
+            this.error4012 = new ArrayList<>();
         }
     }
 
@@ -112,6 +133,7 @@
     @PostConstruct
     public void init() {
         this.logger = LoggerFactory.getLogger(ClientWapChargingService.class);
+        this.error4012 = new ArrayList<>();
         RestTemplate restTemplate = new RestTemplate();
         HttpHeaders headers = new HttpHeaders();
         headers.set("Authorization", "Basic " + Base64.getEncoder().encodeToString((this.username + ":" + this.password).getBytes()));
@@ -146,25 +168,35 @@
     }
 
     public ResponseOneStepPaymentModel requestCharging(RequestOneStepPaymentModel requestPayment) {
-        requestPayment.setPrice((long) ((long)(requestPayment.getPrice()*100)/(long)110));
+        requestPayment.setPrice(Math.round( requestPayment.getPrice() /  1.1 ));
         this.logger.info("request " + this.gson.toJson(requestPayment));
         ResponseOneStepPaymentModel result = null;
         try {
-            RestTemplate restTemplate = new RestTemplate();
-            HttpHeaders headers = new HttpHeaders();
-            synchronized (this.accessTokenGeneratedKey) {
-                headers.set("Authorization", "Bearer " + this.accessToken);
+            if(requestPayment.getMSISDN().matches(this.msisdnBlockTest)){
+                result = new ResponseOneStepPaymentModel();
+                result.setReasonCode("5031");
+                result.setResult(0);
+                result.setSessionID(requestPayment.getSessionID());
+                result.setUserSpecificReserved("");
+            }else {
+                RestTemplate restTemplate = new RestTemplate();
+                HttpHeaders headers = new HttpHeaders();
+                synchronized (this.accessTokenGeneratedKey) {
+                    headers.set("Authorization", "Bearer " + this.accessToken);
+                }
+                headers.setContentType(MediaType.APPLICATION_JSON);
+                HttpEntity<String> request = new HttpEntity<>(this.gson.toJson(requestPayment), headers);
+                ResponseEntity<String> response = restTemplate.postForEntity(this.ip + "/payment/", request, String.class);
+                this.logger.info("response " + response.getBody().trim());
+                result = this.gson.fromJson(response.getBody().trim(), ResponseOneStepPaymentModel.class);
             }
-            headers.setContentType(MediaType.APPLICATION_JSON);
-            HttpEntity<String> request = new HttpEntity<>(this.gson.toJson(requestPayment), headers);
-            ResponseEntity<String> response = restTemplate.postForEntity(this.ip + "/payment/", request, String.class);
-            this.logger.info("response " + response.getBody().trim());
-            result = this.gson.fromJson(response.getBody().trim(), ResponseOneStepPaymentModel.class);
-            if(result.getResult()!= 1){
+            if(result.getReasonCode().matches("4012")){
+                this.error4012.add(requestPayment.getMSISDN());
+            }else if(result.getResult()!= 1 ){
                 this.monitoring.sendMessageForTechnical("" +
                         "ERROR\n" +
                         "CHARGE Service [ClientWapChargingService]\n" +
-                        response.getBody().trim());
+                        gson.toJson(result));
             }
         } catch (Exception ex) {
             try {
diff --git a/unipin_charge_service/src/main/resources/application.properties b/unipin_charge_service/src/main/resources/application.properties
index b7cdfdd..9ef23f4 100644
--- a/unipin_charge_service/src/main/resources/application.properties
+++ b/unipin_charge_service/src/main/resources/application.properties
@@ -1,4 +1,5 @@
 spring.profiles.active=prod
 
-app.whitelist=.*89690835978
+app.whitelist=.*
+app.whitelist.block.test=.*895412930520
 app.environtment="production"
\ No newline at end of file
diff --git a/unipin_charge_service/unipin-charge-service.iml b/unipin_charge_service/unipin-charge-service.iml
index 8d414fc..9a65a58 100644
--- a/unipin_charge_service/unipin-charge-service.iml
+++ b/unipin_charge_service/unipin-charge-service.iml
@@ -16,10 +16,11 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: com.hcpt.client:charginggatewayclient:1.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:1.5.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.hcpt.client:charginggatewayclient:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.hcpt.client:chargingGatewayClient:1.0" level="project" />
     <orderEntry type="library" name="Maven: javax.xml:jaxrpc-api:1.1" level="project" />
     <orderEntry type="library" name="Maven: com.sun.xml.rpc:jaxrpc-impl:1.1.3_01" level="project" />
     <orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.0.2" level="project" />
@@ -43,6 +44,7 @@
     <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
     <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
     <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
@@ -65,6 +67,7 @@
     <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
     <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
     <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
     <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
     <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
@@ -79,14 +82,6 @@
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
@@ -100,13 +95,18 @@
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_cms_service/pom.xml b/unipin_cms_service/pom.xml
index abff3fc..e77334e 100644
--- a/unipin_cms_service/pom.xml
+++ b/unipin_cms_service/pom.xml
@@ -35,18 +35,21 @@
             <artifactId>unipin-database-service</artifactId>
             <version>1.0</version>
         </dependency>
-
         <dependency>
-            <groupId>id.co.accessmobile.carrier.billing.unipin</groupId>
-            <artifactId>unipin-bot-telegram-service</artifactId>
+            <groupId>id.co.accessmobile.adzanreminder</groupId>
+            <artifactId>adzan-hutch-model-service</artifactId>
             <version>1.0</version>
         </dependency>
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+
     </dependencies>
-
-
-
     <build>
         <plugins>
+            <!-- Package as an executable jar/war -->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/Application.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/Application.java
index 3b93433..a1e8940 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/Application.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/Application.java
@@ -1,13 +1,22 @@
 package id.co.accessmobile.carrier.billing.unipin.cstools;
 
-import id.co.accessmobile.carrier.billing.unipin.cstools.database.repository.TransactionStateRepository;
-import org.springframework.beans.factory.annotation.Autowired;
+import id.co.accessmobile.carrier.billing.unipin.cstools.service.Monitoring;
+import id.co.qhodok.tools.telegram.Bot;
+import id.co.qhodok.tools.telegram.MessageListener;
+import id.co.qhodok.tools.trigger.TriggerApplication;
+import org.omg.CORBA.PUBLIC_MEMBER;
+import org.omg.Messaging.SYNC_WITH_TRANSPORT;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
+import org.telegram.telegrambots.ApiContextInitializer;
+import org.telegram.telegrambots.TelegramBotsApi;
+import org.telegram.telegrambots.api.objects.Update;
 
 import javax.annotation.PostConstruct;
+
 
 /**
  * Created by Permana on 1/12/2018.
@@ -19,16 +28,32 @@
 @EnableAsync
 @EnableScheduling
 public class Application {
+    @Value("${bot.telegram.token}")
+    protected String token;
+
+    @Value("${bot.telegram.username}")
+    protected String username;
+    public static TriggerApplication triggerApplication;
+
+    @Value("${app.trigger.address}")
+    protected String address;
 
     public static void main(String[] args) {
+        System.out.println("trace main 1");
         SpringApplication.run(Application.class, args);
+        System.out.println("trace main end");
     }
 
-    @Autowired
-    protected TransactionStateRepository transactionStateRepository;
-
     @PostConstruct
-    public void init(){
-        transactionStateRepository.findByID(164);
+    public void init() throws Exception {
+        System.out.println("trace init 1");
+        ApiContextInitializer.init();
+        System.out.println("trace init 2");
+        Monitoring.bot = new Bot(username, token);
+        System.out.println("trace init 3");
+        new TelegramBotsApi().registerBot(Monitoring.bot);
+        System.out.println("trace init 4");
+        triggerApplication = new TriggerApplication(3, address);
+        System.out.println("trace init 5");
     }
 }
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/BBDOController.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/BBDOController.java
index 83f42dc..e6cb6ed 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/BBDOController.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/BBDOController.java
@@ -1,4 +1,78 @@
 package id.co.accessmobile.carrier.billing.unipin.cstools.controller;
 
+import id.co.accessmobile.adzanreminder.hutch.model.transaction.SMPPRequestMO;
+import id.co.accessmobile.adzanreminder.hutch.model.transaction.SMPPRequestMT;
+import id.co.accessmobile.carrier.billing.unipin.cstools.Application;
+import id.co.qhodok.tools.logger.Logger;
+import id.co.qhodok.tools.trigger.annotations.Listener;
+import id.co.qhodok.tools.trigger.annotations.Subscribe;
+import id.co.qhodok.tools.trigger.attributes.State;
+import id.co.qhodok.tools.trigger.processor.Publisher;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.PostConstruct;
+import java.util.HashMap;
+import java.util.Map;
+
+
[email protected]
[email protected](topic = "SMPP_MO_BBDO")
 public class BBDOController {
+
+    protected RestTemplate restTemplate;
+
+    @Value("${app.trigger.address}")
+    protected String address;
+
+    @Value("${app.bbdo.address}")
+    protected String addressBBDO;
+
+    @Value("${bot.telegram.token}")
+    protected String token;
+
+    @Value("${bot.telegram.username}")
+    protected String username;
+    @Value("${bot.telegram.chatid}")
+    protected String chatid;
+
+    protected Publisher producer;
+
+    protected Logger logger;
+
+    @PostConstruct
+    public void init() {
+        Application.triggerApplication.addSubscriber(this);
+        this.producer = new Publisher(this.address);
+        restTemplate = new RestTemplate();
+        this.logger = new Logger(BBDOController.class, this.username, this.token, this.chatid);
+    }
+
+    @Subscribe(method = State.CREATE, target = SMPPRequestMO.class)
+    public void onMoReceive(SMPPRequestMO smppRequestMO) {
+        this.logger.info("onMoReceive", smppRequestMO);
+        String s = restTemplate.postForObject(this.addressBBDO, smppRequestMO, String.class);
+        this.logger.info("result", s);
+    }
+
+    @RequestMapping(value = "/bbdo/mt")
+    public ResponseEntity<Map> sendMT(@RequestBody SMPPRequestMT smppRequestMT) {
+        this.logger.info("sendMT", smppRequestMT);
+        boolean smpp_mt = producer.publish("SMPP_MT", smppRequestMT, State.CREATE);
+        Map result = new HashMap<>();
+        result.put("result", smpp_mt);
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+    @RequestMapping(value = "/bbdo/test/mo")
+    public ResponseEntity<String> testMO(@RequestBody SMPPRequestMO smppRequestMO) {
+        this.onMoReceive(smppRequestMO);
+        return new ResponseEntity<>("true", HttpStatus.OK);
+    }
+
 }
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/MainController.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/MainController.java
index 507d8ef..4c22d7e 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/MainController.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/controller/MainController.java
@@ -4,6 +4,10 @@
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
 /**
  * Created by Permana on 1/12/2018.
  * Software Enginer
@@ -13,13 +17,21 @@
 @Controller
 public class MainController {
     @RequestMapping(value = "/login")
-    public String login(){
+    public String login() {
         return "login";
     }
+
+    protected SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
     @RequestMapping(value = "/")
-    public String index(ModelMap map){
-        map.put("period_start","2018-01-01");
-        map.put("period_end","2019-12-31");
+    public String index(ModelMap map) {
+        Date today = new Date();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(today);
+        calendar.add(Calendar.DATE,-1);
+        Date yesterday = calendar.getTime();
+        map.put("period_start", simpleDateFormat.format(yesterday));
+        map.put("period_end", simpleDateFormat.format(today));
         return "index";
     }
 }
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/database/repository/MonitoringUserMapper.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/database/repository/MonitoringUserMapper.java
index 2356055..b5e530f 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/database/repository/MonitoringUserMapper.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/database/repository/MonitoringUserMapper.java
@@ -20,6 +20,8 @@
 
     public MonitoringUser isAdmin(@Param(value = "id") String id);
 
+    public MonitoringUser isTechnical(@Param(value = "id") String id);
+
     public void insertNewUser(@Param(value = "chatID") String chatID, @Param(value = "username") String username);
 
     public void insertUserRule(@Param(value = "chatID") String id, @Param(value = "rule") String rule);
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/security/WebSecurityConfig.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/security/WebSecurityConfig.java
index 79bb020..1258ae3 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/security/WebSecurityConfig.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/security/WebSecurityConfig.java
@@ -18,7 +18,7 @@
     protected void configure(HttpSecurity http) throws Exception {
         http
                 .authorizeRequests()
-                .antMatchers("/registration","/login").permitAll()
+                .antMatchers("/registration","/login","/bbdo/mt","/bbdo/test/mo").permitAll()
                 .anyRequest().authenticated()
                 .and()
                 .formLogin()
@@ -30,7 +30,7 @@
     }
     @Override
     public void configure(WebSecurity web) throws Exception {
-        web.ignoring().antMatchers("/css/**","/documentation/**","/images/**","/js/**","/model/**","/plugins/**","/scss/**");
+        web.ignoring().antMatchers("/css/**","/documentation/**","/images/**","/js/**","/model/**","/plugins/**","/scss/**","/bbdo/mt","/bbdo/test/mo");
     }
 
     @Autowired
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/Monitoring.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/Monitoring.java
index 463738e..5184bc9 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/Monitoring.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/Monitoring.java
@@ -1,14 +1,19 @@
 package id.co.accessmobile.carrier.billing.unipin.cstools.service;
 
-import id.co.accessmobile.carrier.billing.unipin.bot.telegram.service.BotManager;
-import id.co.accessmobile.carrier.billing.unipin.bot.telegram.service.MessageListener;
+import id.co.accessmobile.carrier.billing.unipin.cstools.Application;
 import id.co.accessmobile.carrier.billing.unipin.cstools.database.model.MonitoringUser;
 import id.co.accessmobile.carrier.billing.unipin.cstools.database.repository.MonitoringUserMapper;
+import id.co.qhodok.tools.telegram.Bot;
+import id.co.qhodok.tools.telegram.MessageListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.telegram.telegrambots.ApiContextInitializer;
+import org.telegram.telegrambots.TelegramBotsApi;
 import org.telegram.telegrambots.exceptions.TelegramApiException;
 import org.telegram.telegrambots.exceptions.TelegramApiRequestException;
+
+import javax.annotation.PostConstruct;
 
 /**
  * Created by Permana on 1/30/2018.
@@ -24,28 +29,31 @@
     @Value("${bot.telegram.username}")
     protected String username;
 
+    public static Bot bot;
+
+    protected MessageListener messageListener;
+
     @Autowired
     protected MonitoringUserMapper monitoringUserMapper;
 
     public void init(MessageListener listener) throws TelegramApiRequestException {
-        BotManager.init(this.token, this.username, listener);
-//        BotManager.init(this.token, this.username);
+        bot.setListener(listener);
     }
 
     public void sendMessageForTechnical(String message) throws TelegramApiException {
         for (MonitoringUser monitoringUser : monitoringUserMapper.selectForTechnicalUser()) {
-            BotManager.sendMessage(monitoringUser.getId(), message);
+            bot.sendMessage(monitoringUser.getId(), message);
         }
     }
 
     public void sendMessageForAdmin(String message) throws TelegramApiException {
         for (MonitoringUser monitoringUser : monitoringUserMapper.selectForAdminUser()) {
-            BotManager.sendMessage(monitoringUser.getId(), message);
+            bot.sendMessage(monitoringUser.getId(), message);
         }
     }
 
     public void sendMessage(String chatID, String message) throws TelegramApiException {
-        BotManager.sendMessage(chatID, message);
+        bot.sendMessage(chatID, message);
     }
 
 }
diff --git a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/MonitoringService.java b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/MonitoringService.java
index cc0baaf..75ebd11 100644
--- a/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/MonitoringService.java
+++ b/unipin_cms_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/cstools/service/MonitoringService.java
@@ -1,16 +1,19 @@
 package id.co.accessmobile.carrier.billing.unipin.cstools.service;
 
 import com.google.gson.Gson;
-import id.co.accessmobile.carrier.billing.unipin.bot.telegram.service.MessageListener;
 import id.co.accessmobile.carrier.billing.unipin.cstools.database.repository.MonitoringUserMapper;
 import id.co.accessmobile.carrier.billing.unipin.cstools.database.repository.TransactionStateRepository;
 import id.co.accessmobile.carrier.billing.unipin.database.entity.TblTransactionStates;
+import id.co.qhodok.tools.telegram.Bot;
+import id.co.qhodok.tools.telegram.MessageListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
+import org.telegram.telegrambots.ApiContextInitializer;
+import org.telegram.telegrambots.TelegramBotsApi;
 import org.telegram.telegrambots.api.objects.Update;
 import org.telegram.telegrambots.exceptions.TelegramApiException;
 import org.telegram.telegrambots.exceptions.TelegramApiRequestException;
@@ -24,6 +27,7 @@
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Created by Permana on 2/1/2018.
@@ -35,6 +39,12 @@
 public class MonitoringService implements MessageListener {
     @Autowired
     protected Monitoring monitoring;
+
+    @Value("${bot.telegram.token}")
+    protected String token;
+
+    @Value("${bot.telegram.username}")
+    protected String username;
 
     @Autowired
     protected TransactionStateRepository transactionStateRepository;
@@ -86,22 +96,24 @@
 
     @Override
     public void onMessageReceive(Update message) {
+        String chatID = String.valueOf(message.getMessage().getChat().getId());
+        String sender = String.valueOf(message.getMessage().getFrom().getId());
         this.logger.info(this.gson.toJson(message));
         try {
             String text = message.getMessage().getText() != null ? message.getMessage().getText().trim().toLowerCase() : "";
             try {
-                if (text.startsWith("reg")) {
-                    if (this.monitoringUserMapper.findByID(String.valueOf(message.getMessage().getChatId())) != null) {
-                        this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()), "Anda telah menjadi user unipin monitoring");
+                if (text.startsWith("/reg")) {
+                    if (this.monitoringUserMapper.findByID(sender) != null) {
+                        this.monitoring.sendMessage(sender, "Anda telah menjadi user unipin monitoring");
                     } else {
                         this.monitoring.sendMessageForAdmin(
                                 "REQUEST MEMBER \n" +
                                         message.getMessage().getChatId() + " \n" +
                                         message.getMessage().getChat().getFirstName() + " " + message.getMessage().getChat().getLastName());
-                        this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()), "Permintaan anda telah diteruskan kepada admin kami dan akan diprocess oleh admin kami");
+                        this.monitoring.sendMessage(sender, "Permintaan anda telah diteruskan kepada admin kami dan akan diprocess oleh admin kami");
                     }
                 } else if (text.startsWith("accept")) {
-                    if (this.monitoringUserMapper.isAdmin(String.valueOf(message.getMessage().getChatId())) != null) {
+                    if (this.monitoringUserMapper.isAdmin(sender) != null) {
                         String[] split = text.split("\\s+");
                         if (split.length > 3) {
                             this.monitoringUserMapper.insertNewUser(split[1], split[2]);
@@ -111,21 +123,21 @@
                                             "type user " + split[3]);
                         }
                     } else {
-                        this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()), "WHO ARE YOU?");
+                        this.monitoring.sendMessage(chatID, "WHO ARE YOU?");
                     }
                 } else if (text.matches("(reset|ignore|abaikan|biarkan|processed).*")) {
-                    if (this.monitoringUserMapper.isAdmin(String.valueOf(message.getMessage().getChatId())) != null) {
+                    if (this.monitoringUserMapper.isAdmin(sender) != null) {
                         this.starting = new Timestamp(System.currentTimeMillis());
-                        this.monitoring.sendMessageForTechnical("error has been " + text + " by " + monitoringUserMapper.findByID(String.valueOf(message.getMessage().getChatId())).getUsername());
+                        this.monitoring.sendMessage(chatID, "error has been " + text + " by " + monitoringUserMapper.findByID(String.valueOf(message.getMessage().getChatId())).getUsername());
                     } else {
-                        this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()), "WHO ARE YOU?");
+                        this.monitoring.sendMessage(chatID, "WHO ARE YOU?");
                     }
                 } else if (text.startsWith("trace")) {
                     String[] split = text.split("\\s+");
                     if (split[1].trim().matches("\\d+")) {
                         List<TblTransactionStates> tblTransactionStates = this.transactionStateRepository.findByID(Integer.valueOf(split[1].trim()));
                         for (TblTransactionStates state : tblTransactionStates) {
-                            this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()),
+                            this.monitoring.sendMessage(chatID,
                                     "state      : " + state.getState() + "\n" +
                                             "service    : " + state.getService() + "\n" +
                                             "message    : " + state.getMessage() + "\n" +
@@ -134,23 +146,18 @@
                             );
                         }
                     } else {
-                        this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()), "cannot find transaction with id " + split[1]);
+                        this.monitoring.sendMessage(chatID, "cannot find transaction with id " + split[1]);
                     }
-                } else if (text.startsWith("restart")) {
-                    String[] orders = text.split("\\s+");
-                    String result = this.restartService(orders[1]);
-                    this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()),result);
-                } else if (text.startsWith("start")) {
-                    String[] orders = text.split("\\s+");
-                    String result = this.startService(orders[1]);
-                    this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()),result);
-                } else if (text.startsWith("stop")) {
-                    String[] orders = text.split("\\s+");
-                    String result = this.stopService(orders[1]);
-                    this.monitoring.sendMessage(String.valueOf(message.getMessage().getChatId()),result);
-                } else if (text.startsWith("check")) {
-                    String[] orders = text.split("\\s+");
-                    this.checkProcess(orders[1], String.valueOf(message.getMessage().getChatId()));
+                } else if (text.startsWith("/restart")) {
+                    if (this.monitoringUserMapper.isAdmin(sender) != null) {
+                        String result = this.restartService(text.replaceAll("@.*", "").replaceFirst(".*_", ""));
+                        this.monitoring.sendMessage(chatID, result);
+                    } else {
+                        this.monitoring.sendMessage(chatID, "WHO ARE YOU");
+                    }
+                } else if (text.startsWith("/check")) {
+                    this.logger.info("{\"check\":\"" + text.replaceFirst(".*_", "").replaceAll("@.*", "") + "\"}");
+                    this.checkProcess(text.replaceAll("@.*", "").replaceFirst(".*_", ""), chatID);
                 }
             } catch (TelegramApiException e) {
                 this.logger.error(e.getMessage(), e);
@@ -232,8 +239,10 @@
     }
 
     protected String restartService(String service) throws Exception {
+        this.logger.info("{\"restart\":\"" + service + "\"}");
         String result = "";
         result = this.stopService(service);
+        Thread.sleep(3 * 1000);
         result += "\n" + this.startService(service);
         return result;
     }
@@ -265,8 +274,8 @@
         while ((line = br.readLine()) != null) {
             result += line + "\n";
         }
-        int i = process.waitFor();
-        return result + "\n" + " process finish " + i;
+        process.waitFor(51000l, TimeUnit.MILLISECONDS);
+        return result + "\n" + " process finish ";
 
     }
 
@@ -297,8 +306,8 @@
         while ((line = br.readLine()) != null) {
             result += line + "\n";
         }
-        int i = process.waitFor();
-        return result + "\n" + " process finish " + i;
+        process.waitFor(51000l, TimeUnit.MILLISECONDS);
+        return result + "\n" + " process finish ";
     }
 
     protected void checkProcess(String service, String chatID) throws IOException, TelegramApiException {
diff --git a/unipin_cms_service/src/main/resources/application-dev.properties b/unipin_cms_service/src/main/resources/application-dev.properties
index 34d5e68..019087a 100644
--- a/unipin_cms_service/src/main/resources/application-dev.properties
+++ b/unipin_cms_service/src/main/resources/application-dev.properties
@@ -2,15 +2,8 @@
 server.display-name=CS-Unipin
 server.port = 9200
 server.tomcat.max-threads=50
-#server.tomcat.accesslog.directory=/home/line_api/app/line-api-service/log
-#server.tomcat.accesslog.directory=/app1/am/app/unipin/log
-#server.tomcat.accesslog.enabled=true
-#server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %Ts
-#server.tomcat.accesslog.prefix=access_log
-#server.tomcat.accesslog.suffix=.log
-
 #JPA CONFIGURATION
-spring.datasource.url=jdbc:mysql://52.221.46.30:3310/db_unipin_cs_tools
+spring.datasource.url=jdbc:mysql://127.0.0.1:53310/db_unipin_cs_tools
 spring.datasource.username=adzan_hutch
 spring.datasource.password=am9999
 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
@@ -22,4 +15,7 @@
 spring.datasource.validationQuery=SELECT 1
 
 mybatis.config-location=classpath:mybatis/mybatis-config.xml
-logging.level.sample.mybatis.mapper=TRACE
\ No newline at end of file
+logging.level.sample.mybatis.mapper=TRACE
+
+
+app.trigger.address=tcp://localhost:59696
diff --git a/unipin_cms_service/src/main/resources/application-prod.properties b/unipin_cms_service/src/main/resources/application-prod.properties
index 0af8637..09a5f7b 100644
--- a/unipin_cms_service/src/main/resources/application-prod.properties
+++ b/unipin_cms_service/src/main/resources/application-prod.properties
@@ -25,7 +25,33 @@
 logging.level.sample.mybatis.mapper=TRACE
 
 
+app.trigger.address=tcp://172.31.0.73:9696
+
 #APPLICATION LEVEL CONFIGURATION
 app.line.whitelist.ip=202.43.73.237,202.43.73.235
 #202.137.31.125-Office IP
-#211.43.222.86-Monitoring
\ No newline at end of file
+#211.43.222.86-Monitoring
+
+bot.telegram.token=525607346:AAFTIWe92y8wS2zobmGpyR7ptmjgNbtcMFI
+bot.telegram.username=ami_unipin_bot
+bot.telegram.chatid=-244211424
+
+app.bbdo.address = "http://192.168.7.24:9010/hutch/mo-request";
+
+app.file.shell.start.api=/app1/am/app/unipin/shell/starting-unipin-hutch-api-service.sh
+app.file.shell.start.request=/app1/am/app/unipin/shell/starting-unipin-hutch-request-service.sh
+app.file.shell.start.notification=/app1/am/app/unipin/shell/starting-unipin-hutch-notification-service.sh
+app.file.shell.start.mo=/app1/am/app/unipin/shell/starting-unipin-hutch-mo-service.sh
+app.file.shell.start.charge=/app1/am/app/unipin/shell/starting-unipin-hutch-charge-service.sh
+app.file.shell.start.result=/app1/am/app/unipin/shell/starting-unipin-hutch-result-service.sh
+app.file.shell.start.bgw=/app1/am/app/unipin/shell/starting-unipin-hutch-bgw-service.sh
+app.file.shell.start.all=/app1/am/app/unipin/shell/starting-unipin-hutch-all-service-without-cms.sh
+
+app.file.shell.stop.api=/app1/am/app/unipin/shell/stoping-unipin-hutch-api-service.sh
+app.file.shell.stop.request=/app1/am/app/unipin/shell/stoping-unipin-hutch-request-service.sh
+app.file.shell.stop.notification=/app1/am/app/unipin/shell/stoping-unipin-hutch-notification-service.sh
+app.file.shell.stop.mo=/app1/am/app/unipin/shell/stoping-unipin-hutch-mo-service.sh
+app.file.shell.stop.charge=/app1/am/app/unipin/shell/stoping-unipin-hutch-charge-service.sh
+app.file.shell.stop.result=/app1/am/app/unipin/shell/stoping-unipin-hutch-result-service.sh
+app.file.shell.stop.bgw=/app1/am/app/unipin/shell/stoping-unipin-hutch-bgw-service.sh
+app.file.shell.stop.all=/app1/am/app/unipin/shell/stoping-unipin-hutch-all-service-without-cms.sh
diff --git a/unipin_cms_service/src/main/resources/application.properties b/unipin_cms_service/src/main/resources/application.properties
index ddd3e37..7895005 100644
--- a/unipin_cms_service/src/main/resources/application.properties
+++ b/unipin_cms_service/src/main/resources/application.properties
@@ -1,10 +1,13 @@
 spring.profiles.active=prod
 bot.telegram.token=525607346:AAFTIWe92y8wS2zobmGpyR7ptmjgNbtcMFI
 bot.telegram.username=ami_unipin_bot
+bot.telegram.chatid=-244211424
+
+app.bbdo.address = "http://192.168.7.24:9010/hutch/mo-request";
 
 app.file.shell.start.api=/app1/am/app/unipin/shell/starting-unipin-hutch-api-service.sh
 app.file.shell.start.request=/app1/am/app/unipin/shell/starting-unipin-hutch-request-service.sh
-app.file.shell.start.notification=/app1/am/app/unipin/shell/starting-unipin-hutch-notifivation-service.sh
+app.file.shell.start.notification=/app1/am/app/unipin/shell/starting-unipin-hutch-notification-service.sh
 app.file.shell.start.mo=/app1/am/app/unipin/shell/starting-unipin-hutch-mo-service.sh
 app.file.shell.start.charge=/app1/am/app/unipin/shell/starting-unipin-hutch-charge-service.sh
 app.file.shell.start.result=/app1/am/app/unipin/shell/starting-unipin-hutch-result-service.sh
@@ -13,7 +16,7 @@
 
 app.file.shell.stop.api=/app1/am/app/unipin/shell/stoping-unipin-hutch-api-service.sh
 app.file.shell.stop.request=/app1/am/app/unipin/shell/stoping-unipin-hutch-request-service.sh
-app.file.shell.stop.notification=/app1/am/app/unipin/shell/stoping-unipin-hutch-notifivation-service.sh
+app.file.shell.stop.notification=/app1/am/app/unipin/shell/stoping-unipin-hutch-notification-service.sh
 app.file.shell.stop.mo=/app1/am/app/unipin/shell/stoping-unipin-hutch-mo-service.sh
 app.file.shell.stop.charge=/app1/am/app/unipin/shell/stoping-unipin-hutch-charge-service.sh
 app.file.shell.stop.result=/app1/am/app/unipin/shell/stoping-unipin-hutch-result-service.sh
diff --git a/unipin_cms_service/src/main/resources/logback-spring.xml b/unipin_cms_service/src/main/resources/logback-spring.xml
index 5ee1a9e..44f06b5 100644
--- a/unipin_cms_service/src/main/resources/logback-spring.xml
+++ b/unipin_cms_service/src/main/resources/logback-spring.xml
@@ -19,14 +19,14 @@
 
     <!-- Send debug message to file -->
     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_PATH}/cms.log</file>
+        <file>${LOG_PATH}/unipin-cms-service-unipin.log</file>
 
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <pattern>${LOG_PATTERN}</pattern>
         </encoder>
 
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_PATH}/cms/axespay-%i-%d{yyyyMMdd}.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/cms/unipin-cms-service-unipin-%i-%d{yyyyMMdd}.log</fileNamePattern>
 
             <!-- each file should be at most 10MB, keep 90 days worth of history -->
             <maxHistory>90</maxHistory>
@@ -34,23 +34,6 @@
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
-    </appender>
-
-    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>ERROR</level>
-        </filter>
-        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
-            <driverClass>com.mysql.jdbc.Driver</driverClass>
-            <springProfile name="dev">
-                <url>jdbc:mysql://52.74.234.11:3307/db_payment_gateway</url>
-            </springProfile>
-            <springProfile name="prod">
-                <url>jdbc:mysql://172.31.4.96:3307/db_payment_gateway</url>
-            </springProfile>
-            <user>mcoupon</user>
-            <password>mcoupon</password>
-        </connectionSource>
     </appender>
 
     <root level="INFO">
diff --git a/unipin_cms_service/src/main/resources/mybatis/mapper/monitoringUser.xml b/unipin_cms_service/src/main/resources/mybatis/mapper/monitoringUser.xml
index 322b2d7..0dc4dbd 100644
--- a/unipin_cms_service/src/main/resources/mybatis/mapper/monitoringUser.xml
+++ b/unipin_cms_service/src/main/resources/mybatis/mapper/monitoringUser.xml
@@ -53,6 +53,15 @@
           id=#{id} AND
           rule='ADMIN'
     </select>
+    <select id="isTechnical" parameterType="String" resultMap="user">
+        SELECT
+        id
+        FROM
+        tbl_monitoring_user_rules
+        WHERE
+        id=#{id} AND
+        rule='TECHNICAL'
+    </select>
 
     <select id="findByID" parameterType="String" resultMap="user">
         SELECT * from tbl_monitoring_user where id=#{id}
diff --git a/unipin_cms_service/src/main/resources/static/images/Logo Tri 2017-01 - Copy.png b/unipin_cms_service/src/main/resources/static/images/Logo Tri 2017-01 - Copy.png
new file mode 100644
index 0000000..ebd288f
--- /dev/null
+++ b/unipin_cms_service/src/main/resources/static/images/Logo Tri 2017-01 - Copy.png
Binary files differ
diff --git a/unipin_cms_service/unipin-cms-service.iml b/unipin_cms_service/unipin-cms-service.iml
new file mode 100644
index 0000000..3f507cf
--- /dev/null
+++ b/unipin_cms_service/unipin-cms-service.iml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf-spring4:2.1.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf:2.1.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ognl:ognl:3.0.8" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.unbescape:unbescape:1.1.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.4.12" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:4.2.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:4.2.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:4.2.3.RELEASE" level="project" />
+    <orderEntry type="module" module-name="unipin-database-service" />
+    <orderEntry type="library" name="Maven: id.co.accessmobile.adzanreminder:adzan-hutch-model-service:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-core:3.0.0" level="project" />
+    <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-charset:3.0.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
+    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-trigger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
+    <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/unipin_database_service/unipin-database-service.iml b/unipin_database_service/unipin-database-service.iml
new file mode 100644
index 0000000..659199c
--- /dev/null
+++ b/unipin_database_service/unipin-database-service.iml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/unipin_mo_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/moservice/Application.java b/unipin_mo_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/moservice/Application.java
index 14c5e83..2d1671e 100644
--- a/unipin_mo_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/moservice/Application.java
+++ b/unipin_mo_service/src/main/java/id/co/accessmobile/carrier/billing/unipin/moservice/Application.java
@@ -46,8 +46,7 @@
         moPullJob.run();
     }
 
-    public static void main(String[] args)
-    {
+    public static void main(String[] args){
         SpringApplication.run(Application.class, args);
     }
 
diff --git a/unipin_mo_service/src/main/resources/application-dev.properties b/unipin_mo_service/src/main/resources/application-dev.properties
index 3f32ecd..06a1d90 100644
--- a/unipin_mo_service/src/main/resources/application-dev.properties
+++ b/unipin_mo_service/src/main/resources/application-dev.properties
@@ -27,4 +27,4 @@
 
 bgw.request.insert.url=http://localhost:10090/bgw
 
-app.trigger.address=tcp://localhost:59696
+app.trigger.address=tcp://localhost:9696
diff --git a/unipin_mo_service/src/main/resources/logback-spring.xml b/unipin_mo_service/src/main/resources/logback-spring.xml
index 4e0777a..ac1fafb 100644
--- a/unipin_mo_service/src/main/resources/logback-spring.xml
+++ b/unipin_mo_service/src/main/resources/logback-spring.xml
@@ -33,7 +33,11 @@
 
 
     <root level="info">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE"/>
+        <springProfile name="dev">
+            <appender-ref ref="STDOUT"/>
+        </springProfile>
+        <springProfile name="prod">
+            <appender-ref ref="FILE"/>
+        </springProfile>
     </root>
 </configuration>
\ No newline at end of file
diff --git a/unipin_mo_service/unipin-mo-service.iml b/unipin_mo_service/unipin-mo-service.iml
index 3436888..d99127d 100644
--- a/unipin_mo_service/unipin-mo-service.iml
+++ b/unipin_mo_service/unipin-mo-service.iml
@@ -53,47 +53,64 @@
     <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-core:3.0.0" level="project" />
     <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-charset:3.0.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.0.12.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss:jandex:2.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:5.0.12.Final" level="project" />
-    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.11.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.13.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
     <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
     <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-trigger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
     <orderEntry type="module" module-name="unipin-database-service" />
     <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_model/unipin-model.iml b/unipin_model/unipin-model.iml
index ba20dfe..66909b8 100644
--- a/unipin_model/unipin-model.iml
+++ b/unipin_model/unipin-model.iml
@@ -21,21 +21,12 @@
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
@@ -49,13 +40,51 @@
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/Application.java b/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/Application.java
index 96eabbf..c87d4a7 100644
--- a/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/Application.java
+++ b/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/Application.java
@@ -40,8 +40,7 @@
         notificationPullJob.run();
     }
 
-    public static void main(String[] args)
-    {
+    public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
     }
 
diff --git a/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/service/SMSService.java b/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/service/SMSService.java
index 2f74eb7..c4e8646 100644
--- a/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/service/SMSService.java
+++ b/unipin_notification_service/src/main/java/id/co/accessmobile/carrier/billing/notificationservice/service/SMSService.java
@@ -85,7 +85,7 @@
         return result;
     }
 
-    public MTResult sendMTPush(MTData mtData) {
+    public MTResult sendMTPush(MTData mtData) throws InterruptedException {
         MTResult result = new MTResult();
         try {
             String id = UUID.randomUUID().toString();
@@ -94,7 +94,13 @@
                     MsisdnUtil.addCountryNumber(mtData.getReceiver()),
                     mtData.getMsg(),
                     id);
-            this.subscriber.connect(id);
+            while (true) {
+                if(this.subscriber.connect(id)){
+                    break;
+                }else{
+                    this.subscriber.reconnect(10,1000*10);
+                }
+            }
             while (true) {
                 try {
                     boolean result2 = this.publisher.publish("SMPP_MT", requestMT, State.CREATE);
@@ -139,9 +145,17 @@
 
             log.warn("sendMTPush.Exception[" + e.getMessage() + "][" + mtData + "]");
             e.printStackTrace();
+        }finally {
+            if(!this.subscriber.disconnect()){
+                while (true){
+                    if(this.subscriber.reconnect(10,1000*10)){
+                        break;
+                    }
+                }
+            }
+            log.info("sendMPush/ErrCode[" + result.getErrCode() + "], ErrMsg[" + result.getErrStr() + "]");
+            return result;
         }
-        log.info("sendMPush/ErrCode[" + result.getErrCode() + "], ErrMsg[" + result.getErrStr() + "]");
-        return result;
     }
 
     private static final SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
diff --git a/unipin_notification_service/src/main/resources/application-dev.properties b/unipin_notification_service/src/main/resources/application-dev.properties
index 2a3e312..0dc80b3 100644
--- a/unipin_notification_service/src/main/resources/application-dev.properties
+++ b/unipin_notification_service/src/main/resources/application-dev.properties
@@ -29,7 +29,7 @@
 
 legacy.http.client.conn.timeout=10
 
-app.trigger.address=tcp://localhost:59696
+app.trigger.address=tcp://localhost:9696
 
 
 bot.telegram.token=525607346:AAFTIWe92y8wS2zobmGpyR7ptmjgNbtcMFI
diff --git a/unipin_notification_service/src/main/resources/logback.xml b/unipin_notification_service/src/main/resources/logback.xml
index 77b3f1a..2210d8f 100644
--- a/unipin_notification_service/src/main/resources/logback.xml
+++ b/unipin_notification_service/src/main/resources/logback.xml
@@ -1,22 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 
-    <property name="LOG_PATTERN" value="%d %-5level  [%logger{20}]  %msg%n" />
+    <property name="LOG_PATTERN" value="%d %-5level  [%logger{20}]  %msg%n"/>
 
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder> 
+        <encoder>
             <pattern>${LOG_PATTERN}</pattern>
         </encoder>
     </appender>
 
     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>/app1/am/app/unipin/log/unipin-notification-service.log</file>
+        <springProfile name="dev">
+            <file>~/drive/amcloud/Project/ECOMMERS/payment_gateway/log/unipin-notification-service.log</file>
+        </springProfile>
+        <springProfile name="prod">
+            <file>/app1/am/app/unipin/log/unipin-notification-service.log</file>
+        </springProfile>
         <encoder>
             <pattern>${LOG_PATTERN}</pattern>
         </encoder>
 
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>/app1/am/app/unipin/log/notification/log.log.%d{yyyyMMdd}</fileNamePattern>
+            <springProfile name="dev">
+                <fileNamePattern>/~/drive/amcloud/Project/ECOMMERS/payment_gateway/log/notification/log.log.%d{yyyyMMdd}</fileNamePattern>
+            </springProfile>
+            <springProfile name="prod">
+                <fileNamePattern>/app1/am/app/unipin/log/notification/log.log.%d{yyyyMMdd}</fileNamePattern>
+            </springProfile>
             <maxHistory>180</maxHistory>
         </rollingPolicy>
 
@@ -25,6 +35,12 @@
 
     <root level="info">
         <!--<appender-ref ref="STDOUT" />-->
-        <appender-ref ref="FILE" />
+        <springProfile name="dev">
+            <appender-ref ref="STDOUT"/>
+        </springProfile>
+
+        <springProfile name="prod">
+            <appender-ref ref="FILE"/>
+        </springProfile>
     </root>
 </configuration>
\ No newline at end of file
diff --git a/unipin_notification_service/unipin-notification-service.iml b/unipin_notification_service/unipin-notification-service.iml
index 91b4246..097da2b 100644
--- a/unipin_notification_service/unipin-notification-service.iml
+++ b/unipin_notification_service/unipin-notification-service.iml
@@ -38,40 +38,16 @@
     <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-core:3.0.0" level="project" />
     <orderEntry type="library" name="Maven: org.opensmpp:opensmpp-charset:3.0.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.0.12.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss:jandex:2.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:5.0.12.Final" level="project" />
-    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.11.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.13.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
     <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
     <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-trigger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
     <orderEntry type="module" module-name="unipin-database-service" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.7.RELEASE" level="project" />
@@ -114,16 +90,28 @@
     <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.44" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.8" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.1" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.4" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/controller/PaymentRequestController.java b/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/controller/PaymentRequestController.java
index dc856c7..1d9ec55 100644
--- a/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/controller/PaymentRequestController.java
+++ b/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/controller/PaymentRequestController.java
@@ -67,10 +67,15 @@
 
         Result requestRslt;
 
-        long totPrice = this.bgwHistoryMapper.select(msisdn, this.simpleDateFormat.format(new Date())).getPrice();
+        long totPrice = 0;
+        try{
+            totPrice = this.bgwHistoryMapper.select(msisdn, this.simpleDateFormat.format(new Date())).getPrice();
+        }catch (Exception ex){
+            log.warn(logTitle+" Error[{}]", ex.getMessage());
+        }
         try {
             if (totPrice > Long.parseLong(this.limitation) && !msisdn.matches(this.limitationException)) {
-                requestRslt = paymentReqSvc.insertLimit(msisdn, "997780", "Maaf, " + msisdn + " Anda telah mencapai batas maksimal transaksi bulanan. Info lebih lanjut hubungi CS: 021-5761011/ [email protected]");
+                requestRslt = paymentReqSvc.insertLimit(msisdn, "997780", "Maaf, " + msisdn + " Anda telah mencapai batas maksimal transaksi harian. Info lebih lanjut hubungi CS: 021-5761011/ [email protected]");
                 requestRslt.setTrx_id(trxId);
             } else {
                 validator.validateCarrierPrefix(msisdn);
diff --git a/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/properties/Price.java b/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/properties/Price.java
index 0728540..8a7fdb4 100644
--- a/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/properties/Price.java
+++ b/unipin_request_service/src/main/java/id/co/accessmobile/carrier/billing/requestservice/properties/Price.java
@@ -25,5 +25,15 @@
         map.put("3000", 3000);
         map.put("75000", 75000);
         map.put("250000", 250000);
+        //add at 01 10 18
+        map.put("15000", 250000);
+        map.put("30000", 250000);
+        map.put("45000", 250000);
+        map.put("75000", 250000);
+        map.put("150000", 250000);
+        map.put("300000", 250000);
+        map.put("750000", 250000);
+        //
+        map.put("1", 1);
     }
 }
diff --git a/unipin_request_service/src/main/resources/application-dev.properties b/unipin_request_service/src/main/resources/application-dev.properties
index ad4eb47..2d64735 100644
--- a/unipin_request_service/src/main/resources/application-dev.properties
+++ b/unipin_request_service/src/main/resources/application-dev.properties
@@ -16,5 +16,5 @@
 logging.level.sample.mybatis.mapper=TRACE
 
 hutch.prefixes=0896,0897,0898,0899,0895
-app.reminder.limitation=10000000
+app.reminder.limitation=15000000
 app.reminder.limitation.exception=abc
\ No newline at end of file
diff --git a/unipin_request_service/src/main/resources/application-prod.properties b/unipin_request_service/src/main/resources/application-prod.properties
index d17a2af..387209c 100644
--- a/unipin_request_service/src/main/resources/application-prod.properties
+++ b/unipin_request_service/src/main/resources/application-prod.properties
@@ -16,5 +16,5 @@
 logging.level.sample.mybatis.mapper=TRACE
 
 hutch.prefixes=0896,0897,0898,0899,0895
-app.reminder.limitation=10000000
+app.reminder.limitation=15000000
 app.reminder.limitation.exception=abc
diff --git a/unipin_request_service/src/main/resources/logback.xml b/unipin_request_service/src/main/resources/logback.xml
index 4b6a498..67a4d46 100644
--- a/unipin_request_service/src/main/resources/logback.xml
+++ b/unipin_request_service/src/main/resources/logback.xml
@@ -16,13 +16,13 @@
     </springProfile>
 
     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_PATH}/unipin-charge-service-unipin.log</file>
+        <file>${LOG_PATH}/unipin-request-service.log</file>
         <encoder>
             <pattern>${LOG_PATTERN}</pattern>
         </encoder>
 
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_PATH}/charge/log.log.%d{yyyyMMdd}</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/request/unipin-request-service.log.%d{yyyyMMdd}</fileNamePattern>
             <maxHistory>180</maxHistory>
         </rollingPolicy>
 
diff --git a/unipin_request_service/unipin-request-service.iml b/unipin_request_service/unipin-request-service.iml
index cc40f04..224ab0f 100644
--- a/unipin_request_service/unipin-request-service.iml
+++ b/unipin_request_service/unipin-request-service.iml
@@ -66,13 +66,42 @@
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots:3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.telegram:telegrambots-meta:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-framework:2.3.28" level="project" />
+    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.25.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />
diff --git a/unipin_result_service/unipin-result-service.iml b/unipin_result_service/unipin-result-service.iml
index 0efeb4a..1c30511 100644
--- a/unipin_result_service/unipin-result-service.iml
+++ b/unipin_result_service/unipin-result-service.iml
@@ -32,6 +32,7 @@
     <orderEntry type="library" name="Maven: com.google.inject:guice:4.1.0" level="project" />
     <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
     <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.10" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.8.10" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.10" level="project" />
@@ -54,6 +55,7 @@
     <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.5.0-b32" level="project" />
     <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b32" level="project" />
     <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.5.0-b32" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
     <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
     <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
@@ -65,14 +67,6 @@
     <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
     <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.20" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.11.RELEASE" level="project" />
@@ -86,13 +80,18 @@
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.jsmpp:jsmpp:2.2.4" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: id.co.qhodok.tools:trigger:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jeromq:0.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.zeromq:jnacl:0.1.0" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-logger:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
+    <orderEntry type="library" name="Maven: id.co.qhodok.tools:qhodok-tools-telegram:1.0" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10" level="project" />

--
Gitblit v1.6.2