TsaOrderChangeController.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. package com.style24.admin.biz.web;
  2. import java.util.Collection;
  3. import java.util.List;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.GetMapping;
  7. import org.springframework.web.bind.annotation.PostMapping;
  8. import org.springframework.web.bind.annotation.RequestBody;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import org.springframework.web.servlet.ModelAndView;
  13. import com.gagaframework.web.parameter.GagaMap;
  14. import com.gagaframework.web.rest.server.GagaResponse;
  15. import com.gagaframework.web.rest.server.GagaResponseStatus;
  16. import com.style24.admin.biz.service.TsaOrderChangeService;
  17. import com.style24.admin.biz.service.TsaOrderService;
  18. import com.style24.admin.biz.service.TsaRendererService;
  19. import com.style24.admin.support.controller.TsaBaseController;
  20. import com.style24.admin.support.security.session.TsaSession;
  21. import com.style24.core.biz.service.TscOrderChangeService;
  22. import com.style24.core.biz.service.TscOrderRefundService;
  23. import com.style24.core.support.env.TscConstants;
  24. import com.style24.core.support.message.TscMessageByLocale;
  25. import com.style24.persistence.domain.Order;
  26. import com.style24.persistence.domain.OrderChange;
  27. import lombok.extern.slf4j.Slf4j;
  28. /**
  29. * 취소관리 Controller
  30. *
  31. * @author jsh77b
  32. * @since 2020. 11. 16
  33. */
  34. @Controller
  35. @RequestMapping("/orderChange")
  36. @Slf4j
  37. public class TsaOrderChangeController extends TsaBaseController {
  38. @Autowired
  39. private TscMessageByLocale message;
  40. @Autowired
  41. private TsaRendererService rendererService;
  42. @Autowired
  43. private TsaOrderService orderService;
  44. @Autowired
  45. private TsaOrderChangeService orderChangeService;
  46. @Autowired
  47. private TscOrderChangeService coreOrderChangeService;
  48. @Autowired
  49. private TscOrderRefundService coreOrderRefundService;
  50. /**
  51. * 취소요청 화면 (관리자)
  52. *
  53. * @param ordNo - 주문번호
  54. * @param cncWait - 취소대기요청 구분
  55. * @return ModelAndView
  56. * @author jsh77b
  57. * @since 2020. 12. 22
  58. */
  59. @GetMapping("/cncl/req/form")
  60. public ModelAndView cnclReqForm(@RequestParam(value = "ordNo") int ordNo, @RequestParam(value = "ordChgSq") int ordChgSq) {
  61. Order order = new Order();
  62. ModelAndView mav = new ModelAndView();
  63. order.setOrdNo(ordNo);
  64. // 2021.01.26 변경시퀀스가 있을때 담기
  65. if (ordChgSq > 0) {
  66. order.setOrdChgSq(ordChgSq);
  67. }
  68. // 취소가능 주문상세상탭값 설정
  69. String[] ordDtlStatArr = new String[4];
  70. ordDtlStatArr[0] = TscConstants.OrderDetailStat.DEPOSIT_WAIT.value();
  71. ordDtlStatArr[1] = TscConstants.OrderDetailStat.PAYMENT_COMPLETE.value();
  72. ordDtlStatArr[2] = TscConstants.OrderDetailStat.GOODS_PREPARE.value();
  73. ordDtlStatArr[3] = TscConstants.OrderDetailStat.DELIVERY_PREPARE.value();
  74. order.setOrdDtlStatArr(ordDtlStatArr);
  75. // 2021.01.26 취소요청 화면, 취소요청정보확인 화면 합
  76. mav.addObject("chgReasonList" , rendererService.getAvailCommonCodeList("G686")); // 취소사유
  77. mav.addObject("cancelRequestTargetList" , coreOrderChangeService.getCancelRequestTargetList(order)); // 취소요청대상목록
  78. mav.addObject("orderInfoList" , orderService.getOrderInfoList(order)); // 주문정보
  79. mav.addObject("ordNo" , ordNo); // 주문번호
  80. mav.addObject("ordChgSq" , ordChgSq); // 주문변경번호
  81. mav.addObject("orderChangeList" , orderService.getOrderChangeList(order)); // 취소/반품/교환 요청 정보
  82. String viewName = "";
  83. if (ordChgSq > 0) {
  84. viewName = "order/CnclReqViewForm"; // 변경요청정보화면 (취소요청정보화면)
  85. } else {
  86. viewName = "order/CnclReqForm"; // 변경요청화면 (취소요청화면)
  87. }
  88. mav.setViewName(viewName);
  89. return mav;
  90. }
  91. /**
  92. * 취소요청 (ADMIN, NAPY, 외부몰) (배치)
  93. *
  94. * @param OrderChange - 주문취소신청정보
  95. * @return
  96. * @author jsh77b
  97. * @since 2021. 01. 20
  98. */
  99. @PostMapping("/cnclReq")
  100. @ResponseBody
  101. public GagaResponse cnclReq(@RequestBody OrderChange cnclReq) {
  102. GagaMap mav = new GagaMap();
  103. if (cnclReq== null) {
  104. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  105. }
  106. List<Order> cnclReqList = cnclReq.getCancelReqList(); // 취소요청정보목록
  107. // To Do List
  108. // @ 결품취소로직 추가
  109. // @ 주문취소시 상태값 체크
  110. // @ 취소, 반품시 배송비 체크 로직 (선결제 로직)
  111. // 1. 세션회원조회
  112. int userNo = TsaSession.getInfo().getUserNo();
  113. // 2. 환불금액계산
  114. // 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
  115. mav = coreOrderRefundService.cnclRtnRefundAmt(cnclReqList);
  116. // 3. 주문변경 기본정보 설정
  117. mav.set("ordNo" , cnclReq.getOrdNo()); // 주문번호
  118. mav.set("chgReason" , cnclReq.getChgReason()); // 변경사유
  119. mav.set("chgMemo" , cnclReq.getChgMemo()); // 변경메모
  120. mav.set("accountNo" , cnclReq.getAccountNo()); // 환불계좌번호
  121. mav.set("accountNm" , cnclReq.getAccountNm()); // 환불계좌예금주명
  122. mav.set("bankCd" , cnclReq.getBankCd()); // 환불계좌은행코드
  123. mav.set("allCanYn" , cnclReq.getAllCanYn()); // 무통장입금전 전체취소 여부
  124. mav.set("isCustomer" , cnclReq.getIsCustomer()); // 변경사유 (고객, 회사)
  125. // 4. 주문변경 회수지정보 추가
  126. mav.set("chgerNm" , cnclReq.getChgerNm()); // 변경자명
  127. mav.set("chgerEmail" , cnclReq.getChgerEmail()); // 변경자이메일주소
  128. mav.set("chgerPhnno" , cnclReq.getChgerPhnno()); // 변경자핸드폰번호
  129. mav.set("chgerTelno" , cnclReq.getChgerTelno()); // 변경자전화번호
  130. mav.set("reqGbn" , cnclReq.getReqGbn()); // 신청구분
  131. // 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
  132. //coreOrderChangeService.cnclReq(mav, userNo);
  133. coreOrderChangeService.cnclComplete(mav, userNo);
  134. return super.ok("성공");
  135. }
  136. /**
  137. * 취소요청철회 (NAPY, 외부몰) (관리자)
  138. * @param OrderChange - 주문취소신청정보
  139. * @return
  140. * @author jsh77b
  141. * @since 2021. 01. 20
  142. */
  143. @PostMapping("/cnclReqCancel")
  144. @ResponseBody
  145. public GagaResponse cnclReqCancel(@RequestBody OrderChange cnclReq) {
  146. if (cnclReq== null) {
  147. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  148. }
  149. // 1. 세션회원조회
  150. int userNo = TsaSession.getInfo().getUserNo();
  151. GagaMap mav = new GagaMap();
  152. mav.set("ordNo" , cnclReq.getOrdNo());
  153. mav.set("ordChgSq" , cnclReq.getOrdChgSq());
  154. Order order = new Order();
  155. // 2. 취소가능 주문상세상탭값 설정
  156. String[] ordDtlStatArr = new String[4];
  157. ordDtlStatArr[0] = TscConstants.OrderDetailStat.DEPOSIT_WAIT.value();
  158. ordDtlStatArr[1] = TscConstants.OrderDetailStat.PAYMENT_COMPLETE.value();
  159. ordDtlStatArr[2] = TscConstants.OrderDetailStat.GOODS_PREPARE.value();
  160. ordDtlStatArr[3] = TscConstants.OrderDetailStat.DELIVERY_PREPARE.value();
  161. order.setOrdDtlStatArr(ordDtlStatArr);
  162. mav.set("cancelRequestTargetList", coreOrderChangeService.getCancelRequestTargetList(order));
  163. // 2.취소요청철회
  164. mav = coreOrderChangeService.cnclReqCancel(mav, userNo);
  165. return super.ok("성공");
  166. }
  167. /**
  168. * 취소요청승인 (NAPY, 외부몰) (관리자)
  169. * @param OrderChange - 주문취소신청정보
  170. * @return
  171. * @author jsh77b
  172. * @since 2021. 01. 20
  173. */
  174. @PostMapping("/cnclReqComplete")
  175. @ResponseBody
  176. public GagaResponse cnclReqComplete(@RequestBody OrderChange cnclReq) {
  177. if (cnclReq== null) {
  178. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  179. }
  180. return super.ok("성공");
  181. }
  182. /**
  183. * 취소완료 (관리자)
  184. * @param Collection<Order> - 주문취소신청목록
  185. * @return
  186. * @author jsh77b
  187. * @since 2020. 12. 29
  188. */
  189. @PostMapping("/cnclComplete")
  190. @ResponseBody
  191. public GagaResponse cnclComplete(@RequestBody OrderChange cnclReq) {
  192. if (cnclReq== null) {
  193. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  194. }
  195. GagaMap mav = new GagaMap();
  196. List<Order> cnclReqList = cnclReq.getCancelReqList(); // 취소요청정보목록
  197. // To Do List
  198. // @ 결품취소로직 추가
  199. // @ 주문취소시 상태값 체크
  200. // @ 취소, 반품시 배송비 체크 로직 (선결제 로직)
  201. // 1. 세션회원조회
  202. int userNo = TsaSession.getInfo().getUserNo();
  203. // 2. 환불금액계산
  204. // 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
  205. mav = coreOrderRefundService.cnclRtnRefundAmt(cnclReqList);
  206. // 3. 주문변경 기본정보 설정
  207. mav.set("ordNo" , cnclReq.getOrdNo()); // 주문번호
  208. mav.set("chgReason" , cnclReq.getChgReason()); // 변경사유
  209. mav.set("chgMemo" , cnclReq.getChgMemo()); // 변경메모
  210. mav.set("accountNo" , cnclReq.getAccountNo()); // 환불계좌번호
  211. mav.set("accountNm" , cnclReq.getAccountNm()); // 환불계좌예금주명
  212. mav.set("bankCd" , cnclReq.getBankCd()); // 환불계좌은행코드
  213. mav.set("allCanYn" , cnclReq.getAllCanYn()); // 무통장입금전 전체취소 여부
  214. mav.set("isCustomer" , cnclReq.getIsCustomer()); // 변경사유 (고객, 회사)
  215. // 4. 주문변경 회수지정보 추가
  216. mav.set("chgerNm" , cnclReq.getChgerNm()); // 변경자명
  217. mav.set("chgerEmail" , cnclReq.getChgerEmail()); // 변경자이메일주소
  218. mav.set("chgerPhnno" , cnclReq.getChgerPhnno()); // 변경자핸드폰번호
  219. mav.set("chgerTelno" , cnclReq.getChgerTelno()); // 변경자전화번호
  220. mav.set("reqGbn" , cnclReq.getReqGbn()); // 신청구분
  221. // 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL)
  222. coreOrderChangeService.cnclComplete(mav, userNo);
  223. return super.ok("성공");
  224. }
  225. /**
  226. * 반품요청 화면 (관리자)
  227. *
  228. * @param ordNo - 주문번호
  229. * @param cncWait - 취소대기요청 구분
  230. * @return ModelAndView
  231. * @author jsh77b
  232. * @since 2020. 12. 22
  233. */
  234. @GetMapping("/rtn/req/form")
  235. public ModelAndView returnRequestFrom(@RequestParam(value = "ordNo") int ordNo) {
  236. Order order = new Order();
  237. ModelAndView mav = new ModelAndView();
  238. order.setOrdNo(ordNo);
  239. // 반품가능 주문상세상탭값 설정
  240. String[] ordDtlStatArr = new String[3];
  241. ordDtlStatArr[0] = TscConstants.OrderDetailStat.SHIPPING.value();
  242. ordDtlStatArr[1] = TscConstants.OrderDetailStat.SHIP_COMPLETE.value();
  243. ordDtlStatArr[2] = TscConstants.OrderDetailStat.DELIVERY_COMPLETE.value();
  244. order.setOrdDtlStatArr(ordDtlStatArr);
  245. mav.addObject("chgReasonList" , rendererService.getAvailCommonCodeList("G688")); // 취소사유
  246. mav.addObject("cancelRequestTargetList" , coreOrderChangeService.getCancelRequestTargetList(order)); // 취소요청대상 목록
  247. mav.addObject("orderInfoList" , orderService.getOrderInfoList(order)); // 주문정보
  248. mav.addObject("ordNo" , ordNo); // 주문번호
  249. mav.addObject("orderDelvRtnAddrInfo" , orderService.getDeliveryAddrList(order)); // 배송정보
  250. mav.addObject("TelExcNoList" , rendererService.getAvailCommonCodeList("G095")); // 전화번호국번
  251. mav.addObject("PhnExcNoList" , rendererService.getAvailCommonCodeList("G096")); // (휴대전화)번호국번
  252. mav.setViewName("order/ReturnRequestForm");
  253. return mav;
  254. }
  255. /**
  256. * 반품신청 (관리자)
  257. * @param Collection<Order> - 주문취소신청목록
  258. * @return
  259. * @author jsh77b
  260. * @since 2020. 12. 29
  261. */
  262. @PostMapping("/returnRequest")
  263. @ResponseBody
  264. public GagaResponse orderReturnRequest(@RequestBody OrderChange rtnReq) {
  265. GagaMap mav = new GagaMap();
  266. if (rtnReq== null) {
  267. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  268. }
  269. List<Order> cancelReqList = rtnReq.getCancelReqList(); // 취소요청정보
  270. // 1. 세션회원조회
  271. int userNo = TsaSession.getInfo().getUserNo();
  272. // 2. 환불금액계산
  273. mav = coreOrderRefundService.cnclRtnRefundAmt(cancelReqList);
  274. // 3. 주문변경 기본정보 설정
  275. mav.set("ordNo" , rtnReq.getOrdNo()); // 주문번호
  276. mav.set("chgReason" , rtnReq.getChgReason()); // 변경사유
  277. mav.set("chgMemo" , rtnReq.getChgMemo()); // 변경메모
  278. mav.set("accountNo" , rtnReq.getAccountNo()); // 환불계좌번호
  279. mav.set("accountNm" , rtnReq.getAccountNm()); // 환불계좌예금주명
  280. mav.set("bankCd" , rtnReq.getBankCd()); // 환불계좌은행코드
  281. mav.set("allCanYn" , rtnReq.getAllCanYn()); // 무통장입금전 전체취소 여부
  282. mav.set("isCustomer" , rtnReq.getIsCustomer()); // 변경사유 (고객, 회사)
  283. // 4. 주문변경 회수지정보 추가
  284. mav.set("chgerNm" , rtnReq.getChgerNm()); // 변경자명
  285. mav.set("chgerEmail" , rtnReq.getChgerEmail()); // 변경자이메일주소
  286. mav.set("chgerZipcode" , rtnReq.getChgerZipcode()); // 회수지우편번호
  287. mav.set("chgerBaseAddr" , rtnReq.getChgerBaseAddr()); // 회수지기본주소
  288. mav.set("chgerDtlAddr" , rtnReq.getChgerDtlAddr()); // 회수지상세주소
  289. mav.set("chgerPhnno" , rtnReq.getChgerPhnno()); // 변경자핸드폰번호
  290. mav.set("chgerTelno" , rtnReq.getChgerTelno()); // 변경자전화번호
  291. // 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
  292. coreOrderChangeService.rtnReq(mav, userNo);
  293. return super.ok("성공");
  294. }
  295. /**
  296. * 주문 취소/반품 신청환불금액 계산
  297. * @param Collection<Order>- 주문취소신청목록
  298. * @return
  299. * @author jsh77b
  300. * @since 2020. 12. 29
  301. */
  302. @PostMapping("/cancel/refundAmt")
  303. @ResponseBody
  304. public GagaMap orderCancelRefundAmt(@RequestBody List<Order> cancelReqList) {
  305. GagaMap mav = new GagaMap();
  306. if (cancelReqList == null || cancelReqList.isEmpty()) {
  307. throw new IllegalStateException(message.getMessage("FAIL_1001"));
  308. }
  309. // 1. 환불금액정보 계산 & 조회
  310. mav = coreOrderRefundService.cnclRtnRefundAmt(cancelReqList);
  311. return mav;
  312. }
  313. /**
  314. * 환불계좌목록
  315. *
  316. * @param ordNo - 주문번호
  317. * @param custNo - 고객고유번호
  318. * @return Collection<TsaOrder>
  319. * @author jsshin
  320. * @since 2020. 10. 16.
  321. */
  322. @GetMapping("/refund/account/info/list")
  323. @ResponseBody
  324. public Collection<Order> getRefundAccountInfoList(@RequestParam(value = "ordNo") int ordNo) {
  325. Order order = new Order();
  326. order.setOrdNo(ordNo);
  327. Collection<Order> orderRfAccountInfo = orderChangeService.getRefundAccount(order);
  328. return orderRfAccountInfo;
  329. }
  330. /**
  331. * 환불계좌등록 화면
  332. *
  333. * @param ordNo - 주문번호
  334. * @param custNo - 고객고유번호
  335. * @return ModelAndView
  336. * @author jsh77b
  337. * @since 2021. 01. 04.
  338. */
  339. @GetMapping("/refund/account/create/form")
  340. public ModelAndView refundAccountCreateForm(@RequestParam(value = "ordNo") int ordNo) {
  341. ModelAndView mav = new ModelAndView();
  342. Order order = new Order();
  343. order.setOrdNo(ordNo);
  344. Collection<Order> orderBasic = orderService.getOrderInfoList(order);
  345. Collection<Order> orderRfAccountInfo = orderChangeService.getRefundAccount(order);
  346. mav.addObject("bankList" , rendererService.getCommonCodeList("G940"));
  347. mav.addObject("orderRfAccountInfo" , orderRfAccountInfo);
  348. mav.addObject("orderBasic" , orderBasic);
  349. mav.setViewName("order/RefundAccountRegistForm");
  350. return mav;
  351. }
  352. /**
  353. * 환불계좌등록
  354. *
  355. * @param order - 환불계좌정보
  356. * @return GagaResponse
  357. * @author jsh77b
  358. * @since 2021. 01. 04.
  359. */
  360. @PostMapping("/account/save")
  361. @ResponseBody
  362. public GagaResponse saveRefundAccount(@RequestBody Order order) {
  363. int userNo = TsaSession.getInfo().getUserNo();
  364. order.setUpdNo(userNo);
  365. order.setRegNo(userNo);
  366. String accountCheck = "Y";
  367. // To Do List
  368. // @ 환불계좌인증
  369. if ("Y".equals(accountCheck)) {
  370. orderChangeService.saveRefundAccount(order);
  371. } else {
  372. throw new IllegalStateException("환불계좌정보가 맞지 않습니다!");
  373. }
  374. return super.ok(message.getMessage("SUCC_0001"));
  375. }
  376. /**
  377. * 교환요청 화면
  378. *
  379. * @param ordNo - 주문번호
  380. * @return ModelAndView
  381. * @author card007
  382. * @since 2021. 01. 14
  383. */
  384. @GetMapping("/exchange/request/form")
  385. public ModelAndView exchangeRequestFrom(@RequestParam(value = "ordNo") int ordNo) {
  386. Order order = new Order();
  387. ModelAndView mav = new ModelAndView();
  388. order.setOrdNo(ordNo);
  389. // 교환가능 주문상세상탭값 설정
  390. String[] ordDtlStatArr = new String[3];
  391. ordDtlStatArr[0] = TscConstants.OrderDetailStat.SHIPPING.value();
  392. ordDtlStatArr[1] = TscConstants.OrderDetailStat.SHIP_COMPLETE.value();
  393. ordDtlStatArr[2] = TscConstants.OrderDetailStat.DELIVERY_COMPLETE.value();
  394. order.setOrdDtlStatArr(ordDtlStatArr);
  395. Collection<Order> cancelRequestTargetList = coreOrderChangeService.getCancelRequestTargetList(order);
  396. Collection<Order> orderInfoList = orderService.getOrderInfoList(order);
  397. mav.addObject("chgReasonList" , rendererService.getAvailCommonCodeList("G689")); // 교환사유
  398. mav.addObject("cancelRequestTargetList" , cancelRequestTargetList); // 교환요청대상 목록
  399. mav.addObject("orderInfoList" , orderInfoList); // 주문정보
  400. mav.addObject("ordNo" , ordNo);
  401. mav.addObject("orderDelvAddrInfo" , orderService.getDeliveryAddrList(order)); // 배송정보
  402. mav.addObject("TelExcNoList" , rendererService.getAvailCommonCodeList("G095")); // 전화번호국번
  403. mav.addObject("PhnExcNoList" , rendererService.getAvailCommonCodeList("G096")); // (휴대전화)번호국번
  404. mav.setViewName("order/ExchangeRequestForm");
  405. return mav;
  406. }
  407. /**
  408. * 교환신청 (관리자)
  409. *
  410. * @param Collection<OrderChange>
  411. * @return
  412. * @author card007
  413. * @since 2021. 01. 22
  414. */
  415. @PostMapping("/exchangeRequest")
  416. @ResponseBody
  417. public GagaMap orderExchangeRequest(@RequestBody OrderChange excReq) {
  418. GagaMap result = new GagaMap();
  419. result.set("status", GagaResponseStatus.FAIL.getCode());
  420. if (excReq == null) {
  421. result.set("message", message.getMessage("FAIL_1001"));
  422. return result;
  423. }
  424. log.info("excReq >>> {}", excReq);
  425. // orderChangeService.changeRequest()
  426. // result.set("status", GagaResponseStatus.SUCCESS.getCode());
  427. return result;
  428. }
  429. }