충전관리 문자 발송

This commit is contained in:
kubo8
2023-04-06 10:20:59 +09:00
parent c0cddcb95b
commit c5692e5439
5 changed files with 240 additions and 270 deletions

View File

@@ -3,13 +3,9 @@ package kr.co.uplus.ez.api.custMgt;
import kr.co.uplus.ez.api.custMgt.dto.*; import kr.co.uplus.ez.api.custMgt.dto.*;
import kr.co.uplus.ez.common.data.ImUser; import kr.co.uplus.ez.common.data.ImUser;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.validation.Valid;
@Mapper @Mapper
public interface CustMgtMapper { public interface CustMgtMapper {
@@ -126,7 +122,7 @@ public interface CustMgtMapper {
String getChrgSeq(); String getChrgSeq();
/**충전관리 등록 */ /**충전관리 등록 */
void insertChrgInfo(ChrgInfo chrgInfo); int insertChrgInfo(ChrgInfo chrgInfo);
/**충전관리 수정 */ /**충전관리 수정 */
void updateChrg(UpdateChrgReqDto updateChrgReqDto); void updateChrg(UpdateChrgReqDto updateChrgReqDto);
/**충전관리 수정후 등록 */ /**충전관리 수정후 등록 */
@@ -134,13 +130,12 @@ public interface CustMgtMapper {
/**충전관리 삭제 */ /**충전관리 삭제 */
void deleteChrg(DeleteChrgReqDto deleteChrgReqDto); void deleteChrg(DeleteChrgReqDto deleteChrgReqDto);
int updateChrgAmt(ChrgAmtDto chrgAmtDto); int updateChrgAmt(ChrgAmtDto chrgAmtDto);
BigDecimal selectChargeAmt(@Valid TargetSubsInfoDto targetUserLimit);
void insertWebMsgCli(WebMsgCliDto ezMsgDto);
String selectNotiSeq();
void insertNotiHst(NotiHistDto notihist);
SvcUserInfo selectUserInfo(String register);
public String selectSequence(String seqKey);
public String selectNotiSeq(); //알림이련seq
void insertWebMsgCli(WebMsgCliDto params);
void insertNotiHst(NotiHistDto params);
//2023-03-07 add request 부분 //2023-03-07 add request 부분

View File

@@ -3,10 +3,11 @@ package kr.co.uplus.ez.api.custMgt;
import kr.co.uplus.ez.api.custMgt.dto.*; import kr.co.uplus.ez.api.custMgt.dto.*;
import kr.co.uplus.ez.common.components.HubeasyApiComponents; import kr.co.uplus.ez.common.components.HubeasyApiComponents;
import kr.co.uplus.ez.common.data.*; import kr.co.uplus.ez.common.data.*;
import kr.co.uplus.ez.common.utils.CommonUtils;
import kr.co.uplus.ez.common.utils.DateUtil;
import kr.co.uplus.ez.common.utils.DateUtils; import kr.co.uplus.ez.common.utils.DateUtils;
import kr.co.uplus.ez.common.utils.EncryptionUtil; import kr.co.uplus.ez.common.utils.EncryptionUtil;
import kr.co.uplus.ez.common.utils.TextUtils; import kr.co.uplus.ez.common.utils.TextUtils;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.SqlSessionTemplate;
@@ -121,21 +122,9 @@ public class CustMgtService {
@Value("${mail.templeteCode:E0005}") @Value("${mail.templeteCode:E0005}")
private String templeteCode; private String templeteCode;
/* 테이블명 */ public static final String YEAR_MONTH_DAY = "yyyyMMdd";
public static class TableName { public static final String WEB_REQ_ID = "WEB_REQ_ID";
public static final String EZ_MSG_NORMAL = "EZ_MSG_NORMAL"; //일반
public static final String EZ_MSG_REAL = "EZ_MSG_REAL"; //실시간보장
public static final String EZ_MSG_BATCH = "EZ_MSG_BATCH"; //예약
}
/* 라인유형 */
public static class LineTpCd {
public static final String LINE_TP_NORMAL = "normal"; //일반
public static final String LINE_TP_REAL = "real"; //실시간보장
public static final String LINE_TP_BATCH = "batch"; //예약
}
public static final String SND_CH_LMS = "LMS";
/** /**
* date : 2022. 4. 25. auth : ckr desc : 청약 고객 정보 목록 조회 * date : 2022. 4. 25. auth : ckr desc : 청약 고객 정보 목록 조회
@@ -1103,34 +1092,31 @@ public class CustMgtService {
* @param paramMap * @param paramMap
* @return * @return
*/ */
@Transactional(value="db1TransactionManager")
public InsertChrgResDto InsertChrg(@Valid InsertChrgReqDto insertChrgReqDto){ public InsertChrgResDto InsertChrg(@Valid InsertChrgReqDto insertChrgReqDto){
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class); CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
// // 1. 사용자 유무 확인 int resultcnt = 0;
// 1. 사용자 유무 확인
int getUserIdCount = custMgtMapper.getUserIdCount(insertChrgReqDto.getUserId()); int getUserIdCount = custMgtMapper.getUserIdCount(insertChrgReqDto.getUserId());
if (getUserIdCount < 1) { if (getUserIdCount < 1) {
return new InsertChrgResDto(ApiResponseCode.CM_NOT_FOUND); return new InsertChrgResDto(ApiResponseCode.CM_NOT_FOUND);
} }
// // 2. 관리자 ID 존재 여부 체크.
// SvcUserInfo svcUserInfo = custMgtMapper.selectSvcUserInfo(insertChrgReqDto.getUserId());
//
// if (svcUserInfo == null) {
// return new InsertChrgResDto(ApiResponseCode.CM_NOT_FOUND);
// }
//
// 3. 충전 정보 등록 // 3. 충전 정보 등록
String chrgSeq = custMgtMapper.getChrgSeq(); String chrgSeq = custMgtMapper.getChrgSeq();
int userSeq = custMgtMapper.selectUserSeq(insertChrgReqDto.getUserId()); SvcUserInfo userInfo = custMgtMapper.selectUserInfo(insertChrgReqDto.getUserId());
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = (UserDetails) principal; UserDetails userDetails = (UserDetails) principal;
String regId = userDetails.getUsername(); String regId = userDetails.getUsername();
logger.debug("insertChrgReqDto= {}", insertChrgReqDto);
ChrgInfo chrgInfo = new ChrgInfo(); ChrgInfo chrgInfo = new ChrgInfo();
chrgInfo.setChrgSeq(chrgSeq); chrgInfo.setChrgSeq(chrgSeq);
chrgInfo.setUserSeq(userSeq); chrgInfo.setUserSeq(userInfo.getUserSeq());
chrgInfo.setChrgDiv(insertChrgReqDto.getChrgDiv()); chrgInfo.setChrgDiv(insertChrgReqDto.getChrgDiv());
String StrYm = insertChrgReqDto.getStrtYm().replace("-", "").substring(0, 6); String StrYm = insertChrgReqDto.getStrtYm().replace("-", "").substring(0, 6);
chrgInfo.setStrtYm(StrYm); chrgInfo.setStrtYm(StrYm);
@@ -1140,54 +1126,60 @@ public class CustMgtService {
chrgInfo.setRegId(regId); //로그인 ID chrgInfo.setRegId(regId); //로그인 ID
chrgInfo.setChgId(regId); //로그인 ID chrgInfo.setChgId(regId); //로그인 ID
custMgtMapper.insertChrgInfo(chrgInfo); resultcnt = custMgtMapper.insertChrgInfo(chrgInfo);
Date now = new Date(); Date now = new Date();
String presentYm = DateUtils.dateToStr(now, "yyyyMM"); String presentYm = DateUtils.dateToStr(now, "yyyyMM");
ChrgAmtDto chrgAmtDto = new ChrgAmtDto(); ChrgAmtDto chrgAmtDto = new ChrgAmtDto();
if (presentYm.equals(StrYm)) { if (presentYm.equals(StrYm)) {
int resultcnt = 0;
//1. user_lmt 등록
if ("E".equals(insertChrgReqDto.getChrgDiv())) { if ("E".equals(insertChrgReqDto.getChrgDiv())) {
//소멸 충전금 업데이트 //소멸 충전금 업데이트
chrgAmtDto.setUserSeq(userSeq); chrgAmtDto.setUserSeq(userInfo.getUserSeq());
chrgAmtDto.setLmtYm(chrgInfo.getStrtYm()); chrgAmtDto.setLmtYm(chrgInfo.getStrtYm());
chrgAmtDto.setExtcChrgAmt(chrgInfo.getChrgAmt()); chrgAmtDto.setExtcChrgAmt(chrgInfo.getChrgAmt());
chrgAmtDto.setCfwdChrgAmt("0"); chrgAmtDto.setCfwdChrgAmt("0");
resultcnt = custMgtMapper.updateChrgAmt(chrgAmtDto);
}else if ("C".equals(insertChrgReqDto.getChrgDiv())) { }else if ("C".equals(insertChrgReqDto.getChrgDiv())) {
//이월 충전금 업데이트 //이월 충전금 업데이트
chrgAmtDto.setUserSeq(userSeq); chrgAmtDto.setUserSeq(userInfo.getUserSeq());
chrgAmtDto.setLmtYm(chrgInfo.getStrtYm()); chrgAmtDto.setLmtYm(chrgInfo.getStrtYm());
chrgAmtDto.setCfwdChrgAmt(chrgInfo.getChrgAmt()); chrgAmtDto.setCfwdChrgAmt(chrgInfo.getChrgAmt());
chrgAmtDto.setExtcChrgAmt("0"); chrgAmtDto.setExtcChrgAmt("0");
}
if(resultcnt > 0) {
resultcnt = custMgtMapper.updateChrgAmt(chrgAmtDto); resultcnt = custMgtMapper.updateChrgAmt(chrgAmtDto);
}else {
logger.error("충전금 등록 오류");
} }
//2. 문자발송
//insert 및 update 성공시 resultCnt 0이상의 정수값이 return됨
//update성공시 //update성공시
BigDecimal chargeAmt= BigDecimal.ZERO;
String webReqId = "";
TargetSubsInfoDto targetUserLimit = new TargetSubsInfoDto();
chargeAmt = custMgtMapper.selectChargeAmt(targetUserLimit);
if (resultcnt>0) { if (resultcnt>0) {
String prefix = getCurrentDate(YEAR_MONTH_DAY);
String webReqId = "";
// 1. webReqId 채번
webReqId = prefix + custMgtMapper.selectSequence(WEB_REQ_ID);
BigDecimal chargeAmt= BigDecimal.ZERO;
BigDecimal zero = BigDecimal.ZERO;
//충전 금액 조회
chargeAmt = new BigDecimal(chrgInfo.getChrgAmt());
//알림문자 발송테이블 insert
WebMsgCliDto ezMsgDto = new WebMsgCliDto(); WebMsgCliDto ezMsgDto = new WebMsgCliDto();
ezMsgDto.setTableName(TableName.EZ_MSG_REAL); ezMsgDto.setTableName("EZ_MSG_REAL");
ezMsgDto.setTrafficType(LineTpCd.LINE_TP_REAL); ezMsgDto.setTrafficType("real");
String clientKey = generateClientKey("R", 10); String clientKey = generateClientKey("R", 10);
ezMsgDto.setClientKey(clientKey); ezMsgDto.setClientKey(clientKey);
ezMsgDto.setReqProduct(SND_CH_LMS); ezMsgDto.setReqProduct("LMS");
ezMsgDto.setMsgStatus("ready"); ezMsgDto.setMsgStatus("ready");
ezMsgDto.setCallbackNumber("15445992"); ezMsgDto.setCallbackNumber("15445992");
ezMsgDto.setPhone(targetUserLimit.getHpNo()); //관리자 hp번호 ezMsgDto.setPhone(userInfo.getHpNo());
ezMsgDto.setWebReqId(webReqId); ezMsgDto.setWebReqId(webReqId);
ezMsgDto.setOrderId("2"); ezMsgDto.setOrderId("2");
String msg = "[LG U+메시지허브이지]\n 충전금액 "+chargeAmt+"이 충전되셨습니다."; String msg = "[LG U+메시지허브이지]\n이번 달 이벤트 충전 금액이 충전 되었습니다.\n*충전 금액 : "+chargeAmt+"";
ezMsgDto.setMsg(msg); ezMsgDto.setMsg(msg);
custMgtMapper.insertWebMsgCli(ezMsgDto); custMgtMapper.insertWebMsgCli(ezMsgDto);
@@ -1196,66 +1188,19 @@ public class CustMgtService {
//알림 이력 insert //알림 이력 insert
NotiHistDto notihist = new NotiHistDto(); NotiHistDto notihist = new NotiHistDto();
String notiSeq = custMgtMapper.selectNotiSeq(); String notiSeq = custMgtMapper.selectNotiSeq();
notihist.setUserSeq(targetUserLimit.getUserSeq()); notihist.setUserSeq(userInfo.getUserSeq());
notihist.setNotiSeq(notiSeq); notihist.setNotiSeq(notiSeq);
notihist.setNotiMsg(msg); notihist.setNotiMsg(msg);
notihist.setWebReqId(webReqId); notihist.setWebReqId(webReqId);
custMgtMapper.insertNotiHst(notihist); custMgtMapper.insertNotiHst(notihist);
logger.info("충전 알림 이력 등록 : [{}]", ezMsgDto.toString());
}else{
logger.error("충전금 한도 업데이트 오류");
} }
} }
return new InsertChrgResDto(ApiResponseCode.SUCCESS); return new InsertChrgResDto(ApiResponseCode.SUCCESS);
} }
/**
* clientKey 생성
*
* @param rsvtType
* @return
*/
public String generateClientKey(String lineTpCdKey, int length) {
String prefix = getCurrentDate("yyyyMMddHHmmss") + lineTpCdKey;
String clientKey = "";
clientKey = getCommonId(prefix, length);
return clientKey;
}
/**
* 날짜 형식을 받아서 오늘 날짜를 해당 형식으로 반환
*
* @param format
* @return
*/
public static String getCurrentDate(String format) {
Date date = Calendar.getInstance().getTime();
DateFormat dateFormat = new SimpleDateFormat(format);
return dateFormat.format(date);
}
/**
* 공통ID 생성(템플릿ID, 프로젝트ID, 사용자ID 등등)
*
* @return
*/
public static String getCommonId(String prefix, int len) {
// 공통 ID 접미사
String suffix = randomGeneration(len);
// 공통 ID
String commonId = prefix + suffix;
return commonId;
}
/**
* 난수 생성(매개변수로 난수길이 세팅)
*
* @param len
* @return
*/
public static String randomGeneration(int len) {
String randomStr = RandomStringUtils.randomAlphanumeric(len);
return randomStr;
}
/** /**
* date : 2023. 3. 15. * date : 2023. 3. 15.
@@ -1264,7 +1209,6 @@ public class CustMgtService {
* @param paramMap * @param paramMap
* @return * @return
*/ */
public UpdateChrgResDto UpdateChrg(@Valid UpdateChrgReqDto updateChrgReqDto) { public UpdateChrgResDto UpdateChrg(@Valid UpdateChrgReqDto updateChrgReqDto) {
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class); CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
@@ -1274,7 +1218,7 @@ public class CustMgtService {
// 2. 새 정보 insert // 2. 새 정보 insert
String chrgSeq = custMgtMapper.getChrgSeq(); String chrgSeq = custMgtMapper.getChrgSeq();
int userSeq = custMgtMapper.selectUserSeq(updateChrgReqDto.getUserId()); SvcUserInfo userInfo = custMgtMapper.selectUserInfo(updateChrgReqDto.getUserId());
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = (UserDetails) principal; UserDetails userDetails = (UserDetails) principal;
String regId = userDetails.getUsername(); String regId = userDetails.getUsername();
@@ -1283,7 +1227,7 @@ public class CustMgtService {
ChrgInfo chrgInfo = new ChrgInfo(); ChrgInfo chrgInfo = new ChrgInfo();
chrgInfo.setChrgSeq(chrgSeq); chrgInfo.setChrgSeq(chrgSeq);
chrgInfo.setUserSeq(userSeq); chrgInfo.setUserSeq(userInfo.getUserSeq());
chrgInfo.setChrgDiv(updateChrgReqDto.getChrdDiv()); chrgInfo.setChrgDiv(updateChrgReqDto.getChrdDiv());
String StrYm = updateChrgReqDto.getStrtYm().replace("-", "").substring(0, 6); String StrYm = updateChrgReqDto.getStrtYm().replace("-", "").substring(0, 6);
chrgInfo.setStrtYm(StrYm); chrgInfo.setStrtYm(StrYm);
@@ -1341,7 +1285,32 @@ public class CustMgtService {
return new UserListResDto(ApiResponseCode.SUCCESS, userListRes); return new UserListResDto(ApiResponseCode.SUCCESS, userListRes);
} }
/**
* 날짜 형식을 받아서 오늘 날짜를 해당 형식으로 반환
*
* @param format
* @return
*/
public String getCurrentDate(String format) {
Date date = Calendar.getInstance().getTime();
DateFormat dateFormat = new SimpleDateFormat(format);
return dateFormat.format(date);
}
/**
* clientKey 생성
*
* @param rsvtType
* @return
*/
public String generateClientKey(String lineTpCdKey, int length) {
String prefix = DateUtil.getCurrentDate("yyyyMMddHHmmss") + lineTpCdKey;
String clientKey = "";
clientKey = CommonUtils.getCommonId(prefix, length);
return clientKey;
}
/* 2023-03-07 add request 부분 /* 2023-03-07 add request 부분
* date : 2023. 1. 1. * date : 2023. 1. 1.

View File

@@ -11,7 +11,7 @@ public class ChrgAmtDto implements Serializable{
/** 충전 SEQUENCE */ /** 충전 SEQUENCE */
private String chrgSeq; private String chrgSeq;
/** 유저 SEQUENCE */ /** 유저 SEQUENCE */
private int userSeq; private String userSeq;
/** 한도년월 */ /** 한도년월 */
private String lmtYm; private String lmtYm;
/** 충전 시작년월 */ /** 충전 시작년월 */

View File

@@ -11,7 +11,7 @@ public class ChrgInfo implements Serializable{
/** 충전 SEQUENCE */ /** 충전 SEQUENCE */
private String chrgSeq; private String chrgSeq;
/** 유저 SEQUENCE */ /** 유저 SEQUENCE */
private int userSeq; private String userSeq;
/** 충전구분 */ /** 충전구분 */
private String chrgDiv; private String chrgDiv;
/** 충전 시작년월 */ /** 충전 시작년월 */

View File

@@ -1309,133 +1309,6 @@
) )
</insert> </insert>
<select id="selectChargeAmt" parameterType="kr.co.uplus.ez.api.custMgt.dto.TargetSubsInfoDto" resultType="bigdecimal">
SELECT
IFNULL(SUM(CHRG_AMT),0) AS CHRG_AMT
FROM
hubez_admin.EZ_CHARGE_MNG
WHERE
USER_SEQ = #{userSeq}
AND USE_YN = 'Y'
AND #{limitYm} BETWEEN STRT_YM AND END_YM
</select>
<insert id="insertWebMsgCli" parameterType="kr.co.uplus.ez.api.custMgt.dto.WebMsgCliDto">
/* extCarryOverAmtNoti.insertWebMsgCli - 메시지 원장 등록 */
INSERT INTO
<if test="tableName == 'EZ_MSG_NORMAL'">
hubez_send.EZ_MSG_NORMAL
</if>
<if test="tableName == 'EZ_MSG_REAL'">
hubez_send.EZ_MSG_REAL
</if>
(
CLIENT_KEY,
REQ_PRODUCT,
TRAFFIC_TYPE,
MSG_STATUS,
REQ_DATE,
MSG_BIZ_KEY,
TEMPLATE_CODE,
SEND_GROUP_KEY,
CALLBACK_NUMBER,
DEPT_CODE,
MSG,
PHONE,
MERGE_DATA,
TITLE,
FILE_LIST,
FB_PRODUCT,
FB_TITLE,
FB_MSG,
FB_FILE_ID,
RCS_MSGBASE_ID,
RCS_HEADER,
RCS_FOOTER,
RCS_COPY_ALLOWED,
RCS_EXPIRY_OPTION,
RCS_AGENCY_ID,
RCS_BUTTON,
KAKAO_SENDER_KEY,
KAKAO_TEMPLATE_KEY,
KAKAO_BUTTON,
KAKAO_IMAGE_WIDE_YN,
KAKAO_IMAGE_URL,
KAKAO_IMAGE_LINK,
PUSH_APP_ID,
PUSH_PROVIDER,
PUSH_APP_USER_ID,
WEB_REQ_ID,
ORDER_ID
)
VALUES
(
#{clientKey},
#{reqProduct},
#{trafficType},
#{msgStatus},
DATE_ADD(NOW(), INTERVAL +8 HOUR),
#{msgBizKey},
#{templateCode},
#{sendGroupKey},
#{callbackNumber},
#{deptCode},
#{msg},
#{phone},
#{mergeData},
'충전금액알림',
#{fileList},
#{fbProduct},
#{fbTitle},
#{fbMsg},
#{fbFileId},
#{rcsMsgbaseId},
#{rcsHeader},
#{rcsFooter},
#{rcsCopyAllowed},
#{rcsExpiryOption},
#{rcsAgencyId},
#{rcsButton},
#{kakaoSenderKey},
#{kakaoTemplateKey},
#{kakaoButton},
#{kakaoImageWideYn},
#{kakaoImageUrl},
#{kakaoImageLink},
#{pushAppId},
#{pushProvider},
#{pushAppUserId},
#{webReqId},
#{orderId}
)
</insert>
<select id="selectNotiSeq" resultType="String">
/* extCarryOverAmtNoti.selectNotiSeq 노티 알림 시퀀스 채번 */
SELECT hubez_common.FUN_NEXT_SEQ('NOTI_SEQ') AS notiSeq
</select>
<insert id="insertNotiHst" parameterType="kr.co.uplus.ez.api.custMgt.dto.NotiHistDto">
/* extCarryOverAmtNoti.insertNotiHst - 알림 이력 등록 */
INSERT INTO hubez_common.EZ_NOTI_HIST
(
SND_YMD,
USER_SEQ,
NOTI_SEQ,
NOTI_DIV,
NOTI_MSG,
WEB_REQ_ID,
REG_DT
)
VALUES
(
DATE_FORMAT(NOW(), '%Y%m%d'),
#{userSeq},
#{notiSeq},
'04',
#{notiMsg},
#{webReqId},
NOW()
)
</insert>
<update id="updateChrgAmt" parameterType= "kr.co.uplus.ez.api.custMgt.dto.ChrgAmtDto"> <update id="updateChrgAmt" parameterType= "kr.co.uplus.ez.api.custMgt.dto.ChrgAmtDto">
UPDATE UPDATE
hubez_admin.EZ_USER_LMT eul hubez_admin.EZ_USER_LMT eul
@@ -1650,4 +1523,137 @@
ORDER BY eci.CUST_SEQ DESC ORDER BY eci.CUST_SEQ DESC
</select> </select>
--> -->
<select id="selectUserInfo" parameterType="String" resultType="kr.co.uplus.ez.api.custMgt.dto.SvcUserInfo">
/* custMgt-mapper.xml(selectUserInfo) */
SELECT
USER_SEQ, HP_NO
FROM
hubez_common.EZ_SVC_USER
WHERE
USER_ID = #{userId}
</select>
<select id="selectSequence" parameterType="String" resultType="String">
/* extCarryOverAmtNoti.selectSequence -- sequence 채번 일반 */
SELECT hubez_common.FUN_NEXT_SEQ(#{seqKey})
</select>
<select id="selectNotiSeq" resultType="String">
/* extCarryOverAmtNoti.selectNotiSeq 노티 알림 시퀀스 채번 */
SELECT hubez_common.FUN_NEXT_SEQ('NOTI_SEQ') AS notiSeq
</select>
<insert id="insertWebMsgCli" parameterType="kr.co.uplus.ez.api.custMgt.dto.WebMsgCliDto">
/* extCarryOverAmtNoti.insertWebMsgCli - 메시지 원장 등록 */
INSERT INTO
<if test="tableName == 'EZ_MSG_NORMAL'">
hubez_send.EZ_MSG_NORMAL
</if>
<if test="tableName == 'EZ_MSG_REAL'">
hubez_send.EZ_MSG_REAL
</if>
(
CLIENT_KEY,
REQ_PRODUCT,
TRAFFIC_TYPE,
MSG_STATUS,
REQ_DATE,
MSG_BIZ_KEY,
TEMPLATE_CODE,
SEND_GROUP_KEY,
CALLBACK_NUMBER,
DEPT_CODE,
MSG,
PHONE,
MERGE_DATA,
TITLE,
FILE_LIST,
FB_PRODUCT,
FB_TITLE,
FB_MSG,
FB_FILE_ID,
RCS_MSGBASE_ID,
RCS_HEADER,
RCS_FOOTER,
RCS_COPY_ALLOWED,
RCS_EXPIRY_OPTION,
RCS_AGENCY_ID,
RCS_BUTTON,
KAKAO_SENDER_KEY,
KAKAO_TEMPLATE_KEY,
KAKAO_BUTTON,
KAKAO_IMAGE_WIDE_YN,
KAKAO_IMAGE_URL,
KAKAO_IMAGE_LINK,
PUSH_APP_ID,
PUSH_PROVIDER,
PUSH_APP_USER_ID,
WEB_REQ_ID,
ORDER_ID
)
VALUES
(
#{clientKey},
#{reqProduct},
#{trafficType},
#{msgStatus},
NOW(),
#{msgBizKey},
#{templateCode},
#{sendGroupKey},
#{callbackNumber},
#{deptCode},
#{msg},
#{phone},
#{mergeData},
'충전금액알림',
#{fileList},
#{fbProduct},
#{fbTitle},
#{fbMsg},
#{fbFileId},
#{rcsMsgbaseId},
#{rcsHeader},
#{rcsFooter},
#{rcsCopyAllowed},
#{rcsExpiryOption},
#{rcsAgencyId},
#{rcsButton},
#{kakaoSenderKey},
#{kakaoTemplateKey},
#{kakaoButton},
#{kakaoImageWideYn},
#{kakaoImageUrl},
#{kakaoImageLink},
#{pushAppId},
#{pushProvider},
#{pushAppUserId},
#{webReqId},
#{orderId}
)
</insert>
<insert id="insertNotiHst" parameterType="kr.co.uplus.ez.api.custMgt.dto.NotiHistDto">
/* extCarryOverAmtNoti.insertNotiHst - 알림 이력 등록 */
INSERT INTO hubez_common.EZ_NOTI_HIST
(
SND_YMD,
USER_SEQ,
NOTI_SEQ,
NOTI_DIV,
NOTI_MSG,
WEB_REQ_ID,
REG_DT
)
VALUES
(
DATE_FORMAT(NOW(), '%Y%m%d'),
#{userSeq},
#{notiSeq},
'04',
#{notiMsg},
#{webReqId},
NOW()
)
</insert>
</mapper> </mapper>