후불제 회원 월별 정산 데이터 입력 기능 개선 - 후불제 정산 회원 선정 쿼리 변경 : 기존 남은 금액 기준에서 실제 사용한 금액이 있는지 확인으로 변경 - 1일에 후불 요금청구 데이터 입력시 mj_pg 테이블에 중복데이터가 있는지 확인 후 없으면 데이터 입력
- 후불제 정산 회원 선정 쿼리 변경 : 기존 남은 금액 기준에서 실제 사용한 금액이 있는지 확인으로 변경 - 1일에 후불 요금청구 데이터 입력시 mj_pg 테이블에 중복데이터가 있는지 확인 후 없으면 데이터 입력
@fafde9249d6d740e09061e36a5874d13b846f6b3
--- src/main/java/itn/let/uss/umt/service/UserManageVO.java
+++ src/main/java/itn/let/uss/umt/service/UserManageVO.java
... | ... | @@ -207,6 +207,7 @@ |
| 207 | 207 |
private String atSmishingYn; // 알림톡 스미싱 의심여부 |
| 208 | 208 |
private String spamYn; |
| 209 | 209 |
private String nextPayMethod; |
| 210 |
+ private float paymentCash; //이전달에 실제 사용한 캐시 정보 |
|
| 210 | 211 |
|
| 211 | 212 |
public String getNextPayMethod() {
|
| 212 | 213 |
return nextPayMethod; |
... | ... | @@ -731,6 +732,12 @@ |
| 731 | 732 |
public void setVipYn(String vipYn) {
|
| 732 | 733 |
this.vipYn = vipYn; |
| 733 | 734 |
} |
| 735 |
+ public float getPaymentCash() {
|
|
| 736 |
+ return paymentCash; |
|
| 737 |
+ } |
|
| 738 |
+ public void setPaymentCash(float paymentCash) {
|
|
| 739 |
+ this.paymentCash = paymentCash; |
|
| 740 |
+ } |
|
| 734 | 741 |
|
| 735 | 742 |
|
| 736 | 743 |
|
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
... | ... | @@ -698,7 +698,12 @@ |
| 698 | 698 |
public void updateUserCashByAutoCash() throws Exception {
|
| 699 | 699 |
List<UserManageVO> userPrePaymentYnList = userManageDAO.selectUserPrePaymentYnList(new UserManageVO()); |
| 700 | 700 |
for (UserManageVO umVO: userPrePaymentYnList) {
|
| 701 |
- if (umVO.getNowChargeCash() > 0) {
|
|
| 701 |
+ if (umVO.getPaymentCash() > 0) {
|
|
| 702 |
+ |
|
| 703 |
+ //이번달에 입력된 후불 결제요청 데이터가 있는지 확인 - 혹시나 중복 입력을 방지하기 위함 |
|
| 704 |
+ int paymentCnt = userManageDAO.selectUserPrePaymentPGdataCount(umVO.getMberId()); |
|
| 705 |
+ |
|
| 706 |
+ if(paymentCnt > 0) continue; |
|
| 702 | 707 |
|
| 703 | 708 |
//회원 정보 조회 |
| 704 | 709 |
MberManageVO mberManageVO = mberManageDAO.selectMber(umVO.getMberId()); //멤버ID에서 유니크ID로 수정 필요 |
--- src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
+++ src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
... | ... | @@ -316,4 +316,9 @@ |
| 316 | 316 |
return (List<UserManageVO>) list("userManageDAO.selectUserPrePaymentYnList", userManageVO);
|
| 317 | 317 |
} |
| 318 | 318 |
|
| 319 |
+ // 이번달 입력된 결제요청 정보가 있는지 체크 |
|
| 320 |
+ public int selectUserPrePaymentPGdataCount(String userId) throws Exception{
|
|
| 321 |
+ return (int) select("userManageDAO.selectUserPrePaymentPGdataCount", userId);
|
|
| 322 |
+ } |
|
| 323 |
+ |
|
| 319 | 324 |
}(No newline at end of file) |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
... | ... | @@ -1405,6 +1405,29 @@ |
| 1405 | 1405 |
|
| 1406 | 1406 |
<!-- 후불제 회원 목록 --> |
| 1407 | 1407 |
<select id="userManageDAO.selectUserPrePaymentYnList" parameterClass="userVO" resultClass="userVO"> |
| 1408 |
+ |
|
| 1409 |
+ SELECT IFNULL(SUM(MC.CASH * -1), 0) AS paymentCash, |
|
| 1410 |
+ IFNULL(MB.AUTO_CASH - MB.USER_MONEY, 0) AS nowChargeCash, |
|
| 1411 |
+ MC.USER_ID AS mberId, |
|
| 1412 |
+ MB.AUTO_CASH AS autoCash |
|
| 1413 |
+ FROM MJ_CASH MC |
|
| 1414 |
+ INNER JOIN LETTNGNRLMBER MB |
|
| 1415 |
+ ON MC.USER_ID = MB.MBER_ID |
|
| 1416 |
+ AND MB.PRE_PAYMENT_YN = 'N' |
|
| 1417 |
+ AND MB.MBER_STTUS = 'Y' |
|
| 1418 |
+ WHERE YEAR(MC.FRST_REGIST_PNTTM) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) |
|
| 1419 |
+ AND MONTH(MC.FRST_REGIST_PNTTM) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) |
|
| 1420 |
+ AND |
|
| 1421 |
+ ( |
|
| 1422 |
+ MC.MSG_GROUP_ID IS NOT NULL OR MEMO = '맞춤문자 신청' |
|
| 1423 |
+ ) |
|
| 1424 |
+ GROUP BY MC.USER_ID |
|
| 1425 |
+ |
|
| 1426 |
+ </select> |
|
| 1427 |
+ |
|
| 1428 |
+ |
|
| 1429 |
+ <!-- 후불제 회원 목록 기존 소스 백업--> |
|
| 1430 |
+ <select id="userManageDAO.selectUserPrePaymentYnList_bak" parameterClass="userVO" resultClass="userVO"> |
|
| 1408 | 1431 |
SELECT |
| 1409 | 1432 |
M.mberId, |
| 1410 | 1433 |
M.autoCash, |
... | ... | @@ -1420,5 +1443,16 @@ |
| 1420 | 1443 |
WHERE PRE_PAYMENT_YN = 'N' AND A.MBER_STTUS = 'Y' |
| 1421 | 1444 |
) M |
| 1422 | 1445 |
</select> |
| 1446 |
+ |
|
| 1447 |
+ |
|
| 1448 |
+ <select id="userManageDAO.selectUserPrePaymentPGdataCount" parameterClass="String" resultClass="Integer"> |
|
| 1449 |
+ |
|
| 1450 |
+ SELECT COUNT(MOID) |
|
| 1451 |
+ FROM MJ_PG |
|
| 1452 |
+ WHERE USER_ID = #userId# |
|
| 1453 |
+ AND YEAR(REG_DATE) = YEAR(CURRENT_DATE) |
|
| 1454 |
+ AND MONTH(REG_DATE) = MONTH(CURRENT_DATE) |
|
| 1455 |
+ |
|
| 1456 |
+ </select> |
|
| 1423 | 1457 |
|
| 1424 | 1458 |
</sqlMap> |
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?