From 936f413ac0aa74d397c335f611fef8cd4e67f681 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Fri, 18 Jul 2025 09:33:09 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=9C=EA=B5=AC=ED=86=A1=20=ED=99=98?= =?UTF-8?q?=EB=B6=88=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/kakao/kakaoComm/BizKakaoPriceVO.java | 34 ++++++ .../service/impl/KakaoAlimTalkDAO.java | 5 + .../impl/KakaoAlimTalkServiceImpl.java | 112 +++++++++++++++--- .../kakao/user/sent/service/KakaoSentVO.java | 3 +- .../let/mjo/msg/service/impl/MjonMsgDAO.java | 5 + .../itn/let/mjo/pay/service/MjonPayVO.java | 2 + .../let/mjo/pay/service/impl/MjonPayDAO.java | 5 + .../itn/let/module/base/PriceAndPoint.java | 64 ++++++++-- .../let/mjo/kakao/KakaoSent_SQL_Mysql.xml | 1 + .../let/mjo/kakao/Kakao_AT_SQL_Mysql.xml | 16 ++- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 11 ++ .../sqlmap/let/pay/MjonPay_SQL_mysql.xml | 20 +++- .../ft/KakaoFriendsTalkMsgDataView.jsp | 6 +- src/main/webapp/js/kakao/ft/ftPriceClclt.js | 12 +- 14 files changed, 263 insertions(+), 33 deletions(-) create mode 100644 src/main/java/itn/let/kakao/kakaoComm/BizKakaoPriceVO.java diff --git a/src/main/java/itn/let/kakao/kakaoComm/BizKakaoPriceVO.java b/src/main/java/itn/let/kakao/kakaoComm/BizKakaoPriceVO.java new file mode 100644 index 00000000..3eebffc5 --- /dev/null +++ b/src/main/java/itn/let/kakao/kakaoComm/BizKakaoPriceVO.java @@ -0,0 +1,34 @@ +package itn.let.kakao.kakaoComm; + +import java.math.BigDecimal; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +/** + * @ BIZ_KAKAO_PRICE 테이블 관련 + */ +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@ToString +public class BizKakaoPriceVO { + + private Long bizKakaoPriceId; + + private String bizKakaoAtPrice; // 알림톡 단가 + private String bizKakaoFtPrice; // 친구톡 단가 + private String bizKakaoFtImgPrice; // 친구톡 이미지 단가 + private String bizKakaoFtWideImgPrice; // 친구톡 와이드 이미지 단가 + private String bizSmsPrice; // SMS 단가 + private String bizMmsPrice; // MMS 단가 + + private String msgGroupId; // 메시지 그룹 ID + + + // getters and setters 생략 +} \ No newline at end of file diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkDAO.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkDAO.java index fe3cd77b..46520d26 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkDAO.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkDAO.java @@ -108,4 +108,9 @@ public class KakaoAlimTalkDAO extends EgovAbstractDAO { public void insertKakaoGroupDataTb_advc(KakaoSendAdvcVO sendVO) { insert("kakaoAlimTalkDAO.insertKakaoGroupDataTb_advc", sendVO); } + + public KakaoVO selectBizLog(String bizUmid) { + return (KakaoVO) select("kakaoAlimTalkDAO.selectBizLog", bizUmid); +// return (KakaoVO) select("kakaoAlimTalkDAO.selectKakaoAtUmid", bizUmid); + } } diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index d62d1c7a..73c2a230 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -29,6 +29,7 @@ import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; import itn.com.cmm.MjonMsgSendVO; import itn.com.utl.fcc.service.EgovStringUtil; +import itn.let.kakao.kakaoComm.BizKakaoPriceVO; import itn.let.kakao.kakaoComm.KakaoSendAdvcVO; import itn.let.kakao.kakaoComm.KakaoSendUtil; import itn.let.kakao.kakaoComm.KakaoVO; @@ -45,6 +46,7 @@ import itn.let.mjo.msgholiday.service.MsgHolidayVO; import itn.let.mjo.msgholiday.service.impl.MsgHolidayDAO; import itn.let.mjo.pay.service.MjonPayService; import itn.let.mjo.pay.service.MjonPayVO; +import itn.let.mjo.pay.service.impl.MjonPayDAO; import itn.let.module.base.PriceAndPoint; import itn.let.sym.site.service.JoinSettingVO; import itn.let.sym.site.service.impl.SiteManagerDAO; @@ -86,6 +88,9 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements /** userManageService */ @Resource(name = "userManageService") private EgovUserManageService userManageService; + + @Autowired + private MjonPayDAO mjonPayDAO; @Autowired KakaoSendUtil kakaoSendUtil; @@ -95,6 +100,11 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements @Autowired private PriceAndPoint priceAndPoint; + + final String KAKAO_SUCCESS_CODE = "7000"; + final String RESEND_YN_YES = "Y"; + final String SMS_SUCCESS_CODE = "4100"; // SMS 성공 코드 + final String MMS_SUCCESS_CODE = "6600"; // MMS 성공 코드 //발신프로필 상태값 변경(삭제/복구 기능) @Override @@ -833,32 +843,98 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements */ List kakaoFtSentRefundList = kakaoAlimTalkDAO.selectKakaoFtSentRefundList(); - for(KakaoVO vo : kakaoFtSentRefundList) { - System.out.println(vo.getMsgGroupId() +"________결과 : " +vo.getRsltCode() +" 대체문자 전송 : "+vo.getSubMsgSendYn()); + for(KakaoVO kakaoVO : kakaoFtSentRefundList) { + System.out.println(kakaoVO.getMsgGroupId() +"________결과 : " +kakaoVO.getRsltCode() +" 대체문자 전송 : "+kakaoVO.getSubMsgSendYn()); - if("7000".equals(vo.getRsltCode())) {//친구톡 발송 성공시 + if(KAKAO_SUCCESS_CODE.equals(kakaoVO.getRsltCode())) {//친구톡 발송 성공시 - kakaoAlimTalkDAO.updateKakaoFtSend(vo); + processFtSendCharge(kakaoVO); - }else if("Y".equals(vo.getSubMsgSendYn())) {//친구톡 발송 실패 했을 경우 - - //대체문자 발송 UMID 번호 조회 - 알림톡 쿼리 동일하게 사용 - KakaoVO info = kakaoAlimTalkDAO.selectKakaoAtUmid(vo); - - System.out.println("대체문자 전송 : " + info.getBizUmid()); - -// if (info.getBizUmid() != null) {//대체문자 발송 완료인 경우 - if (StringUtils.isNotEmpty(info.getBizUmid())) {//대체문자 발송 완료인 경우 - kakaoAlimTalkDAO.updateKakaoFtSubMsgSend(vo); - }else { - kakaoAlimTalkDAO.updateKakaoFtNotSend(vo); - } + }else if(RESEND_YN_YES.equals(kakaoVO.getSubMsgSendYn())) { + //친구톡 발송 실패 했고, 대체문자 발송 했을 경우 + handleAlternativeMessageScenario(kakaoVO); }else { - kakaoAlimTalkDAO.updateKakaoFtNotSend(vo); + handleRefund(kakaoVO, "카카오 친구톡 전송 실패로 인한 결재 금액 환불"); } } } + + + private void processFtSendCharge(KakaoVO kakaoVO) throws Exception { + + + if(RESEND_YN_YES.equals(kakaoVO.getSubMsgSendYn())) { + + BizKakaoPriceVO bizKakaoPriceVO = mjonPayDAO.selectBizKakaoPrice(kakaoVO.getMsgGroupId()); + + BigDecimal sendPrice = null; + if(StringUtils.isEmpty(kakaoVO.getBizKakaoImageType())){ + sendPrice = new BigDecimal(bizKakaoPriceVO.getBizKakaoFtPrice()); + }else if("I".equals(kakaoVO.getBizKakaoImageType())){ + sendPrice = new BigDecimal(bizKakaoPriceVO.getBizKakaoFtImgPrice()); + }else if("W".equals(kakaoVO.getBizKakaoImageType())){ + sendPrice = new BigDecimal(bizKakaoPriceVO.getBizKakaoFtWideImgPrice()); + } + + // 예시: 각 건당 가격이 이미 String 형태라면 변환 + BigDecimal eachPrice = new BigDecimal(kakaoVO.getEachPrice()); + + // 차이 계산 + BigDecimal diffPrice = eachPrice.subtract(sendPrice); + + + if (diffPrice.compareTo(BigDecimal.ZERO) > 0) { + String result = diffPrice.toString(); + kakaoVO.setEachPrice(result); + + handleRefund(kakaoVO, "카카오 친구톡 전송으로 인한 결재 차액 환불"); + } + + }else { + mjonMsgDAO.updateRefundY(kakaoVO); + + } + // TODO Auto-generated method stub + + } + + private void handleAlternativeMessageScenario(KakaoVO kakaoVO) throws Exception { + KakaoVO bizLogVO = kakaoAlimTalkDAO.selectBizLog(kakaoVO.getBizUmid()); + log.info("대체문자 전송 UMID: {}", kakaoVO.getBizUmid()); + + // 대체문자가 성공적으로 발송되었는지 확인 (SMS 또는 MMS 성공) + boolean isAlternativeMessageSuccessful = false; + if (bizLogVO != null && StringUtils.isNotEmpty(bizLogVO.getBizLogCallStatus())) { + if (SMS_SUCCESS_CODE.equals(bizLogVO.getBizLogCallStatus()) + || MMS_SUCCESS_CODE.equals(bizLogVO.getBizLogCallStatus())) { + isAlternativeMessageSuccessful = true; + } + } + + // 대체문자 성공이면 환불 완료처리면 한다. + if (isAlternativeMessageSuccessful) { + mjonMsgDAO.updateRefundY(kakaoVO); + } else { + // 대체문자 발송 실패 된 경우 (친구톡 비용 환불 필요) + handleRefund(kakaoVO, "카카오 친구톡 전송 실패로 인한 결재 금액 환불"); + } + } + + private void handleRefund(KakaoVO vo, String msg) throws Exception { + // mj_cash 테이블에 환불 내역 추가 및 회원 금액 업데이트 + // eachPrice는 환불될 금액이므로 양수여야 합니다. + priceAndPoint.insertCashAndPoint( + vo.getUserId(), + Float.parseFloat(vo.getEachPrice()), // 환불 금액은 양수 + msg, + vo.getMsgGroupId(), + vo.getUserData() + ); + + // 해당 row 환불 처리 (mj_msg_data.REFUND_YN = 'Y') + mjonMsgDAO.updateRefundY(vo); + } @Override public StatusResponse insertKakaoAtSandAjax_advc(KakaoVO kakaoVO, HttpServletRequest request) throws Exception { diff --git a/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java b/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java index 5429c61d..b89b08e2 100644 --- a/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java +++ b/src/main/java/itn/let/kakao/user/sent/service/KakaoSentVO.java @@ -90,7 +90,7 @@ public class KakaoSentVO extends UserDefaultVO{ private String bizKakaoFtPrice; private String bizSmsPrice; private String bizMmsPrice; - + private int successCount; private int waitCount; private int failCount; @@ -112,6 +112,7 @@ public class KakaoSentVO extends UserDefaultVO{ private String successPrice; private String kakaoResendSuccPrice; + private String bizKakaoImageType; private String divideYn; diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java index 5108b0ac..0c688dd0 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java @@ -455,6 +455,11 @@ public class MjonMsgDAO extends EgovAbstractDAO { update("mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag", mjonMsgVO); } + // mj_msg_data 테이블 지연 알림톡 취소 값 수정 + public void updateRefundY(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateRefundY", mjonMsgVO); + } + // mj_msg_group_data 테이블 지연 알림톡 취소 값 수정 public void updateKakaoAtDelayCancelMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { update("mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag", mjonMsgVO); diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java index a1de761d..5846e56e 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java @@ -236,6 +236,8 @@ public class MjonPayVO extends ComDefaultVO{ private int remainPoint; + private String userData; + private String totChgPay; // 간편결제분류 diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java index 795495b7..ea5b7a39 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java @@ -5,6 +5,7 @@ import java.util.List; import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import itn.let.kakao.kakaoComm.BizKakaoPriceVO; import itn.let.mjo.pay.service.MjonPayVO; import itn.let.mjo.pay.service.MjonVaMsgLogVO; import itn.let.mjo.pay.service.RefundVO; @@ -45,6 +46,10 @@ public class MjonPayDAO extends EgovAbstractDAO { public MjonPayVO selectCashVO(MjonPayVO mjonPayVO) throws Exception{ return (MjonPayVO)select("mjonPayDAO.selectCashVO", mjonPayVO); } + + public BizKakaoPriceVO selectBizKakaoPrice(String msgGroupId) throws Exception{ + return (BizKakaoPriceVO)select("mjonPayDAO.selectBizKakaoPrice", msgGroupId); + } public void insertCash(MjonPayVO mjonPayVO) throws Exception{ diff --git a/src/main/java/itn/let/module/base/PriceAndPoint.java b/src/main/java/itn/let/module/base/PriceAndPoint.java index bb7f15a3..f640732f 100644 --- a/src/main/java/itn/let/module/base/PriceAndPoint.java +++ b/src/main/java/itn/let/module/base/PriceAndPoint.java @@ -5,9 +5,11 @@ import java.math.RoundingMode; import javax.annotation.Resource; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import itn.let.kakao.kakaoComm.KakaoSendAdvcVO; import itn.let.kakao.kakaoComm.KakaoSendUtil; @@ -127,23 +129,69 @@ public class PriceAndPoint { , String msgGroupId ) throws Exception { - MjonPayVO mjonPayVO = new MjonPayVO(); - mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()); - mjonPayVO.setUserId(userId); - System.out.println(" + totPrice :: "+ totPrice); - mjonPayVO.setCash(totPrice); - mjonPayVO.setFrstRegisterId(userId); - mjonPayVO.setMemo(memo); - mjonPayVO.setMsgGroupId(msgGroupId); +// MjonPayVO mjonPayVO = new MjonPayVO(); +// mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()); +// mjonPayVO.setUserId(userId); +// System.out.println(" + totPrice :: "+ totPrice); +// mjonPayVO.setCash(totPrice); +// mjonPayVO.setFrstRegisterId(userId); +// mjonPayVO.setMemo(memo); +// mjonPayVO.setMsgGroupId(msgGroupId); + insertCashAndPoint(userId, totPrice, memo, msgGroupId, null); + +// mjonPayDAO.insertCash(mjonPayVO); //캐시 +// mjonPayDAO.updateMemberCash(mjonPayVO); //회원정보 업데이트 + + } + /** + * @methodName : insertCashAndPoint + * @author : 이호영 + * @date : 2025. 7. 17. + * @description : insertCashAndPoint 에서 환불으로 인해 userData 추가 + * @return : void + * @param userId + * @param totPrice + * @param memo + * @param msgGroupId + * @param userData + * @throws Exception + * + */ + public void insertCashAndPoint( + String userId + , float totPrice + , String memo + , String msgGroupId + , String userData + ) throws Exception { + + MjonPayVO mjonPayVO = buildPayVO(userId, totPrice, memo, msgGroupId); + +// 환불로 인해 userData가 추후 사용될 경우 여기에 처리 + if (StringUtils.isNotEmpty(userData)) { mjonPayVO.setOrderId(userData); } + mjonPayDAO.insertCash(mjonPayVO); //캐시 mjonPayDAO.updateMemberCash(mjonPayVO); //회원정보 업데이트 } + + private MjonPayVO buildPayVO(String userId, float totPrice, String memo, String msgGroupId) throws FdlException { + MjonPayVO vo = new MjonPayVO(); + vo.setCashId(idgenMjonCashId.getNextStringId()); + vo.setUserId(userId); + vo.setCash(totPrice); + vo.setFrstRegisterId(userId); + vo.setMemo(memo); + vo.setMsgGroupId(msgGroupId); + System.out.println(" + totPrice :: " + totPrice); + return vo; + } public void insertBizFtKakaoPrice(String userId, String msgGroupId) throws Exception { KakaoVO kakaoVO = new KakaoVO(); + System.out.println("======================="); // 사용자 개인 단가 정보 불러오기 MberManageVO mberManageVO = mjonMsgDataDAO.selectMberManageInfo(userId); // 시스템 기본 단가 정보 불러오기 diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml index 1f37609c..a5c693e0 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml @@ -1398,6 +1398,7 @@ A.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn, A.BIZ_KAKAO_RESEND_DATA as bizKakaoResendData, B.AD_FLAG as adFlag , + B.BIZ_KAKAO_IMAGE_TYPE as bizKakaoImageType , CASE WHEN B.AT_DELAY_YN = 'Y' AND B.AT_DELAY_COMPLETE_YN = 'N' THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE) diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml index 16f4575d..328b50e9 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml @@ -186,6 +186,8 @@ MSG_GROUP_ID , BIZ_KAKAO_AT_PRICE , BIZ_KAKAO_FT_PRICE + , BIZ_KAKAO_FT_IMG_PRICE + , BIZ_KAKAO_FT_WIDE_IMG_PRICE , BIZ_SMS_PRICE , BIZ_MMS_PRICE , BIZ_PICTURE_PRICE @@ -195,6 +197,8 @@ #msgGroupId# ,#kakaoAtPrice# ,#kakaoFtPrice# + ,#kakaoFtImgPrice# + ,#kakaoFtWideImgPrice# ,#smsPrice# ,#mmsPrice# ,#picturePrice# @@ -233,6 +237,7 @@ , MMD.MSG_GROUP_ID AS msgGroupId , MMD.MSG_SEQ AS msgSeq , MMGD.BIZ_KAKAO_IMAGE_TYPE AS bizKakaoImageType + , MMGD.EACH_PRICE AS eachPrice , MMD.USERDATA AS userData , MMD.REFUND_YN AS refundYn , MMD.RSLT_CODE AS rsltCode @@ -243,7 +248,7 @@ , MMD.BIZ_KAKAO_RESEND_YN AS subMsgSendYn , MMD.BIZ_KAKAO_RESEND_TYPE AS subMsgType , MMD.FILE_CNT AS fileCnt - , MMD.BIZ_KAKAO_RESEND_TYPE AS bizKakaoResendType + , MMD.BIZ_UMID AS bizUmid FROM MJ_MSG_DATA MMD INNER JOIN LETTNGNRLMBER MB @@ -266,6 +271,15 @@ AND USERDATA = #userData# + + {call kakaoAt_Send(#userId#, #msgGroupId#, #userData#)} diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index dabc5761..d441861d 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -7435,6 +7435,17 @@ + + + UPDATE MJ_MSG_DATA + SET REFUND_YN = 'Y' + WHERE + USER_ID = #userId# + AND USERDATA = #userData# + AND MSG_GROUP_ID = #msgGroupId# + + + UPDATE diff --git a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml index 01e0bdb8..f22eb8fd 100644 --- a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml @@ -3,10 +3,11 @@ ========= ======= ================================================= 2021.03.01 신명섭 --> - + + @@ -606,6 +607,7 @@ MEMO, ORDER_ID, MSG_GROUP_ID + )VALUES ( #userId#, @@ -624,6 +626,22 @@ + + + + INSERT INTO MJ_PG ( diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp index d0e72712..0251a926 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp @@ -1407,9 +1407,10 @@ function thisFnByteString(contents){ $('#msgLeng').html(""); $('#limitLeng').html(""); - if ($("#ad_Y").is(":checked")) { + /* if ($("#ad_Y").is(":checked")) { contents = "(광고)"+contents+"\n무료거부 0808800858" - } + } */ + contents = adYChkAndMakeContents(contents); console.log(contents); var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기 @@ -1444,6 +1445,7 @@ function thisFnByteString(contents){ $("#subMsgType").val("SMS"); } + totalFtPriceSum(tableL.getRows().length); } diff --git a/src/main/webapp/js/kakao/ft/ftPriceClclt.js b/src/main/webapp/js/kakao/ft/ftPriceClclt.js index 4eb395f0..25ded2aa 100644 --- a/src/main/webapp/js/kakao/ft/ftPriceClclt.js +++ b/src/main/webapp/js/kakao/ft/ftPriceClclt.js @@ -49,7 +49,10 @@ function totalFtPriceSum(totRows) { if ($("#send_fail_check").is(":checked")) { if (imgTypeId === "img_file_0") { // 장문/단문 여부에 따라 가격 비교 후 더 큰 값으로 설정 - var len = conByteLeng($('#smsTxtArea').val()); + + var contents = adYChkAndMakeContents($('#smsTxtArea').val()); + + var len = conByteLeng(contents); var long = parseFloat($("#longPrice").val()); var short = parseFloat($("#shortPrice").val()); price = Math.max(price, len > 90 ? long : short); @@ -76,7 +79,12 @@ function totalFtPriceSum(totRows) { return totalStr; // 계산된 총 금액 반환 } - +function adYChkAndMakeContents(contents){ + if ($("#ad_Y").is(":checked")) { + contents = "(광고)"+contents+"\n무료거부 0808800858" + } + return contents; +} /*