浏览代码

푸시 발송기 및 발송 프로세스 수정(커스텀 페이로드 추가)

junekeunsong 4 年之前
父节点
当前提交
382555bf9b

+ 13 - 11
src/main/java/com/lemon/lifecenter/scheduler/common/HomeController.java

@@ -30,17 +30,19 @@ public class HomeController {
     
     @RequestMapping(value = "/test", method = RequestMethod.GET)
     public String index() {
-//        String result = service.testSelect();
-//        logger.error("result -- > " + result);
-        //sendFcm(String deviceKey, String title, String content)
-        String title = "푸시 발송 테스트 제목";
-        String content = "푸시 발송 테스트 내용!@#$!@#$!@#";
-        
-        HashMap<String, String> response = new HashMap<>();
-        
-        response = pushUtils.sendFcm("fagEmSBI5USyseRylrrvzA:APA91bFNF1uWfVkGBoffVwota5apmYtFeMrMcWAEeYEJJo6gZVUDhXmkQCkU5kbD78mZvjjwT8yzaR0cpPMHvhJm_7S7gK8saf6Kr5nCeGqFTLMRosZf2vVNbo8vfKgceS2n7TMiXJnS",
-                title, content);
-        
+//        String title = "푸시 발송 테스트 제목";
+//        String content = "푸시 발송 테스트 내용!@#$!@#$!@#";
+//        String redirectUrl = "nonface";
+//        String token = "dLi2buimCUq-tjyLRfN6Fn:APA91bGi2LDEgN689j1hAxb8p7NXdC0n7aLgPLfJmBAxSlMpVvCdv5_yWx7w-72er5le6d_Ky97B4c2chPFiZpbHQN6Dr6QqLdJve9hlwbqNLOoFPSHj4MT7varK27d4AmfhY2BoZMKC";
+//        
+//        HashMap<String, String> response = new HashMap<>();
+//        
+//        response = pushUtils.sendFcm(token,
+//                title, content, redirectUrl);
+//        
+//        logger.error("response -- > " + response);
+//        
+//        return response;
         return "helloWorld";
     }
     

+ 7 - 1
src/main/java/com/lemon/lifecenter/scheduler/common/PushUtils.java

@@ -32,7 +32,7 @@ public class PushUtils {
     
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
     
-    public HashMap<String, String> sendFcm(String deviceKey, String title, String content) {
+    public HashMap<String, String> sendFcm(String deviceKey, String title, String content, String redirectUrl) {
         
         HashMap<String, String> result = new HashMap<String, String>();
         try {
@@ -58,7 +58,13 @@ public class PushUtils {
             Message message = Message.builder()
                     .setAndroidConfig(androidConfig)
                     .setApnsConfig(apnsConfig)
+                    .putData("redirectUrl", redirectUrl)
                     .setToken(registrationToken).build();
+            
+//            Message message = Message.builder()
+//                    .setAndroidConfig(androidConfig)
+//                    .setApnsConfig(apnsConfig)
+//                    .setToken(registrationToken).build();
  
             String response = FirebaseMessaging.getInstance().send(message);
             

+ 18 - 19
src/main/java/com/lemon/lifecenter/scheduler/controller/PushController.java

@@ -50,16 +50,17 @@ public class PushController {
         } else {
             ArrayList<ScheduleDTO> list = (ArrayList<ScheduleDTO>) service.selectSendPushList();
             for (int i = 0; i < list.size(); i++) {
-                int pushIdx        = list.get(i).getPushIdx();
-                String sendType    = list.get(i).getSendType();
-                String targetType  = list.get(i).getTargetType();
-                String pushTitle   = list.get(i).getPushTitle();
-                String pushContent = list.get(i).getPushContent();
-                String sendDate    = list.get(i).getSendDate();
-                String sendTime    = list.get(i).getSendTime();
+                int pushIdx         = list.get(i).getPushIdx();
+                String sendType     = list.get(i).getSendType();
+                String targetType   = list.get(i).getTargetType();
+                String pushTitle    = list.get(i).getPushTitle();
+                String pushContent  = list.get(i).getPushContent();
+                String pushPayLoad1 = list.get(i).getPushPayLoad1();
+                String sendDate     = list.get(i).getSendDate();
+                String sendTime     = list.get(i).getSendTime();
 //                String createDate  = list.get(i).getCreateDate();
-                String startDate   = sendDate + " " + sendTime;
-                int logIdx         = 0;
+                String startDate    = sendDate + " " + sendTime;
+                int logIdx          = 0;
                 if (sendType.equals("D")) {
                     startDate = pushUtils.getNow();
                 }
@@ -92,7 +93,7 @@ public class PushController {
                             
                             HashMap<String, String> response = new HashMap<String, String>();
                             if (!token.equals("")) {
-                                response = pushUtils.sendFcm(token, pushTitle, pushContent);
+                                response = pushUtils.sendFcm(token, pushTitle, pushContent, pushPayLoad1);
                             } else {
                                 response.put("NOT_FOUND", "Requested entity was not found.");
                             }
@@ -129,19 +130,17 @@ public class PushController {
         } else {
             List<ScheduleDTO> list = service.selectEveryDaySendPushList();
             for (int i = 0; i < list.size(); i++) {
-                int pushIdx        = list.get(i).getPushIdx();
-                String targetType  = list.get(i).getTargetType();
-                String pushTitle   = list.get(i).getPushTitle();
-                String pushContent = list.get(i).getPushContent();
-                String sendTime    = list.get(i).getSendTime();
+                int pushIdx         = list.get(i).getPushIdx();
+                String targetType   = list.get(i).getTargetType();
+                String pushTitle    = list.get(i).getPushTitle();
+                String pushContent  = list.get(i).getPushContent();
+                String pushPayLoad1 = list.get(i).getPushPayLoad1();
+                String sendTime     = list.get(i).getSendTime();
                 int logIdx = 0;
                 
-                logger.error("EEEEEEEE1111 IDX -- > " + list.get(i).getIdx());
                 if (pushUtils.compareTime(sendTime) == true) {
                     int idx = service.insertEveryDayPushLog(list.get(i));
                     logIdx = list.get(i).getIdx();
-                    logger.error("EEEEEEEE2222 IDX -- > " + list.get(i).getIdx());
-                    logger.error("EEEEEEEE2222 IDX -- > " + logIdx);
                     if (idx == 0) {
                     } else {
                         list.get(i).setSendState("I");
@@ -165,7 +164,7 @@ public class PushController {
                             
                             HashMap<String, String> response = new HashMap<String, String>();
                             if (!token.equals("")) {
-                                response = pushUtils.sendFcm(token, pushTitle, pushContent);
+                                response = pushUtils.sendFcm(token, pushTitle, pushContent, pushPayLoad1);
                             } else {
                                 response.put("NOT_FOUND", "Requested entity was not found.");
                             }

+ 21 - 14
src/main/java/com/lemon/lifecenter/scheduler/dto/ScheduleDTO.java

@@ -1,20 +1,21 @@
 package com.lemon.lifecenter.scheduler.dto;
 
 public class ScheduleDTO {
-    private int idx            = 0;
-    private int pushIdx        = 0;
-    private String sendType    = "";
-    private String sendState   = "";
-    private String targetType  = "";
-    private int centerCode     = 0;
-    private String senderIp    = "";
-    private String sender      = "";
-    private String pushTitle   = "";
-    private String pushContent = "";
-    private String sendDate    = "";
-    private String sendTime    = "";
-    private String startDate   = "";
-    private String createDate  = "";
+    private int idx             = 0;
+    private int pushIdx         = 0;
+    private String sendType     = "";
+    private String sendState    = "";
+    private String targetType   = "";
+    private int centerCode      = 0;
+    private String senderIp     = "";
+    private String sender       = "";
+    private String pushTitle    = "";
+    private String pushContent  = "";
+    private String pushPayLoad1 = "";
+    private String sendDate     = "";
+    private String sendTime     = "";
+    private String startDate    = "";
+    private String createDate   = "";
 
     public int getIdx() {
         return idx;
@@ -76,6 +77,12 @@ public class ScheduleDTO {
     public void setPushContent(String pushContent) {
         this.pushContent = pushContent;
     }
+    public String getPushPayLoad1() {
+        return pushPayLoad1;
+    }
+    public void setPushPayLoad1(String pushPayLoad1) {
+        this.pushPayLoad1 = pushPayLoad1;
+    }
     public String getSendDate() {
         return sendDate;
     }

+ 3 - 2
src/main/resources/application.properties

@@ -1,6 +1,7 @@
 spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
-spring.datasource.url=jdbc:log4jdbc:cubrid:61.97.184.187:30000:LIFE_CENTER:::?charset=UTF-8
-#spring.datasource.url=jdbc:log4jdbc:cubrid:localhost:30000:LIFE_CENTER:::?charset=UTF-8
+#spring.datasource.url=jdbc:log4jdbc:cubrid:118.67.133.187:30000:LIFE_CENTER:::?charset=UTF-8
+#spring.datasource.url=jdbc:log4jdbc:cubrid:61.97.184.187:30000:LIFE_CENTER:::?charset=UTF-8
+spring.datasource.url=jdbc:log4jdbc:cubrid:localhost:30000:LIFE_CENTER:::?charset=UTF-8
 
 spring.datasource.username=dba
 spring.datasource.password=#zo240s!

+ 39 - 37
src/main/resources/mybatis/mapper/push/push.xml

@@ -44,18 +44,19 @@
     <!-- 즉시, 예약 발송 리스트 -->
     <select id="selectSendPushList" resultType="ScheduleDTO">
         <![CDATA[
-            SELECT PUSH_IDX     AS pushIdx,
-                   SEND_TYPE    AS sendType,
-                   SEND_STATE   AS sendState,
-                   TARGET_TYPE  AS targetType,
-                   CENTER_CODE  AS centerCode,
-                   SENDER_IP    AS senderIp,
-                   SENDER       AS sender,
-                   PUSH_TITLE   AS pushTitle,
-                   PUSH_CONTENT AS pushContent,
-                   SEND_DATE    AS sendDate,
-                   SEND_TIME    AS sendTime,
-                   CREATE_DATE  AS createDate
+            SELECT PUSH_IDX      AS pushIdx,
+                   SEND_TYPE     AS sendType,
+                   SEND_STATE    AS sendState,
+                   TARGET_TYPE   AS targetType,
+                   CENTER_CODE   AS centerCode,
+                   SENDER_IP     AS senderIp,
+                   SENDER        AS sender,
+                   PUSH_TITLE    AS pushTitle,
+                   PUSH_CONTENT  AS pushContent,
+                   PUSH_PAYLOAD1 AS pushPayLoad1,
+                   SEND_DATE     AS sendDate,
+                   SEND_TIME     AS sendTime,
+                   CREATE_DATE   AS createDate
               FROM PUSH_SCHEDULE
              WHERE 1 = 1
                AND SEND_STATE = 'W'
@@ -81,18 +82,19 @@
     
     <select id="selectEveryDaySendPushList" resultType="ScheduleDTO">
         <![CDATA[
-            SELECT PS.PUSH_IDX     AS pushIdx,
-                   PS.SEND_TYPE    AS sendType,
-                   PS.SEND_STATE   AS sendState,
-                   PS.TARGET_TYPE  AS targetType,
-                   PS.CENTER_CODE  AS centerCode,
-                   PS.SENDER_IP    AS senderIp,
-                   PS.SENDER       AS sender,
-                   PS.PUSH_TITLE   AS pushTitle,
-                   PS.PUSH_CONTENT AS pushContent,
-                   PS.SEND_DATE    AS sendDate,
-                   PS.SEND_TIME    AS sendTime,
-                   PS.CREATE_DATE  AS createDate
+            SELECT PS.PUSH_IDX      AS pushIdx,
+                   PS.SEND_TYPE     AS sendType,
+                   PS.SEND_STATE    AS sendState,
+                   PS.TARGET_TYPE   AS targetType,
+                   PS.CENTER_CODE   AS centerCode,
+                   PS.SENDER_IP     AS senderIp,
+                   PS.SENDER        AS sender,
+                   PS.PUSH_TITLE    AS pushTitle,
+                   PS.PUSH_CONTENT  AS pushContent,
+                   PS.PUSH_PAYLOAD1 AS pushPayLoad1,
+                   PS.SEND_DATE     AS sendDate,
+                   PS.SEND_TIME     AS sendTime,
+                   PS.CREATE_DATE   AS createDate
               FROM PUSH_SCHEDULE PS, 
                        ( SELECT PS.PUSH_IDX AS push_idx,
                                 COUNT(*) TOTAL 
@@ -122,12 +124,12 @@
         </selectKey>
         <![CDATA[
             INSERT INTO PUSH_LOG
-                        (push_idx,    send_type,   send_state,   target_type,   center_code,
-                         sender_ip,   sender,      push_title,   push_content,  create_date,
-                         start_date)
-                 VALUES (#{pushIdx},  #{sendType}, #{sendState}, #{targetType}, #{centerCode},
-                         #{senderIp}, #{sender},   #{pushTitle}, #{pushContent}, #{createDate},
-                         #{startDate})
+                        (push_idx,      send_type,   send_state,   target_type,    center_code,
+                         sender_ip,     sender,      push_title,   push_content,   push_payload1,
+                         create_date,   start_date)
+                 VALUES (#{pushIdx},    #{sendType}, #{sendState}, #{targetType},  #{centerCode},
+                         #{senderIp},   #{sender},   #{pushTitle}, #{pushContent}, #{pushPayLoad1},
+                         #{createDate}, #{startDate})
         ]]>
     </insert>
     
@@ -139,12 +141,12 @@
         </selectKey>
         <![CDATA[
             INSERT INTO PUSH_LOG
-                        (push_idx,    send_type,   send_state,   target_type,   center_code,
-                         sender_ip,   sender,      push_title,   push_content,  create_date,
-                         start_date)
-                 VALUES (#{pushIdx},  #{sendType}, #{sendState}, #{targetType}, #{centerCode},
-                         #{senderIp}, #{sender},   #{pushTitle}, #{pushContent}, #{createDate},
-                         NOW())
+                        (push_idx,      send_type,   send_state,   target_type,    center_code,
+                         sender_ip,     sender,      push_title,   push_content,   push_payload1,
+                         create_date,   start_date)
+                 VALUES (#{pushIdx},    #{sendType}, #{sendState}, #{targetType},  #{centerCode},
+                         #{senderIp},   #{sender},   #{pushTitle}, #{pushContent}, #{push_payload1},
+                         #{createDate}, NOW())
         ]]>
     </insert>
     
@@ -247,7 +249,7 @@
             UPDATE PUSH_RESULT_${ym}
                SET SUCCESS_YN = #{successYn},
                    UPDATE_DATE = NOW(),
-                   STATE = #{state},
+                   STATE = #{state}
         ]]>
         <if test='failCode != null and failCode != ""'>
             <![CDATA[