--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiJsonSave.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiJsonSave.java
... | ... | @@ -17,6 +17,11 @@ |
| 17 | 17 |
import org.springframework.beans.factory.annotation.Value; |
| 18 | 18 |
import org.springframework.stereotype.Component; |
| 19 | 19 |
|
| 20 |
+import com.fasterxml.jackson.core.JsonProcessingException; |
|
| 21 |
+import com.fasterxml.jackson.databind.ObjectMapper; |
|
| 22 |
+import com.fasterxml.jackson.databind.node.ArrayNode; |
|
| 23 |
+import com.fasterxml.jackson.databind.node.ObjectNode; |
|
| 24 |
+ |
|
| 20 | 25 |
import itn.com.cmm.util.StringUtil; |
| 21 | 26 |
import itn.let.kakao.kakaoComm.KakaoButtonVO; |
| 22 | 27 |
import itn.let.kakao.kakaoComm.KakaoReturnVO; |
... | ... | @@ -216,8 +221,62 @@ |
| 216 | 221 |
* 파일은 하나만 생성해서 동일하게 사용함. |
| 217 | 222 |
* |
| 218 | 223 |
* */ |
| 219 |
- public String kakaoApiFTJsonSave_advc(KakaoVO kakaoVO) {
|
|
| 224 |
+ public String kakaoApiFTJsonSave_advc(KakaoVO kakaoVO) throws JsonProcessingException {
|
|
| 220 | 225 |
// json파일 저장 |
| 226 |
+ |
|
| 227 |
+ |
|
| 228 |
+ ObjectMapper mapper = new ObjectMapper(); |
|
| 229 |
+ ObjectNode jo = mapper.createObjectNode(); |
|
| 230 |
+ |
|
| 231 |
+ |
|
| 232 |
+ |
|
| 233 |
+ // 버튼 |
|
| 234 |
+ if (kakaoVO.getButtonVOList() != null && !kakaoVO.getButtonVOList().isEmpty()) {
|
|
| 235 |
+ ArrayNode buttonList = mapper.createArrayNode(); |
|
| 236 |
+ |
|
| 237 |
+ for (KakaoButtonVO buttonInfoVO : kakaoVO.getButtonVOList()) {
|
|
| 238 |
+ ObjectNode button = mapper.createObjectNode(); |
|
| 239 |
+ button.put("name", buttonInfoVO.getName());
|
|
| 240 |
+ button.put("type", buttonInfoVO.getLinkType());
|
|
| 241 |
+ |
|
| 242 |
+ switch (buttonInfoVO.getLinkType()) {
|
|
| 243 |
+ case "WL": |
|
| 244 |
+ button.put("url_mobile", buttonInfoVO.getLinkMo());
|
|
| 245 |
+ button.put("url_pc", buttonInfoVO.getLinkPc());
|
|
| 246 |
+ break; |
|
| 247 |
+ case "AL": |
|
| 248 |
+ button.put("scheme_ios", buttonInfoVO.getLinkIos());
|
|
| 249 |
+ button.put("scheme_android", buttonInfoVO.getLinkAnd());
|
|
| 250 |
+ break; |
|
| 251 |
+ case "BC": |
|
| 252 |
+ // 상담톡 |
|
| 253 |
+ break; |
|
| 254 |
+ case "BT": |
|
| 255 |
+ // 봇 전환 |
|
| 256 |
+ break; |
|
| 257 |
+ } |
|
| 258 |
+ buttonList.add(button); |
|
| 259 |
+ } |
|
| 260 |
+ jo.set("button", buttonList);
|
|
| 261 |
+ } |
|
| 262 |
+ |
|
| 263 |
+ |
|
| 264 |
+ // 이미지 |
|
| 265 |
+ String imageType = kakaoVO.getImageType(); |
|
| 266 |
+ if (StringUtils.isNotEmpty(imageType)) {
|
|
| 267 |
+ ObjectNode image = mapper.createObjectNode(); |
|
| 268 |
+ image.put("img_url", kakaoVO.getTemplateImageUrl());
|
|
| 269 |
+ image.put("img_link", StringUtils.isNotEmpty(kakaoVO.getImgLink()) ? kakaoVO.getImgLink() : kakaoVO.getTemplateImageUrl());
|
|
| 270 |
+ jo.set("image", image);
|
|
| 271 |
+ } |
|
| 272 |
+ |
|
| 273 |
+ |
|
| 274 |
+ // 문자열로 변환 (이스케이프 없음) |
|
| 275 |
+ return mapper.writeValueAsString(jo); |
|
| 276 |
+ |
|
| 277 |
+ |
|
| 278 |
+ |
|
| 279 |
+ /* |
|
| 221 | 280 |
|
| 222 | 281 |
|
| 223 | 282 |
// 버튼리스트 JSON 생성 |
... | ... | @@ -249,11 +308,14 @@ |
| 249 | 308 |
|
| 250 | 309 |
if(StringUtils.isNotEmpty(imageType)) {
|
| 251 | 310 |
templateImageInfo.put("img_url", kakaoVO.getTemplateImageUrl());
|
| 252 |
- templateImageInfo.put("img_link", kakaoVO.getImgLink());
|
|
| 311 |
+ templateImageInfo.put("img_link", StringUtils.isNotEmpty(kakaoVO.getImgLink()) ? kakaoVO.getImgLink() : kakaoVO.getTemplateImageUrl() );
|
|
| 253 | 312 |
} |
| 254 | 313 |
|
| 255 |
- if("W".equals(imageType)) {
|
|
| 256 |
- templateImageExtInfo.put("wide", "Y");
|
|
| 314 |
+ // wide 여부 |
|
| 315 |
+ if ("W".equals(imageType)) {
|
|
| 316 |
+ ObjectNode extra = mapper.createObjectNode(); |
|
| 317 |
+ extra.put("wide", "Y");
|
|
| 318 |
+ jo.set("extra", extra);
|
|
| 257 | 319 |
} |
| 258 | 320 |
|
| 259 | 321 |
|
... | ... | @@ -274,7 +336,7 @@ |
| 274 | 336 |
// 입력 json 데이터를 파일로 변경 |
| 275 | 337 |
String jsonStr = jo.toString(); |
| 276 | 338 |
|
| 277 |
- return jsonStr; |
|
| 339 |
+ return jsonStr;*/ |
|
| 278 | 340 |
} |
| 279 | 341 |
|
| 280 | 342 |
/* |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?