Compare commits
332 Commits
master_ord
...
913e5bd678
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
913e5bd678 | ||
|
|
465cde8a16 | ||
|
|
923d74d37a | ||
|
|
2ec020ecd4 | ||
|
|
d55f52b752 | ||
|
|
3cddf4e038 | ||
|
|
99bbfec448 | ||
|
|
25fcfc3555 | ||
|
|
e298e9066c | ||
|
|
3668cc89b2 | ||
|
|
de463cbb8f | ||
|
|
e293ffe451 | ||
|
|
262c9ba03e | ||
|
|
acb8d314d9 | ||
|
|
45c85b6079 | ||
|
|
7be7a8851d | ||
|
|
f590507308 | ||
|
|
1e1ee301d6 | ||
|
|
472d5b07e9 | ||
|
|
6ea1568800 | ||
|
|
c08a3d3a90 | ||
|
|
edcf9f7ad7 | ||
|
|
5a5e9944da | ||
|
|
7805d58c94 | ||
|
|
77fb6d7e19 | ||
|
|
893a208c82 | ||
|
|
e5e4a72577 | ||
|
|
5da6ad42d0 | ||
|
|
f4370db796 | ||
|
|
8294c9c591 | ||
|
|
7e54dd22f9 | ||
|
|
5997dc8de8 | ||
|
|
99a3c126f6 | ||
|
|
fd419494b4 | ||
|
|
737ee90122 | ||
|
|
e282db97ed | ||
|
|
c014f00a13 | ||
|
|
2d777adeb6 | ||
|
|
5d94218e98 | ||
|
|
e4b5803f24 | ||
|
|
16c373cb14 | ||
|
|
59cf8da8e4 | ||
|
|
9cc4a26f0f | ||
|
|
3fbd19a1e7 | ||
|
|
f3918ed7b1 | ||
|
|
903374cbee | ||
|
|
891b0a7f4f | ||
|
|
fd385fe898 | ||
|
|
6bf80ca297 | ||
|
|
b0d1060dd7 | ||
|
|
d4d47751c0 | ||
|
|
16662c9e33 | ||
|
|
e649dc3eca | ||
|
|
174657ac2c | ||
|
|
739cd09e1a | ||
|
|
5bce776193 | ||
|
|
a6fdcbe2fb | ||
|
|
3d91eb6e52 | ||
|
|
8f1a53d048 | ||
|
|
70bf2e68dd | ||
|
|
c43eea70c5 | ||
|
|
60314eb74f | ||
|
|
08397d4e0a | ||
|
|
18bcf1e9de | ||
|
|
6505bfd975 | ||
|
|
21fb2f49d6 | ||
|
|
060ccf4e36 | ||
|
|
a26dcabe4a | ||
|
|
500dba1467 | ||
|
|
bbe2e20e4f | ||
|
|
2ecfaf72c9 | ||
|
|
017211f121 | ||
|
|
02e46d49e9 | ||
|
|
a08c67f7ff | ||
|
|
9807d160cd | ||
|
|
c68400a4e6 | ||
|
|
27ca12d172 | ||
|
|
329b1f4b4c | ||
|
|
8c63f6e8cf | ||
|
|
da46a84a69 | ||
|
|
d49666bac0 | ||
|
|
eff6ce35bd | ||
|
|
c78197583f | ||
|
|
b0c35f531f | ||
|
|
16523bba0a | ||
|
|
81757e1217 | ||
|
|
28a4552815 | ||
|
|
54b7b3ee45 | ||
|
|
7bfcae2f99 | ||
|
|
45202b0006 | ||
|
|
3fc2d38980 | ||
|
|
9722f2135f | ||
|
|
920ba7de31 | ||
|
|
7e13117ad4 | ||
|
|
46755ce33d | ||
|
|
da27656993 | ||
|
|
c02fc822ea | ||
|
|
7cb633a784 | ||
|
|
165d8c244f | ||
|
|
ef77395a37 | ||
|
|
b9749e8162 | ||
|
|
bb5dd223c9 | ||
|
|
cac103e3ec | ||
|
|
eda43b3d17 | ||
|
|
14fb6f8328 | ||
|
|
a1d95d1e01 | ||
|
|
b42eee8e8e | ||
|
|
71914f125e | ||
|
|
ce15736c9d | ||
|
|
81b9a872db | ||
|
|
576c5c5734 | ||
|
|
ce9b1c1bfc | ||
|
|
657ecc9d2e | ||
|
|
21c074500d | ||
|
|
1f96164136 | ||
|
|
85e1922188 | ||
|
|
9f8e6408aa | ||
|
|
308c515038 | ||
|
|
87b9da9475 | ||
|
|
3e430345ab | ||
|
|
f97b553071 | ||
|
|
c8c90d8d56 | ||
|
|
b059648cf0 | ||
|
|
e24049ae22 | ||
|
|
2738b519a4 | ||
|
|
e68507a5b5 | ||
|
|
b54c127330 | ||
|
|
92ab84e7f3 | ||
|
|
e40b140926 | ||
|
|
0718316c84 | ||
|
|
2f31b9b306 | ||
|
|
031a05ed03 | ||
|
|
089210a16e | ||
|
|
9d376958b7 | ||
|
|
c418d01f46 | ||
|
|
e648e7462d | ||
|
|
0bbd8e3891 | ||
|
|
a9c717e24c | ||
|
|
60ff733d4d | ||
|
|
21115a9c34 | ||
|
|
946f1f9a95 | ||
|
|
2274326754 | ||
|
|
ff6a4146c9 | ||
|
|
e567b3bbbc | ||
|
|
cb9c22ec5b | ||
|
|
925282fa2b | ||
|
|
56b1f70ce9 | ||
|
|
4bf7b05081 | ||
|
|
30025eaaad | ||
|
|
e6f8d4a5f1 | ||
|
|
c776165df5 | ||
|
|
f9f561d05a | ||
|
|
105da88530 | ||
|
|
58a1931f90 | ||
|
|
18a08fc439 | ||
|
|
43d819d5a1 | ||
|
|
86c0b9cd10 | ||
|
|
9f7916d913 | ||
|
|
cb4c9e6d97 | ||
|
|
497545f730 | ||
|
|
9301624be5 | ||
|
|
a88977dd6d | ||
|
|
8d4aa4277f | ||
|
|
936bfcb6a7 | ||
|
|
92347d3304 | ||
|
|
194d626b62 | ||
|
|
a9e098b238 | ||
|
|
eac94e1e2b | ||
|
|
9b9b28ede4 | ||
|
|
649f1d4ed6 | ||
|
|
ccde39374d | ||
|
|
71fe6c9a9a | ||
|
|
0f7938eec7 | ||
|
|
bff3e3f0c9 | ||
|
|
ef4b40682a | ||
|
|
f00a4eff6b | ||
|
|
cbb31223f1 | ||
|
|
3332952125 | ||
|
|
83aa30e4f5 | ||
|
|
ef37efc226 | ||
|
|
c39b50bf82 | ||
|
|
e4fc054a78 | ||
|
|
08240b57bc | ||
|
|
13fe17484d | ||
|
|
0bb0ad9102 | ||
|
|
9275c9189e | ||
|
|
31eeaec62c | ||
|
|
94f853d71d | ||
|
|
9d382d91ce | ||
|
|
80d8447eae | ||
|
|
59985dcede | ||
|
|
52f9c11244 | ||
|
|
09f40f62e2 | ||
|
|
569d5e8904 | ||
|
|
66df63b232 | ||
|
|
6c55f53647 | ||
|
|
9207d58b04 | ||
|
|
fd5fb1db80 | ||
|
|
113bc9ffcc | ||
|
|
ac27213169 | ||
|
|
371f1fa471 | ||
|
|
33bb861300 | ||
|
|
367ade4bad | ||
|
|
784ea1a6aa | ||
|
|
2e2bf59021 | ||
|
|
92a50f7b39 | ||
|
|
4a91b40254 | ||
|
|
6e48c10f60 | ||
|
|
5ac14532e2 | ||
|
|
93a00f0ac6 | ||
|
|
a434e3eade | ||
|
|
ed20ff652f | ||
|
|
9a61e308e1 | ||
|
|
dbaf3d8dfe | ||
|
|
7e98b7acfb | ||
|
|
2632b23056 | ||
|
|
0c2be2d1d2 | ||
|
|
63b675f435 | ||
|
|
1df2a1ab65 | ||
|
|
8fd58d80b0 | ||
|
|
3a00e1ab65 | ||
|
|
955979b7d6 | ||
|
|
085ae7f2b4 | ||
|
|
03193351cc | ||
|
|
8573a3e7a4 | ||
|
|
f248c38d72 | ||
|
|
8bc5302f4f | ||
|
|
4b0b0b3c63 | ||
|
|
87efc0362e | ||
|
|
d6927d16a2 | ||
|
|
d4fc20fcec | ||
|
|
5aa87c2526 | ||
|
|
3007f0780d | ||
|
|
721e28e4c2 | ||
|
|
b244579fca | ||
|
|
e1616910cd | ||
|
|
5b483bd3b6 | ||
|
|
c718b84439 | ||
|
|
eb1085836d | ||
|
|
75355d63e6 | ||
|
|
7df8d86ecc | ||
|
|
2caa549e23 | ||
|
|
3a736fab1b | ||
|
|
393fb35802 | ||
|
|
7b0f7327dc | ||
|
|
534a8cf3da | ||
|
|
b0b9ae46be | ||
|
|
ef4f5f473c | ||
|
|
9a7386a08c | ||
|
|
1c96c1f1dd | ||
|
|
0a05ab07d3 | ||
|
|
0cd6419b0a | ||
|
|
90deed795f | ||
|
|
cf3905016c | ||
|
|
808c124887 | ||
|
|
f8763a0bea | ||
|
|
bf427fcf53 | ||
|
|
60ce975739 | ||
|
|
a10847214d | ||
|
|
f0e614ee4a | ||
|
|
df45947913 | ||
|
|
ac712b3d68 | ||
|
|
bcc7371b7a | ||
|
|
3e77f9bf31 | ||
|
|
2c1d0425a4 | ||
|
|
1640a89ec2 | ||
|
|
fa337ec3a7 | ||
|
|
a229a7fec0 | ||
|
|
d1573623a8 | ||
|
|
82f04ec36e | ||
|
|
c4d5db482d | ||
|
|
6f50cacde2 | ||
|
|
a7678b7b5a | ||
|
|
21baeb14b0 | ||
|
|
4d5f9c0903 | ||
|
|
b73bd46bd1 | ||
|
|
aa7b83e331 | ||
|
|
83024e46d0 | ||
|
|
9336e895b0 | ||
|
|
ebe39d5037 | ||
|
|
fa6371a099 | ||
|
|
2edb9c30c7 | ||
|
|
df09e3911d | ||
|
|
da578da9e0 | ||
|
|
c0410a82f6 | ||
|
|
da9076981c | ||
|
|
89d0978728 | ||
|
|
e7a9499780 | ||
|
|
6114b7648c | ||
|
|
c82f48966a | ||
|
|
3dc906cfc6 | ||
|
|
1ed4ceafe8 | ||
|
|
066153a36b | ||
|
|
fdeb8ae26d | ||
|
|
38f85a7409 | ||
|
|
1b0a6f9624 | ||
|
|
381a53f332 | ||
|
|
4064f30bb9 | ||
|
|
797b36e42f | ||
|
|
7be3cedd31 | ||
|
|
4512525495 | ||
|
|
e24d0ef704 | ||
|
|
3ee3e1964e | ||
|
|
30cc498633 | ||
|
|
b4d9aeba48 | ||
|
|
f1bbe7b07c | ||
|
|
d3438b762f | ||
|
|
43508a858b | ||
|
|
0ca70094c9 | ||
|
|
176e0d874e | ||
|
|
9b91679ec6 | ||
|
|
e261fbff7d | ||
|
|
2579d5c3f9 | ||
|
|
e731981a26 | ||
|
|
048bea431d | ||
|
|
dd67ee3b44 | ||
|
|
9c52b23fc0 | ||
|
|
c7f9910b44 | ||
|
|
f5ad9d1eed | ||
|
|
ae53e18a1e | ||
|
|
bdab97c65c | ||
|
|
666fef8bef | ||
|
|
888c02b3f2 | ||
|
|
293bb016b8 | ||
|
|
4ea4289a85 | ||
|
|
1419041bb9 | ||
|
|
33f82a1f94 | ||
|
|
b2a67966ee | ||
|
|
3e64dd72a0 | ||
|
|
40dc7f7c85 | ||
|
|
2448e856ba | ||
|
|
272cd36110 |
42
Jenkinsfile
vendored
42
Jenkinsfile
vendored
@@ -8,7 +8,7 @@ pipeline {
|
|||||||
environment {
|
environment {
|
||||||
SERVER_IP = "${DEPLOY_WAS_SERVER_IP}"
|
SERVER_IP = "${DEPLOY_WAS_SERVER_IP}"
|
||||||
SERVER_USER = "tomcat"
|
SERVER_USER = "tomcat"
|
||||||
TOMCAT_HOME = "${ENVIRONMENT == 'dev' ? '/var/lib/tomcat' : '/usr/local/tomcat'}"
|
TOMCAT_HOME = "${ENVIRONMENT == 'dev' ? '/usr/local/tomcat' : '/usr/local/tomcat'}"
|
||||||
APP_NAME = "sakemall"
|
APP_NAME = "sakemall"
|
||||||
ROOT_NAME = "ROOT"
|
ROOT_NAME = "ROOT"
|
||||||
DEPLOY_PATH = "${TOMCAT_HOME}/webapps"
|
DEPLOY_PATH = "${TOMCAT_HOME}/webapps"
|
||||||
@@ -21,7 +21,7 @@ pipeline {
|
|||||||
GIT_BRANCH = "${ENVIRONMENT == 'dev' ? 'develop' : 'master'}"
|
GIT_BRANCH = "${ENVIRONMENT == 'dev' ? 'develop' : 'master'}"
|
||||||
NGINX_STATIC_PATH = "/var/www/sopmall"
|
NGINX_STATIC_PATH = "/var/www/sopmall"
|
||||||
NGINX_SERVER_IP = "${DEPLOY_WEB_SERVER_IP}"
|
NGINX_SERVER_IP = "${DEPLOY_WEB_SERVER_IP}"
|
||||||
NGINX_USER = "${ENVIRONMENT == 'dev' ? 'dev1' : 'ubuntu'}"
|
NGINX_USER = "${ENVIRONMENT == 'dev' ? 'ubuntu' : 'ubuntu'}"
|
||||||
// SSH_KEY_PATH = "C:/Users/CHAMDAHAN-41/.ssh/id_rsa"
|
// SSH_KEY_PATH = "C:/Users/CHAMDAHAN-41/.ssh/id_rsa"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,8 +41,8 @@ pipeline {
|
|||||||
properties([
|
properties([
|
||||||
parameters([
|
parameters([
|
||||||
choice(name: 'ENVIRONMENT', choices: ['dev'], description: '배포할 어플리케이션 profile 선택'),
|
choice(name: 'ENVIRONMENT', choices: ['dev'], description: '배포할 어플리케이션 profile 선택'),
|
||||||
choice(name: 'DEPLOY_WAS_SERVER_IP', choices: ['00.00.00.00'], description: 'WAR 배포할 서버IP 선택'),
|
choice(name: 'DEPLOY_WAS_SERVER_IP', choices: ['10.2.0.129'], description: 'WAR 배포할 서버IP 선택'),
|
||||||
choice(name: 'DEPLOY_WEB_SERVER_IP', choices: ['00.00.00.00'], description: 'STATIC RESOURCE 배포할 서버IP 선택'),
|
choice(name: 'DEPLOY_WEB_SERVER_IP', choices: ['10.2.1.226'], description: 'STATIC RESOURCE 배포할 서버IP 선택'),
|
||||||
// choice(name: 'DEPLOY_TARGET', choices: ['ALL', 'WEB_ONLY', 'WAS_ONLY', 'PROPERTY_ONLY'], description: '배포 대상 선택'),
|
// choice(name: 'DEPLOY_TARGET', choices: ['ALL', 'WEB_ONLY', 'WAS_ONLY', 'PROPERTY_ONLY'], description: '배포 대상 선택'),
|
||||||
string(name: 'GIT_REPO', defaultValue: 'http://115.68.207.90:3000/itfirst/sake.git', description: 'Git 레파지토리 URL'),
|
string(name: 'GIT_REPO', defaultValue: 'http://115.68.207.90:3000/itfirst/sake.git', description: 'Git 레파지토리 URL'),
|
||||||
choice(name: 'DEPLOY_TARGET', choices: ['ALL', 'WEB_ONLY', 'WAS_ONLY'], description: '배포 대상 선택')
|
choice(name: 'DEPLOY_TARGET', choices: ['ALL', 'WEB_ONLY', 'WAS_ONLY'], description: '배포 대상 선택')
|
||||||
@@ -84,6 +84,26 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage('Web Server block activate') {
|
||||||
|
when {
|
||||||
|
expression { params.DEPLOY_TARGET in ['ALL', 'WAS_ONLY'] }
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
// Nginx 서버에 점검 페이지로 블록 설정
|
||||||
|
sshCommand remote: [
|
||||||
|
name: 'Nginx Server',
|
||||||
|
host: "${env.NGINX_SERVER_IP}",
|
||||||
|
user: "${env.NGINX_USER}",
|
||||||
|
identityFile: "${env.SSH_KEY_PATH}",
|
||||||
|
allowAnyHosts: true
|
||||||
|
], command: "/etc/nginx/weboff.sh"
|
||||||
|
|
||||||
|
echo "점검 web서버 config 구동"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
stage('Prepare and Deploy Static Resources') {
|
stage('Prepare and Deploy Static Resources') {
|
||||||
when {
|
when {
|
||||||
expression { params.DEPLOY_TARGET in ['ALL', 'WEB_ONLY'] }
|
expression { params.DEPLOY_TARGET in ['ALL', 'WEB_ONLY'] }
|
||||||
@@ -254,6 +274,20 @@ pipeline {
|
|||||||
${env.TOMCAT_HOME}/bin/startup.sh
|
${env.TOMCAT_HOME}/bin/startup.sh
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
// Nginx 서버에 정상 페이지로 블록 해제
|
||||||
|
sshCommand remote: [
|
||||||
|
name: 'Nginx Server',
|
||||||
|
host: "${env.NGINX_SERVER_IP}",
|
||||||
|
user: "${env.NGINX_USER}",
|
||||||
|
identityFile: "${env.SSH_KEY_PATH}",
|
||||||
|
allowAnyHosts: true
|
||||||
|
], command: """
|
||||||
|
sleep 30
|
||||||
|
/etc/nginx/webon.sh
|
||||||
|
"""
|
||||||
|
|
||||||
|
echo "점검 web서버 config 구동"
|
||||||
|
|
||||||
echo "Deploy 완료 (${params.ENVIRONMENT} 환경, ${env.GIT_BRANCH} 브랜치)"
|
echo "Deploy 완료 (${params.ENVIRONMENT} 환경, ${env.GIT_BRANCH} 브랜치)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -286,13 +286,7 @@ public class BOMaMtngController {
|
|||||||
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
// 여러곳배송처럼 처리하더라도 주소는 하나이므로 shipping 체크
|
||||||
// log.info("배송지 정보를 찾을 수 없습니다.");
|
|
||||||
// content.put("result","Y");
|
|
||||||
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
|
|
||||||
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
|
|
||||||
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
|
||||||
// }
|
|
||||||
if (CollectionUtils.isEmpty(shipping)) {
|
if (CollectionUtils.isEmpty(shipping)) {
|
||||||
log.info("배송지 정보를 찾을 수 없습니다.");
|
log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
@@ -329,91 +323,27 @@ public class BOMaMtngController {
|
|||||||
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
||||||
|
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
||||||
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
if (
|
||||||
|
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
||||||
// 배송지 리스트
|
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
||||||
List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
|
( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
|
||||||
|
( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
|
||||||
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
|
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
|
||||||
content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
|
) {
|
||||||
if (!"0".equals(content.get("status"))) {
|
|
||||||
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
|
||||||
}
|
|
||||||
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
|
|
||||||
|
|
||||||
// 부정판매 체크를 위한 배송지 정렬
|
|
||||||
if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
|
|
||||||
|
|
||||||
boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
|
|
||||||
String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
|
|
||||||
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
|
||||||
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
|
||||||
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
|
||||||
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
|
||||||
|
|
||||||
return StringUtil.isEmpty(dlvylcZip)
|
|
||||||
|| StringUtil.isEmpty(adresDvCd)
|
|
||||||
|| ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
|
|
||||||
|| ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
|
|
||||||
|| StringUtil.isEmpty(adresDtl);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (hasInvalidAddress) {
|
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
||||||
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> adresList = dlvylcListMulti.stream()
|
String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
|
||||||
.map(map -> {
|
String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
|
||||||
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
|
||||||
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
|
||||||
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
|
||||||
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
|
||||||
String adresMulti;
|
|
||||||
if ("01".equals(adresDvCd)) {
|
|
||||||
adresMulti = dlvylcRnmAdres + " " + adresDtl;
|
|
||||||
} else {
|
|
||||||
adresMulti = dlvylcLnbAdres + " " + adresDtl;
|
|
||||||
}
|
|
||||||
|
|
||||||
return adresMulti;
|
adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
|
||||||
})
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
adresArray = adresList.toArray(new String[0]);
|
String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
|
||||||
|
receptMbtlnbArray = new String[]{recpntMbtlnb};
|
||||||
List<String> receptMbtlnbList = dlvylcListMulti.stream()
|
|
||||||
.map(map -> {
|
|
||||||
return StringUtil.isNullToString(map.get("recpntMbtlnb"));
|
|
||||||
})
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// if (
|
|
||||||
// StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
|
||||||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
|
||||||
// ( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
|
|
||||||
// ( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
|
|
||||||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
|
|
||||||
// ) {
|
|
||||||
// content.put("result","Y");
|
|
||||||
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
|
||||||
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
|
|
||||||
// String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
|
|
||||||
// String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
|
|
||||||
// String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
|
|
||||||
//
|
|
||||||
// adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
|
|
||||||
//
|
|
||||||
// String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
|
|
||||||
// receptMbtlnbArray = new String[]{recpntMbtlnb};
|
|
||||||
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
||||||
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ public interface BOMaMtngMapper {
|
|||||||
/** 주문 전 쿠폰정보 재확인*/
|
/** 주문 전 쿠폰정보 재확인*/
|
||||||
public List<String> selectBOPreOrderValidationCouponList(BOPreOrderValidVO goods);
|
public List<String> selectBOPreOrderValidationCouponList(BOPreOrderValidVO goods);
|
||||||
|
|
||||||
|
/** 구독서비스 주문 전 주문정보 재확인*/
|
||||||
|
public List<DataMap> selectBOSubsvcPreOrderValidation(BOPreOrderValidVO goods);
|
||||||
|
|
||||||
/*쇼핑몰 구매요청 재검증 확인 여부*/
|
/*쇼핑몰 구매요청 재검증 확인 여부*/
|
||||||
public String selectPurchsValidUseAt(String sopmalCd);
|
public String selectPurchsValidUseAt(String sopmalCd);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,8 +306,12 @@ public class BOMaMtngService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(BOPreOrderValidVO goods : goodsList) {
|
for(BOPreOrderValidVO goods : goodsList) {
|
||||||
|
List<DataMap> resultValid = new ArrayList<>();
|
||||||
List<DataMap> resultValid = mapper.selectBOPreOrderValidation(goods);
|
if(goods.getSubsvcInnb() != "") {
|
||||||
|
resultValid = mapper.selectBOSubsvcPreOrderValidation(goods);
|
||||||
|
} else {
|
||||||
|
resultValid = mapper.selectBOPreOrderValidation(goods);
|
||||||
|
}
|
||||||
|
|
||||||
//구매정보 변경대상 필터링
|
//구매정보 변경대상 필터링
|
||||||
// 값이 1인 항목 == 변경항목
|
// 값이 1인 항목 == 변경항목
|
||||||
@@ -419,8 +423,15 @@ public class BOMaMtngService {
|
|||||||
//상품별 총 구매갯수 합계
|
//상품별 총 구매갯수 합계
|
||||||
Map<String, Integer> qySums = goodsList.stream()
|
Map<String, Integer> qySums = goodsList.stream()
|
||||||
.collect(Collectors.groupingBy(
|
.collect(Collectors.groupingBy(
|
||||||
|
goods -> {
|
||||||
// goodsInnb기준 키로 묶음
|
// goodsInnb기준 키로 묶음
|
||||||
goods -> goods.get("goodsInnb").toString(),
|
Object key = goods.get("goodsInnb");
|
||||||
|
if(key == null) {
|
||||||
|
// subsvcInnb기준 키로 묶음
|
||||||
|
key = goods.get("subsvcInnb");
|
||||||
|
}
|
||||||
|
return key.toString();
|
||||||
|
},
|
||||||
// qy 값을 합산
|
// qy 값을 합산
|
||||||
Collectors.summingInt(goods -> Integer.parseInt(goods.getOrDefault("qy", "0").toString()))
|
Collectors.summingInt(goods -> Integer.parseInt(goods.getOrDefault("qy", "0").toString()))
|
||||||
));
|
));
|
||||||
@@ -466,12 +477,14 @@ public class BOMaMtngService {
|
|||||||
goodsList.forEach(goods -> {
|
goodsList.forEach(goods -> {
|
||||||
|
|
||||||
String goodsInnb = StringUtil.isNullToString(goods.get("goodsInnb"));
|
String goodsInnb = StringUtil.isNullToString(goods.get("goodsInnb"));
|
||||||
|
String subsvcInnb = StringUtil.isNullToString(goods.get("subsvcInnb"));
|
||||||
|
|
||||||
//상품별 수량합계
|
//상품별 수량합계
|
||||||
int goodsTotalQy = 0;
|
int goodsTotalQy = 0;
|
||||||
if(qySums.containsKey(goodsInnb)){
|
if(qySums.containsKey(goodsInnb)){
|
||||||
goodsTotalQy = qySums.getOrDefault(goodsInnb, 0);
|
goodsTotalQy = qySums.getOrDefault(goodsInnb, 0);
|
||||||
|
} else if (qySums.containsKey(subsvcInnb)) {
|
||||||
|
goodsTotalQy = qySums.getOrDefault(subsvcInnb, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -507,6 +520,7 @@ public class BOMaMtngService {
|
|||||||
.sopmalCd(StringUtil.isNullToString(goods.get("sopmalCd")))
|
.sopmalCd(StringUtil.isNullToString(goods.get("sopmalCd")))
|
||||||
.goodsInnb(StringUtil.isNullToString(goods.get("goodsInnb")))
|
.goodsInnb(StringUtil.isNullToString(goods.get("goodsInnb")))
|
||||||
.goodsOptnInnb(StringUtil.isNullToString(goods.get("goodsOptnInnb")))
|
.goodsOptnInnb(StringUtil.isNullToString(goods.get("goodsOptnInnb")))
|
||||||
|
.subsvcInnb(StringUtil.isNullToString(goods.get("subsvcInnb")))
|
||||||
.mbrInnb(StringUtil.isNullToString(goods.get("mbrInnb")))
|
.mbrInnb(StringUtil.isNullToString(goods.get("mbrInnb")))
|
||||||
.mbrDvCd(StringUtil.isNullToString(goods.get("mbrDvCd")))
|
.mbrDvCd(StringUtil.isNullToString(goods.get("mbrDvCd")))
|
||||||
.qy(StringUtil.isNullToString(goods.get("qy")))
|
.qy(StringUtil.isNullToString(goods.get("qy")))
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ public class BOPreOrderValidVO {
|
|||||||
/*상품옵션고유번호*/
|
/*상품옵션고유번호*/
|
||||||
private String goodsOptnInnb;
|
private String goodsOptnInnb;
|
||||||
|
|
||||||
|
/*구독서비스고유번호*/
|
||||||
|
private String subsvcInnb;
|
||||||
|
|
||||||
/*회원고유번호*/
|
/*회원고유번호*/
|
||||||
private String mbrInnb;
|
private String mbrInnb;
|
||||||
|
|
||||||
|
|||||||
@@ -28,4 +28,12 @@ public class BOMaEmailSrchVO extends AbstractVO {
|
|||||||
|
|
||||||
/*secretkey*/
|
/*secretkey*/
|
||||||
private String secretKey;
|
private String secretKey;
|
||||||
|
|
||||||
|
/** 셋팅용 파라미터 tab구분
|
||||||
|
* send : 이메일 수동발송
|
||||||
|
* search : 이메일 발송내역*/
|
||||||
|
private String reqTab;
|
||||||
|
|
||||||
|
/** 셋팅용 파라미터 받는사람 이메일주소*/
|
||||||
|
private String email;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import org.springframework.stereotype.Repository;
|
|||||||
|
|
||||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO;
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO;
|
||||||
import com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO;
|
|
||||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,6 +80,10 @@ public interface BOMaSopmalMapper {
|
|||||||
|
|
||||||
public int updateBOSopmalUpdt(BOMaSopmalVO vo);
|
public int updateBOSopmalUpdt(BOMaSopmalVO vo);
|
||||||
|
|
||||||
|
public int updateBOExchngrtSetup(BOMaSopmalVO vo);
|
||||||
|
|
||||||
|
public int updateBOGuidanceSetup(BOMaSopmalVO vo);
|
||||||
|
|
||||||
public int deteteBOShopFamilySite(BOMaSopmalVO vo);
|
public int deteteBOShopFamilySite(BOMaSopmalVO vo);
|
||||||
|
|
||||||
public int deteteBOShopClause(BOMaSopmalVO vo);
|
public int deteteBOShopClause(BOMaSopmalVO vo);
|
||||||
|
|||||||
@@ -437,39 +437,12 @@ public class BOMaSopmalService {
|
|||||||
log.debug("masopmal {}", vo);
|
log.debug("masopmal {}", vo);
|
||||||
// update payLink
|
// update payLink
|
||||||
mapper.updateBOShopPayLink(vo);
|
mapper.updateBOShopPayLink(vo);
|
||||||
// PC 결제 정보
|
|
||||||
String pcSetleType = vo.getPcSetleTypeList();
|
|
||||||
String[] pcSetleTypeArr = null;
|
|
||||||
DataMap pcSetleInfoDm = new DataMap();
|
|
||||||
if (!StringUtil.isEmpty(pcSetleType)) {
|
|
||||||
pcSetleTypeArr = StringUtil.split(pcSetleType, "$");
|
|
||||||
pcSetleInfoDm = ynSetParam(pcSetleTypeArr);
|
|
||||||
pcSetleInfoDm.put("updusr", vo.getUpdusr());
|
|
||||||
pcSetleInfoDm.put("setleInfoInnb", vo.getPcSetleInfoInnb());
|
|
||||||
mapper.updateBOShopPayInfo(pcSetleInfoDm);
|
|
||||||
} else {
|
|
||||||
pcSetleInfoDm = ynSetParam(pcSetleTypeArr);
|
|
||||||
pcSetleInfoDm.put("updusr", vo.getUpdusr());
|
|
||||||
pcSetleInfoDm.put("setleInfoInnb", vo.getPcSetleInfoInnb());
|
|
||||||
mapper.updateBOShopPayInfo(pcSetleInfoDm);
|
|
||||||
}
|
|
||||||
|
|
||||||
// MOBILE 결제 정보
|
// 결제 정보 업데이트
|
||||||
String mobileSetleType = vo.getMobileSetleTypeList();
|
updateSetleInfo(vo.getPcSetleTypeList(), vo.getPcSetleInfoInnb(), vo.getUpdusr()); // PC
|
||||||
String[] mobileSetleTypeArr = null;
|
updateSetleInfo(vo.getMobileSetleTypeList(), vo.getMobileSetleInfoInnb(), vo.getUpdusr()); // MOBILE
|
||||||
DataMap mobileSetleInfoDm = new DataMap();
|
updateSetleInfo(vo.getPcSubsvcSetleTypeList(), vo.getPcSubsvcSetleInfoInnb(), vo.getUpdusr()); // 구독서비스 PC
|
||||||
if (!StringUtil.isEmpty(mobileSetleType)) {
|
updateSetleInfo(vo.getMobileSubsvcSetleTypeList(), vo.getMobileSubsvcSetleInfoInnb(), vo.getUpdusr()); // 구독서비스 MOBILE
|
||||||
mobileSetleTypeArr = StringUtil.split(mobileSetleType, "$");
|
|
||||||
mobileSetleInfoDm = ynSetParam(mobileSetleTypeArr);
|
|
||||||
mobileSetleInfoDm.put("updusr", vo.getUpdusr());
|
|
||||||
mobileSetleInfoDm.put("setleInfoInnb", vo.getMobileSetleInfoInnb());
|
|
||||||
mapper.updateBOShopPayInfo(mobileSetleInfoDm);
|
|
||||||
} else {
|
|
||||||
mobileSetleInfoDm = ynSetParam(mobileSetleTypeArr);
|
|
||||||
mobileSetleInfoDm.put("updusr", vo.getUpdusr());
|
|
||||||
mobileSetleInfoDm.put("setleInfoInnb", vo.getMobileSetleInfoInnb());
|
|
||||||
mapper.updateBOShopPayInfo(mobileSetleInfoDm);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ObjectUtils.isEmpty(vo.getFamilySiteNmArr())) {
|
if (!ObjectUtils.isEmpty(vo.getFamilySiteNmArr())) {
|
||||||
String[] siteNm = vo.getFamilySiteNmArr();
|
String[] siteNm = vo.getFamilySiteNmArr();
|
||||||
@@ -523,6 +496,26 @@ public class BOMaSopmalService {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 결제정보 업데이트
|
||||||
|
* @param setleType 결제정보 List
|
||||||
|
* @param setleInfoInnb 결제정보 고유번호
|
||||||
|
* @param updusr 수정자 고유번호
|
||||||
|
*/
|
||||||
|
private void updateSetleInfo(String setleType, String setleInfoInnb, int updusr) {
|
||||||
|
String[] setleTypeArr = null;
|
||||||
|
|
||||||
|
if (!StringUtil.isEmpty(setleType)) {
|
||||||
|
setleTypeArr = StringUtil.split(setleType, "$");
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap dm = ynSetParam(setleTypeArr);
|
||||||
|
dm.put("updusr", updusr);
|
||||||
|
dm.put("setleInfoInnb", setleInfoInnb);
|
||||||
|
|
||||||
|
mapper.updateBOShopPayInfo(dm);
|
||||||
|
}
|
||||||
|
|
||||||
private void setBOMaSopmalVO(BOMaSopmalVO vo) {
|
private void setBOMaSopmalVO(BOMaSopmalVO vo) {
|
||||||
|
|
||||||
if(!StringUtil.isEmpty(vo.getSmsAtmcSndngLmttBgntme()))
|
if(!StringUtil.isEmpty(vo.getSmsAtmcSndngLmttBgntme()))
|
||||||
|
|||||||
@@ -483,12 +483,24 @@ public class BOMaSopmalVO extends AbstractVO {
|
|||||||
/** mobile 결제정보 List */
|
/** mobile 결제정보 List */
|
||||||
private String mobileSetleTypeList;
|
private String mobileSetleTypeList;
|
||||||
|
|
||||||
|
/** 구독서비스 pc 결제정보 List */
|
||||||
|
private String pcSubsvcSetleTypeList;
|
||||||
|
|
||||||
|
/** 구독서비스 mobile 결제정보 List */
|
||||||
|
private String mobileSubsvcSetleTypeList;
|
||||||
|
|
||||||
/** pc 결제정보 Innb */
|
/** pc 결제정보 Innb */
|
||||||
private String pcSetleInfoInnb;
|
private String pcSetleInfoInnb;
|
||||||
|
|
||||||
/** mobile 결제정보 Innb */
|
/** mobile 결제정보 Innb */
|
||||||
private String mobileSetleInfoInnb;
|
private String mobileSetleInfoInnb;
|
||||||
|
|
||||||
|
/** 구독서비스 pc 결제정보 Innb */
|
||||||
|
private String pcSubsvcSetleInfoInnb;
|
||||||
|
|
||||||
|
/** 구독서비스 mobile 결제정보 Innb */
|
||||||
|
private String mobileSubsvcSetleInfoInnb;
|
||||||
|
|
||||||
/** 회원가입 안내 타이틀 */
|
/** 회원가입 안내 타이틀 */
|
||||||
private String joinGuidanceSj;
|
private String joinGuidanceSj;
|
||||||
|
|
||||||
|
|||||||
@@ -978,9 +978,9 @@ public class BOBbsService {
|
|||||||
|
|
||||||
log.debug("분류 oldDvQesitmInnbs : {}", oldDvQesitmInnbs);
|
log.debug("분류 oldDvQesitmInnbs : {}", oldDvQesitmInnbs);
|
||||||
log.debug("분류 olddvItmInnbs : {}", olddvItmInnbs);
|
log.debug("분류 olddvItmInnbs : {}", olddvItmInnbs);
|
||||||
log.debug("분류 olddvItmInnbsArr : {}", olddvItmInnbsArr);
|
log.debug("분류 olddvItmInnbsArr : {}", (Object) olddvItmInnbsArr);
|
||||||
log.debug("분류 qesitmInnb_d : {}", qesitmInnb_d);
|
log.debug("분류 qesitmInnb_d : {}", (Object) qesitmInnb_d);
|
||||||
log.debug("분류 qesitmNm_d : {}", qesitmNm_d);
|
log.debug("분류 qesitmNm_d : {}", (Object) qesitmNm_d);
|
||||||
log.debug("분류 qesitmInnb : {}", qesitmInnb);
|
log.debug("분류 qesitmInnb : {}", qesitmInnb);
|
||||||
log.debug("분류 itmInnb_del : {}", itmInnb_del);
|
log.debug("분류 itmInnb_del : {}", itmInnb_del);
|
||||||
|
|
||||||
@@ -1055,8 +1055,8 @@ public class BOBbsService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
log.debug("필수 {}", vo.getOldIpQesitmInnbs());
|
log.debug("필수 {}", vo.getOldIpQesitmInnbs());
|
||||||
log.debug("필수 {}", vo.getQesitmEssntlAt_i());
|
log.debug("필수 {}", (Object) vo.getQesitmEssntlAt_i());
|
||||||
log.debug("사용 {}", vo.getQesitmUseAt_i());
|
log.debug("사용 {}", (Object) vo.getQesitmUseAt_i());
|
||||||
/** 게시판 추가 문항 수정 */
|
/** 게시판 추가 문항 수정 */
|
||||||
if (!ObjectUtils.isEmpty(vo.getQesitmInnb_i())) {
|
if (!ObjectUtils.isEmpty(vo.getQesitmInnb_i())) {
|
||||||
String[] qesitmNm_i = vo.getQesitmNm_i();
|
String[] qesitmNm_i = vo.getQesitmNm_i();
|
||||||
|
|||||||
@@ -232,6 +232,9 @@ public class BOGnrlbbscttService {
|
|||||||
BOGnrlbbscttVO resultCnt = new BOGnrlbbscttVO();
|
BOGnrlbbscttVO resultCnt = new BOGnrlbbscttVO();
|
||||||
switch (bbsTyCd) {
|
switch (bbsTyCd) {
|
||||||
case "01": //일반게시글 조회
|
case "01": //일반게시글 조회
|
||||||
|
log.debug("일반게시글 getServerDv : {}",bbsctt.getServerDv());
|
||||||
|
log.debug("일반게시글 getMbrDvCd : {}",bbsctt.getMbrDvCd());
|
||||||
|
log.debug("일반게시글 getSopmalCd : {}",bbsctt.getSopmalCd());
|
||||||
resultCnt = mapper.selectBOGnrlBbscttListCnt(bbsctt);
|
resultCnt = mapper.selectBOGnrlBbscttListCnt(bbsctt);
|
||||||
totCnt = resultCnt.getTotCnt();
|
totCnt = resultCnt.getTotCnt();
|
||||||
if (StringUtil.isEmpty(bbsctt.getNtcAt())) {/*공지 제외 검색 조건*/
|
if (StringUtil.isEmpty(bbsctt.getNtcAt())) {/*공지 제외 검색 조건*/
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ public class BOCommonService {
|
|||||||
@Value("${secret.key}")
|
@Value("${secret.key}")
|
||||||
private String secretKey;
|
private String secretKey;
|
||||||
|
|
||||||
|
@Value("${aciexpress.apikey}")
|
||||||
|
private String aciApiKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>비밀번호를 암호화 한다</p>
|
* <p>비밀번호를 암호화 한다</p>
|
||||||
*
|
*
|
||||||
@@ -287,4 +290,10 @@ public class BOCommonService {
|
|||||||
return secretKey;
|
return secretKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* aci Api키 조회
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
public String selectAciApiKey() {return aciApiKey;}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ public class BOGoodsOptionVO extends AbstractVO {
|
|||||||
private String optnCd4;
|
private String optnCd4;
|
||||||
/** 옵션정보 */
|
/** 옵션정보 */
|
||||||
private String optnInfo;
|
private String optnInfo;
|
||||||
|
/** HS Code */
|
||||||
|
private String hscode;
|
||||||
|
/** 실무게(KG) */
|
||||||
|
private String realWt;
|
||||||
/** 재고수량 */
|
/** 재고수량 */
|
||||||
private String invntryQy;
|
private String invntryQy;
|
||||||
/** 가용재고수량 */
|
/** 가용재고수량 */
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ public class BOGoodsVO extends AbstractVO {
|
|||||||
/** 상품명 */
|
/** 상품명 */
|
||||||
@NotBlank(message = "상품명")
|
@NotBlank(message = "상품명")
|
||||||
private String goodsNm;
|
private String goodsNm;
|
||||||
|
/** 상품명(영문) */
|
||||||
|
@NotBlank(message = "상품명(영문)")
|
||||||
|
private String goodsNmEn;
|
||||||
/** 입점상품명 */
|
/** 입점상품명 */
|
||||||
private String tentMarktGoodsNm;
|
private String tentMarktGoodsNm;
|
||||||
/** ? */
|
/** ? */
|
||||||
@@ -220,6 +223,10 @@ public class BOGoodsVO extends AbstractVO {
|
|||||||
private String optnCd4;
|
private String optnCd4;
|
||||||
/** 옵션정보 */
|
/** 옵션정보 */
|
||||||
private String optnInfo;
|
private String optnInfo;
|
||||||
|
/** HS Code */
|
||||||
|
private String hscode;
|
||||||
|
/** 실무게(KG) */
|
||||||
|
private String realWt;
|
||||||
/** 재고수량 */
|
/** 재고수량 */
|
||||||
private Integer invntryQy;
|
private Integer invntryQy;
|
||||||
/** 가용재고수량 */
|
/** 가용재고수량 */
|
||||||
|
|||||||
@@ -470,6 +470,8 @@ public interface BOPurchsMapper {
|
|||||||
*/
|
*/
|
||||||
public String selectRlSetleAmt(DataMap param);
|
public String selectRlSetleAmt(DataMap param);
|
||||||
|
|
||||||
|
public String selectWonRlSetleAmt(DataMap param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 )
|
* 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 )
|
||||||
* @param itemOptnVO
|
* @param itemOptnVO
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1837,6 +1837,8 @@ public class BOPurchsService {
|
|||||||
public Map<String, Object> selectSetleExpectAmt(DataMap param) {
|
public Map<String, Object> selectSetleExpectAmt(DataMap param) {
|
||||||
Map<String, Object> content = new HashMap<>();
|
Map<String, Object> content = new HashMap<>();
|
||||||
|
|
||||||
|
log.debug("BOPurchsService.selectSetleExpectAmt-param : {}", param);
|
||||||
|
|
||||||
String sopmalCd = (String) param.get("sopmalCd");
|
String sopmalCd = (String) param.get("sopmalCd");
|
||||||
|
|
||||||
LinkedHashMap setleExpectAmtMap = new LinkedHashMap(){{
|
LinkedHashMap setleExpectAmtMap = new LinkedHashMap(){{
|
||||||
@@ -2213,7 +2215,7 @@ public class BOPurchsService {
|
|||||||
// BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
|
// BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
|
||||||
BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량
|
BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량
|
||||||
|
|
||||||
if (slepric.compareTo(amtCndAditAmt) > 0) {
|
if (slepric.compareTo(amtCndAditAmt) >= 0) {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
// else {
|
// else {
|
||||||
@@ -2227,7 +2229,7 @@ public class BOPurchsService {
|
|||||||
// BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액
|
// BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액
|
||||||
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
|
||||||
if (qy.compareTo(cntCndAditAmt) > 0) {
|
if (qy.compareTo(cntCndAditAmt) >= 0) {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
// else {
|
// else {
|
||||||
@@ -2296,15 +2298,16 @@ public class BOPurchsService {
|
|||||||
|
|
||||||
BigDecimal goodsQy = new BigDecimal(0);
|
BigDecimal goodsQy = new BigDecimal(0);
|
||||||
|
|
||||||
|
// 수량 조건
|
||||||
|
if ("Y".equals(cntCndUseAt) && cntCndAditAmt.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
|
||||||
for (DataMap goodsMap : goodsByDlvyGroupList) {
|
for (DataMap goodsMap : goodsByDlvyGroupList) {
|
||||||
|
|
||||||
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
|
||||||
// 수량 조건
|
|
||||||
if ("Y".equals(cntCndUseAt)) {
|
|
||||||
|
|
||||||
qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
|
||||||
|
// cntCndAditAmt(설정수량)보다 qy가 큰 경우
|
||||||
if (qy.compareTo(cntCndAditAmt) > 0) {
|
if (qy.compareTo(cntCndAditAmt) > 0) {
|
||||||
goodsQy = qy.divide(cntCndAditAmt, 0, RoundingMode.CEILING);
|
goodsQy = qy.divide(cntCndAditAmt, 0, RoundingMode.CEILING);
|
||||||
//배송비 합(같은상품 수량당 배송비 책정)
|
//배송비 합(같은상품 수량당 배송비 책정)
|
||||||
@@ -2328,9 +2331,11 @@ public class BOPurchsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} //for
|
||||||
} else {
|
} else {
|
||||||
//수량 조건 없는 경우
|
//수량 조건 없는 경우
|
||||||
paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); // 유료배송비 합
|
paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); // 유료배송비 합
|
||||||
|
|
||||||
// 추가배송비 계산
|
// 추가배송비 계산
|
||||||
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) {
|
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) {
|
||||||
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
|
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
|
||||||
@@ -2338,7 +2343,7 @@ public class BOPurchsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //for
|
|
||||||
} else {
|
} else {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
dftDlvyAmt = new BigDecimal(0);
|
dftDlvyAmt = new BigDecimal(0);
|
||||||
@@ -2514,7 +2519,7 @@ public class BOPurchsService {
|
|||||||
BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
|
BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
|
||||||
BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량
|
BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량
|
||||||
|
|
||||||
if (slepric.compareTo(amtCndAditAmt) > 0) {
|
if (slepric.compareTo(amtCndAditAmt) >= 0) {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2523,7 +2528,7 @@ public class BOPurchsService {
|
|||||||
BigInteger cntCndAditAmt = (BigInteger) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액
|
BigInteger cntCndAditAmt = (BigInteger) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액
|
||||||
BigInteger qy = (BigInteger) goodsMap.get("qy"); // 수량
|
BigInteger qy = (BigInteger) goodsMap.get("qy"); // 수량
|
||||||
|
|
||||||
if (cntCndAditAmt.intValue() < qy.intValue()) {
|
if (cntCndAditAmt.intValue() <= qy.intValue()) {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2539,7 +2544,7 @@ public class BOPurchsService {
|
|||||||
if (bundleDlvyCndAmt != null && bundleDlvyCndAmt.intValue() > 0) {
|
if (bundleDlvyCndAmt != null && bundleDlvyCndAmt.intValue() > 0) {
|
||||||
BigDecimal subSlepric = goodsByDlvyGroupList.stream().map(o -> (BigDecimal) o.get("subSlepric")).reduce(BigDecimal.ZERO, BigDecimal::add); // 합 (판매가 * 수량)
|
BigDecimal subSlepric = goodsByDlvyGroupList.stream().map(o -> (BigDecimal) o.get("subSlepric")).reduce(BigDecimal.ZERO, BigDecimal::add); // 합 (판매가 * 수량)
|
||||||
|
|
||||||
if (subSlepric.compareTo(bundleDlvyCndAmt) > 0) {
|
if (subSlepric.compareTo(bundleDlvyCndAmt) >= 0) {
|
||||||
dlvyAmt = new BigDecimal(0);
|
dlvyAmt = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,6 +142,14 @@ public class BOOrderItemOptnVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal step85 = new BigDecimal(0);
|
private BigDecimal step85 = new BigDecimal(0);
|
||||||
|
|
||||||
|
private String hscode;
|
||||||
|
|
||||||
|
private BigDecimal realWt;
|
||||||
|
|
||||||
|
private BigInteger volWt;
|
||||||
|
|
||||||
|
private Integer packageCnt;
|
||||||
|
|
||||||
private String restUpdtDv;
|
private String restUpdtDv;
|
||||||
|
|
||||||
private BigDecimal updtRestAmt = new BigDecimal(0);
|
private BigDecimal updtRestAmt = new BigDecimal(0);
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public class BOOrderItemVO extends AbstractVO {
|
|||||||
|
|
||||||
private String goodsNm;
|
private String goodsNm;
|
||||||
|
|
||||||
|
private String goodsNmEn;
|
||||||
|
|
||||||
private String goodsKndCd;
|
private String goodsKndCd;
|
||||||
|
|
||||||
private String taxtTrgetAt;
|
private String taxtTrgetAt;
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public class BOOrderSetleVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal setleAmt;
|
private BigDecimal setleAmt;
|
||||||
|
|
||||||
|
private BigDecimal wonSetleAmt;
|
||||||
|
|
||||||
private String pgCmpnyNm;
|
private String pgCmpnyNm;
|
||||||
|
|
||||||
private String setleTyCd;
|
private String setleTyCd;
|
||||||
|
|||||||
@@ -26,8 +26,14 @@ public class BOOrderShippingVO extends AbstractVO {
|
|||||||
|
|
||||||
private String recpntMbtlnb;
|
private String recpntMbtlnb;
|
||||||
|
|
||||||
|
private String dlvylcAreaCd;
|
||||||
|
|
||||||
|
private String cstmclerCd;
|
||||||
|
|
||||||
private String dlvylcZip;
|
private String dlvylcZip;
|
||||||
|
|
||||||
|
private String prefcd;
|
||||||
|
|
||||||
private String dlvylcAdresDvCd;
|
private String dlvylcAdresDvCd;
|
||||||
|
|
||||||
private String dlvylcLnbAdres;
|
private String dlvylcLnbAdres;
|
||||||
|
|||||||
@@ -40,7 +40,11 @@ public class BOOrderVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal rlSetleAmt = new BigDecimal("0");
|
private BigDecimal rlSetleAmt = new BigDecimal("0");
|
||||||
|
|
||||||
private BigDecimal enuriAmt = new BigDecimal("0");;
|
private BigDecimal enuriAmt = new BigDecimal("0");
|
||||||
|
|
||||||
|
private BigDecimal wonRlSetleAmt = new BigDecimal("0");
|
||||||
|
|
||||||
|
private BigDecimal buyRate = new BigDecimal("0");
|
||||||
|
|
||||||
private String ordrrNm;
|
private String ordrrNm;
|
||||||
|
|
||||||
@@ -141,4 +145,6 @@ public class BOOrderVO extends AbstractVO {
|
|||||||
private String secretKey;
|
private String secretKey;
|
||||||
|
|
||||||
private String currOrdrSttusCd;
|
private String currOrdrSttusCd;
|
||||||
|
|
||||||
|
private Integer subsvcInnb;
|
||||||
}
|
}
|
||||||
@@ -30,4 +30,13 @@ public interface BOSubsvcMapper {
|
|||||||
void insertBOMngrSubsvc(BOSubsvcVO vo);
|
void insertBOMngrSubsvc(BOSubsvcVO vo);
|
||||||
/** 관리자 구독서비스 명 중복체크*/
|
/** 관리자 구독서비스 명 중복체크*/
|
||||||
int selectBOMngrSubsvcNmDupCheck(BOSubsvcVO vo);
|
int selectBOMngrSubsvcNmDupCheck(BOSubsvcVO vo);
|
||||||
|
|
||||||
|
/** 구독서비스 주문에 따른 판매재고수량 수정*/
|
||||||
|
public void updateSubsvcOrdrUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
|
/** 구독서비스 환불에 따른 판매재고수량 수정*/
|
||||||
|
public void updateSubsvcRefundUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
|
/** 구독서비스 주문취소에 따른 판매재고수량 수정*/
|
||||||
|
public void updateSubsvcCancelOrderUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
|
/** 판매재고수량 변경에 따른 구독서비스 상태 수정*/
|
||||||
|
public void updateInvntryPolicySubsvcSttusChng(BOSubsvcVO vo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
package com.wb.domainserver.domain.gcone.goods.subsvc.service;
|
package com.wb.domainserver.domain.gcone.goods.subsvc.service;
|
||||||
|
|
||||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
|
|
||||||
import com.wb.domainserver.domain.gcone.goods.subsvc.mapper.BOSubsvcMapper;
|
import com.wb.domainserver.domain.gcone.goods.subsvc.mapper.BOSubsvcMapper;
|
||||||
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
import io.micrometer.common.util.StringUtils;
|
import io.micrometer.common.util.StringUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -137,4 +139,51 @@ public class BOSubsvcService {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주문에 따른 판매재고수량 수정
|
||||||
|
* @param ordrVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public void updateSubsvcOrdrUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||||
|
|
||||||
|
//판매수량 수정
|
||||||
|
mapper.updateSubsvcOrdrUsefulInvntryQy(subsvcVO);
|
||||||
|
//구독서비스 상태 수정
|
||||||
|
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환불에 따른 판매재고수량 수정
|
||||||
|
* @param ordrVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public void updateSubsvcRefundUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||||
|
|
||||||
|
//판매수량 수정
|
||||||
|
mapper.updateSubsvcRefundUsefulInvntryQy(subsvcVO);
|
||||||
|
//구독서비스 상태 수정
|
||||||
|
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주문취소에 따른 판매재고수량 수정
|
||||||
|
* @param ordrVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public void updateSubsvcCancelOrderUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||||
|
|
||||||
|
//판매수량 수정
|
||||||
|
mapper.updateSubsvcCancelOrderUsefulInvntryQy(subsvcVO);
|
||||||
|
//구독서비스 상태 수정
|
||||||
|
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -12,14 +13,14 @@ public class BOSubsvcVO extends AbstractVO {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 구독서비스고유번호 */
|
|
||||||
private String subsvcInnb;
|
|
||||||
/** 쇼핑몰코드 */
|
/** 쇼핑몰코드 */
|
||||||
private String sopmalCd;
|
private String sopmalCd;
|
||||||
/** 구독서비스명 */
|
/** 구독서비스명 */
|
||||||
private String subsvcNm;
|
private String subsvcNm;
|
||||||
/** 구독기간 */
|
/** 구독기간 */
|
||||||
private String subPd;
|
private String subPd;
|
||||||
|
/** 구독서비스고유번호 */
|
||||||
|
private String subsvcInnb;
|
||||||
/** 구독서비스기수 */
|
/** 구독서비스기수 */
|
||||||
private String subsvcGnr;
|
private String subsvcGnr;
|
||||||
/** 구독서비스명 다음기수 */
|
/** 구독서비스명 다음기수 */
|
||||||
@@ -37,11 +38,13 @@ private static final long serialVersionUID = 1L;
|
|||||||
/** 소비자가 */
|
/** 소비자가 */
|
||||||
private String cnsmrpric;
|
private String cnsmrpric;
|
||||||
/** 판매가 */
|
/** 판매가 */
|
||||||
private String slepric;
|
private Integer slepric;
|
||||||
/** 재고수량 */
|
/** 재고수량 */
|
||||||
private String invntryQy;
|
private String invntryQy;
|
||||||
/** 판매재고수량 */
|
/** 판매재고수량 */
|
||||||
private String usefulInvntryQy;
|
private String usefulInvntryQy;
|
||||||
|
/** 판매수량 초기화여부*/
|
||||||
|
private String usefulInvntryQyInit;
|
||||||
/** 재고정책 */
|
/** 재고정책 */
|
||||||
private String invntryPolicyCd;
|
private String invntryPolicyCd;
|
||||||
/** 가용재고제한수량 */
|
/** 가용재고제한수량 */
|
||||||
@@ -99,4 +102,62 @@ private static final long serialVersionUID = 1L;
|
|||||||
private String sortDv;
|
private String sortDv;
|
||||||
/** 배열 구독서비스고유번호 */
|
/** 배열 구독서비스고유번호 */
|
||||||
private List<String> arrSubsvcInnb;
|
private List<String> arrSubsvcInnb;
|
||||||
|
|
||||||
|
|
||||||
|
/** 결제정보 */
|
||||||
|
/** 회원고유번호 */
|
||||||
|
private Integer mbrInnb;
|
||||||
|
/** 회원구분코드 */
|
||||||
|
private String mbrDvCd;
|
||||||
|
/** 주문고유번호 */
|
||||||
|
private String ordrInnb;
|
||||||
|
|
||||||
|
|
||||||
|
/** 결제상품정보 */
|
||||||
|
/** 판매상품 고유번호 */
|
||||||
|
private Integer goodsInnb;
|
||||||
|
/** 상품옵션 고유번호 */
|
||||||
|
private Integer goodsOptnInnb;
|
||||||
|
/** 개수 */
|
||||||
|
private Integer qy;
|
||||||
|
/** 입력옵션 텍스트 */
|
||||||
|
private String inputOptn;
|
||||||
|
/** 입력옵션 텍스트 */
|
||||||
|
private String inputOptnText;
|
||||||
|
/** 배송그룹고유번호 */
|
||||||
|
private Integer dlvyGroupInnb;
|
||||||
|
/** 상품상태코드 */
|
||||||
|
private String goodsSttusCd;
|
||||||
|
/** 상품상태명 */
|
||||||
|
private String goodsSttusNm;
|
||||||
|
/** 상품명 */
|
||||||
|
private String goodsNm;
|
||||||
|
/** 상품옵션 타입 */
|
||||||
|
private String optnTy;
|
||||||
|
/** 옵션관계번호 */
|
||||||
|
private String optnRelateNb;
|
||||||
|
/** 복수할인여부 */
|
||||||
|
private String compnbDscntAt;
|
||||||
|
/** 구간할인여부 */
|
||||||
|
private String sctnDscntAt;
|
||||||
|
/** 옵션필수여부 */
|
||||||
|
private String optnEssntlAt;
|
||||||
|
/** 소비자가 합계 (형식적용) */
|
||||||
|
private String subCnsmrpricByFormat;
|
||||||
|
/** 소비자가 합계 */
|
||||||
|
private Integer subCnsmrpric;
|
||||||
|
/** 소비자가 (형식적용) */
|
||||||
|
private String cnsmrpricByFormat;
|
||||||
|
/** 옵션주문단가 × 옵션주문수량 (형식적용) */
|
||||||
|
private String subSlepricByFormat;
|
||||||
|
/** 옵션주문단가 × 옵션주문수량 */
|
||||||
|
private Integer subSlepric;
|
||||||
|
/** 할인금액 */
|
||||||
|
private Integer dscntAmt;
|
||||||
|
/** 할인적용금액 */
|
||||||
|
private Integer dscntApplyAmt;
|
||||||
|
/** 판매가 합계 (형식적용) */
|
||||||
|
private String slepricByFormat;
|
||||||
|
/** 상품이미지경로 */
|
||||||
|
private String goodsImgCours;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,6 +101,11 @@ public class BOMbrService {
|
|||||||
|
|
||||||
List<DataMap> resultList = null;
|
List<DataMap> resultList = null;
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
|
||||||
|
BOMaComncdVO comncdVO = new BOMaComncdVO();
|
||||||
|
comncdVO.setGroupCd("SRCH_DV");
|
||||||
|
bOMbrSrchVO.setSrchDv((String) selectCommCode(comncdVO).get(0).get("cd"));
|
||||||
|
|
||||||
// 건수 조회
|
// 건수 조회
|
||||||
Integer totCnt = mapper.selectBOMbrListTotCnt(bOMbrSrchVO);
|
Integer totCnt = mapper.selectBOMbrListTotCnt(bOMbrSrchVO);
|
||||||
// 건수 갯수 페이징vo에 set
|
// 건수 갯수 페이징vo에 set
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ public class BOMbrSrchVO extends AbstractVO {
|
|||||||
/*회원고유번호*/
|
/*회원고유번호*/
|
||||||
private String srchMbrInnb;
|
private String srchMbrInnb;
|
||||||
|
|
||||||
|
/**검색조건 비교 방식*/
|
||||||
|
private String srchDv;
|
||||||
|
|
||||||
/**정렬 방식*/
|
/**정렬 방식*/
|
||||||
private String sortDv;
|
private String sortDv;
|
||||||
|
|
||||||
@@ -193,4 +196,7 @@ public class BOMbrSrchVO extends AbstractVO {
|
|||||||
/*회원구분코드*/
|
/*회원구분코드*/
|
||||||
private String mbrDvCd;
|
private String mbrDvCd;
|
||||||
|
|
||||||
|
/*마케팅 동의 팝업 읽기모드 여부*/
|
||||||
|
private String readonlyAt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,4 +156,11 @@ public class BOMssageVO extends AbstractVO {
|
|||||||
/** 메세지 취소 구분코드 */
|
/** 메세지 취소 구분코드 */
|
||||||
private String cancelDvCd;
|
private String cancelDvCd;
|
||||||
|
|
||||||
|
/** 셋팅용 파라미터 tab구분
|
||||||
|
* send : 메시지수동바송
|
||||||
|
* search : 메시지 발송내역*/
|
||||||
|
private String reqTab;
|
||||||
|
|
||||||
|
/** 셋팅용 파라미터 받는사람 휴대전화번호*/
|
||||||
|
private String mbtlnb;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,6 +161,14 @@ public interface BODlivyMapper {
|
|||||||
public List<BODlivyVO> selectBOOrdrDlvyDtlsInqireGroupOrdr(BODlivyVO boDlivyVO);
|
public List<BODlivyVO> selectBOOrdrDlvyDtlsInqireGroupOrdr(BODlivyVO boDlivyVO);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주문 배송 추적 조회 : 송장번호 조회
|
||||||
|
* @param boDlivyVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String selectBOOrdrInvcnb(BODlivyVO boDlivyVO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 출고 상태 '상품 준비' or '배송중' 되돌리기 / 출고 상태 변경 단건
|
* 출고 상태 '상품 준비' or '배송중' 되돌리기 / 출고 상태 변경 단건
|
||||||
* @param dlivyVO
|
* @param dlivyVO
|
||||||
|
|||||||
@@ -1,59 +1,40 @@
|
|||||||
package com.wb.domainserver.domain.gcone.ordr.dlivy.service;
|
package com.wb.domainserver.domain.gcone.ordr.dlivy.service;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.StringReader;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.math.BigInteger;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
||||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.wb.domainserver.domain.gcone.common.service.BOCommonService;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
||||||
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.atmcrcpmny.vo.BOAtmcRcpmnyCnfirmVO;
|
import com.wb.domainserver.domain.gcone.ordr.dlivy.mapper.BODlivyMapper;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.*;
|
import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.*;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrLogVO;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service.BORtngudrefndService;
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service.BORtngudrefndService;
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.exception.code.ErrorCode;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
import com.wb.domainserver.util.string.StringUtil;
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
import io.micrometer.common.util.StringUtils;
|
import io.micrometer.common.util.StringUtils;
|
||||||
import jakarta.xml.bind.JAXBContext;
|
|
||||||
import jakarta.xml.bind.JAXBException;
|
|
||||||
import jakarta.xml.bind.Marshaller;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.mapper.BODlivyMapper;
|
|
||||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.*;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.web.client.RestTemplate;
|
||||||
import org.w3c.dom.Document;
|
|
||||||
import org.w3c.dom.Element;
|
|
||||||
import org.w3c.dom.Node;
|
|
||||||
import org.w3c.dom.NodeList;
|
|
||||||
import org.xml.sax.InputSource;
|
|
||||||
|
|
||||||
import javax.xml.parsers.DocumentBuilder;
|
import java.io.IOException;
|
||||||
import javax.xml.parsers.DocumentBuilderFactory;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -83,6 +64,9 @@ public class BODlivyService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
BORtngudrefndService boRtngudrefndService;
|
BORtngudrefndService boRtngudrefndService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOCommonService boCommonService;
|
||||||
|
|
||||||
|
|
||||||
/* ####################################
|
/* ####################################
|
||||||
출고 리스트 서비스 시작
|
출고 리스트 서비스 시작
|
||||||
@@ -494,6 +478,167 @@ public class BODlivyService {
|
|||||||
return contents;
|
return contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ACI Key 발급 API
|
||||||
|
* @param
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public DataMap selectBOAciKey() throws WnbtRestException {
|
||||||
|
String apiKey = boCommonService.selectAciApiKey();
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||||
|
headers.set("USERID", "UNIHAN");
|
||||||
|
headers.set("APIKEY", apiKey);
|
||||||
|
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
|
HttpEntity<String> apiRequest =
|
||||||
|
new HttpEntity<>("{}", headers);
|
||||||
|
|
||||||
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
|
ResponseEntity<String> response = restTemplate.exchange(
|
||||||
|
"https://acieshop.com/api/kr/pod/v1.5/",
|
||||||
|
HttpMethod.POST,
|
||||||
|
apiRequest,
|
||||||
|
String.class
|
||||||
|
);
|
||||||
|
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
JsonNode jsonNode = objectMapper.readTree(response.getBody());
|
||||||
|
|
||||||
|
message.put("status", jsonNode.get("Status").asText());
|
||||||
|
message.put("aciKey", jsonNode.get("ACIKey").asText());
|
||||||
|
message.put("errMsg", jsonNode.get("ErrMsg").asText());
|
||||||
|
}catch (WnbtRestException wre){
|
||||||
|
log.error(wre.getMessage());
|
||||||
|
throw wre;
|
||||||
|
}catch (RuntimeException re){
|
||||||
|
log.error(re.getMessage());
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}catch (Exception e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 화물 추적 - 운송장 조회 API
|
||||||
|
* @param boDlivyVO
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public DataMap updateBOAciDelivery(BODlivyVO boDlivyVO) throws WnbtRestException {
|
||||||
|
DataMap aciMap = selectBOAciKey();
|
||||||
|
String aciKey = String.valueOf(aciMap.get("aciKey"));
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||||
|
headers.set("USERID", "UNIHAN");
|
||||||
|
headers.set("ACIKey", aciKey);
|
||||||
|
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
body.put("BLNO", mapper.selectBOOrdrInvcnb(boDlivyVO));
|
||||||
|
|
||||||
|
HttpEntity<Map<String, Object>> apiRequest =
|
||||||
|
new HttpEntity<>(body, headers);
|
||||||
|
|
||||||
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
|
ResponseEntity<String> response = restTemplate.exchange(
|
||||||
|
"ex",
|
||||||
|
HttpMethod.POST,
|
||||||
|
apiRequest,
|
||||||
|
String.class
|
||||||
|
);
|
||||||
|
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
JsonNode jsonNode = objectMapper.readTree(response.getBody());
|
||||||
|
|
||||||
|
message.put("status", jsonNode.get("Status").asText());
|
||||||
|
JsonNode podInfoNode = jsonNode.get("PODInfo");
|
||||||
|
if(!podInfoNode.isNull()) {
|
||||||
|
List<DataMap> podInfoList = new ArrayList<>();
|
||||||
|
for(JsonNode podInfoItem : podInfoNode) {
|
||||||
|
DataMap PODInfo = new DataMap();
|
||||||
|
PODInfo.put("blno", podInfoItem.get("BLNO").asText());
|
||||||
|
PODInfo.put("dateLocalwhin", podInfoItem.get("DATE_LOCALWHIN").asText());
|
||||||
|
PODInfo.put("dateLocaldeparture", podInfoItem.get("DATE_LOCALDEPARTURE").asText());
|
||||||
|
PODInfo.put("dateIcnarrival", podInfoItem.get("DATE_ICNARRIVAL").asText());
|
||||||
|
PODInfo.put("dateCustomes", podInfoItem.get("DATE_CUSTOMES").asText());
|
||||||
|
PODInfo.put("dateDelivery", podInfoItem.get("DATE_DELIVERY").asText());
|
||||||
|
PODInfo.put("recipient", podInfoItem.get("RECIPIENT").asText());
|
||||||
|
PODInfo.put("wta", podInfoItem.get("WTA").asText());
|
||||||
|
PODInfo.put("wtdan", podInfoItem.get("WTDAN").asText());
|
||||||
|
|
||||||
|
List<DataMap> volumeList = new ArrayList<>();
|
||||||
|
for(JsonNode volumeItem : podInfoItem.get("VOLUME")) {
|
||||||
|
DataMap volume = new DataMap();
|
||||||
|
volume.put("width", volumeItem.get("WIDTH").asText());
|
||||||
|
volume.put("length", volumeItem.get("LENGTH").asText());
|
||||||
|
volume.put("height", volumeItem.get("HEIGHT").asText());
|
||||||
|
|
||||||
|
volumeList.add(volume);
|
||||||
|
}
|
||||||
|
PODInfo.put("volume", volumeList);
|
||||||
|
|
||||||
|
List<List> customsList = new ArrayList<>();
|
||||||
|
for(JsonNode customsItem : podInfoItem.get("CUSTOMS")) {
|
||||||
|
List<DataMap> customDetail = new ArrayList<>();
|
||||||
|
for(JsonNode customItem : customsItem) {
|
||||||
|
DataMap Custom = new DataMap();
|
||||||
|
Custom.put("dateEvent", customItem.get("DATE_EVENT").asText());
|
||||||
|
Custom.put("traceStatus", customItem.get("TRACE_STATUS").asText());
|
||||||
|
|
||||||
|
customDetail.add(Custom);
|
||||||
|
}
|
||||||
|
customsList.add(customDetail);
|
||||||
|
}
|
||||||
|
PODInfo.put("customs", customsList);
|
||||||
|
|
||||||
|
List<DataMap> localPodList = new ArrayList<>();
|
||||||
|
for(JsonNode localPodItem : podInfoItem.get("LOCAL_POD")) {
|
||||||
|
DataMap localPod = new DataMap();
|
||||||
|
localPod.put("traceStatus", localPodItem.get("TRACE_STATUS").asText());
|
||||||
|
localPod.put("dateEvent", localPodItem.get("DATE_EVENT").asText());
|
||||||
|
localPod.put("position", localPodItem.get("POSITION").asText());
|
||||||
|
|
||||||
|
localPodList.add(localPod);
|
||||||
|
}
|
||||||
|
PODInfo.put("localPod", localPodList);
|
||||||
|
|
||||||
|
podInfoList.add(PODInfo);
|
||||||
|
}
|
||||||
|
message.put("podInfo", podInfoList);
|
||||||
|
} else {
|
||||||
|
message.put("errMsg", jsonNode.get("ErrMsg").asText());
|
||||||
|
}
|
||||||
|
}catch (WnbtRestException wre){
|
||||||
|
log.error(wre.getMessage());
|
||||||
|
throw wre;
|
||||||
|
}catch (RuntimeException re){
|
||||||
|
log.error(re.getMessage());
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}catch (Exception e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 송장번호 조회
|
||||||
|
* @param boDlivyVO
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public String selectBOOrdrInvcnb(BODlivyVO boDlivyVO) throws WnbtRestException {
|
||||||
|
return mapper.selectBOOrdrInvcnb(boDlivyVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOGoodsVO;
|
|||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderItemOptnVO;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderItemOptnVO;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderSetleVO;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderSetleVO;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderVO;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrAppnVO;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrAppnVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.*;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.*;
|
||||||
|
|
||||||
@@ -237,6 +238,13 @@ public interface BOOrdrMapper {
|
|||||||
* @return List<LinkedHashMap>
|
* @return List<LinkedHashMap>
|
||||||
*/
|
*/
|
||||||
public List<LinkedHashMap> selectExcelListByOrder(BOOrdrSrchVO ordrSrchVO);
|
public List<LinkedHashMap> selectExcelListByOrder(BOOrdrSrchVO ordrSrchVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문 목록 조회 > 엑셀다운로드 발주서
|
||||||
|
* @param ordrSrchVO
|
||||||
|
* @return List<LinkedHashMap>
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectExcelListPurchOrder(BOOrdrSrchVO ordrSrchVO);
|
||||||
/* ####################################
|
/* ####################################
|
||||||
관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문 목록 조회 종료
|
관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문 목록 조회 종료
|
||||||
#################################### */
|
#################################### */
|
||||||
@@ -335,6 +343,8 @@ public interface BOOrdrMapper {
|
|||||||
*/
|
*/
|
||||||
public List<DataMap> selectOrderShippingList(BOOrdrShippingVO ordrShippingVO);
|
public List<DataMap> selectOrderShippingList(BOOrdrShippingVO ordrShippingVO);
|
||||||
|
|
||||||
|
public List<DataMap> selectOrderShippingListGrp(BOOrdrShippingVO ordrShippingVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 상품 목록 조회
|
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 상품 목록 조회
|
||||||
* @param paramMap
|
* @param paramMap
|
||||||
@@ -349,6 +359,13 @@ public interface BOOrdrMapper {
|
|||||||
*/
|
*/
|
||||||
public List<DataMap> selectRefundShippingGoodsList(DataMap paramMap);
|
public List<DataMap> selectRefundShippingGoodsList(DataMap paramMap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 수정 > 배송지정보 일치여부 확인
|
||||||
|
* @param ordrShippingVO
|
||||||
|
* @return Integer
|
||||||
|
*/
|
||||||
|
public Integer selectDlvylcAreaCdInfo(BOOrdrShippingVO ordrShippingVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 수정
|
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 수정
|
||||||
* @param ordrShippingVO
|
* @param ordrShippingVO
|
||||||
@@ -662,6 +679,8 @@ public interface BOOrdrMapper {
|
|||||||
*/
|
*/
|
||||||
public DataMap selectBOSpbkGiftMultiDlvyAt(BOSpbkVO spbkVO);
|
public DataMap selectBOSpbkGiftMultiDlvyAt(BOSpbkVO spbkVO);
|
||||||
|
|
||||||
|
public BigDecimal selectBuyRate(DataMap param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 사용자 > 상품 > 장바구니 > 장바구니 상품 삭제
|
* 사용자 > 상품 > 장바구니 > 장바구니 상품 삭제
|
||||||
* @param goodsVO
|
* @param goodsVO
|
||||||
@@ -982,6 +1001,44 @@ public interface BOOrdrMapper {
|
|||||||
* @return List<DataMap>
|
* @return List<DataMap>
|
||||||
*/
|
*/
|
||||||
public List<DataMap> selectMbrSubsvcOrdrList(BOOrdrDlvyVO ordrDlvyVO);
|
public List<DataMap> selectMbrSubsvcOrdrList(BOOrdrDlvyVO ordrDlvyVO);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사용자 > 주문완료 > 구독서비스 주문 목록 조회
|
||||||
|
* @param ordrDlvyVO
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectOrdrSubsvcDtllList(BOOrdrDlvyVO ordrDlvyVO);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사용자 > 구독서비스 결제 > 구독서비스 주문 상품 목록 조회
|
||||||
|
* @param subsvcVO
|
||||||
|
* @return List<BOSubsvcVO>
|
||||||
|
*/
|
||||||
|
public List<BOSubsvcVO> selectSubsvcGoodsList(BOSubsvcVO subsvcVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 최종 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update
|
||||||
|
* @param refundVO
|
||||||
|
*/
|
||||||
|
public void updateBOWonRefundAmt(BOOrdrRefundVO refundVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 결제취소 시 구독서비스 환불금액 조회
|
||||||
|
* 계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
|
||||||
|
* @param refundVO
|
||||||
|
*/
|
||||||
|
public Integer selectSubsvcRefundAmt(BOOrdrRefundVO refundVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움결제 GC_ORDER_PG_API_LOG 결과 조회
|
||||||
|
* @param payVO
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public DataMap selectKiwoomPgApiLog(BOPayVO payVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -191,7 +191,11 @@ public class BOOrdrLogService {
|
|||||||
pgResult = false;
|
pgResult = false;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if ("kcp".equals(payVO.getPgCmpnyNm())) {
|
if("kiwoom".equals(payVO.getPgCmpnyNm())) {
|
||||||
|
resCd = "0000";
|
||||||
|
message = "결제 승인 성공";
|
||||||
|
//결제실패에 대한 응답은 없음
|
||||||
|
} else if ("kcp".equals(payVO.getPgCmpnyNm())) {
|
||||||
resCd = StringUtil.isNullToString(resultMap.get("res_cd"));
|
resCd = StringUtil.isNullToString(resultMap.get("res_cd"));
|
||||||
message = StringUtil.isNullToString(resultMap.get("res_msg"));
|
message = StringUtil.isNullToString(resultMap.get("res_msg"));
|
||||||
|
|
||||||
@@ -227,7 +231,7 @@ public class BOOrdrLogService {
|
|||||||
String logDtlCn = "";
|
String logDtlCn = "";
|
||||||
String operNm = "";
|
String operNm = "";
|
||||||
String dvCd = payVO.getDvCd();
|
String dvCd = payVO.getDvCd();
|
||||||
String setleTyCd = payVO.getSetleTyCd();
|
//String setleTyCd = payVO.getSetleTyCd();
|
||||||
if ("02".equals(dvCd)) { // 관리자 주문
|
if ("02".equals(dvCd)) { // 관리자 주문
|
||||||
String mbrNm = "";
|
String mbrNm = "";
|
||||||
if (payVO.getMbrNm() != null) {
|
if (payVO.getMbrNm() != null) {
|
||||||
@@ -311,7 +315,7 @@ public class BOOrdrLogService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 주문 로그 단순 등록
|
* 주문 로그 단순 등록
|
||||||
* @param pgApiLogVO
|
* @param logVO
|
||||||
*/
|
*/
|
||||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||||
public void insertBOOrderLogRegist(BOOrderLogVO logVO, boolean result, String message) {
|
public void insertBOOrderLogRegist(BOOrderLogVO logVO, boolean result, String message) {
|
||||||
@@ -336,7 +340,7 @@ public class BOOrdrLogService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 주문 종기능 로그 등록
|
* 주문 종기능 로그 등록
|
||||||
* @param pgApiLogVO
|
* @param bellVO
|
||||||
*/
|
*/
|
||||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||||
public void insertBOOrderBellLogRegist(BOOrderLogVO bellVO) {
|
public void insertBOOrderBellLogRegist(BOOrderLogVO bellVO) {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -29,59 +29,66 @@ public class BODwldItmVO extends AbstractVO {
|
|||||||
private String[] selItems;
|
private String[] selItems;
|
||||||
|
|
||||||
public enum items {
|
public enum items {
|
||||||
item01("export_group_innb", "출고그룹"),
|
exportGroupInnb("export_group_innb", "출고그룹"),
|
||||||
item02("ordr_innb_with_export_group_innb", "주문번호+출고그룹"),
|
ordrInnbWithExportGroupInnb("ordr_innb_with_export_group_innb", "주문번호+출고그룹"),
|
||||||
item03("ordr_innb", "주문번호"),
|
ordrInnb("ordr_innb", "주문번호"),
|
||||||
item04("smrt_shopng_ordrnb", "npay주문번호"),
|
smrtShopngOrdrnb("smrt_shopng_ordrnb", "npay주문번호"),
|
||||||
item05("ordr_rcept_dt", "주문일"),
|
ordrRceptDt("ordr_rcept_dt", "주문일"),
|
||||||
item06("ordrr_nm", "주문자명"),
|
ordrrNm("ordrr_nm", "주문자명"),
|
||||||
item07("mbr_id", "주문자아이디"),
|
mbrId("mbr_id", "주문자아이디"),
|
||||||
item08("ordrr_mbtlnb", "주문자휴대폰"),
|
ordrrMbtlnb("ordrr_mbtlnb", "주문자휴대폰"),
|
||||||
item09("ordrr_email", "주문자이메일"),
|
ordrrEmail("ordrr_email", "주문자이메일"),
|
||||||
item10("order_memo", "사용자메모"),
|
orderMemo("order_memo", "사용자메모"),
|
||||||
item11("lgstc_adm_memo", "물류담당자메모"),
|
lgstcAdmMemo("lgstc_adm_memo", "물류담당자메모"),
|
||||||
item12("inflow_cours_url", "주문경로"),
|
inflowCoursUrl("inflow_cours_url", "주문경로"),
|
||||||
item13("dlivy_dt", "출고일"),
|
dlivyDt("dlivy_dt", "출고일"),
|
||||||
item14("dlvy_mth_nm", "받는방법"),
|
dlvyMthNm("dlvy_mth_nm", "받는방법"),
|
||||||
item15("hdrycpn_nm", "택배사"),
|
hdrycpnNm("hdrycpn_nm", "택배사"),
|
||||||
item16("invcnb", "운송장번호"),
|
invcnb("invcnb", "운송장번호"),
|
||||||
item17("dlvylc_adres_info", "받는정보"),
|
dlvylcAdresInfo("dlvylc_adres_info", "받는정보"),
|
||||||
item18("recpnt_nm", "수령인"),
|
recpntNm("recpnt_nm", "수령인"),
|
||||||
item19("recpnt_mbtlnb", "수령인휴대폰"),
|
recpntMbtlnb("recpnt_mbtlnb", "수령인휴대폰"),
|
||||||
item20("dlvylc_zip", "우편번호"),
|
dlvylcZip("dlvylc_zip", "우편번호"),
|
||||||
item21("dlvylc_rnm_adres", "전체주소(도로명)"),
|
dlvylcRnmAdres("dlvylc_rnm_adres", "전체주소(도로명)"),
|
||||||
item22("dlvy_amt", "배송비"),
|
dlvyAmt("dlvy_amt", "배송비"),
|
||||||
item23("ordr_goods_innb", "상품고유번호"),
|
ordrGoodsInnb("ordr_goods_innb", "상품고유번호"),
|
||||||
item24("npay_goods_ordrnb", "npay상품주문번호"),
|
npayGoodsOrdrnb("npay_goods_ordrnb", "npay상품주문번호"),
|
||||||
item25("goods_nm", "상품명"),
|
goodsNm("goods_nm", "상품명"),
|
||||||
item26("invntry_qy", "현재고"),
|
goodsNmEn("goods_nm_en", "상품명(영문)"),
|
||||||
item27("prchspric", "매입가"),
|
invntryQy("invntry_qy", "현재고"),
|
||||||
item28("cnsmrpric", "정가"),
|
prchspric("prchspric", "매입가"),
|
||||||
item29("dscntpric", "할인가"),
|
cnsmrpric("cnsmrpric", "정가"),
|
||||||
item30("pric_by_ordr_qy", "할인가x수량"),
|
dscntpric("dscntpric", "할인가"),
|
||||||
item31("taxt_trget_at", "과세여부"),
|
pricByOrdrQy("pric_by_ordr_qy", "할인가x수량"),
|
||||||
item32("input_optn", "추가입력옵션"),
|
taxtTrgetAt("taxt_trget_at", "과세여부"),
|
||||||
item33("ordr_qy", "주문수량"),
|
inputOptn("input_optn", "추가입력옵션"),
|
||||||
item34("refnd_qy", "취소수량"),
|
ordrQy("ordr_qy", "주문수량"),
|
||||||
item35("bfr_sndng_qy", "보낸수량"),
|
refndQy("refnd_qy", "취소수량"),
|
||||||
item36("aftr_sndng_qy", "보낼수량"),
|
bfrSndngQy("bfr_sndng_qy", "보낸수량"),
|
||||||
item37("ordr_sttus_nm", "주문상품상태"),
|
aftrSndngQy("aftr_sndng_qy", "보낼수량"),
|
||||||
item38("goods_dscnt_amt", "상품쿠폰할인"),
|
ordrSttusNm("ordr_sttus_nm", "주문상품상태"),
|
||||||
item39("event_dscnt_amt", "이벤트할인"),
|
goodsDscntAmt("goods_dscnt_amt", "상품쿠폰할인"),
|
||||||
item40("mlt_dscnt_amt", "복수구매할인"),
|
eventDscntAmt("event_dscnt_amt", "이벤트할인"),
|
||||||
item41("dlvy_dscnt_amt", "배송비쿠폰"),
|
mltDscntAmt("mlt_dscnt_amt", "복수구매할인"),
|
||||||
item42("mlg_dscnt_amt", "마일리지사용"),
|
dlvyDscntAmt("dlvy_dscnt_amt", "배송비쿠폰"),
|
||||||
item43("spbk_dscnt_amt", "장바구니할인쿠폰"),
|
mlgDscntAmt("mlg_dscnt_amt", "마일리지사용"),
|
||||||
item44("enuri_dscnt_amt", "에누리"),
|
spbkDscntAmt("spbk_dscnt_amt", "장바구니할인쿠폰"),
|
||||||
item45("setle_amt", "결제금액"),
|
enuriDscntAmt("enuri_dscnt_amt", "에누리"),
|
||||||
item46("setle_dt", "결제일"),
|
setleAmt("setle_amt", "결제금액"),
|
||||||
item47("setle_mth_nm", "결제방법"),
|
setleDt("setle_dt", "결제일"),
|
||||||
item48("snggds_accml_mlg_amt", "지급마일리지"),
|
setleMthNm("setle_mth_nm", "결제방법"),
|
||||||
item49("dlvylc_group_nb", "배송그룹번호"),
|
snggdsAccmlMlgAmt("snggds_accml_mlg_amt", "지급마일리지"),
|
||||||
item50("dlvy_amt_setle_mth_nm", "배송비결제방식"),
|
dlvylcGroupNb("dlvylc_group_nb", "배송그룹번호"),
|
||||||
item51("ordr_ty_nm", "주문유형"),
|
dlvyAmtSetleMthNm("dlvy_amt_setle_mth_nm", "배송비결제방식"),
|
||||||
item52("optn_cd_1", "상품코드"),
|
ordrTyNm("ordr_ty_nm", "주문유형"),
|
||||||
item53("dlvy_mssage_cn", "배송메시지");
|
optnCd_1("optn_cd_1", "상품코드"),
|
||||||
|
hscode("hscode", "HS Code"),
|
||||||
|
realWt("realWt", "실무게"),
|
||||||
|
volWt("volWt", "부피무게"),
|
||||||
|
packageCnt("packageCnt", "포장개수"),
|
||||||
|
dlvyMssageCn("dlvy_mssage_cn", "배송메시지"),
|
||||||
|
shippingSttusNm("shipping_sttus_nm", "출고상태"),
|
||||||
|
subsvcAt("subsvc_at", "주문구분");
|
||||||
|
|
||||||
private final String key;
|
private final String key;
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ public class BOOrdrDlvyVO extends AbstractVO {
|
|||||||
|
|
||||||
private String sysDvCd; // 시스템 구분 코드
|
private String sysDvCd; // 시스템 구분 코드
|
||||||
|
|
||||||
|
private String subsvcAt; // 구독서비스 여부
|
||||||
|
|
||||||
/** 현재 주문 상태 */
|
/** 현재 주문 상태 */
|
||||||
private String currOrdrSttusCd;
|
private String currOrdrSttusCd;
|
||||||
|
|
||||||
|
|||||||
@@ -46,10 +46,14 @@ public class BOOrdrRefundVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal refundAmt; // 환불금액
|
private BigDecimal refundAmt; // 환불금액
|
||||||
|
|
||||||
|
private BigDecimal wonRefundAmt; // 환불금액(원화)
|
||||||
|
|
||||||
private BigDecimal refundAccmlmnyAmt; // 환불적립금액
|
private BigDecimal refundAccmlmnyAmt; // 환불적립금액
|
||||||
|
|
||||||
private BigDecimal refundDlvyAmt; // 환불배송비총금액
|
private BigDecimal refundDlvyAmt; // 환불배송비총금액
|
||||||
|
|
||||||
|
private BigDecimal wonRefundDlvyAmt; // 환불배송비총금액(원화)
|
||||||
|
|
||||||
private BigDecimal mlgAccmlmnyAmt; // 적립금보정금액
|
private BigDecimal mlgAccmlmnyAmt; // 적립금보정금액
|
||||||
|
|
||||||
private String mlgAccmlmnyValidDt; // 적립금유효기간
|
private String mlgAccmlmnyValidDt; // 적립금유효기간
|
||||||
@@ -90,6 +94,8 @@ public class BOOrdrRefundVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal returnDlvyAmt; // 반품배송비금액
|
private BigDecimal returnDlvyAmt; // 반품배송비금액
|
||||||
|
|
||||||
|
private BigDecimal wonReturnDlvyAmt; // 반품배송비금액(원화)
|
||||||
|
|
||||||
private String returnDlvyTrgetCd; // 반품배송비수령대상코드
|
private String returnDlvyTrgetCd; // 반품배송비수령대상코드
|
||||||
|
|
||||||
private String returnDlvyRspnsblCd; // 반품배송비지불책임코드
|
private String returnDlvyRspnsblCd; // 반품배송비지불책임코드
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ public class BOOrdrShippingVO extends AbstractVO {
|
|||||||
/** 받는자휴대폰번호 */
|
/** 받는자휴대폰번호 */
|
||||||
private String recpntMbtlnb;
|
private String recpntMbtlnb;
|
||||||
|
|
||||||
|
/** 배송지역코드 */
|
||||||
|
private String dlvylcAreaCd;
|
||||||
|
|
||||||
/** 배송지우편번호 */
|
/** 배송지우편번호 */
|
||||||
private String dlvylcZip;
|
private String dlvylcZip;
|
||||||
|
|
||||||
|
|||||||
@@ -105,4 +105,7 @@ public class BOOrdrSrchVO extends AbstractVO{
|
|||||||
|
|
||||||
private String excelCoulms; // 엑셀다운로드 조회 컬럼
|
private String excelCoulms; // 엑셀다운로드 조회 컬럼
|
||||||
private String ordrInnb; // 주문고유번호
|
private String ordrInnb; // 주문고유번호
|
||||||
|
|
||||||
|
/**주문구분*/
|
||||||
|
private String srchSubsvcAt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -151,6 +151,12 @@ public class BOOrdrVO extends AbstractVO {
|
|||||||
/** 장바구니 고유번호 배열 */
|
/** 장바구니 고유번호 배열 */
|
||||||
private String[] cartInnbs;
|
private String[] cartInnbs;
|
||||||
|
|
||||||
|
/** 구독서비스 주문여부 */
|
||||||
|
private String subsvcAt;
|
||||||
|
|
||||||
|
/** 구독서비스 고유번호 */
|
||||||
|
private String subsvcInnb;
|
||||||
|
|
||||||
/** 주문배송 고유번호 */
|
/** 주문배송 고유번호 */
|
||||||
private String ordrDlvyInnb;
|
private String ordrDlvyInnb;
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8DecryptorProviderBuilder;
|
|||||||
import org.bouncycastle.operator.InputDecryptorProvider;
|
import org.bouncycastle.operator.InputDecryptorProvider;
|
||||||
import org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo;
|
import org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
import org.json.simple.JSONValue;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.json.simple.parser.JSONParser;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -103,7 +104,8 @@ public class BOPayService{
|
|||||||
put("ordrInnb", OrderInnb);
|
put("ordrInnb", OrderInnb);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
return mapper.selectRlSetleAmt(paramMap);
|
// return mapper.selectRlSetleAmt(paramMap);
|
||||||
|
return mapper.selectWonRlSetleAmt(paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================================================== */
|
/* ============================================================================== */
|
||||||
@@ -298,7 +300,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 결제
|
* KCP 결제
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertKcpPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertKcpPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -357,7 +359,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 수기결제
|
* KCP 수기결제
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertKcpPayKeyin(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertKcpPayKeyin(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -430,7 +432,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 결제 취소
|
* KCP 결제 취소
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> cancelKcpPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> cancelKcpPay(BOPayVO payVO) throws Exception {
|
||||||
Map<String, Object> resParam = new HashMap<>();
|
Map<String, Object> resParam = new HashMap<>();
|
||||||
@@ -637,7 +639,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 에스크로 상태변경 : 배송정보전송
|
* KCP 에스크로 상태변경 : 배송정보전송
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> updateEscwKcpPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> updateEscwKcpPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -756,7 +758,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 현금영수증 발급
|
* KCP 현금영수증 발급
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertKcpCashReceipt(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertKcpCashReceipt(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -817,7 +819,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 현금영수증 취소
|
* KCP 현금영수증 취소
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> cancelKcpCashReceipt(BOPayVO payVO) throws Exception {
|
public Map<String, Object> cancelKcpCashReceipt(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -867,7 +869,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* KCP 현금영수증 조회
|
* KCP 현금영수증 조회
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> selectKcpCashReceipt(BOPayVO payVO) throws Exception {
|
public Map<String, Object> selectKcpCashReceipt(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -910,7 +912,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 토스 현금영수증 발급
|
* 토스 현금영수증 발급
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertTossCashReceipt(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertTossCashReceipt(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -950,7 +952,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 토스 현금영수증 취소
|
* 토스 현금영수증 취소
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> cancelTossCashReceipt(BOPayVO payVO) throws Exception {
|
public Map<String, Object> cancelTossCashReceipt(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -981,7 +983,7 @@ public class BOPayService{
|
|||||||
/**
|
/**
|
||||||
* 토스 결제
|
* 토스 결제
|
||||||
* 일반결제(toss), 토스페이(tossPay), 브랜드페이(brandPay) 같이 들어옴
|
* 일반결제(toss), 토스페이(tossPay), 브랜드페이(brandPay) 같이 들어옴
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertTossPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertTossPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -1018,7 +1020,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 토스 수기결제
|
* 토스 수기결제
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> insertTossPayKeyin(BOPayVO payVO) throws Exception {
|
public Map<String, Object> insertTossPayKeyin(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -1057,7 +1059,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 토스 결제취소
|
* 토스 결제취소
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> cancelTossPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> cancelTossPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
@@ -1074,17 +1076,6 @@ public class BOPayService{
|
|||||||
obj.put("refundReceiveAccount", refundReceiveAccount);
|
obj.put("refundReceiveAccount", refundReceiveAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 취소 호출 시 setModGubun을 하기로 함
|
|
||||||
String memorSetleAt = StringUtil.isNullToString(payVO.getMemorSetleAt());
|
|
||||||
if("Y".equals(memorSetleAt)){
|
|
||||||
payVO.setModGubun("keyIn");
|
|
||||||
}else if("G".equals(memorSetleAt)){ //이부분에 대한 처리 필요
|
|
||||||
payVO.setModGubun("brandPay");
|
|
||||||
}else{
|
|
||||||
payVO.setModGubun("toss");
|
|
||||||
}
|
|
||||||
// easyPay 추가되어야 함
|
|
||||||
*/
|
|
||||||
payVO.setType("cancel");
|
payVO.setType("cancel");
|
||||||
|
|
||||||
URL url = new URL("https://api.tosspayments.com/v1/payments/" + payVO.getPaymentKey() + "/cancel");
|
URL url = new URL("https://api.tosspayments.com/v1/payments/" + payVO.getPaymentKey() + "/cancel");
|
||||||
@@ -1275,7 +1266,7 @@ public class BOPayService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 토스 에스크로 상태변경 : 배송정보전송
|
* 토스 에스크로 상태변경 : 배송정보전송
|
||||||
* @param BOPayVO
|
* @param payVO
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> updateEscwTossPay(BOPayVO payVO) throws Exception {
|
public Map<String, Object> updateEscwTossPay(BOPayVO payVO) throws Exception {
|
||||||
//관련 키값 DB 조회
|
//관련 키값 DB 조회
|
||||||
@@ -1331,7 +1322,6 @@ public class BOPayService{
|
|||||||
rcvname = payVO.getRcvName(); // 실수령인명
|
rcvname = payVO.getRcvName(); // 실수령인명
|
||||||
|
|
||||||
boolean resp = false; //응답결과
|
boolean resp = false; //응답결과
|
||||||
// mertkey = resultMap.get("tossPublicKey").toString(); //토스페이먼츠에서 발급한 상점키로 변경해 주시기 바랍니다. //TODO : 확인필요
|
|
||||||
mertkey = payVO.getMertkey(); // 머트키(퍼블릭키)
|
mertkey = payVO.getMertkey(); // 머트키(퍼블릭키)
|
||||||
// mertkey = "9fd0de8489b4dc4af0dc40459958cd70"; //토스페이먼츠에서 발급한 상점키로 변경해 주시기 바랍니다.
|
// mertkey = "9fd0de8489b4dc4af0dc40459958cd70"; //토스페이먼츠에서 발급한 상점키로 변경해 주시기 바랍니다.
|
||||||
|
|
||||||
@@ -1467,12 +1457,291 @@ public class BOPayService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ============================================================================== */
|
||||||
|
/* = 여기서 부터 Kiwoom
|
||||||
|
/* = -------------------------------------------------------------------------- = */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Kiwoom 결제
|
||||||
|
* @param payVO
|
||||||
|
*/
|
||||||
|
public Map<String, Object> insertKiwoomPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
|
//관련 키값 DB 조회
|
||||||
|
/*DataMap resultMap = selectPayLink(payVO.getSopmalCd());
|
||||||
|
String reSetleAmt = StringUtil.isNullToString(selectRlSetleAmt(payVO.getSopmalCd(),payVO.getOrderId()));
|
||||||
|
reSetleAmt = reSetleAmt.isEmpty()? "10" : reSetleAmt; //0원은 정상거래로 인정되어서 10원으로 지정함*/
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step1 ");
|
||||||
|
|
||||||
|
String cpId = f_get_parm( payVO.getCpId());
|
||||||
|
String payMethod = f_get_parm( payVO.getPayMethod());
|
||||||
|
String orderNo = f_get_parm( payVO.getOrderId());
|
||||||
|
String type = f_get_parm( payVO.getType());
|
||||||
|
String amount = f_get_parm( payVO.getAmount());
|
||||||
|
|
||||||
|
JSONObject jsonObj = new JSONObject();
|
||||||
|
jsonObj.put("CPID", cpId);
|
||||||
|
jsonObj.put("PAYMETHOD", payMethod);
|
||||||
|
jsonObj.put("ORDERNO", orderNo);
|
||||||
|
jsonObj.put("TYPE", type);
|
||||||
|
jsonObj.put("AMOUNT", amount);
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step2 ::: {}", jsonObj);
|
||||||
|
|
||||||
|
|
||||||
|
//결제등록 요청시 실결제값(good_mny)
|
||||||
|
/*String payType = getPayMethod(payVO.getPayMethod());
|
||||||
|
jsonReq.put("ordr_mony", reSetleAmt); // ** 결제금액 유효성 검증 **
|
||||||
|
jsonReq.put("pay_type", payType); // ** 결제수단 유효성 검증 **
|
||||||
|
jsonReq.put("ordr_no", payVO.getOrderId()); // ** 주문번호검증 **
|
||||||
|
*/
|
||||||
|
|
||||||
|
String kiwoom_ENC = "";
|
||||||
|
try {
|
||||||
|
String targetURL = "";
|
||||||
|
if(cpId.equals("CTS18056")) {
|
||||||
|
targetURL = "https://apitest.kiwoompay.co.kr/pay/hash"; //개발서버
|
||||||
|
}else{
|
||||||
|
targetURL = "https://api.kiwoompay.co.kr/pay/hash"; //운영서버
|
||||||
|
}
|
||||||
|
log.info("insertKiwoomPay targetURL :::{} ",targetURL);
|
||||||
|
URL goUrl = new URL(targetURL);
|
||||||
|
|
||||||
|
HttpURLConnection con = (HttpURLConnection) goUrl.openConnection();
|
||||||
|
con.setRequestMethod("POST");
|
||||||
|
con.setRequestProperty("Content-Type", "application/json");
|
||||||
|
con.setUseCaches(false);
|
||||||
|
con.setDoOutput(true);
|
||||||
|
con.setDoInput(true);
|
||||||
|
|
||||||
|
OutputStream os = con.getOutputStream();
|
||||||
|
os.write((jsonObj.toString()).getBytes("euc-kr"));
|
||||||
|
os.flush();
|
||||||
|
os.close();
|
||||||
|
|
||||||
|
int responseCode = con.getResponseCode();
|
||||||
|
|
||||||
|
if (responseCode == 200) {
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||||
|
String inputLine;
|
||||||
|
StringBuffer response1 = new StringBuffer();
|
||||||
|
|
||||||
|
while ((inputLine = in.readLine()) != null) {
|
||||||
|
response1.append(inputLine);
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
JSONObject jObj = (JSONObject) JSONValue.parse(response1.toString());
|
||||||
|
kiwoom_ENC = (String) jObj.get("KIWOOM_ENC");
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step3 ::: {}", jObj);
|
||||||
|
}
|
||||||
|
con.disconnect();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject resultObj = new JSONObject();
|
||||||
|
resultObj.put("KIWOOM_ENC", kiwoom_ENC);
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step4 ::: {}", resultObj.get("KIWOOM_ENC"));
|
||||||
|
|
||||||
|
return new HashMap<>() {{
|
||||||
|
put("response", resultObj.toString());
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제취소
|
||||||
|
* @param payVO
|
||||||
|
*/
|
||||||
|
public Map<String, Object> cancelKiwoomPay(BOPayVO payVO) throws Exception {
|
||||||
|
|
||||||
|
log.debug("cancelKiwoomPay step1 payVO :::> {}", payVO);
|
||||||
|
|
||||||
|
//관련 키값 DB 조회
|
||||||
|
DataMap resultMap = selectPayLink(payVO.getSopmalCd());
|
||||||
|
|
||||||
|
log.debug("cancelKiwoomPay step2 resultMap :::> {}", resultMap);
|
||||||
|
|
||||||
|
//요청코드
|
||||||
|
String authKey = resultMap.get("kcpSecretKey").toString();
|
||||||
|
String cpId = resultMap.get("kcpMid").toString();
|
||||||
|
if ("naverpay".equals(payVO.getModGubun())) {
|
||||||
|
authKey = resultMap.get("bpaySecretKey").toString();
|
||||||
|
cpId = resultMap.get("bpayMid").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String amount = payVO.getCancelAmount(); //취소금액
|
||||||
|
String trxId = payVO.getTno(); //거래번호
|
||||||
|
String cancelReason = payVO.getCancelReason(); //취소사유
|
||||||
|
String payMethod = payVO.getPayMethod(); //취소결제수단
|
||||||
|
String cancelReq = "Y"; //취소URL 요청여부
|
||||||
|
//String TAXFREEAMT = nullCheck(request.getParameter("TAXFREEAMT")); //비과세 취소금액
|
||||||
|
|
||||||
|
//1차 요청코드
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("cancelReason", cancelReason); //취소사유
|
||||||
|
obj.put("cancelAmount", amount); //취소금액 (금액이 없으면 전체취소)
|
||||||
|
|
||||||
|
JSONObject jsonObj = new JSONObject();
|
||||||
|
jsonObj.put("CPID", cpId);
|
||||||
|
jsonObj.put("PAYMETHOD", payMethod);
|
||||||
|
jsonObj.put("AMOUNT",amount);
|
||||||
|
jsonObj.put("CANCELREQ",cancelReq);
|
||||||
|
jsonObj.put("TRXID",trxId);
|
||||||
|
jsonObj.put("CANCELREASON",cancelReason);
|
||||||
|
//jsonObj.put("TAXFREEAMT",TAXFREEAMT);
|
||||||
|
|
||||||
|
log.debug("cancelKiwoomPay step3 JSONObject ::: {}", jsonObj.toString());
|
||||||
|
|
||||||
|
//로그 저장 셋팅
|
||||||
|
JSONObject finalJObj = new JSONObject();
|
||||||
|
DataMap pgApiLogReqVO = new DataMap();
|
||||||
|
pgApiLogReqVO.put("reqParam", jsonObj.toString());
|
||||||
|
pgApiLogReqVO.put("ordrInnb", StringUtil.isNullToString(payVO.getOrderId()));
|
||||||
|
pgApiLogReqVO.put("sopmalCd", StringUtil.isNullToString(payVO.getSopmalCd()));
|
||||||
|
pgApiLogReqVO.put("pgCmpnyNm", StringUtil.isNullToString(payVO.getPgCmpnyNm()));
|
||||||
|
pgApiLogReqVO.put("mbrInnb", StringUtil.isNullToString(payVO.getMbrInnb()));
|
||||||
|
|
||||||
|
log.debug("cancelKiwoomPay step4 pgApiLogReqVO ::: {}", pgApiLogReqVO);
|
||||||
|
|
||||||
|
// ====== step 1. 취소URL 요청 ======
|
||||||
|
try{
|
||||||
|
|
||||||
|
//결제 API URL
|
||||||
|
String targetURL = "";
|
||||||
|
if(cpId.equals("CTS18056")) {
|
||||||
|
targetURL = "https://apitest.kiwoompay.co.kr/pay/ready"; //개발서버
|
||||||
|
}else{
|
||||||
|
targetURL = "https://api.kiwoompay.co.kr/pay/ready"; //운영서버
|
||||||
|
}
|
||||||
|
log.info("cancelKiwoomPay targetURL :::{} ",targetURL);
|
||||||
|
URL goUrl = new URL(targetURL);
|
||||||
|
|
||||||
|
HttpURLConnection con = (HttpURLConnection) goUrl.openConnection();
|
||||||
|
con.setRequestMethod("POST");
|
||||||
|
con.setRequestProperty("Content-Type", "application/json");
|
||||||
|
con.setRequestProperty("Authorization", authKey);
|
||||||
|
con.setUseCaches(false);
|
||||||
|
con.setDoOutput(true);
|
||||||
|
con.setDoInput(true);
|
||||||
|
|
||||||
|
OutputStream os = con.getOutputStream();
|
||||||
|
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
|
||||||
|
|
||||||
|
writer.write("");
|
||||||
|
os.write((jsonObj.toString()).getBytes("UTF-8"));
|
||||||
|
writer.flush();
|
||||||
|
writer.close();
|
||||||
|
os.close();
|
||||||
|
con.connect();
|
||||||
|
|
||||||
|
//호출 결과 값
|
||||||
|
int responseCode = con.getResponseCode();
|
||||||
|
String responseMsg = con.getResponseMessage();
|
||||||
|
|
||||||
|
log.debug("cancelKiwoom STEP1 승인전 responseCode ====={}",responseCode);
|
||||||
|
log.debug("cancelKiwoom STEP1 승인전 responseMsg ====={}",responseMsg);
|
||||||
|
|
||||||
|
String token = "";
|
||||||
|
String returnUrl = "";
|
||||||
|
|
||||||
|
//정상 수신 했을경우 (응답코드:200)
|
||||||
|
if(responseCode == 200){
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||||
|
String inputLine = null;
|
||||||
|
StringBuffer response1 = new StringBuffer();
|
||||||
|
|
||||||
|
while((inputLine = in.readLine()) != null){
|
||||||
|
response1.append(inputLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
//응답 데이터 처리
|
||||||
|
String responseBody = response1.toString();
|
||||||
|
JSONObject jObj = (JSONObject)JSONValue.parse(responseBody);
|
||||||
|
token = jObj.get("TOKEN").toString();
|
||||||
|
returnUrl = jObj.get("RETURNURL").toString();
|
||||||
|
|
||||||
|
log.debug("cancelKiwoom STEP1 승인 responseBody ====={}", responseBody);
|
||||||
|
log.debug("cancelKiwoom STEP1 승인 TOKEN200 ====={}",token);
|
||||||
|
log.debug("cancelKiwoom STEP1 승인 URL200 ====={}",returnUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
con.disconnect();
|
||||||
|
|
||||||
|
log.debug("cancelKiwoom STEP1 승인 TOKEN ====={}",token);
|
||||||
|
log.debug("cancelKiwoom STEP1 승인 URL ====={}",returnUrl);
|
||||||
|
|
||||||
|
// ====== step 2. 취소 승인 요청 ======
|
||||||
|
|
||||||
|
targetURL = returnUrl;
|
||||||
|
goUrl = new URL(targetURL);
|
||||||
|
|
||||||
|
con = (HttpURLConnection) goUrl.openConnection();
|
||||||
|
con.setRequestMethod("POST");
|
||||||
|
con.setRequestProperty("Content-Type", "application/json");
|
||||||
|
con.setRequestProperty("Authorization", authKey);
|
||||||
|
con.setRequestProperty("TOKEN", token);//TOKEN
|
||||||
|
con.setUseCaches(false);
|
||||||
|
con.setDoOutput(true);
|
||||||
|
con.setDoInput(true);
|
||||||
|
os = con.getOutputStream();
|
||||||
|
writer = new BufferedWriter(new OutputStreamWriter(os));
|
||||||
|
|
||||||
|
writer.write("");
|
||||||
|
os.write((jsonObj.toString()).getBytes("EUC-KR"));
|
||||||
|
writer.flush();
|
||||||
|
writer.close();
|
||||||
|
os.close();
|
||||||
|
con.connect();
|
||||||
|
|
||||||
|
//호출 결과 값
|
||||||
|
responseCode = con.getResponseCode();
|
||||||
|
responseMsg = con.getResponseMessage();
|
||||||
|
|
||||||
|
//정상 수신 했을경우 (응답코드:200)
|
||||||
|
if(responseCode == 200){
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
|
||||||
|
String inputLine = null;
|
||||||
|
StringBuffer response1 = new StringBuffer();
|
||||||
|
|
||||||
|
while((inputLine = in.readLine()) != null){
|
||||||
|
response1.append(inputLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
//응답 데이터 처리
|
||||||
|
String responseBody = response1.toString();
|
||||||
|
finalJObj = (JSONObject)JSONValue.parse(responseBody);
|
||||||
|
}
|
||||||
|
|
||||||
|
con.disconnect();
|
||||||
|
|
||||||
|
log.debug("Kiwoom 결제취소 jObj::: {}", finalJObj.toString());
|
||||||
|
|
||||||
|
pgApiLogReqVO.put("resParam", finalJObj.toString());
|
||||||
|
|
||||||
|
}catch(Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
|
||||||
|
log.debug("cancelKiwoomPay finally pgApiLogReqVO ::: {}", pgApiLogReqVO);
|
||||||
|
|
||||||
|
ordrLogService.insertSetleOrderPgLog(payVO, pgApiLogReqVO);
|
||||||
|
ordrLogService.insertBOPgApiLogReqRegist(pgApiLogReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
result.put("response", finalJObj.toString());
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -292,6 +292,9 @@ public class BOPayVO extends AbstractVO {
|
|||||||
/** 테스트 여부 - 테스트용 */
|
/** 테스트 여부 - 테스트용 */
|
||||||
private String testAt;
|
private String testAt;
|
||||||
|
|
||||||
|
/** 키움 - 상점ID */
|
||||||
|
private String cpId;
|
||||||
|
|
||||||
|
|
||||||
// cookie
|
// cookie
|
||||||
/** 에이전트 ID */
|
/** 에이전트 ID */
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ public interface BORtngudrefndMapper {
|
|||||||
* @param boRtngudrefndVO
|
* @param boRtngudrefndVO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Integer selectBOORderRefundAmtSumInqire(BORtngudrefndVO boRtngudrefndVO);
|
public DataMap selectBOORderRefundAmtSumInqire(BORtngudrefndVO boRtngudrefndVO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,52 +1,45 @@
|
|||||||
package com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service;
|
package com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.math.BigInteger;
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
|
import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOCashVO;
|
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOCashVO;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
||||||
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.mapper.BORtngudrefndMapper;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BOOrderReItemVO;
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BOOrderReItemVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORefundSetleVO;
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORefundSetleVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndSrchVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.selngpruf.service.BOSelngprufService;
|
import com.wb.domainserver.domain.gcone.ordr.selngpruf.service.BOSelngprufService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.selngpruf.vo.BOSelngprufVO;
|
import com.wb.domainserver.domain.gcone.ordr.selngpruf.vo.BOSelngprufVO;
|
||||||
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
||||||
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BODwldCouponVO;
|
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BODwldCouponVO;
|
||||||
import com.wb.domainserver.domain.gcone.setup.site.mapper.BOSiteMapper;
|
import com.wb.domainserver.domain.gcone.setup.site.mapper.BOSiteMapper;
|
||||||
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSetupContentsItemVO;
|
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
import com.wb.domainserver.util.string.StringUtil;
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.mapper.BORtngudrefndMapper;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndSrchVO;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO;
|
|
||||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.support.WebExchangeBindException;
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -86,6 +79,9 @@ public class BORtngudrefndService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BOOrderService orderService;
|
private BOOrderService orderService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOSubsvcService subsvcService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BORtngudrefndMapper mapper;
|
private BORtngudrefndMapper mapper;
|
||||||
|
|
||||||
@@ -249,7 +245,6 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if (boRtngudrefndVO.getRefundProcsSttusCd() != null) {
|
if (boRtngudrefndVO.getRefundProcsSttusCd() != null) {
|
||||||
|
|
||||||
if (boRtngudrefndVO.getReturnCstmrTelnb() != null) {
|
if (boRtngudrefndVO.getReturnCstmrTelnb() != null) {
|
||||||
@@ -278,28 +273,38 @@ public class BORtngudrefndService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update를 위한 파라미터 셋팅*/
|
||||||
|
BOOrdrRefundVO refundVO = new BOOrdrRefundVO();
|
||||||
|
refundVO.setSopmalCd(boRtngudrefndVO.getSopmalCd());
|
||||||
|
refundVO.setOrdrInnb(new BigInteger(boRtngudrefndVO.getOrdrInnb()));
|
||||||
|
refundVO.setOrderRefundInnb(boRtngudrefndVO.getOrderRefundInnb());
|
||||||
|
|
||||||
if ( "01".equals(boRtngudrefndVO.getRefundTyCd()) ) { // 결제 취소
|
if ( "01".equals(boRtngudrefndVO.getRefundTyCd()) ) { // 결제 취소
|
||||||
if ("01".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
|
if ("01".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { // 환불신청
|
||||||
// TODO : 신청일때 로직
|
// TODO : 신청일때 로직
|
||||||
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
||||||
|
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
|
||||||
|
ordrMapper.updateBOWonRefundAmt(refundVO);
|
||||||
|
|
||||||
} else if ("02".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
|
} else if ("02".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { //환불진행중
|
||||||
|
|
||||||
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) {
|
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { //이전 환불진행상태 = 환불신청
|
||||||
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
|
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( "02".equals(boRtngudrefndVO.getRefundMthCd()) ) {
|
if ( "02".equals(boRtngudrefndVO.getRefundMthCd()) ) { //환불방법 = 무통장계좌이체
|
||||||
|
|
||||||
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
||||||
|
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
|
||||||
|
ordrMapper.updateBOWonRefundAmt(refundVO);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// message = updateBORefundProcsProcess(boRtngudrefndVO); // 완료시에만 환불 처리
|
// message = updateBORefundProcsProcess(boRtngudrefndVO); // 완료시에만 환불 처리
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ("03".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
|
} else if ("03".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { //환불완료
|
||||||
|
|
||||||
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { // 신청에서 완료처리시
|
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { // 이전 환불진행상태 = 환불신청 => 신청에서 완료처리시
|
||||||
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
|
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,6 +318,8 @@ public class BORtngudrefndService {
|
|||||||
log.debug("상태 업데이트 파라미터 확인 : {}", boRtngudrefndVO);
|
log.debug("상태 업데이트 파라미터 확인 : {}", boRtngudrefndVO);
|
||||||
|
|
||||||
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
||||||
|
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
|
||||||
|
ordrMapper.updateBOWonRefundAmt(refundVO);
|
||||||
|
|
||||||
} else if ( "02".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고 돈을 입금하지않았을 경우
|
} else if ( "02".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고 돈을 입금하지않았을 경우
|
||||||
|
|
||||||
@@ -321,6 +328,8 @@ public class BORtngudrefndService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
|
||||||
|
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
|
||||||
|
ordrMapper.updateBOWonRefundAmt(refundVO);
|
||||||
|
|
||||||
} else if ( "03".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고
|
} else if ( "03".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고
|
||||||
|
|
||||||
@@ -466,21 +475,35 @@ public class BORtngudrefndService {
|
|||||||
Long lordrInnb = Long.valueOf(ordrInnb);
|
Long lordrInnb = Long.valueOf(ordrInnb);
|
||||||
BigInteger intOrdrInnb = BigInteger.valueOf(lordrInnb);
|
BigInteger intOrdrInnb = BigInteger.valueOf(lordrInnb);
|
||||||
String sopmalCd = refundVO.getSopmalCd();
|
String sopmalCd = refundVO.getSopmalCd();
|
||||||
Integer refundAmt = 0;
|
Integer refundAmt = 0; //현재 상품환불금액
|
||||||
|
Integer wonRefundAmt = 0; //현재 상품환불금액(원화)
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(orderReItemVOList)) {
|
if (!CollectionUtils.isEmpty(orderReItemVOList)) {
|
||||||
refundAmt = orderReItemVOList.stream()
|
refundAmt = orderReItemVOList.stream()
|
||||||
.mapToInt(BOOrderReItemVO::getGoodsRefundAmt)
|
.mapToInt(BOOrderReItemVO::getGoodsRefundAmt)
|
||||||
.sum();
|
.sum();
|
||||||
} else {
|
} else {
|
||||||
refundAmt = Integer.parseInt(refundVO.getRefundAmt()); // 현재 환불 금액
|
refundAmt = Integer.parseInt(refundVO.getRefundAmt()); // 현재 상품환불금액
|
||||||
|
}
|
||||||
|
wonRefundAmt = Integer.parseInt(refundVO.getWonRefundAmt()); //현재 상품환불금액(원화)
|
||||||
|
|
||||||
|
DataMap beforeRefund = mapper.selectBOORderRefundAmtSumInqire(refundVO);
|
||||||
|
Integer orderRefundAmtSum = 0; // 해당주문의 이전 총환불금액
|
||||||
|
Integer wonOrderRefundAmtSum = 0; // 해당주문의 이전 총환불금액(원화)
|
||||||
|
if(!ObjectUtils.isEmpty(beforeRefund)) {
|
||||||
|
orderRefundAmtSum = ((BigDecimal) beforeRefund.get("orderRefundAmtSum")).intValue(); // 해당주문의 이전 총환불금액
|
||||||
|
wonOrderRefundAmtSum = ((BigDecimal)beforeRefund.get("wonOrderRefundAmtSum")).intValue(); // 해당주문의 이전 총환불금액(원화)
|
||||||
}
|
}
|
||||||
Integer orderRefundAmtSum = mapper.selectBOORderRefundAmtSumInqire(refundVO); // 해당 주문의 총 환불금액
|
|
||||||
|
|
||||||
Integer dlvyAmtRefundAmt = 0; // 최종 배송비 처리 금액 ( 환불 배송비, 반품 배송비 조건에 따라 변동 )
|
Integer dlvyAmtRefundAmt = 0; // 최종 배송비 처리 금액 ( 환불 배송비, 반품 배송비 조건에 따라 변동 )
|
||||||
|
Integer wonDlvyAmtRefundAmt = 0; // 최종 배송비 처리 금액 ( 환불 배송비, 반품 배송비 조건에 따라 변동 )
|
||||||
Integer refundDlvyAmt = 0; // 환불 배송비 금액
|
Integer refundDlvyAmt = 0; // 환불 배송비 금액
|
||||||
|
Integer wonRefundDlvyAmt = 0; // 환불 배송비 금액
|
||||||
|
|
||||||
Integer finalRefundAmt = 0;
|
Integer finalRefundAmt = 0;
|
||||||
|
Integer finalWonRefundAmt = 0;
|
||||||
finalRefundAmt = refundAmt;
|
finalRefundAmt = refundAmt;
|
||||||
|
finalWonRefundAmt = wonRefundAmt;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@@ -506,16 +529,19 @@ public class BORtngudrefndService {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
refundDlvyAmt = Integer.parseInt(refundVO.getRefundDlvyAmt());
|
refundDlvyAmt = Integer.parseInt(refundVO.getRefundDlvyAmt());
|
||||||
|
wonRefundDlvyAmt = Integer.parseInt(refundVO.getWonRefundDlvyAmt());
|
||||||
log.debug("여기 아래부터 배송비랑 환불금액 산정하는데 그전에 refundVO 데이터 확인 : {}", refundVO);
|
log.debug("여기 아래부터 배송비랑 환불금액 산정하는데 그전에 refundVO 데이터 확인 : {}", refundVO);
|
||||||
if ("01".equals(refundVO.getRefundTyCd())) {
|
if ("01".equals(refundVO.getRefundTyCd())) {
|
||||||
|
|
||||||
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
|
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
|
||||||
|
wonRefundAmt += wonRefundDlvyAmt;
|
||||||
|
|
||||||
refundVO.setDlvyAmtRefundAmt("0");
|
refundVO.setDlvyAmtRefundAmt("0");
|
||||||
|
|
||||||
} else if ("02".equals(refundVO.getRefundTyCd())) {
|
} else if ("02".equals(refundVO.getRefundTyCd())) {
|
||||||
|
|
||||||
dlvyAmtRefundAmt = Integer.parseInt(refundVO.getReturnDlvyAmt());
|
dlvyAmtRefundAmt = Integer.parseInt(refundVO.getReturnDlvyAmt());
|
||||||
|
wonDlvyAmtRefundAmt = Integer.parseInt(refundVO.getWonReturnDlvyAmt());
|
||||||
|
|
||||||
// 배송비 책임
|
// 배송비 책임
|
||||||
if ("01".equals(refundVO.getReturnDlvyRspnsblCd())) { // 구매자 책임
|
if ("01".equals(refundVO.getReturnDlvyRspnsblCd())) { // 구매자 책임
|
||||||
@@ -530,12 +556,14 @@ public class BORtngudrefndService {
|
|||||||
if ("02".equals(refundVO.getReturnDlvyPymntTyCd()) && refundVO.getReturnDlvyAmt() != null) { // 환불금액에서 차감
|
if ("02".equals(refundVO.getReturnDlvyPymntTyCd()) && refundVO.getReturnDlvyAmt() != null) { // 환불금액에서 차감
|
||||||
// refundAmt -= dlvyAmtRefundAmt;
|
// refundAmt -= dlvyAmtRefundAmt;
|
||||||
refundAmt = refundAmt - dlvyAmtRefundAmt > 0 ? refundAmt - dlvyAmtRefundAmt : 0;
|
refundAmt = refundAmt - dlvyAmtRefundAmt > 0 ? refundAmt - dlvyAmtRefundAmt : 0;
|
||||||
|
wonRefundAmt = wonRefundAmt - wonDlvyAmtRefundAmt > 0 ? wonRefundAmt - wonDlvyAmtRefundAmt : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
refundVO.setDlvyAmtRefundAmt(StringUtil.isNullToString(dlvyAmtRefundAmt));
|
refundVO.setDlvyAmtRefundAmt(StringUtil.isNullToString(dlvyAmtRefundAmt));
|
||||||
|
|
||||||
} else if ("02".equals(refundVO.getReturnDlvyRspnsblCd())) { // 판매자
|
} else if ("02".equals(refundVO.getReturnDlvyRspnsblCd())) { // 판매자
|
||||||
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
|
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
|
||||||
|
wonRefundAmt += wonRefundDlvyAmt;
|
||||||
|
|
||||||
refundVO.setDlvyAmtRefundAmt("0");
|
refundVO.setDlvyAmtRefundAmt("0");
|
||||||
}
|
}
|
||||||
@@ -568,13 +596,23 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
log.info("setle : {}", setle);
|
log.info("setle : {}", setle);
|
||||||
Integer setleAmt = setle.getSetleAmt(); // 결제금액
|
Integer setleAmt = setle.getSetleAmt(); // 결제금액
|
||||||
|
Integer wonSetleAmt = setle.getWonSetleAmt(); // 결제금액(원화)
|
||||||
|
|
||||||
Integer remMnyAmt = setleAmt - orderRefundAmtSum;
|
Integer remMnyAmt = setleAmt - orderRefundAmtSum;
|
||||||
log.info("이번 환불 결제건에서 환불할 금액 확인 remMnyAmt : {}", remMnyAmt);
|
Integer wonRemMnyAmt = wonSetleAmt - wonOrderRefundAmtSum;
|
||||||
log.info("이번 환불 결제건에서 환불할 금액 확인 refundAmt : {}", refundAmt);
|
|
||||||
log.info("이번 환불 결제건에서 환불할 금액 확인 orderRefundAmtSum : {}", orderRefundAmtSum);
|
log.info("이번 환불 결제건에서 환불할 금액 확인 remMnyAmt : {}, {}", remMnyAmt, wonRemMnyAmt);
|
||||||
|
log.info("이번 환불 결제건에서 환불할 금액 확인 refundAmt : {}, {}", refundAmt, wonRefundAmt);
|
||||||
|
log.info("이번 환불 결제건에서 환불할 금액 확인 orderRefundAmtSum : {}, {}", orderRefundAmtSum, wonOrderRefundAmtSum);
|
||||||
|
|
||||||
Integer cancelAmt = 0; // 취소금액
|
Integer cancelAmt = 0; // 취소금액
|
||||||
|
Integer wonCancelAmt = 0; // 취소금액(원화)
|
||||||
|
|
||||||
|
// 환불금액, 결제금액 - (이전환불금액 - 환불금액)
|
||||||
cancelAmt = Math.min(refundAmt, setleAmt - (orderRefundAmtSum - refundAmt));
|
cancelAmt = Math.min(refundAmt, setleAmt - (orderRefundAmtSum - refundAmt));
|
||||||
log.info("이번 환불 결제건에서 환불할 금액 확인 cancelAmt : {}", cancelAmt);
|
wonCancelAmt = Math.min(wonRefundAmt, wonSetleAmt - (wonOrderRefundAmtSum - wonRefundAmt));
|
||||||
|
|
||||||
|
log.info("이번 환불 결제건에서 환불할 금액 확인 cancelAmt : {}, {}", cancelAmt, wonCancelAmt);
|
||||||
Integer receiptCancelAmt = cancelAmt; // 현금영수증 취소금액
|
Integer receiptCancelAmt = cancelAmt; // 현금영수증 취소금액
|
||||||
log.info("이번 환불 결제건에서 환불할 현금영수증 GC 머니 추가 전 금액 확인 receiptCancelAmt : {}", receiptCancelAmt);
|
log.info("이번 환불 결제건에서 환불할 현금영수증 GC 머니 추가 전 금액 확인 receiptCancelAmt : {}", receiptCancelAmt);
|
||||||
|
|
||||||
@@ -734,6 +772,7 @@ public class BORtngudrefndService {
|
|||||||
}
|
}
|
||||||
/************************** KCP 환불 코드 세팅 END *************************/
|
/************************** KCP 환불 코드 세팅 END *************************/
|
||||||
|
|
||||||
|
// 02:무통장계좌이체, 08:마일리지, 13:수동
|
||||||
if ("02".equals(setle.getSetleTyCd()) || "08".equals(setle.getSetleTyCd()) || "13".equals(setle.getSetleTyCd())) {
|
if ("02".equals(setle.getSetleTyCd()) || "08".equals(setle.getSetleTyCd()) || "13".equals(setle.getSetleTyCd())) {
|
||||||
|
|
||||||
if ("02".equals(setle.getSetleTyCd())) { // 무통장입금
|
if ("02".equals(setle.getSetleTyCd())) { // 무통장입금
|
||||||
@@ -788,8 +827,6 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
// TODO :
|
// TODO :
|
||||||
|
|
||||||
} else if ("08".equals(setle.getSetleTyCd())) { // 마일리지
|
|
||||||
// 마일리지 사용취소로 처리
|
|
||||||
} else if ("09".equals(setle.getSetleTyCd())) {
|
} else if ("09".equals(setle.getSetleTyCd())) {
|
||||||
// 포스 환불은 포스기계쪽에서 처리됌 GCONE 에서는 데이터 처리만 진행
|
// 포스 환불은 포스기계쪽에서 처리됌 GCONE 에서는 데이터 처리만 진행
|
||||||
} else if ("11".equals(setle.getSetleTyCd())) { // TODO : 복합 결제 취소 로직 확인 필요
|
} else if ("11".equals(setle.getSetleTyCd())) { // TODO : 복합 결제 취소 로직 확인 필요
|
||||||
@@ -802,8 +839,8 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
} else { // 일반결제
|
} else { // 일반결제
|
||||||
|
|
||||||
// 토스페이
|
// 토스페이 || "naverpay".equals(setle.getPgCmpnyNm()) >> 네이버페이는 토스에서 분리해서 키움으로 이동
|
||||||
if ("tosspay".equals(setle.getPgCmpnyNm()) || "gcpay".equals(setle.getPgCmpnyNm()) || "toss".equals(setle.getPgCmpnyNm()) || "naverpay".equals(setle.getPgCmpnyNm()) || "kakaopay".equals(setle.getPgCmpnyNm())) {
|
if ("tosspay".equals(setle.getPgCmpnyNm()) || "gcpay".equals(setle.getPgCmpnyNm()) || "toss".equals(setle.getPgCmpnyNm()) || "kakaopay".equals(setle.getPgCmpnyNm())) {
|
||||||
log.debug("toss 취소 진입");
|
log.debug("toss 취소 진입");
|
||||||
BOPayVO payVO = new BOPayVO();
|
BOPayVO payVO = new BOPayVO();
|
||||||
payVO.setOrderId(ordrInnb); // 주문 고유번호
|
payVO.setOrderId(ordrInnb); // 주문 고유번호
|
||||||
@@ -812,9 +849,9 @@ public class BORtngudrefndService {
|
|||||||
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
|
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
|
||||||
|
|
||||||
if ("01".equals(refundVO.getRefundScopeCd())) {
|
if ("01".equals(refundVO.getRefundScopeCd())) {
|
||||||
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
||||||
} else if ("02".equals(refundVO.getRefundScopeCd())) {
|
} else if ("02".equals(refundVO.getRefundScopeCd())) {
|
||||||
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
||||||
}
|
}
|
||||||
|
|
||||||
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 환불 은행코드
|
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 환불 은행코드
|
||||||
@@ -841,10 +878,12 @@ public class BORtngudrefndService {
|
|||||||
payVO.setMId(setle.getSetleMid()); // 결제 MID(상점키)
|
payVO.setMId(setle.getSetleMid()); // 결제 MID(상점키)
|
||||||
|
|
||||||
payVO.setPaymentKey(setle.getDelngNb()); // 거래번호
|
payVO.setPaymentKey(setle.getDelngNb()); // 거래번호
|
||||||
|
|
||||||
log.info("토스 취소 파라미터 확인 : {}", payVO);
|
log.info("토스 취소 파라미터 확인 : {}", payVO);
|
||||||
setleCancelResultMessage = payService.cancelTossPay(payVO);
|
setleCancelResultMessage = payService.cancelTossPay(payVO);
|
||||||
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage);
|
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage);
|
||||||
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage.get("response"));
|
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage.get("response"));
|
||||||
|
|
||||||
String jsonString = (String) setleCancelResultMessage.get("response");
|
String jsonString = (String) setleCancelResultMessage.get("response");
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
responseMap = objectMapper.readValue(jsonString, Map.class);
|
responseMap = objectMapper.readValue(jsonString, Map.class);
|
||||||
@@ -984,7 +1023,7 @@ public class BORtngudrefndService {
|
|||||||
payVO.setSetleTyCd(setle.getSetleTyCd()); // 결제 유형 코드
|
payVO.setSetleTyCd(setle.getSetleTyCd()); // 결제 유형 코드
|
||||||
|
|
||||||
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
|
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
|
||||||
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
|
||||||
|
|
||||||
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 계좌 입금 후 취소시 환불은행코드?
|
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 계좌 입금 후 취소시 환불은행코드?
|
||||||
payVO.setAccountNumber(refundVO.getRefundAcntnb()); // 환불 계좌번호
|
payVO.setAccountNumber(refundVO.getRefundAcntnb()); // 환불 계좌번호
|
||||||
@@ -992,8 +1031,8 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
payVO.setTno(setle.getDelngNb()); // 거래번호
|
payVO.setTno(setle.getDelngNb()); // 거래번호
|
||||||
payVO.setModType(refundModeType); // 전체 취소, 부분 취소
|
payVO.setModType(refundModeType); // 전체 취소, 부분 취소
|
||||||
payVO.setModMny(String.valueOf(cancelAmt)); // 부분취소 요청 금액
|
payVO.setModMny(String.valueOf(wonCancelAmt)); // 부분취소 요청 금액
|
||||||
payVO.setRemMny(String.valueOf(remMnyAmt)); // 부분취소 가능 금액
|
payVO.setRemMny(String.valueOf(wonRemMnyAmt)); // 부분취소 가능 금액
|
||||||
|
|
||||||
payVO.setSubModType(sub_mod_type); // 전체 취소, 부분 취소
|
payVO.setSubModType(sub_mod_type); // 전체 취소, 부분 취소
|
||||||
|
|
||||||
@@ -1060,6 +1099,57 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// kiwoom
|
||||||
|
} else if ("kiwoom".equals(setle.getPgCmpnyNm()) || "naverpay".equals(setle.getPgCmpnyNm())) {
|
||||||
|
log.debug("kiwoom 취소 진입");
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
payVO.setOrderId(ordrInnb); // 주문 고유번호
|
||||||
|
payVO.setSopmalCd(sopmalCd); // 쇼핑몰 코드
|
||||||
|
|
||||||
|
payVO.setMId(setle.getSetleMid()); // 결제 MID(상점키)
|
||||||
|
payVO.setSetleTyCd(setle.getSetleTyCd()); // 결제 유형 코드
|
||||||
|
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
|
||||||
|
payVO.setTno(setle.getDelngNb()); // 거래번호
|
||||||
|
|
||||||
|
//부분 취소 처리 경우 승인금액보다 취소요청금액이 적으면 부분 취소 처리
|
||||||
|
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액
|
||||||
|
|
||||||
|
if ("Y".equals(setle.getMemorSetleAt())) {
|
||||||
|
payVO.setMemorSetleAt("Y");
|
||||||
|
}
|
||||||
|
|
||||||
|
payVO.setModGubun(setle.getPgCmpnyNm()); //결제키 구분용
|
||||||
|
if ("kiwoom".equals(setle.getPgCmpnyNm())) {
|
||||||
|
payVO.setPayMethod("CARD");
|
||||||
|
} else if ("naverpay".equals(setle.getPgCmpnyNm())) {
|
||||||
|
payVO.setPayMethod("NAVERPAY");
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("kiwoom api 전달 파라미터 확인 : {}", payVO);
|
||||||
|
setleCancelResultMessage = payService.cancelKiwoomPay(payVO);
|
||||||
|
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage);
|
||||||
|
log.info("결제 취소 API 결과 확인 response : {}", setleCancelResultMessage.get("response"));
|
||||||
|
|
||||||
|
String jsonString = (String) setleCancelResultMessage.get("response");
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
responseMap = objectMapper.readValue(jsonString, Map.class);
|
||||||
|
log.debug("리스펀스 결과 : {}", responseMap);
|
||||||
|
log.info("리스펀스 결과 값 : {}", responseMap.get("RESULTCODE"));
|
||||||
|
|
||||||
|
if ("0000".equals(responseMap.get("RESULTCODE"))) {
|
||||||
|
// 0000 : 취소성공
|
||||||
|
log.debug("0000");
|
||||||
|
message.put("setleStatus", responseMap.get("RESULTCODE"));
|
||||||
|
message.put("setleMessage", responseMap.get("ERRORMESSAGE"));
|
||||||
|
} else {
|
||||||
|
log.debug("1111");
|
||||||
|
message.put("setleStatus", responseMap.get("RESULTCODE"));
|
||||||
|
message.put("setleMessage", responseMap.get("ERRORMESSAGE"));
|
||||||
|
logDtlCn = "잘못된 요청입니다. 관리자에게 문의하세요.";
|
||||||
|
throw new WnbtRestException("잘못된 요청입니다. 관리자에게 문의하세요.");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1202,6 +1292,7 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
// ########################################### 최종 반품/환불 상태변경 ###########################################
|
// ########################################### 최종 반품/환불 상태변경 ###########################################
|
||||||
boRtngudrefndVO.setRefundAmt(String.valueOf(finalRefundAmt));
|
boRtngudrefndVO.setRefundAmt(String.valueOf(finalRefundAmt));
|
||||||
|
boRtngudrefndVO.setWonRefundAmt(String.valueOf(finalWonRefundAmt));
|
||||||
boRtngudrefndVO.setDlvyAmtRefundAmt(refundVO.getDlvyAmtRefundAmt());
|
boRtngudrefndVO.setDlvyAmtRefundAmt(refundVO.getDlvyAmtRefundAmt());
|
||||||
boRtngudrefndVO.setRefundProcsSttusCd("03");
|
boRtngudrefndVO.setRefundProcsSttusCd("03");
|
||||||
log.debug("환불 상태값이랑 정보 수정하기 전 boRtngudrefndVO :: {}", boRtngudrefndVO);
|
log.debug("환불 상태값이랑 정보 수정하기 전 boRtngudrefndVO :: {}", boRtngudrefndVO);
|
||||||
@@ -1286,7 +1377,21 @@ public class BORtngudrefndService {
|
|||||||
if ("0".equals(message.get("status"))) {
|
if ("0".equals(message.get("status"))) {
|
||||||
|
|
||||||
// ########################################### 상품 재고 ###########################################
|
// ########################################### 상품 재고 ###########################################
|
||||||
|
BOOrdrVO ordrVO = new BOOrdrVO();
|
||||||
|
ordrVO.setOrdrInnb(refundVO.getOrdrInnb());
|
||||||
|
ordrVO.setSopmalCd(refundVO.getSopmalCd());
|
||||||
|
|
||||||
|
DataMap ordrDtl = ordrMapper.selectOrdrDtl(ordrVO);
|
||||||
|
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||||
|
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||||
|
if(subsvcAt) {
|
||||||
|
// 구독서비스
|
||||||
|
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||||
|
subsvcService.updateSubsvcRefundUsefulInvntryQy(ordrVO);
|
||||||
|
} else {
|
||||||
|
// 일반 주문
|
||||||
boGoodsService.updateRefundUsefulInvntryQy(refundVO);
|
boGoodsService.updateRefundUsefulInvntryQy(refundVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ########################################### 쿠폰 복원 ###########################################
|
// ########################################### 쿠폰 복원 ###########################################
|
||||||
@@ -1441,7 +1546,21 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
|
|
||||||
// ########################################### 상품 재고 ###########################################
|
// ########################################### 상품 재고 ###########################################
|
||||||
|
BOOrdrVO boOrdrVO = new BOOrdrVO();
|
||||||
|
boOrdrVO.setOrdrInnb(ordrVO.getOrdrInnb());
|
||||||
|
boOrdrVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||||
|
|
||||||
|
DataMap ordrDtl = ordrMapper.selectOrdrDtl(boOrdrVO);
|
||||||
|
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||||
|
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||||
|
if(subsvcAt) {
|
||||||
|
// 구독서비스
|
||||||
|
boOrdrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||||
|
subsvcService.updateSubsvcCancelOrderUsefulInvntryQy(boOrdrVO);
|
||||||
|
} else {
|
||||||
|
// 일반 주문
|
||||||
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
||||||
|
}
|
||||||
|
|
||||||
resotreResult.put("restoreResult", "0");
|
resotreResult.put("restoreResult", "0");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public class BORefundSetleVO extends AbstractVO {
|
|||||||
|
|
||||||
private Integer setleAmt;
|
private Integer setleAmt;
|
||||||
|
|
||||||
|
private Integer wonSetleAmt;
|
||||||
|
|
||||||
private String pgCmpnyNm;
|
private String pgCmpnyNm;
|
||||||
|
|
||||||
private String pgInnb;
|
private String pgInnb;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
private String ordrDlvyInnb;
|
private String ordrDlvyInnb;
|
||||||
|
|
||||||
private String[] ordrDlvyInnbArr;
|
private String[] ordrDlvyInnbArr;
|
||||||
//쇼핑몰코드
|
/**쇼핑몰코드*/
|
||||||
private String sopmalCd;
|
private String sopmalCd;
|
||||||
//TODO:: 추후 SESSION에서 처리 사용자,관리자 구분
|
//TODO:: 추후 SESSION에서 처리 사용자,관리자 구분
|
||||||
private String usrDv;
|
private String usrDv;
|
||||||
@@ -25,69 +25,71 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
private String orderReInnb;
|
private String orderReInnb;
|
||||||
private String refundCd; // 환불 코드 번호
|
private String refundCd; // 환불 코드 번호
|
||||||
private String orderRefundInnb;
|
private String orderRefundInnb;
|
||||||
/*주문고유번호*/
|
/**주문고유번호*/
|
||||||
private String ordrInnb;
|
private String ordrInnb;
|
||||||
/*환불신청일시*/
|
/**환불신청일시*/
|
||||||
private String refundReqstDt;
|
private String refundReqstDt;
|
||||||
/*환불완료일시*/
|
/**환불완료일시*/
|
||||||
private String refundComptDt;
|
private String refundComptDt;
|
||||||
/*신청(request), 처리중(ing), 완료(complete)*/
|
/**신청(request), 처리중(ing), 완료(complete)*/
|
||||||
private String refundProcsSttusCd;
|
private String refundProcsSttusCd;
|
||||||
/*신청(request), 처리중(ing), 완료(complete) 이전 상태 */
|
/**신청(request), 처리중(ing), 완료(complete) 이전 상태 */
|
||||||
private String oldRefundProcsSttusCd;
|
private String oldRefundProcsSttusCd;
|
||||||
/*결제취소(cancel_payment),반품환불(return),배송비환불(shipping_price)*/
|
/**결제취소(cancel_payment),반품환불(return),배송비환불(shipping_price)*/
|
||||||
private String refundTyCd;
|
private String refundTyCd;
|
||||||
/*전체취소(full), 부분취소(partial)*/
|
/**전체취소(full), 부분취소(partial)*/
|
||||||
private String refundScopeCd;
|
private String refundScopeCd;
|
||||||
/*환불사유내용*/
|
/**환불사유내용*/
|
||||||
private String refundResnCn;
|
private String refundResnCn;
|
||||||
/*계좌이체(account), 무통장(bank), 신용카드(card), 수동(manual), ?(payco_coupon), 포스기기(pos)*/
|
/**계좌이체(account), 무통장(bank), 신용카드(card), 수동(manual), ?(payco_coupon), 포스기기(pos)*/
|
||||||
private String refundMthCd;
|
private String refundMthCd;
|
||||||
/** 환불계좌은행코드 */
|
/** 환불계좌은행코드 */
|
||||||
private String refundAcntBnnkCd; // 환불계좌은행코드
|
private String refundAcntBnnkCd; // 환불계좌은행코드
|
||||||
/*환불계좌은행명*/
|
/**환불계좌은행명*/
|
||||||
private String refundAcntBnnkNm;
|
private String refundAcntBnnkNm;
|
||||||
/*환불계좌예금주명*/
|
/**환불계좌예금주명*/
|
||||||
private String refundAcntDpstrNm;
|
private String refundAcntDpstrNm;
|
||||||
/*환불계좌번호*/
|
/**환불계좌번호*/
|
||||||
private String refundAcntnb;
|
private String refundAcntnb;
|
||||||
/*환불금액*/
|
/**환불금액*/
|
||||||
private String refundAmt;
|
private String refundAmt;
|
||||||
/*환불적립금액*/
|
/**환불금액(원화)*/
|
||||||
|
private String wonRefundAmt;
|
||||||
|
/**환불적립금액*/
|
||||||
private Integer refundAccmlmnyAmt;
|
private Integer refundAccmlmnyAmt;
|
||||||
/*배송비환불총금액*/
|
/**배송비환불총금액*/
|
||||||
private Integer dlvyAmtTotRefundAmt;
|
private Integer dlvyAmtTotRefundAmt;
|
||||||
/*쿠폰할인보정금액*/
|
/**쿠폰할인보정금액*/
|
||||||
private Integer coupDscntRevisnAmt;
|
private Integer coupDscntRevisnAmt;
|
||||||
/*적립금보정금액*/
|
/**적립금보정금액*/
|
||||||
private Integer accmlmnyRevisnAmt;
|
private Integer accmlmnyRevisnAmt;
|
||||||
/*에누리보정금액*/
|
/**에누리보정금액*/
|
||||||
private Integer enuriRevisnAmt;
|
private Integer enuriRevisnAmt;
|
||||||
/*적립금유효일자*/
|
/**적립금유효일자*/
|
||||||
private String accmlmnyValidDe;
|
private String accmlmnyValidDe;
|
||||||
/*다운로드쿠폰 고유번호*/
|
/**다운로드쿠폰 고유번호*/
|
||||||
private String dwldCouponInnb;
|
private String dwldCouponInnb;
|
||||||
/*상태메모내용*/
|
/**상태메모내용*/
|
||||||
private String sttusMemoCn;
|
private String sttusMemoCn;
|
||||||
/*관리자메모내용*/
|
/**관리자메모내용*/
|
||||||
private String mngrMemoCn;
|
private String mngrMemoCn;
|
||||||
/*관리자 고유번호*/
|
/**관리자 고유번호*/
|
||||||
private String mngrInnb;
|
private String mngrInnb;
|
||||||
/*스마트쇼핑환불신청일시*/
|
/**스마트쇼핑환불신청일시*/
|
||||||
private String smrtShopngRefndReqstDt;
|
private String smrtShopngRefndReqstDt;
|
||||||
/*스마트쇼핑환불완료일시*/
|
/**스마트쇼핑환불완료일시*/
|
||||||
private String smrtShopngRefndComptDt;
|
private String smrtShopngRefndComptDt;
|
||||||
/*cancel_done, refund_request*/
|
/**cancel_done, refund_request*/
|
||||||
private String smrtShopngRefndProcsSttusCd;
|
private String smrtShopngRefndProcsSttusCd;
|
||||||
/*스마트쇼핑클레임발생금액*/
|
/**스마트쇼핑클레임발생금액*/
|
||||||
private Integer smrtShopngClaimOccrrncAmt;
|
private Integer smrtShopngClaimOccrrncAmt;
|
||||||
/*스마트쇼핑초도배송비금액*/
|
/**스마트쇼핑초도배송비금액*/
|
||||||
private Integer smrtShopngFrsttmeDlvyAmtAmt;
|
private Integer smrtShopngFrsttmeDlvyAmtAmt;
|
||||||
/*반품환불보류상품번호내용*/
|
/**반품환불보류상품번호내용*/
|
||||||
private String returnRefndDferGoodsNbCn;
|
private String returnRefndDferGoodsNbCn;
|
||||||
/*사용여부*/
|
/**사용여부*/
|
||||||
private String useAt;
|
private String useAt;
|
||||||
/*처리대상자 구분*/
|
/**처리대상자 구분*/
|
||||||
private String procsTargetDv;
|
private String procsTargetDv;
|
||||||
private String returnCd; // 반품 코드
|
private String returnCd; // 반품 코드
|
||||||
/**신청(request), 완료(complete), 철회(retraction)*/
|
/**신청(request), 완료(complete), 철회(retraction)*/
|
||||||
@@ -108,6 +110,8 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
private String returnCstmrMbtlnb;
|
private String returnCstmrMbtlnb;
|
||||||
/** 반품배송비금액 */
|
/** 반품배송비금액 */
|
||||||
private String returnDlvyAmt;
|
private String returnDlvyAmt;
|
||||||
|
/** 반품배송비금액(원화) */
|
||||||
|
private String wonReturnDlvyAmt;
|
||||||
/** company,provider */
|
/** company,provider */
|
||||||
private String returnDlvyAmtRecptTrgetCd;
|
private String returnDlvyAmtRecptTrgetCd;
|
||||||
/**구매자(buyer), 판매자(seller)*/
|
/**구매자(buyer), 판매자(seller)*/
|
||||||
@@ -144,10 +148,14 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
private String smrtShopngReturnProcsSttusCd;
|
private String smrtShopngReturnProcsSttusCd;
|
||||||
/** 배송비환불금액 */
|
/** 배송비환불금액 */
|
||||||
private String dlvyAmtRefundAmt;
|
private String dlvyAmtRefundAmt;
|
||||||
|
/** 배송비환불금액(원화) */
|
||||||
|
private String wonDlvyAmtRefundAmt;
|
||||||
/** 지번 or 도로명 주소 */
|
/** 지번 or 도로명 주소 */
|
||||||
private String lnbOrRnmAdres;
|
private String lnbOrRnmAdres;
|
||||||
/** 환불배송비총금액 */
|
/** 환불배송비총금액 */
|
||||||
private String refundDlvyAmt;
|
private String refundDlvyAmt;
|
||||||
|
/** 환불배송비총금액(원화) */
|
||||||
|
private String wonRefundDlvyAmt;
|
||||||
/** 반품 환불 상품 옵션 리스트 */
|
/** 반품 환불 상품 옵션 리스트 */
|
||||||
private List<BOOrderReItemVO> orderReItemVOList;
|
private List<BOOrderReItemVO> orderReItemVOList;
|
||||||
/**상세 내용*/
|
/**상세 내용*/
|
||||||
@@ -167,11 +175,11 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
public String endDt;
|
public String endDt;
|
||||||
//날짜 검색 구분
|
//날짜 검색 구분
|
||||||
private String srchDtDv;
|
private String srchDtDv;
|
||||||
//** 반품처리상태 */
|
/** 반품처리상태 */
|
||||||
private String[] srchReturnProcsStuusCd;
|
private String[] srchReturnProcsStuusCd;
|
||||||
//** 환불처리상태 */
|
/** 환불처리상태 */
|
||||||
private String[] srchRefundProcsSttusCd;
|
private String[] srchRefundProcsSttusCd;
|
||||||
//** 회수방법(반품) */
|
/** 회수방법(반품) */
|
||||||
private String srchReturnMthCd;
|
private String srchReturnMthCd;
|
||||||
/**검색시작일*/
|
/**검색시작일*/
|
||||||
public String srchStartDate;
|
public String srchStartDate;
|
||||||
@@ -189,9 +197,9 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
private String mbtlnb;
|
private String mbtlnb;
|
||||||
/** 회원타입코드 */
|
/** 회원타입코드 */
|
||||||
private String mbrTyCd;
|
private String mbrTyCd;
|
||||||
/*시크릿 키*/
|
/**시크릿 키*/
|
||||||
private String secretKey;
|
private String secretKey;
|
||||||
/*회원 사이트정보 갱신용*/
|
/**회원 사이트정보 갱신용*/
|
||||||
private String siteMbrInnb;
|
private String siteMbrInnb;
|
||||||
private String siteMbrDvCd;
|
private String siteMbrDvCd;
|
||||||
|
|
||||||
@@ -200,7 +208,7 @@ public class BORtngudrefndVO extends AbstractVO{
|
|||||||
/** 실 환불 GC 머니 금액 */
|
/** 실 환불 GC 머니 금액 */
|
||||||
private String prosbleCancelCashAmt;
|
private String prosbleCancelCashAmt;
|
||||||
|
|
||||||
//** 반품처리상태 */
|
/** 반품처리상태 */
|
||||||
private String[] returnProcsStuusCd;
|
private String[] returnProcsStuusCd;
|
||||||
|
|
||||||
private String serverDv;
|
private String serverDv;
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ public class BOPurchsEvtService {
|
|||||||
if ("01".equals(purchsEvtVO.getEvtDv())) {
|
if ("01".equals(purchsEvtVO.getEvtDv())) {
|
||||||
|
|
||||||
if (purchsEvtVO.getDeleteBnefList() != null) {
|
if (purchsEvtVO.getDeleteBnefList() != null) {
|
||||||
log.debug(" 삭제 리스트 확인 purchsEvtVO . get deleteList : {}", purchsEvtVO.getDeleteBnefList());
|
log.debug(" 삭제 리스트 확인 purchsEvtVO . get deleteList : {}", (Object) purchsEvtVO.getDeleteBnefList());
|
||||||
for (String deleteBnefInnb : purchsEvtVO.getDeleteBnefList()) {
|
for (String deleteBnefInnb : purchsEvtVO.getDeleteBnefList()) {
|
||||||
log.debug("deleteBnefInnb : {}", deleteBnefInnb);
|
log.debug("deleteBnefInnb : {}", deleteBnefInnb);
|
||||||
purchsEvtVO.setDeleteBnefInnb(Integer.parseInt(deleteBnefInnb));
|
purchsEvtVO.setDeleteBnefInnb(Integer.parseInt(deleteBnefInnb));
|
||||||
@@ -311,22 +311,8 @@ public class BOPurchsEvtService {
|
|||||||
|
|
||||||
// 사은품 이벤트
|
// 사은품 이벤트
|
||||||
} else if ("02".equals(purchsEvtVO.getEvtDv())) {
|
} else if ("02".equals(purchsEvtVO.getEvtDv())) {
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (!StringUtils.isEmpty(Arrays.toString(purchsEvtVO.getDeleteGiftList()))) {
|
|
||||||
log.debug(" 삭제 리스트 확인 purchsEvtVO . get getDeleteGiftList : {}", purchsEvtVO.getDeleteGiftList());
|
|
||||||
for (String deleteGiftInnb : purchsEvtVO.getDeleteGiftList()) {
|
|
||||||
log.debug("deleteGiftInnb : {}", deleteGiftInnb);
|
|
||||||
purchsEvtVO.setDeleteGiftInnb(Integer.parseInt(deleteGiftInnb));
|
|
||||||
mapper.deleteBOPurchsEvtGiftDel(purchsEvtVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
if (!StringUtils.isEmpty(Arrays.toString(purchsEvtVO.getDeleteBnefList()))) {
|
if (!StringUtils.isEmpty(Arrays.toString(purchsEvtVO.getDeleteBnefList()))) {
|
||||||
log.debug(" 삭제 리스트 확인 purchsEvtVO . get deleteList : {}", purchsEvtVO.getDeleteBnefList());
|
log.debug(" 삭제 리스트 확인 purchsEvtVO . get deleteList : {}", (Object) purchsEvtVO.getDeleteBnefList());
|
||||||
for (String deleteBnefInnb : purchsEvtVO.getDeleteBnefList()) {
|
for (String deleteBnefInnb : purchsEvtVO.getDeleteBnefList()) {
|
||||||
log.debug("deleteBnefInnb : {}", deleteBnefInnb);
|
log.debug("deleteBnefInnb : {}", deleteBnefInnb);
|
||||||
purchsEvtVO.setDeleteBnefInnb(Integer.parseInt(deleteBnefInnb));
|
purchsEvtVO.setDeleteBnefInnb(Integer.parseInt(deleteBnefInnb));
|
||||||
@@ -334,7 +320,6 @@ public class BOPurchsEvtService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (purchsEvtVO.getDiscountBnefVOList() != null && !purchsEvtVO.getDiscountBnefVOList().isEmpty()) {
|
if (purchsEvtVO.getDiscountBnefVOList() != null && !purchsEvtVO.getDiscountBnefVOList().isEmpty()) {
|
||||||
log.debug("사은품 혜택 진입");
|
log.debug("사은품 혜택 진입");
|
||||||
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.cost.mapper;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.cost.vo.BOCostVO;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
@Repository
|
||||||
|
public interface BOCostMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 목록 조회
|
||||||
|
* @param vo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectBOCostPriceList(BOCostVO vo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 삭제
|
||||||
|
* @param vo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int deleteBOCostPrice(BOCostVO vo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 추가
|
||||||
|
* @param dm
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int insertBOCostPrice(DataMap dm);
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.cost.service;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.cost.mapper.BOCostMapper;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.cost.vo.BOCostVO;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.exception.code.ErrorCode;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 BO Serivce
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-05-29 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-05-29
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class BOCostService {
|
||||||
|
@Autowired
|
||||||
|
private BOMaComncdService bOMaComncdService;
|
||||||
|
@Autowired
|
||||||
|
private BOCostMapper mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 목록 조회
|
||||||
|
* @param vo
|
||||||
|
* @return List<DataMap>
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectBOCostPriceList(BOCostVO vo) {
|
||||||
|
List<DataMap> costList = new ArrayList<>();
|
||||||
|
costList = mapper.selectBOCostPriceList(vo);
|
||||||
|
|
||||||
|
return costList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 수정
|
||||||
|
* @param vo
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public DataMap updateBOCostPriceSetup(BOCostVO vo) {
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
mapper.deleteBOCostPrice(vo);
|
||||||
|
|
||||||
|
DataMap paramMap = new DataMap();
|
||||||
|
paramMap.put("regusr", vo.getRegusr());
|
||||||
|
|
||||||
|
int[] ctInnbArr = vo.getCtInnbArr();
|
||||||
|
if (!ObjectUtils.isEmpty(ctInnbArr)) {
|
||||||
|
for (int i = 0; i < ctInnbArr.length; i++) {
|
||||||
|
paramMap.put("stdrDe", vo.getStdrDeArr()[i]);
|
||||||
|
paramMap.put("usdRate", vo.getUsdRateArr()[i]);
|
||||||
|
paramMap.put("jpDlvyCt", vo.getJpDlvyCtArr()[i]);
|
||||||
|
paramMap.put("intlDlvyAmt", vo.getIntlDlvyAmtArr()[i]);
|
||||||
|
paramMap.put("pltfomFee", vo.getPltfomFeeArr()[i]);
|
||||||
|
paramMap.put("expctTax", vo.getExpctTaxArr()[i]);
|
||||||
|
paramMap.put("cstmsFee", vo.getCstmsFeeArr()[i]);
|
||||||
|
paramMap.put("krDlvyCt", vo.getKrDlvyCtArr()[i]);
|
||||||
|
|
||||||
|
mapper.insertBOCostPrice(paramMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message.put("result", "success");
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
throw new WnbtRestException(wre.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.cost.vo;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper=false)
|
||||||
|
public class BOCostVO extends AbstractVO {
|
||||||
|
|
||||||
|
/** 원가 고유번호 */
|
||||||
|
private int[] ctInnbArr;
|
||||||
|
|
||||||
|
/** 기준일자 */
|
||||||
|
private int[] stdrDeArr;
|
||||||
|
|
||||||
|
/** USD 환율 (1,000 円) */
|
||||||
|
private BigDecimal[] usdRateArr;
|
||||||
|
|
||||||
|
/** 일본 내 물류비 */
|
||||||
|
private int[] jpDlvyCtArr;
|
||||||
|
|
||||||
|
/** 운임비용(JP) */
|
||||||
|
private int[] intlDlvyAmtArr;
|
||||||
|
|
||||||
|
/** 플랫폼 수수료율 */
|
||||||
|
private BigDecimal[] pltfomFeeArr;
|
||||||
|
|
||||||
|
/** 예상세율 */
|
||||||
|
private BigDecimal[] expctTaxArr;
|
||||||
|
|
||||||
|
/** 통관수수료 */
|
||||||
|
private int[] cstmsFeeArr;
|
||||||
|
|
||||||
|
/** 운임비용(KR) */
|
||||||
|
private int[] krDlvyCtArr;
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.exchngrt.service;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.exception.code.ErrorCode;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환율 설정 BO Serivce
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class BOExchngrtService {
|
||||||
|
@Autowired
|
||||||
|
private BOMaComncdService bOMaComncdService;
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalMapper mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환율 설정 수정
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public DataMap updateBOExchngrtSetup(BOMaSopmalVO boMaSopmalVO) {
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
mapper.updateBOExchngrtSetup(boMaSopmalVO);
|
||||||
|
message.put("result", "success");
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
throw new WnbtRestException(wre.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.exchngrt.vo;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper=false)
|
||||||
|
public class BOExchngrtVO extends AbstractVO {
|
||||||
|
|
||||||
|
/** 쇼핑몰 코드 */
|
||||||
|
private String sopmalCd;
|
||||||
|
|
||||||
|
/** 1엔 환율(살때) */
|
||||||
|
private String buyRate;
|
||||||
|
|
||||||
|
/** 1엔 환율(팔때) */
|
||||||
|
private String sellRate;
|
||||||
|
|
||||||
|
/** BOMaSopmalVO로 변환 */
|
||||||
|
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||||
|
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||||
|
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||||
|
boMaSopmalVO.setBuyRate(this.getBuyRate());
|
||||||
|
boMaSopmalVO.setSellRate(this.getSellRate());
|
||||||
|
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||||
|
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||||
|
|
||||||
|
return boMaSopmalVO;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.family.service;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.exception.code.ErrorCode;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 패밀리사이트 설정 BO Serivce
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class BOFamilyService {
|
||||||
|
@Autowired
|
||||||
|
private BOMaComncdService bOMaComncdService;
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalMapper mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 패밀리사이트 설정 수정
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public DataMap updateBOFamilySetup(BOMaSopmalVO boMaSopmalVO) {
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
mapper.deteteBOShopFamilySite(boMaSopmalVO);
|
||||||
|
|
||||||
|
DataMap paramMap = new DataMap();
|
||||||
|
paramMap.put("sopmalCd", boMaSopmalVO.getSopmalCd());
|
||||||
|
paramMap.put("regusr", boMaSopmalVO.getRegusr());
|
||||||
|
|
||||||
|
if (!ObjectUtils.isEmpty(boMaSopmalVO.getFamilySiteNmArr())) {
|
||||||
|
String[] siteNm = boMaSopmalVO.getFamilySiteNmArr();
|
||||||
|
String[] siteUrl = boMaSopmalVO.getFamilySiteUrlArr();
|
||||||
|
|
||||||
|
for (int i = 0; i < siteNm.length; i++) {
|
||||||
|
if (!StringUtil.isEmpty(siteNm[i])) {
|
||||||
|
paramMap.put("familySiteNm", siteNm[i]);
|
||||||
|
paramMap.put("familySiteUrl", siteUrl[i]);
|
||||||
|
mapper.insertBOShopFamilySite(paramMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message.put("result", "success");
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
throw new WnbtRestException(wre.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.family.vo;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper=false)
|
||||||
|
public class BOFamilyVO extends AbstractVO {
|
||||||
|
|
||||||
|
/** 쇼핑몰 코드 */
|
||||||
|
private String sopmalCd;
|
||||||
|
|
||||||
|
/** 패밀리사이트명 */
|
||||||
|
private String[] familySiteNmArr;
|
||||||
|
|
||||||
|
/** 패밀리사이트URL */
|
||||||
|
private String[] familySiteUrlArr;
|
||||||
|
|
||||||
|
/** BOMaSopmalVO로 변환 */
|
||||||
|
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||||
|
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||||
|
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||||
|
boMaSopmalVO.setFamilySiteNmArr(this.getFamilySiteNmArr());
|
||||||
|
boMaSopmalVO.setFamilySiteUrlArr(this.getFamilySiteUrlArr());
|
||||||
|
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||||
|
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||||
|
|
||||||
|
return boMaSopmalVO;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.guidance.service;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.exception.code.ErrorCode;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 안내문구 설정 BO Serivce
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class BOGuidanceService {
|
||||||
|
@Autowired
|
||||||
|
private BOMaComncdService bOMaComncdService;
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalMapper mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 안내문구 설정 수정
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public DataMap updateBOGuidanceSetup(BOMaSopmalVO boMaSopmalVO) {
|
||||||
|
DataMap message = new DataMap();
|
||||||
|
|
||||||
|
try {
|
||||||
|
mapper.updateBOGuidanceSetup(boMaSopmalVO);
|
||||||
|
message.put("result", "success");
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
throw new WnbtRestException(wre.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.wb.domainserver.domain.gcone.setup.guidance.vo;
|
||||||
|
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper=false)
|
||||||
|
public class BOGuidanceVO extends AbstractVO {
|
||||||
|
|
||||||
|
/** 쇼핑몰 코드 */
|
||||||
|
private String sopmalCd;
|
||||||
|
|
||||||
|
/** 회원가입 안내 타이틀 */
|
||||||
|
private String joinGuidanceSj;
|
||||||
|
|
||||||
|
/** 회원가입 안내문구 */
|
||||||
|
private String joinGuidanceWords;
|
||||||
|
|
||||||
|
/** 회원가입 주요혜택 */
|
||||||
|
private String joinBnef;
|
||||||
|
|
||||||
|
/** 회원가입 주요문구 */
|
||||||
|
private String joinComptWords;
|
||||||
|
|
||||||
|
/** 구독서비스 안내문구 */
|
||||||
|
private String subsvcGuidanceWords;
|
||||||
|
|
||||||
|
/** BOMaSopmalVO로 변환 */
|
||||||
|
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||||
|
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||||
|
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||||
|
boMaSopmalVO.setJoinGuidanceSj(this.getJoinGuidanceSj());
|
||||||
|
boMaSopmalVO.setJoinGuidanceWords(this.getJoinGuidanceWords());
|
||||||
|
boMaSopmalVO.setJoinBnef(this.getJoinBnef());
|
||||||
|
boMaSopmalVO.setJoinComptWords(this.getJoinComptWords());
|
||||||
|
boMaSopmalVO.setSubsvcGuidanceWords(this.getSubsvcGuidanceWords());
|
||||||
|
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||||
|
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||||
|
|
||||||
|
return boMaSopmalVO;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,6 +28,24 @@ import lombok.EqualsAndHashCode;
|
|||||||
public class BOSetupOrdrVO extends AbstractVO {
|
public class BOSetupOrdrVO extends AbstractVO {
|
||||||
/** 쇼핑몰 코드 */
|
/** 쇼핑몰 코드 */
|
||||||
private String sopmalCd;
|
private String sopmalCd;
|
||||||
|
|
||||||
|
// 여러 곳 배송
|
||||||
|
/** 여러곳배송여부 */
|
||||||
|
private String multiDlvyAt;
|
||||||
|
/** 정기배송여부 */
|
||||||
|
private String fdrmDlvyAt;
|
||||||
|
|
||||||
|
// 선물하기
|
||||||
|
/** 선물하기여부 */
|
||||||
|
private String giftDlvyAt;
|
||||||
|
/** 선물하기자동취소기간 */
|
||||||
|
private String giftDlvyAtmcCanclPd;
|
||||||
|
|
||||||
|
// GC 머니
|
||||||
|
/** 충전형마일리지 사용여부 */
|
||||||
|
private String cashAt;
|
||||||
|
|
||||||
|
// 마일리지 지급
|
||||||
/** 마일리지 지급 사용여부 */
|
/** 마일리지 지급 사용여부 */
|
||||||
private String mlgPymntAt;
|
private String mlgPymntAt;
|
||||||
/** 마일리지 지급 구분코드 */
|
/** 마일리지 지급 구분코드 */
|
||||||
@@ -42,14 +60,16 @@ public class BOSetupOrdrVO extends AbstractVO {
|
|||||||
private String mlgValidPd;
|
private String mlgValidPd;
|
||||||
/** 마일리지 유효기간 사용여부 */
|
/** 마일리지 유효기간 사용여부 */
|
||||||
private String mlgValidPdAt;
|
private String mlgValidPdAt;
|
||||||
/**여러곳배송여부*/
|
|
||||||
private String multiDlvyAt;
|
// 마일리지 사용 조건
|
||||||
/**정기배송여부*/
|
/** 마일리지 보유 사용 금액 */
|
||||||
private String fdrmDlvyAt;
|
private String mlgHoldUseAmt;
|
||||||
/**선물하기여부*/
|
/** 마일리지 결제금액 사용 금액 */
|
||||||
private String giftDlvyAt;
|
private String mlgSetleAmtUseAmt;
|
||||||
/**선물하기자동취소기간*/
|
/** 마일리지 최소 사용 금액 */
|
||||||
private String giftDlvyAtmcCanclPd;
|
private String mlgMummUseAmt;
|
||||||
/*충전형마일리지 사용여부*/
|
/** 마일리지 최대 사용 구분(MLG_MXMM_USE_DV) */
|
||||||
private String cashAt;
|
private String mlgMxmmUseDv;
|
||||||
|
/** 마일리지 최대 사용 금액 */
|
||||||
|
private String mlgMxmmUseAmt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,16 +76,26 @@ public class MngrMainController {
|
|||||||
// public String selectMngrMainInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model, HttpServletRequest request) {
|
// public String selectMngrMainInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model, HttpServletRequest request) {
|
||||||
public String selectMngrMainInqire(String authSopmalCd, ModelMap model, HttpServletRequest request, HttpServletResponse response ) {
|
public String selectMngrMainInqire(String authSopmalCd, ModelMap model, HttpServletRequest request, HttpServletResponse response ) {
|
||||||
BOBbsVO vo = new BOBbsVO();
|
BOBbsVO vo = new BOBbsVO();
|
||||||
vo.setSopmalCd(authSopmalCd);
|
|
||||||
|
|
||||||
// 작성자 정보 할당
|
// 작성자 정보 할당
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
if("01".equals(user.getSysDvCd())){
|
if("01".equals(user.getSysDvCd())){
|
||||||
vo.setSopmalCd(user.getSopmalCd());
|
vo.setSopmalCd(user.getSopmalCd());
|
||||||
}
|
}
|
||||||
// 쇼핑몰코드
|
|
||||||
vo.setRegusr(user.getUserInnb()); // 등록자
|
vo.setRegusr(user.getUserInnb()); // 등록자
|
||||||
vo.setUpdusr(user.getUserInnb()); // 수정자
|
vo.setUpdusr(user.getUserInnb()); // 수정자
|
||||||
|
// 쇼핑몰코드
|
||||||
|
if(StringUtil.isEmpty(authSopmalCd)) {
|
||||||
|
if(request.getCookies()!=null) {
|
||||||
|
for(Cookie cookie : request.getCookies()){
|
||||||
|
if("authSopmalCd".equals(cookie.getName())){
|
||||||
|
authSopmalCd = cookie.getValue();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vo.setSopmalCd(authSopmalCd);
|
||||||
|
|
||||||
DataMap resultMap = new DataMap();
|
DataMap resultMap = new DataMap();
|
||||||
resultMap = bbsService.selectBOBbscttDshboardInqireForm(vo);
|
resultMap = bbsService.selectBOBbscttDshboardInqireForm(vo);
|
||||||
|
|||||||
@@ -677,6 +677,8 @@ public class MngrMbrController {
|
|||||||
content.put("sex", sex);
|
content.put("sex", sex);
|
||||||
content.put("grad", grad);
|
content.put("grad", grad);
|
||||||
|
|
||||||
|
log.debug("BOMbrSrchVO : {}", vo);
|
||||||
|
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
// responseHandler.handleResponse(
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/mbr/mbr/selectBOMarketingTrgetSrchPopupForm", vo),
|
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/mbr/mbr/selectBOMarketingTrgetSrchPopupForm", vo),
|
||||||
|
|||||||
@@ -116,8 +116,8 @@ public class EmailController {
|
|||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@RequestMapping(value="/selectEmailPassivSndngManage")
|
@RequestMapping(value="/selectEmailPassivSndngManage")
|
||||||
public String selectEmailPassivSndngManage(){
|
public String selectEmailPassivSndngManage(ModelMap model, BOMaEmailSrchVO bOMaEmailSrchVO){
|
||||||
|
model.addAttribute("emailSrchVO", bOMaEmailSrchVO);
|
||||||
return "mngr/ntcn/email/EmailPassivSndngManage";
|
return "mngr/ntcn/email/EmailPassivSndngManage";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -122,10 +122,11 @@ public class MssageController {
|
|||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@RequestMapping(value="/selectMssagePassivSndngManage")
|
@RequestMapping(value="/selectMssagePassivSndngManage")
|
||||||
public String selectMessagePassivSndngManage(MssageVO vo, ModelMap model,
|
public String selectMessagePassivSndngManage(BOMssageVO vo, ModelMap model,
|
||||||
@CookieValue(value = "authSopmalCd") String authSopmalCd){
|
@CookieValue(value = "authSopmalCd") String authSopmalCd){
|
||||||
|
|
||||||
vo.setSopmalCd(authSopmalCd);
|
vo.setSopmalCd(authSopmalCd);
|
||||||
|
model.addAttribute("mssageVO", vo);
|
||||||
|
|
||||||
return "mngr/ntcn/mssage/MssagePassivSndngManage";
|
return "mngr/ntcn/mssage/MssagePassivSndngManage";
|
||||||
}
|
}
|
||||||
@@ -149,6 +150,7 @@ public class MssageController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DataMap content = new DataMap();
|
DataMap content = new DataMap();
|
||||||
|
content.put("mssageVO", vo);
|
||||||
content.put("shopInfoMap", service.selectBOShopInfoInqire(vo));
|
content.put("shopInfoMap", service.selectBOShopInfoInqire(vo));
|
||||||
content.put("sopmalCd", user.getSopmalCd());
|
content.put("sopmalCd", user.getSopmalCd());
|
||||||
|
|
||||||
@@ -178,6 +180,7 @@ public class MssageController {
|
|||||||
vo.setSopmalCd(user.getSopmalCd());
|
vo.setSopmalCd(user.getSopmalCd());
|
||||||
}
|
}
|
||||||
DataMap content = new DataMap();
|
DataMap content = new DataMap();
|
||||||
|
content.put("mssageVO", vo);
|
||||||
content.put("shopInfoMap", service.selectBOShopInfoInqire(vo));
|
content.put("shopInfoMap", service.selectBOShopInfoInqire(vo));
|
||||||
content.put("sopmalCd", user.getSopmalCd());
|
content.put("sopmalCd", user.getSopmalCd());
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -622,6 +626,138 @@ public class OrdrmngrController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 발주서 엑셀다운로드
|
||||||
|
* @param response
|
||||||
|
* @param ordrSrchVO
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/selectExcelPoDwldListInqire")
|
||||||
|
public void selectPurchOrderExcelList(HttpServletResponse response, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
String secretKey = commonService.selectSecretkey();
|
||||||
|
ordrSrchVO.setSecretKey(secretKey);
|
||||||
|
ordrSrchVO.setSopmalCd(authSopmalCd);
|
||||||
|
|
||||||
|
//엑셀 항목별 제목에 출력될 내용 설정
|
||||||
|
LinkedHashMap<String, String> headerMap = new LinkedHashMap<String, String>();
|
||||||
|
List<String> headerValues = List.of(
|
||||||
|
"날짜",
|
||||||
|
"업체코드",
|
||||||
|
"업체명",
|
||||||
|
"업체TEL",
|
||||||
|
"업체주소",
|
||||||
|
"특별통관업체명",
|
||||||
|
"특별통관번호",
|
||||||
|
"주문번호",
|
||||||
|
"용도구분",
|
||||||
|
"수취인",
|
||||||
|
"수취인TEL",
|
||||||
|
"수취인HP",
|
||||||
|
"개인통관고유부호",
|
||||||
|
"우편번호",
|
||||||
|
"주소",
|
||||||
|
"나머지주소",
|
||||||
|
"메모",
|
||||||
|
"고객 구입사이트",
|
||||||
|
"무게",
|
||||||
|
"포장개수",
|
||||||
|
"HS CODE",
|
||||||
|
"상거래유형",
|
||||||
|
"내용물",
|
||||||
|
"Unit Value",
|
||||||
|
"상품개수",
|
||||||
|
"Value",
|
||||||
|
"Brand",
|
||||||
|
"사전식품신고 종류",
|
||||||
|
"제조국",
|
||||||
|
"제조회사명",
|
||||||
|
"중문상품명",
|
||||||
|
"Shipper 구입사이트",
|
||||||
|
"판매중개업체명",
|
||||||
|
"판매중개업체 등록부호",
|
||||||
|
"구매(배송)대행업체명",
|
||||||
|
"구매(배송)대행업체 등록부호",
|
||||||
|
"해외판매자명",
|
||||||
|
"해외판매자 등록부호",
|
||||||
|
"사이트 주문번호"
|
||||||
|
);
|
||||||
|
for (int i = 0; i < headerValues.size(); i++) {
|
||||||
|
headerMap.put(String.format("item%02d", i + 1), headerValues.get(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
//엑셀 항목에 출력될 내용 설정
|
||||||
|
List<DataMap> resultList = service.selectExcelListPurchOrder(ordrSrchVO);
|
||||||
|
List<Map<String, Object>> excelList = new ArrayList<>();
|
||||||
|
if (resultList != null) {
|
||||||
|
for (int i = 0; i < resultList.size(); i++) {
|
||||||
|
HashMap<String, Object> dataMap = new HashMap<>();
|
||||||
|
// int cellInt = 1; // 셀 타입 = 숫자
|
||||||
|
List<Object> dataValues = Arrays.asList(
|
||||||
|
resultList.get(i).get("ordrRceptDt"),
|
||||||
|
resultList.get(i).get("entrpsCd"),
|
||||||
|
resultList.get(i).get("entrpsNm"),
|
||||||
|
resultList.get(i).get("entrpsTel"),
|
||||||
|
resultList.get(i).get("entrpsAdres"),
|
||||||
|
resultList.get(i).get("spclCstmclerEntrps"),
|
||||||
|
resultList.get(i).get("spclCstmclerCd"),
|
||||||
|
resultList.get(i).get("ordrInnb"),
|
||||||
|
resultList.get(i).get("purpsDv"),
|
||||||
|
resultList.get(i).get("recpntNm"),
|
||||||
|
resultList.get(i).get("recpntMbtlnb"),
|
||||||
|
resultList.get(i).get("recpntHp"),
|
||||||
|
resultList.get(i).get("cstmclerCd"),
|
||||||
|
resultList.get(i).get("dlvylcZip"),
|
||||||
|
resultList.get(i).get("dlvylcRnmLnbAdres"),
|
||||||
|
resultList.get(i).get("dlvylcAdresDtl"),
|
||||||
|
resultList.get(i).get("dlvyMssageCn"),
|
||||||
|
resultList.get(i).get("cstmrPurchsSite"),
|
||||||
|
resultList.get(i).get("realWt"),
|
||||||
|
resultList.get(i).get("packageCnt"),
|
||||||
|
resultList.get(i).get("hscode"),
|
||||||
|
resultList.get(i).get("cmmrcTy"),
|
||||||
|
resultList.get(i).get("cn"),
|
||||||
|
resultList.get(i).get("unitValue"),
|
||||||
|
resultList.get(i).get("ordrQy"),
|
||||||
|
resultList.get(i).get("value"),
|
||||||
|
resultList.get(i).get("brand"),
|
||||||
|
resultList.get(i).get("preFoodDcl"),
|
||||||
|
resultList.get(i).get("provdNation"),
|
||||||
|
resultList.get(i).get("provdCmpnyNm"),
|
||||||
|
resultList.get(i).get("chnlngGoodsNm"),
|
||||||
|
resultList.get(i).get("shipperPurchsSite"),
|
||||||
|
resultList.get(i).get("sleAgntEntrpsNm"),
|
||||||
|
resultList.get(i).get("sleAgntEntrpsRegistCd"),
|
||||||
|
resultList.get(i).get("purchsDlvyAgencyNm"),
|
||||||
|
resultList.get(i).get("purchsDlvyAgencyRegistCd"),
|
||||||
|
resultList.get(i).get("ovseaSelerNm"),
|
||||||
|
resultList.get(i).get("ovseaSelerRegistCd"),
|
||||||
|
resultList.get(i).get("siteOrdrInnb")
|
||||||
|
);
|
||||||
|
|
||||||
|
for (int j = 0; j < dataValues.size(); j++) {
|
||||||
|
dataMap.put(String.format("item%02d", j + 1), dataValues.get(j));
|
||||||
|
}
|
||||||
|
excelList.add(dataMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************/
|
||||||
|
try {
|
||||||
|
//엑셀생성 및 다운로드
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
String excelFileName = "발주서_";
|
||||||
|
|
||||||
|
excelFileName += String.format("%s~%s", ordrSrchVO.getSrchStartDate(), ordrSrchVO.getSrchEndDate()); // 엑셀 다운로드 파일명
|
||||||
|
|
||||||
|
String encodedFileName = URLEncoder.encode(excelFileName, StandardCharsets.UTF_8.toString()).replaceAll("\\+", "%20");
|
||||||
|
ExcelDownloadUtil.createExcel(encodedFileName, headerMap, excelList, response);
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
log.error("엑셀다운로드 중 오류가 발생하였습니다.", ioe);
|
||||||
|
throw new WnbtRestException("엑셀다운로드 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 주문내역서 팝업 화면 이동
|
* 주문내역서 팝업 화면 이동
|
||||||
* @param model
|
* @param model
|
||||||
|
|||||||
@@ -393,14 +393,6 @@ public class PurchsEvtController {
|
|||||||
tempVO.setEndAmt(null);
|
tempVO.setEndAmt(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("01".equals(purchsEvtVO.getDscntBnefDvCd())) {
|
|
||||||
tempVO.setBgnAmt("0");
|
|
||||||
tempVO.setEndAmt("0");
|
|
||||||
} else if ("02".equals(purchsEvtVO.getDscntBnefDvCd())) {
|
|
||||||
tempVO.setBgnCnt("0");
|
|
||||||
tempVO.setEndCnt("0");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
||||||
|
|||||||
@@ -0,0 +1,103 @@
|
|||||||
|
package com.wb.domainserver.domain.mngr.setup.cost;
|
||||||
|
|
||||||
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.cost.service.BOCostService;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.cost.vo.BOCostVO;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
|
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||||
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
|
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.CookieValue;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 Controller
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-05-29 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-05-29
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/mngr/setup/cost")
|
||||||
|
@Slf4j
|
||||||
|
public class CostController {
|
||||||
|
|
||||||
|
/** WebClient 호출을 위한 wrapper */
|
||||||
|
@Autowired
|
||||||
|
WnbtWebClientResponseHandler responseHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendToResrc sendToResrc;
|
||||||
|
|
||||||
|
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||||
|
@Autowired
|
||||||
|
private GconeMessageSource gconeMessageSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOCostService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 페이지 이동
|
||||||
|
*
|
||||||
|
* @param vo
|
||||||
|
* @return CostPriceUpdtU.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value = "/selectCostPriceSetup")
|
||||||
|
public String selectCostPriceSetup(BOCostVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
DataMap content = new DataMap();
|
||||||
|
|
||||||
|
content.put("costList", service.selectBOCostPriceList(vo));
|
||||||
|
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
|
||||||
|
return "mngr/setup/cost/CostPriceUpdtU";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 원가 설정 수정
|
||||||
|
*
|
||||||
|
* @param vo
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@PostMapping(value = "/updateCostPriceSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> updateCostPriceSetup(@Validated BOCostVO vo, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap message = service.updateBOCostPriceSetup(vo);
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(message))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
package com.wb.domainserver.domain.mngr.setup.exchngrt;
|
||||||
|
|
||||||
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.exchngrt.service.BOExchngrtService;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.exchngrt.vo.BOExchngrtVO;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
|
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||||
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
|
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.CookieValue;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환율 설정 Controller
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/mngr/setup/exchngrt")
|
||||||
|
@Slf4j
|
||||||
|
public class ExchngrtController {
|
||||||
|
|
||||||
|
/** WebClient 호출을 위한 wrapper */
|
||||||
|
@Autowired
|
||||||
|
WnbtWebClientResponseHandler responseHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendToResrc sendToResrc;
|
||||||
|
|
||||||
|
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||||
|
@Autowired
|
||||||
|
private GconeMessageSource gconeMessageSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOExchngrtService service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalService bOMaSopmalService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환율 설정 페이지 이동
|
||||||
|
*
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
* @return NbkkSetupListR.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value = "/selectExchngrtSetup")
|
||||||
|
public String selectExchngrtSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
DataMap content = new DataMap();
|
||||||
|
|
||||||
|
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||||
|
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||||
|
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
|
||||||
|
return "mngr/setup/exchngrt/ExchngrtUpdtU";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 환율 설정 수정
|
||||||
|
*
|
||||||
|
* @param boExchngrtVO
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@PostMapping(value = "/updateExchngrtSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> updateExchngrtSetup(@Validated BOExchngrtVO boExchngrtVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
//등록자 수정자 set
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
boExchngrtVO.setRegusr(user.getUserInnb());
|
||||||
|
boExchngrtVO.setUpdusr(user.getUserInnb());
|
||||||
|
boExchngrtVO.setSopmalCd(authSopmalCd);
|
||||||
|
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap message = service.updateBOExchngrtSetup(boExchngrtVO.setBOMaSopmalVO());
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(message))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package com.wb.domainserver.domain.mngr.setup.family;
|
||||||
|
|
||||||
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.family.service.BOFamilyService;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.family.vo.BOFamilyVO;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
|
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||||
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
|
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.CookieValue;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 패밀리사이트 설정 Controller
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/mngr/setup/family")
|
||||||
|
@Slf4j
|
||||||
|
public class FamilyController {
|
||||||
|
|
||||||
|
/** WebClient 호출을 위한 wrapper */
|
||||||
|
@Autowired
|
||||||
|
WnbtWebClientResponseHandler responseHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendToResrc sendToResrc;
|
||||||
|
|
||||||
|
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||||
|
@Autowired
|
||||||
|
private GconeMessageSource gconeMessageSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOFamilyService service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalService bOMaSopmalService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 패밀리사이트 설정 페이지 이동
|
||||||
|
*
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
* @return NbkkSetupListR.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value = "/selectFamilySiteSetup")
|
||||||
|
public String selectFamilySiteSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
DataMap content = new DataMap();
|
||||||
|
|
||||||
|
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||||
|
content.put("siteList", bOMaSopmalService.selectBOSopmalUpdtFormSitelList(boMaSopmalVO));
|
||||||
|
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
|
||||||
|
return "mngr/setup/family/FamilySiteUpdtU";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 패밀리사이트 설정 수정
|
||||||
|
*
|
||||||
|
* @param boFamilyVO
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@PostMapping(value = "/updateFamilySiteSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> updateNbkkSetup(@Validated BOFamilyVO boFamilyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
//등록자 수정자 set
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
boFamilyVO.setRegusr(user.getUserInnb());
|
||||||
|
boFamilyVO.setUpdusr(user.getUserInnb());
|
||||||
|
boFamilyVO.setSopmalCd(authSopmalCd);
|
||||||
|
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap message = service.updateBOFamilySetup(boFamilyVO.setBOMaSopmalVO());
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(message))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package com.wb.domainserver.domain.mngr.setup.guidance;
|
||||||
|
|
||||||
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.guidance.service.BOGuidanceService;
|
||||||
|
import com.wb.domainserver.domain.gcone.setup.guidance.vo.BOGuidanceVO;
|
||||||
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
|
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||||
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||||
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
|
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.CookieValue;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 안내문구 설정 Controller
|
||||||
|
*
|
||||||
|
* @author 이대환
|
||||||
|
* @version 1.0
|
||||||
|
* @see <pre>
|
||||||
|
* == (Modification Information) == 개정이력
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2026-04-27 이대환 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
* @since 2026-04-27
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/mngr/setup/guidance")
|
||||||
|
@Slf4j
|
||||||
|
public class GuidanceController {
|
||||||
|
|
||||||
|
/** WebClient 호출을 위한 wrapper */
|
||||||
|
@Autowired
|
||||||
|
WnbtWebClientResponseHandler responseHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendToResrc sendToResrc;
|
||||||
|
|
||||||
|
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||||
|
@Autowired
|
||||||
|
private GconeMessageSource gconeMessageSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOGuidanceService service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalService bOMaSopmalService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 안내문구 설정 페이지 이동
|
||||||
|
*
|
||||||
|
* @param boMaSopmalVO
|
||||||
|
* @return NbkkSetupListR.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value = "/selectGuidanceSetup")
|
||||||
|
public String selectNbkkSetupList(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
DataMap content = new DataMap();
|
||||||
|
|
||||||
|
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||||
|
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||||
|
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
model.addAttribute("sopmalCd", authSopmalCd);
|
||||||
|
|
||||||
|
return "mngr/setup/guidance/GuidanceUpdtU";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 안내문구 설정 수정
|
||||||
|
*
|
||||||
|
* @param boGuidanceVO
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@PostMapping(value = "/updateGuidanceSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> updateGuidanceSetup(@Validated BOGuidanceVO boGuidanceVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
//등록자 수정자 set
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
boGuidanceVO.setRegusr(user.getUserInnb());
|
||||||
|
boGuidanceVO.setUpdusr(user.getUserInnb());
|
||||||
|
boGuidanceVO.setSopmalCd(authSopmalCd);
|
||||||
|
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap message = service.updateBOGuidanceSetup(boGuidanceVO.setBOMaSopmalVO());
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(message))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.wb.domainserver.domain.mngr.setup.ordr.controller;
|
package com.wb.domainserver.domain.mngr.setup.ordr.controller;
|
||||||
|
|
||||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||||
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.service.BOOrdrMngrService;
|
import com.wb.domainserver.domain.gcone.setup.ordrmngr.service.BOOrdrMngrService;
|
||||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.vo.BOSetupOrdrVO;
|
import com.wb.domainserver.domain.gcone.setup.ordrmngr.vo.BOSetupOrdrVO;
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
@@ -13,6 +15,7 @@ import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
|||||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
import com.wb.domainserver.util.string.StringUtil;
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -63,6 +66,8 @@ public class SetupOrdrController {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BOOrdrMngrService service;
|
private BOOrdrMngrService service;
|
||||||
|
@Autowired
|
||||||
|
private BOMaSopmalService bOMaSopmalService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,15 +78,14 @@ public class SetupOrdrController {
|
|||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@RequestMapping(value="/selectOrdrSetupList")
|
@RequestMapping(value="/selectOrdrSetupList")
|
||||||
public String selectOrdrSetupList(ModelMap model, BOSetupOrdrVO boOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
public String selectOrdrSetupList(ModelMap model, BOSetupOrdrVO boOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||||
|
DataMap content = new DataMap();
|
||||||
|
|
||||||
boOrdrVO.setSopmalCd(authSopmalCd);
|
boOrdrVO.setSopmalCd(authSopmalCd);
|
||||||
|
content.put("ordrSetupList", service.selectBOOrdrSetupList(boOrdrVO));
|
||||||
|
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||||
if("01".equals(user.getSysDvCd())){
|
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||||
boOrdrVO.setSopmalCd(user.getSopmalCd());
|
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, Object> content = service.selectBOOrdrSetupList(boOrdrVO);
|
|
||||||
|
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
// responseHandler.handleResponse(
|
||||||
@@ -154,6 +158,19 @@ public class SetupOrdrController {
|
|||||||
vo.setMlgMxmmPymntAmt(null);
|
vo.setMlgMxmmPymntAmt(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//마일리지 사용 조건 파라미터 정제
|
||||||
|
if(!StringUtil.isEmpty(vo.getMlgHoldUseAmt()))
|
||||||
|
vo.setMlgHoldUseAmt(StringUtil.removeCommaChar(vo.getMlgHoldUseAmt()));
|
||||||
|
|
||||||
|
if(!StringUtil.isEmpty(vo.getMlgSetleAmtUseAmt()))
|
||||||
|
vo.setMlgSetleAmtUseAmt(StringUtil.removeCommaChar(vo.getMlgSetleAmtUseAmt()));
|
||||||
|
|
||||||
|
if(!StringUtil.isEmpty(vo.getMlgMummUseAmt()))
|
||||||
|
vo.setMlgMummUseAmt(StringUtil.removeCommaChar(vo.getMlgMummUseAmt()));
|
||||||
|
|
||||||
|
if(!StringUtil.isEmpty(vo.getMlgMxmmUseAmt()))
|
||||||
|
vo.setMlgMxmmUseAmt(StringUtil.removeCommaChar(vo.getMlgMxmmUseAmt()));
|
||||||
|
|
||||||
//등록자 수정자 set
|
//등록자 수정자 set
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
if("01".equals(user.getSysDvCd())){
|
if("01".equals(user.getSysDvCd())){
|
||||||
|
|||||||
@@ -1015,4 +1015,14 @@ public class MainController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 연령확인 팝업
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/sopmal/main/selectAgeChkPopup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public String selectAgeChkPopup(HttpServletRequest request) {
|
||||||
|
return Util.getDeviceType(request)+"/main/AgeChkPopupR";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -115,23 +115,116 @@ public class MyActController {
|
|||||||
|
|
||||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
|
||||||
model.addAttribute("mpageResultMap", content2);
|
model.addAttribute("mpageResultMap", content2);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mpageResultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQaR";
|
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQaR";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 일반문의 조회
|
||||||
|
* @param bbsctt
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/selectNormalQnaInqire")
|
||||||
|
public String selectNormalQnaInqire(HttpServletRequest request, ModelMap model, BOGnrlbbscttVO bbsctt, BOMbrVO vo){
|
||||||
|
bbsctt.setBbsTyCd("01");
|
||||||
|
bbsctt.setServerDv("sopmal");
|
||||||
|
bbsctt.setReqUrl("mpage");
|
||||||
|
|
||||||
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
|
||||||
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
|
model.addAttribute("mpageResultMap", content2);
|
||||||
|
|
||||||
|
return Util.getDeviceType(request)+"/mpage/act/MyNormalQaR";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 일반문의 수정 폼 이동
|
||||||
|
* @param bbsctt
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/selectNormalQnaDtlUpdtForm")
|
||||||
|
public String selectNormalQnaDtlUpdtForm(HttpServletRequest request, ModelMap model,BOGnrlbbscttVO bbsctt, BOMbrVO vo){
|
||||||
|
bbsctt.setServerDv("sopmal");
|
||||||
|
bbsctt.setBbsTyCd("01");
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
|
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||||
|
}
|
||||||
|
;
|
||||||
|
if (user.getUserInnb() > 0) {
|
||||||
|
if ("mngr".equals(bbsctt.getServerDv())) {
|
||||||
|
bbsctt.setRegusrDvCd("02"); //관리자
|
||||||
|
} else {
|
||||||
|
bbsctt.setRegusrDvCd("01"); //회원
|
||||||
|
bbsctt.setAnswMbtlnb(user.getMbtlnb());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
bbsctt.setRegusrDvCd("99");//비회원
|
||||||
|
}
|
||||||
|
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
||||||
|
BOBbsVO bbsVO = new BOBbsVO();
|
||||||
|
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
|
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||||
|
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||||
|
DataMap bbsInfo = new DataMap();
|
||||||
|
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
||||||
|
|
||||||
|
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
||||||
|
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
||||||
|
|
||||||
|
List<DataMap> itmList = new ArrayList<>();
|
||||||
|
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
||||||
|
|
||||||
|
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
||||||
|
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
||||||
|
|
||||||
|
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
||||||
|
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
||||||
|
|
||||||
|
Map<String, Object> content = new HashMap<String, Object>();
|
||||||
|
content.put("bbsInfo", bbsInfo);
|
||||||
|
content.put("bbscttVO", bbsctt);
|
||||||
|
content.put("bbscttInfo", bbscttInfo);
|
||||||
|
content.put("itmList", itmList);
|
||||||
|
content.put("qesitmList", qesitmList);
|
||||||
|
content.put("rvwQesitmList", rvwQesitmList);
|
||||||
|
|
||||||
|
model.addAttribute("resultMap", content);
|
||||||
|
model.addAttribute("bbsctt", bbsctt);
|
||||||
|
|
||||||
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
|
model.addAttribute("mpageResultMap", content2);
|
||||||
|
|
||||||
|
return Util.getDeviceType(request)+"/mpage/act/MyNormalQnaDtlUpdtU";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 일반문의 ajax 조회
|
||||||
|
* @param bbsctt
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/selectNormalQnaInqireAjax", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<?> selectNormalQnaInqireAjax(BOGnrlbbscttVO bbsctt){
|
||||||
|
bbsctt.setBbsTyCd("01");
|
||||||
|
bbsctt.setServerDv("sopmal");
|
||||||
|
bbsctt.setReqUrl("mpage");
|
||||||
|
|
||||||
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(content))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 상품 Q&A ajax 조회
|
* 상품 Q&A ajax 조회
|
||||||
* @param bbsctt
|
* @param bbsctt
|
||||||
@@ -143,7 +236,6 @@ public class MyActController {
|
|||||||
bbsctt.setBbsTyCd("05");
|
bbsctt.setBbsTyCd("05");
|
||||||
bbsctt.setServerDv("sopmal");
|
bbsctt.setServerDv("sopmal");
|
||||||
bbsctt.setReqUrl("mpage");
|
bbsctt.setReqUrl("mpage");
|
||||||
//게시글 노출 항목 설정값과 게시판 목록 조회
|
|
||||||
|
|
||||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
@@ -151,10 +243,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -178,10 +266,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOFileInfo",bbsctt),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -209,28 +293,22 @@ public class MyActController {
|
|||||||
bbsctt.setRegusrDvCd("99");//비회원
|
bbsctt.setRegusrDvCd("99");//비회원
|
||||||
}
|
}
|
||||||
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
||||||
// 게시판 설정 정보
|
|
||||||
BOBbsVO bbsVO = new BOBbsVO();
|
BOBbsVO bbsVO = new BOBbsVO();
|
||||||
// bbsVO에 쇼핑몰코드, 해당 게시판 set
|
|
||||||
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
bbsVO.setBbsId(bbsctt.getBbsId());
|
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||||
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||||
DataMap bbsInfo = new DataMap();
|
DataMap bbsInfo = new DataMap();
|
||||||
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
||||||
|
|
||||||
// 게시글 상세 조회
|
|
||||||
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
||||||
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
||||||
|
|
||||||
// 분류 조회
|
|
||||||
List<DataMap> itmList = new ArrayList<>();
|
List<DataMap> itmList = new ArrayList<>();
|
||||||
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
||||||
|
|
||||||
//추가 항목 조회, 추가항목 항목 조회
|
|
||||||
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
||||||
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
||||||
|
|
||||||
//리뷰항목 리스트, 리뷰항목 항목 리스트
|
|
||||||
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
||||||
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
||||||
|
|
||||||
@@ -243,24 +321,14 @@ public class MyActController {
|
|||||||
content.put("rvwQesitmList", rvwQesitmList);
|
content.put("rvwQesitmList", rvwQesitmList);
|
||||||
|
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttUpdtPopupForm",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
model.addAttribute("bbsctt", bbsctt);
|
model.addAttribute("bbsctt", bbsctt);
|
||||||
|
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
model.addAttribute("mpageResultMap", content2);
|
model.addAttribute("mpageResultMap", content2);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mpageResultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQnaDtlUpdtU";
|
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQnaDtlUpdtU";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1:1 문의 조회
|
* 1:1 문의 조회
|
||||||
* @param bbsctt
|
* @param bbsctt
|
||||||
@@ -275,23 +343,13 @@ public class MyActController {
|
|||||||
|
|
||||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
|
||||||
model.addAttribute("mpageResultMap", content2);
|
model.addAttribute("mpageResultMap", content2);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mpageResultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyM2mQaR";
|
return Util.getDeviceType(request)+"/mpage/act/MyM2mQaR";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1:1 문의 ajax 조회
|
* 1:1 문의 ajax 조회
|
||||||
* @param bbsctt
|
* @param bbsctt
|
||||||
@@ -303,7 +361,6 @@ public class MyActController {
|
|||||||
bbsctt.setBbsTyCd("12");
|
bbsctt.setBbsTyCd("12");
|
||||||
bbsctt.setServerDv("sopmal");
|
bbsctt.setServerDv("sopmal");
|
||||||
bbsctt.setReqUrl("mpage");
|
bbsctt.setReqUrl("mpage");
|
||||||
//게시글 노출 항목 설정값과 게시판 목록 조회
|
|
||||||
|
|
||||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
@@ -311,10 +368,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -343,28 +396,22 @@ public class MyActController {
|
|||||||
bbsctt.setRegusrDvCd("99");//비회원
|
bbsctt.setRegusrDvCd("99");//비회원
|
||||||
}
|
}
|
||||||
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
||||||
// 게시판 설정 정보
|
|
||||||
BOBbsVO bbsVO = new BOBbsVO();
|
BOBbsVO bbsVO = new BOBbsVO();
|
||||||
// bbsVO에 쇼핑몰코드, 해당 게시판 set
|
|
||||||
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
bbsVO.setBbsId(bbsctt.getBbsId());
|
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||||
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||||
DataMap bbsInfo = new DataMap();
|
DataMap bbsInfo = new DataMap();
|
||||||
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
||||||
|
|
||||||
// 게시글 상세 조회
|
|
||||||
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
||||||
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
||||||
|
|
||||||
// 분류 조회
|
|
||||||
List<DataMap> itmList = new ArrayList<>();
|
List<DataMap> itmList = new ArrayList<>();
|
||||||
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
||||||
|
|
||||||
//추가 항목 조회, 추가항목 항목 조회
|
|
||||||
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
||||||
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
||||||
|
|
||||||
//리뷰항목 리스트, 리뷰항목 항목 리스트
|
|
||||||
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
||||||
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
||||||
|
|
||||||
@@ -377,21 +424,10 @@ public class MyActController {
|
|||||||
content.put("rvwQesitmList", rvwQesitmList);
|
content.put("rvwQesitmList", rvwQesitmList);
|
||||||
|
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttUpdtPopupForm",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
model.addAttribute("bbsctt", bbsctt);
|
model.addAttribute("bbsctt", bbsctt);
|
||||||
|
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
model.addAttribute("mpageResultMap", content2);
|
model.addAttribute("mpageResultMap", content2);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mpageResultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyM2mQnaDtlUpdtU";
|
return Util.getDeviceType(request)+"/mpage/act/MyM2mQnaDtlUpdtU";
|
||||||
}
|
}
|
||||||
@@ -407,28 +443,17 @@ public class MyActController {
|
|||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
bbsctt.setSopmalCd(user.getSopmalCd());
|
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||||
|
|
||||||
/*리뷰 조회 폼*/
|
|
||||||
DataMap rvwBnefInfo = new DataMap();
|
DataMap rvwBnefInfo = new DataMap();
|
||||||
rvwBnefInfo = service.selectBORvwBnefInfo(bbsctt);
|
rvwBnefInfo = service.selectBORvwBnefInfo(bbsctt);
|
||||||
|
|
||||||
model.addAttribute("mlgAccmlNtc", rvwBnefInfo);
|
model.addAttribute("mlgAccmlNtc", rvwBnefInfo);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBORvwBnefInfo",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mlgAccmlNtc"
|
|
||||||
// );
|
|
||||||
|
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
model.addAttribute("mpageResultMap", content2);
|
model.addAttribute("mpageResultMap", content2);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
|
||||||
// model,
|
|
||||||
// "mpageResultMap"
|
|
||||||
// );
|
|
||||||
model.addAttribute("vo",bbsctt);
|
model.addAttribute("vo",bbsctt);
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyRvwRForm";
|
return Util.getDeviceType(request)+"/mpage/act/MyRvwRForm";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 나의 리뷰 조회 작성 가능한 리뷰
|
* 나의 리뷰 조회 작성 가능한 리뷰
|
||||||
* @param rvwVO
|
* @param rvwVO
|
||||||
@@ -442,13 +467,9 @@ public class MyActController {
|
|||||||
|
|
||||||
Map<String, Object> content = selectBOWritPosblRvw(rvwVO);
|
Map<String, Object> content = selectBOWritPosblRvw(rvwVO);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOWritPosblRvw",rvwVO),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/WritngPosblRvwR";
|
return Util.getDeviceType(request)+"/mpage/act/WritngPosblRvwR";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 나의 리뷰 조회 작성 가능한 리뷰 ajax(인피니트스크롤)
|
* 나의 리뷰 조회 작성 가능한 리뷰 ajax(인피니트스크롤)
|
||||||
* @param rvwVO
|
* @param rvwVO
|
||||||
@@ -466,10 +487,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOWritPosblRvw",rvwVO),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -486,11 +503,6 @@ public class MyActController {
|
|||||||
|
|
||||||
DataMap content = selectBOMyRvwListInqire(rvwVO);
|
DataMap content = selectBOMyRvwListInqire(rvwVO);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOMyRvwListInqire",rvwVO),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/MyRvwR";
|
return Util.getDeviceType(request)+"/mpage/act/MyRvwR";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,10 +524,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOMyRvwListInqire",rvwVO),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -528,15 +536,9 @@ public class MyActController {
|
|||||||
public String selectRvwWritngPopupForm(HttpServletRequest request, ModelMap model, BOGnrlbbscttVO rvwVO){
|
public String selectRvwWritngPopupForm(HttpServletRequest request, ModelMap model, BOGnrlbbscttVO rvwVO){
|
||||||
rvwVO.setRvwBbscttDv("rvw");
|
rvwVO.setRvwBbscttDv("rvw");
|
||||||
rvwVO.setServerDv("sopmal");
|
rvwVO.setServerDv("sopmal");
|
||||||
//리뷰 등록 가능 여부 true시 등록폼 호출
|
|
||||||
|
|
||||||
Map<String, Object> content = selectBOBbscttRegistPopupForm(rvwVO);
|
Map<String, Object> content = selectBOBbscttRegistPopupForm(rvwVO);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttRegistPopupForm",rvwVO),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/RvwWritngPopupC";
|
return Util.getDeviceType(request)+"/mpage/act/RvwWritngPopupC";
|
||||||
}
|
}
|
||||||
@@ -556,30 +558,24 @@ public class MyActController {
|
|||||||
bbsctt.setSopmalCd(user.getSopmalCd());
|
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 작성자 정보 추출
|
if (user.getUserInnb() > 0) {
|
||||||
if (user.getUserInnb() > 0) { //회원 , 관리자
|
|
||||||
bbsctt.setUpdusr(user.getUserInnb());
|
bbsctt.setUpdusr(user.getUserInnb());
|
||||||
} else { // 비회원
|
} else {
|
||||||
bbsctt.setUpdusr(0);
|
bbsctt.setUpdusr(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> content = new HashMap<>();
|
Map<String, Object> content = new HashMap<>();
|
||||||
|
|
||||||
/*게시글 삭제*/
|
|
||||||
DataMap bbscttDelResult = service.updateBOBbscttDel(bbsctt);
|
DataMap bbscttDelResult = service.updateBOBbscttDel(bbsctt);
|
||||||
content.put("result", bbscttDelResult);
|
content.put("result", bbscttDelResult);
|
||||||
/*삭제 성공 시*/
|
|
||||||
if ("success".equals(bbscttDelResult.get("result"))) {
|
if ("success".equals(bbscttDelResult.get("result"))) {
|
||||||
//리뷰 관련 처리
|
|
||||||
if ("06".equals(bbsctt.getBbsTyCd()) || "07".equals(bbsctt.getBbsTyCd())) {
|
if ("06".equals(bbsctt.getBbsTyCd()) || "07".equals(bbsctt.getBbsTyCd())) {
|
||||||
if (!CollectionUtils.isEmpty(bbsctt.getDelInfoArr())) {
|
if (!CollectionUtils.isEmpty(bbsctt.getDelInfoArr())) {
|
||||||
/*해당 정보로 마일리지 금액 조회하기*/
|
|
||||||
List<Object> accmlmnyAmtInfoArr = new ArrayList<>();
|
List<Object> accmlmnyAmtInfoArr = new ArrayList<>();
|
||||||
BOMlgVO mlgVo = new BOMlgVO();
|
BOMlgVO mlgVo = new BOMlgVO();
|
||||||
for (BODelInfoVO delInfo : bbsctt.getDelInfoArr()) {
|
for (BODelInfoVO delInfo : bbsctt.getDelInfoArr()) {
|
||||||
if ("01".equals(delInfo.getRegusrDvCd())) {
|
if ("01".equals(delInfo.getRegusrDvCd())) {
|
||||||
if ("03".equals(user.getSysDvCd())) { //관리자 삭제시 마일리지 회수
|
if ("03".equals(user.getSysDvCd())) {
|
||||||
/*공통 파라미터*/
|
|
||||||
mlgVo.setMbrInnb(String.valueOf(delInfo.getRegusr()));
|
mlgVo.setMbrInnb(String.valueOf(delInfo.getRegusr()));
|
||||||
mlgVo.setMbrDvCd(delInfo.getMbrDvCd());
|
mlgVo.setMbrDvCd(delInfo.getMbrDvCd());
|
||||||
mlgVo.setSopmalCd(bbsctt.getSopmalCd());
|
mlgVo.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
@@ -591,8 +587,7 @@ public class MyActController {
|
|||||||
mlgVo.setRegusr(user.getUserInnb());
|
mlgVo.setRegusr(user.getUserInnb());
|
||||||
mlgVo.setUpdusr(user.getUserInnb());
|
mlgVo.setUpdusr(user.getUserInnb());
|
||||||
|
|
||||||
/*마일리지 수동 회수 여부*/
|
if ("N".equals(bbsctt.getMlgPassivRtrvlAt())) {
|
||||||
if ("N".equals(bbsctt.getMlgPassivRtrvlAt())) { // 선택 삭제시
|
|
||||||
DataMap accmlmnyAmtInfo = new DataMap();
|
DataMap accmlmnyAmtInfo = new DataMap();
|
||||||
accmlmnyAmtInfo = mlgService.selectBOMlgByBbscttInnb(mlgVo);
|
accmlmnyAmtInfo = mlgService.selectBOMlgByBbscttInnb(mlgVo);
|
||||||
if (accmlmnyAmtInfo != null) {
|
if (accmlmnyAmtInfo != null) {
|
||||||
@@ -603,7 +598,7 @@ public class MyActController {
|
|||||||
mlgVo.setAccmlmnyAmt((BigDecimal) accmlmnyAmtInfo.get("accmlmnyAmt"));
|
mlgVo.setAccmlmnyAmt((BigDecimal) accmlmnyAmtInfo.get("accmlmnyAmt"));
|
||||||
mlgService.insertBOMngrMlgDn(mlgVo);
|
mlgService.insertBOMngrMlgDn(mlgVo);
|
||||||
}
|
}
|
||||||
} else { //단독 삭제시*/
|
} else {
|
||||||
if (delInfo.getRtrvlMlgAmt() != null) {
|
if (delInfo.getRtrvlMlgAmt() != null) {
|
||||||
if (delInfo.getRtrvlMlgAmt().compareTo(BigDecimal.valueOf(0)) > 0) {
|
if (delInfo.getRtrvlMlgAmt().compareTo(BigDecimal.valueOf(0)) > 0) {
|
||||||
mlgVo.setAccmlmnyAmt(delInfo.getRtrvlMlgAmt());
|
mlgVo.setAccmlmnyAmt(delInfo.getRtrvlMlgAmt());
|
||||||
@@ -612,7 +607,6 @@ public class MyActController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//회원 관련
|
|
||||||
if (delInfo.getRegusr() != null) {
|
if (delInfo.getRegusr() != null) {
|
||||||
BOGnrlbbscttVO mbrSite = new BOGnrlbbscttVO();
|
BOGnrlbbscttVO mbrSite = new BOGnrlbbscttVO();
|
||||||
mbrSite.setSopmalCd(bbsctt.getSopmalCd());
|
mbrSite.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
@@ -627,26 +621,20 @@ public class MyActController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//상품관련 집계와 회원관련 집계는 관리자혹은 사용자가 모두 삭제 시 처리가 되어야해
|
|
||||||
//상품 관련
|
|
||||||
if (delInfo.getGoodsInnb() != null) {
|
if (delInfo.getGoodsInnb() != null) {
|
||||||
BOGoodsVO goodsVO = new BOGoodsVO();
|
BOGoodsVO goodsVO = new BOGoodsVO();
|
||||||
goodsVO.setGoodsInnb(String.valueOf(delInfo.getGoodsInnb()));
|
goodsVO.setGoodsInnb(String.valueOf(delInfo.getGoodsInnb()));
|
||||||
goodsVO.setSopmalCd(bbsctt.getSopmalCd());
|
goodsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
/*상품정보 > 상품후기건수 차감*/
|
|
||||||
goodsService.updateRvwRelateSm(goodsVO);
|
goodsService.updateRvwRelateSm(goodsVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ("05".equals(bbsctt.getBbsTyCd())) {//상품qna는 상품문의 집계만
|
} else if ("05".equals(bbsctt.getBbsTyCd())) {
|
||||||
//상품 관련
|
|
||||||
if (!CollectionUtils.isEmpty(bbsctt.getGoodsInnbArr())) {
|
if (!CollectionUtils.isEmpty(bbsctt.getGoodsInnbArr())) {
|
||||||
for (String goodsInnb : bbsctt.getGoodsInnbArr()) {
|
for (String goodsInnb : bbsctt.getGoodsInnbArr()) {
|
||||||
BOGoodsVO goodsVO = new BOGoodsVO();
|
BOGoodsVO goodsVO = new BOGoodsVO();
|
||||||
goodsVO.setGoodsInnb(goodsInnb);
|
goodsVO.setGoodsInnb(goodsInnb);
|
||||||
goodsVO.setSopmalCd(bbsctt.getSopmalCd());
|
goodsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
|
|
||||||
/*상품정보 > 상품후기건수 차감*/
|
|
||||||
goodsService.updateGoodsInqryCnt(goodsVO);
|
goodsService.updateGoodsInqryCnt(goodsVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -658,10 +646,6 @@ public class MyActController {
|
|||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
// return responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/updateBOBbscttDel",bbsctt),
|
|
||||||
// ReplyFromResrc::getReply
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -677,11 +661,6 @@ public class MyActController {
|
|||||||
|
|
||||||
Map<String, Object> content = selectBOBbscttRegistPopupForm(vo);
|
Map<String, Object> content = selectBOBbscttRegistPopupForm(vo);
|
||||||
model.addAttribute("resultMap", content);
|
model.addAttribute("resultMap", content);
|
||||||
// responseHandler.handleResponse(
|
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttRegistPopupForm", vo),
|
|
||||||
// model,
|
|
||||||
// "resultMap"
|
|
||||||
// );
|
|
||||||
return Util.getDeviceType(request)+"/mpage/act/RvwEasyRegistC";
|
return Util.getDeviceType(request)+"/mpage/act/RvwEasyRegistC";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -693,7 +672,7 @@ public class MyActController {
|
|||||||
public DataMap selectBOBbscttListInqire(BOGnrlbbscttVO bbsctt) {
|
public DataMap selectBOBbscttListInqire(BOGnrlbbscttVO bbsctt) {
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
|
||||||
if ("01".equals(user.getSysDvCd())) {//사용자 조회 일 경우
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
bbsctt.setSopmalCd(user.getSopmalCd());
|
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -710,7 +689,6 @@ public class MyActController {
|
|||||||
bbsctt.setRegusrDvCd("99");
|
bbsctt.setRegusrDvCd("99");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// pagination
|
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
||||||
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
||||||
@@ -721,13 +699,10 @@ public class MyActController {
|
|||||||
bbsctt.setLastIndex(paginationInfo.getLastRecordIndex());
|
bbsctt.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
bbsctt.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
bbsctt.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
// 게시글 목록조회
|
|
||||||
Map<String, Object> resultList = new HashMap<String, Object>();
|
Map<String, Object> resultList = new HashMap<String, Object>();
|
||||||
resultList = service.selectBOBbscttListInqire(bbsctt);
|
resultList = service.selectBOBbscttListInqire(bbsctt);
|
||||||
|
|
||||||
// 게시판 설정 정보 조회
|
|
||||||
BOBbsVO bbsVO = new BOBbsVO();
|
BOBbsVO bbsVO = new BOBbsVO();
|
||||||
// bbsVO에 쇼핑몰코드, 해당 게시판 set
|
|
||||||
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
bbsVO.setBbsId(bbsctt.getBbsId());
|
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||||
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||||
@@ -747,13 +722,11 @@ public class MyActController {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> selectBOMpageInfoInqire(BOMbrVO vo) {
|
public Map<String, Object> selectBOMpageInfoInqire(BOMbrVO vo) {
|
||||||
// 사용자 정보 추출 및 적용
|
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
vo.setSopmalCd(user.getSopmalCd());
|
vo.setSopmalCd(user.getSopmalCd());
|
||||||
vo.setMbrInnb(String.valueOf(user.getUserInnb()));
|
vo.setMbrInnb(String.valueOf(user.getUserInnb()));
|
||||||
vo.setMbrDvCd(user.getMbrDvCd());
|
vo.setMbrDvCd(user.getMbrDvCd());
|
||||||
|
|
||||||
// 상품 옵션 조회
|
|
||||||
Map<String, Object> message = new HashMap<>();
|
Map<String, Object> message = new HashMap<>();
|
||||||
message = boMbrService.selectBOMpageInfoInqire(vo);
|
message = boMbrService.selectBOMpageInfoInqire(vo);
|
||||||
|
|
||||||
@@ -778,7 +751,6 @@ public class MyActController {
|
|||||||
bbsctt.setSopmalCd(user.getSopmalCd());
|
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||||
bbsctt.setRegusr(user.getUserInnb());
|
bbsctt.setRegusr(user.getUserInnb());
|
||||||
bbsctt.setMbrDvCd(user.getMbrDvCd());
|
bbsctt.setMbrDvCd(user.getMbrDvCd());
|
||||||
// pagination
|
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
||||||
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
||||||
@@ -811,7 +783,6 @@ public class MyActController {
|
|||||||
if (!"crm".equals(bbsctt.getReqUrl())) {
|
if (!"crm".equals(bbsctt.getReqUrl())) {
|
||||||
bbsctt.setRegusr(user.getUserInnb());
|
bbsctt.setRegusr(user.getUserInnb());
|
||||||
}
|
}
|
||||||
// pagination
|
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
paginationInfo.setCurrentPageNo(bbsctt.getPageIndex());
|
||||||
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
paginationInfo.setRecordCountPerPage(bbsctt.getPageUnit());
|
||||||
@@ -821,7 +792,7 @@ public class MyActController {
|
|||||||
bbsctt.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
bbsctt.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
bbsctt.setLastIndex(paginationInfo.getLastRecordIndex());
|
bbsctt.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
bbsctt.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
bbsctt.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||||
// 게시글 목록조회
|
|
||||||
Map<String, Object> resultList = new HashMap<String, Object>();
|
Map<String, Object> resultList = new HashMap<String, Object>();
|
||||||
resultList = service.selectBOMyRvwListInqire(bbsctt);
|
resultList = service.selectBOMyRvwListInqire(bbsctt);
|
||||||
|
|
||||||
@@ -837,7 +808,6 @@ public class MyActController {
|
|||||||
*/
|
*/
|
||||||
public Map<String, Object> selectBOBbscttRegistPopupForm(BOGnrlbbscttVO bbsctt) {
|
public Map<String, Object> selectBOBbscttRegistPopupForm(BOGnrlbbscttVO bbsctt) {
|
||||||
Map<String, Object> content = new HashMap<String, Object>();
|
Map<String, Object> content = new HashMap<String, Object>();
|
||||||
// 작성자 정보 추출
|
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
|
||||||
if ("01".equals(user.getSysDvCd())) {
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
@@ -850,9 +820,9 @@ public class MyActController {
|
|||||||
if (user.getUserInnb() > 0) {
|
if (user.getUserInnb() > 0) {
|
||||||
bbsctt.setRegusr(user.getUserInnb());
|
bbsctt.setRegusr(user.getUserInnb());
|
||||||
if (!"01".equals(user.getSysDvCd())) {
|
if (!"01".equals(user.getSysDvCd())) {
|
||||||
bbsctt.setRegusrDvCd("02"); //관리자
|
bbsctt.setRegusrDvCd("02");
|
||||||
} else {
|
} else {
|
||||||
bbsctt.setRegusrDvCd("01"); //회원
|
bbsctt.setRegusrDvCd("01");
|
||||||
bbsctt.setMbrDvCd(user.getMbrDvCd());
|
bbsctt.setMbrDvCd(user.getMbrDvCd());
|
||||||
DataMap mbr = new DataMap();
|
DataMap mbr = new DataMap();
|
||||||
mbr.put("mbrInnb", String.valueOf(bbsctt.getRegusr()));
|
mbr.put("mbrInnb", String.valueOf(bbsctt.getRegusr()));
|
||||||
@@ -868,31 +838,25 @@ public class MyActController {
|
|||||||
regusrInfo.setRegusrDvCd(bbsctt.getRegusrDvCd());
|
regusrInfo.setRegusrDvCd(bbsctt.getRegusrDvCd());
|
||||||
} else {
|
} else {
|
||||||
regusrInfo.setRegusr(0);
|
regusrInfo.setRegusr(0);
|
||||||
regusrInfo.setRegusrDvCd("99");//비회원
|
regusrInfo.setRegusrDvCd("99");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 게시판 설정 정보
|
|
||||||
BOBbsVO bbsVO = new BOBbsVO();
|
BOBbsVO bbsVO = new BOBbsVO();
|
||||||
// bbsVO에 쇼핑몰코드, 해당 게시판 set
|
|
||||||
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||||
bbsVO.setBbsId(bbsctt.getBbsId());
|
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||||
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||||
DataMap bbsInfo = new DataMap();
|
DataMap bbsInfo = new DataMap();
|
||||||
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
||||||
|
|
||||||
// 분류
|
|
||||||
List<DataMap> itmList = new ArrayList<>();
|
List<DataMap> itmList = new ArrayList<>();
|
||||||
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
||||||
|
|
||||||
//리뷰항목 리스트, 리뷰항목 항목 리스트
|
|
||||||
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
||||||
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
||||||
|
|
||||||
//추가항목 리스트, 추가항목 항목 리스트
|
|
||||||
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
||||||
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
||||||
|
|
||||||
//사용자 > 리뷰 상품 조회
|
|
||||||
DataMap rvwGoodsInfo = new DataMap();
|
DataMap rvwGoodsInfo = new DataMap();
|
||||||
DataMap mlgInfo = new DataMap();
|
DataMap mlgInfo = new DataMap();
|
||||||
if ("sopmal".equals(bbsctt.getServerDv())) {
|
if ("sopmal".equals(bbsctt.getServerDv())) {
|
||||||
@@ -904,7 +868,6 @@ public class MyActController {
|
|||||||
|
|
||||||
List<DataMap> rvwItmList = new ArrayList<>();
|
List<DataMap> rvwItmList = new ArrayList<>();
|
||||||
List<DataMap> starItmList = new ArrayList<>();
|
List<DataMap> starItmList = new ArrayList<>();
|
||||||
//사용자 별표 평점 역으로 리스트 set(퍼블리싱으로 인한 역처리)
|
|
||||||
if (rvwQesitmList.get("starItmCnList") != null) {
|
if (rvwQesitmList.get("starItmCnList") != null) {
|
||||||
rvwItmList = (List<DataMap>) rvwQesitmList.get("starItmCnList");
|
rvwItmList = (List<DataMap>) rvwQesitmList.get("starItmCnList");
|
||||||
for (int i = rvwItmList.size() - 1; i >= 0; i--) {
|
for (int i = rvwItmList.size() - 1; i >= 0; i--) {
|
||||||
@@ -915,7 +878,6 @@ public class MyActController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//사용자 > 상품q&a 상품 조회
|
|
||||||
DataMap qnaGoodsInfo = new DataMap();
|
DataMap qnaGoodsInfo = new DataMap();
|
||||||
if ("sopmal".equals(bbsctt.getServerDv())) {
|
if ("sopmal".equals(bbsctt.getServerDv())) {
|
||||||
if ("modal".equals(bbsctt.getReqUrl())) {
|
if ("modal".equals(bbsctt.getReqUrl())) {
|
||||||
|
|||||||
@@ -1067,7 +1067,7 @@ public class MyMbrController {
|
|||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@PostMapping(value="/updateDlvylcUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
|
@PostMapping(value="/updateDlvylcUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<WnbtResponse> updateDlvylcUpdt(@Validated DlvylcVO dlvylcVO, BOCrmDlvylcVO crmDlvylcVO, BindingResult bindingResult){
|
public ResponseEntity<WnbtResponse> updateDlvylcUpdt(@Validated DlvylcVO dlvylcVO, BindingResult bindingResult, BOCrmDlvylcVO crmDlvylcVO){
|
||||||
//입력값 정합성 점검결과 처리
|
//입력값 정합성 점검결과 처리
|
||||||
if(bindingResult.hasErrors()) {
|
if(bindingResult.hasErrors()) {
|
||||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
@@ -1078,7 +1078,19 @@ public class MyMbrController {
|
|||||||
mbtlnb = mbtlnb.replace("-", "");
|
mbtlnb = mbtlnb.replace("-", "");
|
||||||
int mbtlnbLen = mbtlnb.length();
|
int mbtlnbLen = mbtlnb.length();
|
||||||
if (!(mbtlnbLen >= 8 && mbtlnbLen <= 12)) {
|
if (!(mbtlnbLen >= 8 && mbtlnbLen <= 12)) {
|
||||||
throw new WnbtRestException("번호는 8자~12자 입니다.");
|
throw new WnbtRestException("휴대전화번호는 8자 이상 12자 이하만 입력할 수 있습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
//개인통관번호 정합성 체크
|
||||||
|
if("KR".equals(crmDlvylcVO.getDlvylcAreaCd())) {
|
||||||
|
String cstmclerCd = crmDlvylcVO.getCstmclerCd();
|
||||||
|
String cstmclerCdReg = "^P\\d{12}$";
|
||||||
|
|
||||||
|
if (cstmclerCd == null || cstmclerCd.trim().isEmpty()) {
|
||||||
|
throw new WnbtRestException("개인통관번호은(는) 필수 입력값입니다.");
|
||||||
|
}else if (!cstmclerCd.matches(cstmclerCdReg)) {
|
||||||
|
throw new WnbtRestException("개인통관번호는 P로 시작하는 13자리 부호만 입력할 수 있습니다.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//도로명 지번 분기처리 하여 vo에 set함
|
//도로명 지번 분기처리 하여 vo에 set함
|
||||||
@@ -1135,7 +1147,7 @@ public class MyMbrController {
|
|||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@PostMapping(value="/insertDlvylcRegist", produces = MediaType.APPLICATION_JSON_VALUE)
|
@PostMapping(value="/insertDlvylcRegist", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<WnbtResponse> insertDlvylcRegist(@Validated DlvylcVO dlvylcVO, BOCrmDlvylcVO crmDlvylcVO, BindingResult bindingResult){
|
public ResponseEntity<WnbtResponse> insertDlvylcRegist(@Validated DlvylcVO dlvylcVO, BindingResult bindingResult, BOCrmDlvylcVO crmDlvylcVO){
|
||||||
//입력값 정합성 점검결과 처리
|
//입력값 정합성 점검결과 처리
|
||||||
if(bindingResult.hasErrors()) {
|
if(bindingResult.hasErrors()) {
|
||||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||||
@@ -1146,7 +1158,19 @@ public class MyMbrController {
|
|||||||
mbtlnb = mbtlnb.replace("-","");
|
mbtlnb = mbtlnb.replace("-","");
|
||||||
int mbtlnbLen = mbtlnb.length();
|
int mbtlnbLen = mbtlnb.length();
|
||||||
if(!(mbtlnbLen >= 8 && mbtlnbLen <= 12)){
|
if(!(mbtlnbLen >= 8 && mbtlnbLen <= 12)){
|
||||||
throw new WnbtRestException("번호는 8자~12자 입니다.");
|
throw new WnbtRestException("휴대전화번호는 8자 이상 12자 이하만 입력할 수 있습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
//개인통관번호 정합성 체크
|
||||||
|
if("KR".equals(crmDlvylcVO.getDlvylcAreaCd())) {
|
||||||
|
String cstmclerCd = crmDlvylcVO.getCstmclerCd();
|
||||||
|
String cstmclerCdReg = "^P\\d{12}$";
|
||||||
|
|
||||||
|
if (cstmclerCd == null || cstmclerCd.trim().isEmpty()) {
|
||||||
|
throw new WnbtRestException("개인통관번호은(는) 필수 입력값입니다.");
|
||||||
|
}else if (!cstmclerCd.matches(cstmclerCdReg)) {
|
||||||
|
throw new WnbtRestException("개인통관번호는 P로 시작하는 13자리 부호만 입력할 수 있습니다.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
crmDlvylcVO.setServerDv("sopmal");
|
crmDlvylcVO.setServerDv("sopmal");
|
||||||
|
|||||||
@@ -17,9 +17,10 @@ public class DlvylcVO extends AbstractVO{
|
|||||||
/**회원구분코드*/
|
/**회원구분코드*/
|
||||||
private String mbrDvCd;
|
private String mbrDvCd;
|
||||||
/** 배송지설명내용 */
|
/** 배송지설명내용 */
|
||||||
@NotBlank(message = "배송지 설명")
|
@NotBlank(message = "배송지명")
|
||||||
private String dlvylcDcCn;
|
private String dlvylcDcCn;
|
||||||
/**배송지역코드*/
|
/**배송지역코드*/
|
||||||
|
@NotBlank(message = "배송지역코드")
|
||||||
private String dlvylcAreaCd;
|
private String dlvylcAreaCd;
|
||||||
/** 받는사람명 */
|
/** 받는사람명 */
|
||||||
@NotBlank(message = "받으시는 분")
|
@NotBlank(message = "받으시는 분")
|
||||||
@@ -32,7 +33,7 @@ public class DlvylcVO extends AbstractVO{
|
|||||||
private String telnb;
|
private String telnb;
|
||||||
/** 우편번호 */
|
/** 우편번호 */
|
||||||
@NotBlank(message = "우편번호")
|
@NotBlank(message = "우편번호")
|
||||||
@Length(min=1, max=7)
|
@Length(min=1, max=7, message="우편번호")
|
||||||
private String zip;
|
private String zip;
|
||||||
/** 도로명,지번 구분 */
|
/** 도로명,지번 구분 */
|
||||||
private String adresDv;
|
private String adresDv;
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrDlvyVO;
|
|||||||
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrShippingVO;
|
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrShippingVO;
|
||||||
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyRefundVO;
|
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyRefundVO;
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
|
import com.wb.domainserver.response.ApiResponse;
|
||||||
import com.wb.domainserver.response.WnbtResponse;
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
import com.wb.domainserver.response.WnbtResponseBody;
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
@@ -54,6 +55,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.logging.log4j.util.Base64Util;
|
import org.apache.logging.log4j.util.Base64Util;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@@ -65,6 +67,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -171,6 +174,26 @@ public class MyOrdrController {
|
|||||||
return Util.getDeviceType(request) + "/mpage/ordr/SubsvcOrdrDlvyListRForm";
|
return Util.getDeviceType(request) + "/mpage/ordr/SubsvcOrdrDlvyListRForm";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 마이 페이지 > MY쇼핑 > 마이페이지 > 주문/배송 목록 조회
|
||||||
|
* @param ordrDlvyVO
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectMbrSubsvcOrdrListInqireMapge")
|
||||||
|
public String selectMbrSubsvcOrdrListInqireMapge(ModelMap model, BOOrdrDlvyVO ordrDlvyVO) {
|
||||||
|
|
||||||
|
Map<String, Object> content = selectBOMbrSubsvcOrdrListInqireAjax(ordrDlvyVO);
|
||||||
|
model.addAttribute("data", content);
|
||||||
|
// responseHandler.handleResponse(
|
||||||
|
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOMbrOrdrListInqireAjax", ordrDlvyVO),
|
||||||
|
// model,
|
||||||
|
// "data"
|
||||||
|
// );
|
||||||
|
|
||||||
|
return "sopmal/mpage/ordr/SubsvcOrdrDlvyListMpageRList";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 마이 페이지 > MY쇼핑 > 구독서비스 주문/배송 > 구독서비스 주문/배송 목록 조회
|
* 마이 페이지 > MY쇼핑 > 구독서비스 주문/배송 > 구독서비스 주문/배송 목록 조회
|
||||||
* @param ordrDlvyVO
|
* @param ordrDlvyVO
|
||||||
@@ -208,10 +231,12 @@ public class MyOrdrController {
|
|||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.RESTRICTED)
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
@RequestMapping(value="/selectMbrSubsvcOrdrDtlInqire")
|
@RequestMapping(value="/selectMbrSubsvcOrdrDtlInqire")
|
||||||
public String selectMbrSubsvcOrdrDtlInqire(HttpServletRequest request, ModelMap model, BOOrdrDlvyVO ordrDlvyVO, BOMbrVO vo) throws Exception {
|
public String selectMbrSubsvcOrdrDtlInqire(HttpServletRequest request, ModelMap model, BOOrdrDlvyVO ordrDlvyVO, BOMbrVO vo, BORtngudrefndVO boRtngudrefndVO) throws Exception {
|
||||||
|
boRtngudrefndVO.setServerDv("sopmal");
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
if ("01".equals(user.getSysDvCd())) {
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
ordrDlvyVO.setSopmalCd(user.getSopmalCd());
|
ordrDlvyVO.setSopmalCd(user.getSopmalCd());
|
||||||
|
boRtngudrefndVO.setSopmalCd(user.getSopmalCd());
|
||||||
}
|
}
|
||||||
Map<String, Object> message = boOrdrService.selectMbrOrdrDtlInqire(ordrDlvyVO);
|
Map<String, Object> message = boOrdrService.selectMbrOrdrDtlInqire(ordrDlvyVO);
|
||||||
/**발급대상구분코드*/
|
/**발급대상구분코드*/
|
||||||
@@ -228,6 +253,13 @@ public class MyOrdrController {
|
|||||||
// );
|
// );
|
||||||
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrDlvyVO));
|
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrDlvyVO));
|
||||||
model.addAttribute("vo", ordrDlvyVO);
|
model.addAttribute("vo", ordrDlvyVO);
|
||||||
|
/**환불내역이 있으면 정보조회*/
|
||||||
|
if(message.get("order") != null && ((DataMap)message.get("order")).get("orderReInnb") != null && !"".equals(((DataMap)message.get("order")).get("orderReInnb"))){
|
||||||
|
boRtngudrefndVO.setOrderReInnb((String)((DataMap)message.get("order")).get("orderReInnb"));
|
||||||
|
Map<String, Object> refund = new HashMap<String, Object>();
|
||||||
|
refund.put("result", boRtngudrefndService.selectBORtngudRefndDtlInqire(boRtngudrefndVO));
|
||||||
|
model.addAttribute("resultMap", refund);
|
||||||
|
}
|
||||||
|
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
||||||
Map<String, Object> content = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content = selectBOMpageInfoInqire(vo);
|
||||||
@@ -696,26 +728,26 @@ public class MyOrdrController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.PUBLIC)
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
@RequestMapping(value="/selectDlvyInqire")
|
// @RequestMapping(value="/selectDlvyInqire")
|
||||||
public String selectDlvyInqire(BODlivyVO boDlivyVO, ModelMap model, HttpServletRequest request){
|
// public String selectDlvyInqire(BODlivyVO boDlivyVO, ModelMap model, HttpServletRequest request){
|
||||||
|
@RequestMapping(value="/selectDlvyInqire", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> selectDlvyInqire(BODlivyVO boDlivyVO){
|
||||||
// 작성자 정보 할당
|
// 작성자 정보 할당
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
if("01".equals(user.getSysDvCd())){
|
if("01".equals(user.getSysDvCd())){
|
||||||
boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
|
boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> content = new HashMap<>();
|
// model.addAttribute("resultMap", dlivyService.updateBOAciDelivery(boDlivyVO));
|
||||||
content = dlivyService.selectBOOrdrDlvyDtlsInqire(boDlivyVO);
|
// return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
||||||
|
|
||||||
model.addAttribute("resultMap", content);
|
DataMap content = new DataMap();
|
||||||
// responseHandler.handleResponse(
|
content.put("invcnb", dlivyService.selectBOOrdrInvcnb(boDlivyVO));
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlsInqire", dlivyVO),
|
return ResponseEntity.ok(
|
||||||
// model,
|
WnbtResponse.builder()
|
||||||
// "resultMap"
|
.resBody(new WnbtResponseBody(content))
|
||||||
// );
|
.build()
|
||||||
|
);
|
||||||
// return "sopmal/mpage/ordr/DlvyInqireR";
|
|
||||||
return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -758,7 +790,7 @@ public class MyOrdrController {
|
|||||||
// model,
|
// model,
|
||||||
// "resultMap"
|
// "resultMap"
|
||||||
// );
|
// );
|
||||||
model.addAttribute("paramVO", boRtngudrefndVO);
|
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(boRtngudrefndVO));
|
||||||
|
|
||||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
||||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.wb.domainserver.domain.sopmal.ordr.controller;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
@@ -9,17 +11,23 @@ import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
|||||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
import com.wb.domainserver.util.communicate.RESRC;
|
import com.wb.domainserver.util.communicate.RESRC;
|
||||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
import com.wb.domainserver.util.util.Util;
|
import com.wb.domainserver.util.util.Util;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.io.BufferedReader;
|
||||||
import java.util.List;
|
import java.net.URLDecoder;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Controller
|
@Controller
|
||||||
@@ -34,6 +42,9 @@ public class OrdrApiController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private GconeMessageSource messageSource;
|
private GconeMessageSource messageSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BOOrdrLogService ordrLogService;
|
||||||
|
|
||||||
private Util utilClass;
|
private Util utilClass;
|
||||||
|
|
||||||
/* ####################################
|
/* ####################################
|
||||||
@@ -95,4 +106,135 @@ public class OrdrApiController {
|
|||||||
return Integer.parseInt(cleanedCode.toString(), 16);
|
return Integer.parseInt(cleanedCode.toString(), 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ##################################################
|
||||||
|
사용자 > 결제(키움) > 결제 성공 후 결제값 응답받음
|
||||||
|
################################################## */
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계처리 - 결과통보페이지
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/kiwoomPayWebhook")
|
||||||
|
@ResponseBody
|
||||||
|
public ResponseEntity<String> selectPaymentkiwoomWebhook(HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
// 0. 키움에서 온 값 로그 출력 (결제실패에 대한 응답은 없음)
|
||||||
|
printKiwoomRequest(request);
|
||||||
|
|
||||||
|
// 1. 주문 로그 남김 (GC_ORDER_LOG)
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
DataMap pgApiLogReqVO = new DataMap();
|
||||||
|
String orderNo = StringUtil.isNullToString(request.getParameter("ORDERNO"));
|
||||||
|
String orderNm = StringUtil.isNullToString(request.getParameter("USERNAME"));
|
||||||
|
String resParam = queryStringToJson(request.getQueryString());
|
||||||
|
|
||||||
|
payVO.setPgCmpnyNm("kiwoom"); //pg사명
|
||||||
|
payVO.setDvCd("01"); //사용자
|
||||||
|
payVO.setOrderId(orderNo); //주문번호
|
||||||
|
payVO.setSetlerNm(orderNm); //주문자명
|
||||||
|
pgApiLogReqVO.put("resParam",resParam); //응답전문
|
||||||
|
|
||||||
|
ordrLogService.insertSetleOrderPgLog(payVO, pgApiLogReqVO);
|
||||||
|
|
||||||
|
// 2. PG API 로그 남김 (GC_ORDER_PG_API_LOG)
|
||||||
|
pgApiLogReqVO.put("reqParam", ""); //요청전문
|
||||||
|
pgApiLogReqVO.put("ordrInnb", orderNo); //주문번호
|
||||||
|
pgApiLogReqVO.put("sopmalCd", "SK"); //쇼핑몰코드
|
||||||
|
pgApiLogReqVO.put("pgCmpnyNm", "kiwoom"); //pg사명
|
||||||
|
pgApiLogReqVO.put("mbrInnb", ""); //회원번호
|
||||||
|
pgApiLogReqVO.put("resParam", resParam); //응답전문
|
||||||
|
|
||||||
|
ordrLogService.insertBOPgApiLogReqRegist(pgApiLogReqVO);
|
||||||
|
|
||||||
|
String response = "<html><body><RESULT>SUCCESS</RESULT></body></html>";
|
||||||
|
|
||||||
|
return ResponseEntity.ok()
|
||||||
|
.contentType(MediaType.TEXT_HTML)
|
||||||
|
.body(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void printKiwoomRequest(HttpServletRequest request) {
|
||||||
|
try {
|
||||||
|
System.out.println("========== [KIWOOM REQUEST START] ==========");
|
||||||
|
|
||||||
|
// 1. 기본 정보
|
||||||
|
System.out.println("URL : " + request.getRequestURL());
|
||||||
|
System.out.println("METHOD : " + request.getMethod());
|
||||||
|
System.out.println("QUERY : " + request.getQueryString());
|
||||||
|
System.out.println("REMOTE IP : " + request.getRemoteAddr());
|
||||||
|
|
||||||
|
// 2. 파라미터 (가장 중요)
|
||||||
|
System.out.println("---------- PARAM ----------");
|
||||||
|
request.setCharacterEncoding("EUC-KR");
|
||||||
|
request.getParameterMap().forEach((key, values) -> {
|
||||||
|
System.out.println(key + " = " + Arrays.toString(values));
|
||||||
|
});
|
||||||
|
|
||||||
|
// 3. 헤더
|
||||||
|
System.out.println("---------- HEADER ----------");
|
||||||
|
Collections.list(request.getHeaderNames()).forEach(header -> {
|
||||||
|
System.out.println(header + " = " + request.getHeader(header));
|
||||||
|
});
|
||||||
|
|
||||||
|
// 4. Body (JSON 대응)
|
||||||
|
System.out.println("---------- BODY ----------");
|
||||||
|
|
||||||
|
StringBuilder body = new StringBuilder();
|
||||||
|
BufferedReader reader = request.getReader();
|
||||||
|
String line;
|
||||||
|
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
body.append(line);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(body.toString());
|
||||||
|
|
||||||
|
System.out.println("========== [KIWOOM REQUEST END] ==========");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("❌ REQUEST LOG ERROR");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String queryStringToJson(String queryString) throws Exception {
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
|
||||||
|
if (queryString != null && !queryString.isEmpty()) {
|
||||||
|
String[] pairs = queryString.split("&");
|
||||||
|
|
||||||
|
for (String pair : pairs) {
|
||||||
|
String[] keyValue = pair.split("=", 2);
|
||||||
|
|
||||||
|
String key = URLDecoder.decode(keyValue[0], "UTF-8");
|
||||||
|
String value = keyValue.length > 1 ? URLDecoder.decode(keyValue[1], "UTF-8") : "";
|
||||||
|
|
||||||
|
map.put(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
return mapper.writeValueAsString(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> queryStringToMap(String queryString) throws Exception {
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
|
||||||
|
if (queryString != null) {
|
||||||
|
for (String param : queryString.split("&")) {
|
||||||
|
String[] pair = param.split("=", 2);
|
||||||
|
|
||||||
|
String key = URLDecoder.decode(pair[0], "EUC-KR");
|
||||||
|
String value = pair.length > 1 ? URLDecoder.decode(pair[1], "EUC-KR") : "";
|
||||||
|
|
||||||
|
map.put(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,30 +20,27 @@ import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
|
|||||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
|
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
|
||||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
|
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
|
||||||
|
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
|
||||||
|
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.service.BODlivyService;
|
import com.wb.domainserver.domain.gcone.ordr.dlivy.service.BODlivyService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.npay.service.BONpayConfigService;
|
import com.wb.domainserver.domain.gcone.ordr.npay.service.BONpayConfigService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.npay.vo.BONpayConfigVO;
|
import com.wb.domainserver.domain.gcone.ordr.npay.vo.BONpayConfigVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrderCommonService;
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
||||||
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
|
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
|
||||||
import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService;
|
import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService;
|
||||||
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSiteVO;
|
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSiteVO;
|
||||||
import com.wb.domainserver.domain.sample.vo.PrevewVO;
|
|
||||||
import com.wb.domainserver.domain.sopmal.goods.vo.GoodsVO;
|
|
||||||
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
||||||
import com.wb.domainserver.domain.sopmal.ordr.vo.PayVO;
|
|
||||||
import com.wb.domainserver.domain.sopmal.ordr.vo.SpbkVO;
|
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
import com.wb.domainserver.exception.code.PurchsValidCode;
|
import com.wb.domainserver.exception.code.PurchsValidCode;
|
||||||
import com.wb.domainserver.response.ApiResponse;
|
|
||||||
import com.wb.domainserver.response.WnbtResponse;
|
import com.wb.domainserver.response.WnbtResponse;
|
||||||
import com.wb.domainserver.response.WnbtResponseBody;
|
import com.wb.domainserver.response.WnbtResponseBody;
|
||||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||||
@@ -51,9 +48,6 @@ import com.wb.domainserver.security.authentication.AnonymousUser;
|
|||||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||||
import com.wb.domainserver.util.CookieUtils;
|
|
||||||
import com.wb.domainserver.util.communicate.RESRC;
|
|
||||||
import com.wb.domainserver.util.communicate.ReplyFromResrc;
|
|
||||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||||
import com.wb.domainserver.util.cookie.CookieUtil;
|
import com.wb.domainserver.util.cookie.CookieUtil;
|
||||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||||
@@ -62,10 +56,10 @@ import com.wb.domainserver.util.util.Util;
|
|||||||
import jakarta.servlet.http.Cookie;
|
import jakarta.servlet.http.Cookie;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.text.StringEscapeUtils;
|
||||||
import org.apache.logging.log4j.util.Base64Util;
|
import org.apache.logging.log4j.util.Base64Util;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.json.simple.parser.JSONParser;
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@@ -74,11 +68,15 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -136,6 +134,10 @@ public class OrdrController {
|
|||||||
private BOMaMtngService boMaMtngService;
|
private BOMaMtngService boMaMtngService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BOPurchsService boPurchsService;
|
private BOPurchsService boPurchsService;
|
||||||
|
@Autowired
|
||||||
|
private BOSubsvcService subsvcService;
|
||||||
|
@Autowired
|
||||||
|
private BOPayService payService;
|
||||||
|
|
||||||
/* ####################################
|
/* ####################################
|
||||||
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
|
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
|
||||||
@@ -399,6 +401,136 @@ public class OrdrController {
|
|||||||
// );
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ####################################
|
||||||
|
사용자 > 구독상품 > 구매/결제 > 회원구매하기 시작
|
||||||
|
#################################### */
|
||||||
|
/**
|
||||||
|
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 결제 화면 이동
|
||||||
|
* @return SubsvcPurchsC.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectSubsvcPurchsForm")
|
||||||
|
public String selectSubsvcSetleInqire(HttpServletRequest request, ModelMap model, BOOrdrVO ordrVO) throws Exception {
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
|
||||||
|
//결재 플랫폼 구분 코드
|
||||||
|
ordrVO.setSetlePltfomTyCd("PC".equals(request.getAttribute("env"))?"03":"04");
|
||||||
|
|
||||||
|
//약관정보 세팅
|
||||||
|
BOStplatVO stplatVO = new BOStplatVO();
|
||||||
|
stplatVO.setPageIndex(1);
|
||||||
|
stplatVO.setPageUnit(paginationProperties.getPageUnit());
|
||||||
|
stplatVO.setNmbrPurchsAt("Y");
|
||||||
|
stplatVO.setSrchSopmalCd(user.getSopmalCd());
|
||||||
|
|
||||||
|
DataMap stplat = selectBOStplatListInqire(stplatVO);
|
||||||
|
|
||||||
|
//주문 상품정보 세팅
|
||||||
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
|
ordrVO.setSopmalCd(user.getSopmalCd());
|
||||||
|
}
|
||||||
|
ordrVO.setMbrInnb(user.getUserInnb());
|
||||||
|
ordrVO.setMbrId(user.getMbrId());
|
||||||
|
ordrVO.setMbrDvCd(user.getMbrDvCd());
|
||||||
|
|
||||||
|
Map<String, Object> content = service.selectSubsvcPurchs(ordrVO);
|
||||||
|
|
||||||
|
model.addAttribute("data", content);
|
||||||
|
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrVO));
|
||||||
|
model.addAttribute("deviceType", Util.getDeviceType(request));
|
||||||
|
model.addAttribute("stplat", stplat);
|
||||||
|
|
||||||
|
return Util.getDeviceType(request) + "/ordr/SubsvcPurchsC";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 조회
|
||||||
|
* @param param
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectOrderSubsvcList", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> selectOrderSubsvcOne(@RequestBody HashMap<String, Object> param) {
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
|
||||||
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
|
subsvcVO.setSopmalCd(user.getSopmalCd());
|
||||||
|
}
|
||||||
|
subsvcVO.setMbrInnb((Integer) param.get("mbrInnb"));
|
||||||
|
subsvcVO.setSubsvcInnb(String.valueOf(param.get("subsvcInnb")));
|
||||||
|
|
||||||
|
List<DataMap> content = new ArrayList<>();
|
||||||
|
content.add(subsvcService.selectBOSubsvcDetail(subsvcVO));
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(content))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액 조회
|
||||||
|
* @param param
|
||||||
|
* @return ResponseEntity<WnbtResponse>
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectSubsvcSetleExpectAmt", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> selectSubsvcSetleExpectAmt(HttpServletRequest request, @RequestBody HashMap<String, Object> param) {
|
||||||
|
String sesionId ="";
|
||||||
|
Cookie[] cookies = request.getCookies();
|
||||||
|
if(cookies != null){
|
||||||
|
for(Cookie cookie : cookies ){
|
||||||
|
if(cookie.getName().equals("JSESSIONID")){
|
||||||
|
sesionId = cookie.getValue();
|
||||||
|
param.put("sesionId", sesionId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
|
param.put("sopmalCd", user.getSopmalCd());
|
||||||
|
param.put("mbrDvCd", user.getMbrDvCd());
|
||||||
|
param.put("mbrInnb", user.getUserInnb());
|
||||||
|
}
|
||||||
|
Map<String, Object> content = new HashMap<>();
|
||||||
|
try {
|
||||||
|
DataMap datamap = new DataMap();
|
||||||
|
param.entrySet().forEach(map -> {
|
||||||
|
datamap.put(map.getKey(), map.getValue());
|
||||||
|
});
|
||||||
|
content = service.selectSubsvcSetleExpectAmt(datamap);
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
log.debug("결제예정금액 ordr wre");
|
||||||
|
log.error(wre.getMessage(), wre);
|
||||||
|
content = new HashMap<>() {{
|
||||||
|
put("status", "1");
|
||||||
|
put("message", wre.getMessage());
|
||||||
|
put("mlgMxmmUseAmt", wre.getCode());
|
||||||
|
}};
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.debug("결제예정금액 ordr e");
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
|
||||||
|
content = new HashMap<>() {{
|
||||||
|
put("status", "1");
|
||||||
|
put("message", "예기치 못한 오류가 발생하였습니다.\n관리자에게 문의하시기 바랍니다.");
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(content))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
// return responseHandler.handleResponse(
|
||||||
|
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleExpectAmt", param),
|
||||||
|
// ReplyFromResrc::getReply
|
||||||
|
// );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 관리자 주문 > 브랜드페이 > 토큰발급
|
* 관리자 주문 > 브랜드페이 > 토큰발급
|
||||||
@@ -663,6 +795,22 @@ public class OrdrController {
|
|||||||
paramData.put(map.getKey(), map.getValue());
|
paramData.put(map.getKey(), map.getValue());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0);
|
||||||
|
Boolean subsvcAt = goodsOne.containsKey("subsvcInnb");
|
||||||
|
// 구독서비스에 포함된 상품 목록 세팅
|
||||||
|
if(subsvcAt) {
|
||||||
|
model.addAttribute("subsvcInnb", goodsOne.get("subsvcInnb"));
|
||||||
|
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
subsvcVO.setSopmalCd((String) goodsOne.get("sopmalCd"));
|
||||||
|
subsvcVO.setSubsvcInnb(goodsOne.get("subsvcInnb").toString());
|
||||||
|
subsvcVO.setQy((int) goodsOne.get("qy"));
|
||||||
|
subsvcVO.setMbrInnb((int) goodsOne.get("mbrInnb"));
|
||||||
|
|
||||||
|
paramData.remove("goodsList");
|
||||||
|
paramData.put("goodsList", service.selectSubsvcGoodsList(subsvcVO));
|
||||||
|
}
|
||||||
|
|
||||||
Map<String, Object> resultMap = insertBOOrder(paramData);
|
Map<String, Object> resultMap = insertBOOrder(paramData);
|
||||||
// Map<String, Object> resultMap = responseHandler.handleResponseAsMap(
|
// Map<String, Object> resultMap = responseHandler.handleResponseAsMap(
|
||||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrder", param)
|
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrder", param)
|
||||||
@@ -692,7 +840,9 @@ public class OrdrController {
|
|||||||
String pgCmpnyNm = setle.getPgCmpnyNm();
|
String pgCmpnyNm = setle.getPgCmpnyNm();
|
||||||
String setleTyCd = setle.getSetleTyCd();
|
String setleTyCd = setle.getSetleTyCd();
|
||||||
|
|
||||||
if ("gcpay".equals(pgCmpnyNm)) {
|
if ("kiwoom".equals(pgCmpnyNm)||"naverpay".equals(pgCmpnyNm)) {
|
||||||
|
url = "sopmal/ordr/OrdrReqstKiwoomPayR";
|
||||||
|
} else if ("gcpay".equals(pgCmpnyNm)) {
|
||||||
url = "sopmal/ordr/OrdrReqstGcpayPayR";
|
url = "sopmal/ordr/OrdrReqstGcpayPayR";
|
||||||
} else if ("kcp".equals(pgCmpnyNm)) {
|
} else if ("kcp".equals(pgCmpnyNm)) {
|
||||||
if ("sopmal_m".equals(deviceType)) {
|
if ("sopmal_m".equals(deviceType)) {
|
||||||
@@ -702,7 +852,7 @@ public class OrdrController {
|
|||||||
}
|
}
|
||||||
} else if ("toss".equals(pgCmpnyNm)) {
|
} else if ("toss".equals(pgCmpnyNm)) {
|
||||||
url = "sopmal/ordr/OrdrReqstTossPayR";
|
url = "sopmal/ordr/OrdrReqstTossPayR";
|
||||||
} else if ("tosspay".equals(pgCmpnyNm)||"naverpay".equals(pgCmpnyNm)||"kakaopay".equals(pgCmpnyNm)) {
|
} else if ("tosspay".equals(pgCmpnyNm)||"kakaopay".equals(pgCmpnyNm)) { //||"naverpay".equals(pgCmpnyNm) 키움으로 이동
|
||||||
url = "sopmal/ordr/OrdrReqstTosspayPayR";
|
url = "sopmal/ordr/OrdrReqstTosspayPayR";
|
||||||
} else if ("02".equals(setleTyCd)||"08".equals(setleTyCd)||"12".equals(setleTyCd)) { // 무통장, 마일리지, 충전형마일리지
|
} else if ("02".equals(setleTyCd)||"08".equals(setleTyCd)||"12".equals(setleTyCd)) { // 무통장, 마일리지, 충전형마일리지
|
||||||
url = "sopmal/ordr/OrdrReqstPayR";
|
url = "sopmal/ordr/OrdrReqstPayR";
|
||||||
@@ -922,7 +1072,7 @@ public class OrdrController {
|
|||||||
agentId = CookieUtil.getAgentCookieValue(request.getCookies());
|
agentId = CookieUtil.getAgentCookieValue(request.getCookies());
|
||||||
payVO.setAgentId(agentId);
|
payVO.setAgentId(agentId);
|
||||||
}
|
}
|
||||||
log.debug("=================insertKcpSetle cookies {} ",cookies);
|
log.debug("=================insertKcpSetle cookies {} ",(Object) cookies);
|
||||||
|
|
||||||
Map<String, String> util = new HashMap<>();
|
Map<String, String> util = new HashMap<>();
|
||||||
util = utilClass.getRequestInfo(request);
|
util = utilClass.getRequestInfo(request);
|
||||||
@@ -943,6 +1093,12 @@ public class OrdrController {
|
|||||||
log.debug("=================insertKcpSetle after ");
|
log.debug("=================insertKcpSetle after ");
|
||||||
|
|
||||||
model.addAttribute("paramVO", payVO);
|
model.addAttribute("paramVO", payVO);
|
||||||
|
if ("1".equals(content.get("status"))) { // 에러처리
|
||||||
|
String subsvcInnb = request.getParameter("subsvc_innb");
|
||||||
|
if(subsvcInnb != "") {
|
||||||
|
model.addAttribute("subsvcInnb", subsvcInnb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return "sopmal/ordr/OrdrRspnsKcpPayR";
|
return "sopmal/ordr/OrdrRspnsKcpPayR";
|
||||||
}
|
}
|
||||||
@@ -1034,19 +1190,6 @@ public class OrdrController {
|
|||||||
|
|
||||||
payVO.setSetlerNm(request.getParameter("buyr_name"));
|
payVO.setSetlerNm(request.getParameter("buyr_name"));
|
||||||
|
|
||||||
//에스크로 정보추가
|
|
||||||
/*payVO.setEscwUsed(request.getParameter("escw_used"));
|
|
||||||
payVO.setPayMod(request.getParameter("pay_mod"));
|
|
||||||
payVO.setRcvrName(request.getParameter("rcvr_name"));
|
|
||||||
payVO.setRcvrTel1(request.getParameter("rcvr_tel1"));
|
|
||||||
payVO.setRcvrTel2(request.getParameter("rcvr_tel2"));
|
|
||||||
payVO.setRcvrZipx(request.getParameter("rcvr_zipx"));
|
|
||||||
payVO.setRcvrAdd1(request.getParameter("rcvr_add1"));
|
|
||||||
payVO.setRcvrAdd2(request.getParameter("rcvr_add2"));
|
|
||||||
payVO.setDeliTerm(request.getParameter("deli_term"));
|
|
||||||
payVO.setBaskCntx(request.getParameter("bask_cntx"));
|
|
||||||
payVO.setGoodInfo(request.getParameter("good_info"));*/
|
|
||||||
|
|
||||||
log.debug("payVO => {} ", new Gson().toJson(payVO));
|
log.debug("payVO => {} ", new Gson().toJson(payVO));
|
||||||
|
|
||||||
String resCd = request.getParameter("res_cd");
|
String resCd = request.getParameter("res_cd");
|
||||||
@@ -1244,6 +1387,176 @@ public class OrdrController {
|
|||||||
return "sopmal/ordr/OrdrRspnsTossPayR";
|
return "sopmal/ordr/OrdrRspnsTossPayR";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계 전 getEnc 값 받아오기
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value="/kiwoomPayGetEnc")
|
||||||
|
public Map<String, Object> selectKiwoomGetEnc(HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
log.debug("kiwoomPayGetEnc = {}");
|
||||||
|
|
||||||
|
//String eucKrStr = new String(utf8Str.getBytes("UTF-8"), "EUC-KR");
|
||||||
|
//String utf8Str = new String(eucKrStr.getBytes("EUC-KR"), "UTF-8");
|
||||||
|
//request.setCharacterEncoding("EUC-KR");
|
||||||
|
|
||||||
|
payVO.setCpId(request.getParameter("CPID"));
|
||||||
|
payVO.setPayMethod(request.getParameter("PAYMETHOD"));
|
||||||
|
payVO.setOrderId(request.getParameter("ORDERNO"));
|
||||||
|
payVO.setType(request.getParameter("TYPE"));
|
||||||
|
payVO.setAmount(request.getParameter("AMOUNT"));
|
||||||
|
|
||||||
|
Map<String, Object> message;
|
||||||
|
String sopmalCd = payVO.getSopmalCd();
|
||||||
|
try {
|
||||||
|
message = payService.insertKiwoomPay(payVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
message = new HashMap<>() {{
|
||||||
|
put("response", "결제를 실패하였습니다.\n관리자에게 문의하시기 바랍니다.");
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step5 ::: {}", message.get("KIWOOM_ENC"));
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계처리 - 사전 승인 후 결제요청 페이지 이동
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/kiwoomPayPreSuccss")
|
||||||
|
public String confirmKiwoom(HttpServletRequest request, ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
return "sopmal/ordr/OrdrReqstKiwoomPreR";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계처리 - 결제창 취소버튼 클릭 시 페이지 이동
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/kiwoomPayCancelUrl")
|
||||||
|
public String cancelUrlKiwoom(HttpServletRequest request, ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
return "sopmal/ordr/OrdrReqstKiwoomCnclR";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 키움 결제 정보 등록
|
||||||
|
* @param model
|
||||||
|
* @param request
|
||||||
|
* @return OrdrRspnsKiwoomPayR.jsp
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/insertKiwoomSetle")
|
||||||
|
public String insertKiwoomSetle(ModelMap model, HttpServletRequest request) {
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle controller start ::: ");
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
payVO.setOrderId(request.getParameter("ordrInnb"));
|
||||||
|
payVO.setAmount(request.getParameter("setleAmt"));
|
||||||
|
payVO.setSopmalCd(request.getParameter("sopmalCd"));
|
||||||
|
payVO.setMbrInnb(request.getParameter("mbrInnb"));
|
||||||
|
payVO.setMbrId(request.getParameter("mbrId"));
|
||||||
|
payVO.setSesionId(request.getParameter("sesionId"));
|
||||||
|
payVO.setPgCmpnyNm(request.getParameter("pgCmpnyNm"));
|
||||||
|
payVO.setSetleTyCd(request.getParameter("setleTyCd"));
|
||||||
|
|
||||||
|
String ordrrNm = request.getParameter("ordrrNm");
|
||||||
|
try {
|
||||||
|
payVO.setSetlerNm(new String(Base64.getDecoder().decode(ordrrNm), "UTF-8"));
|
||||||
|
}catch(Exception e){
|
||||||
|
log.debug("throws UnsupportedEncodingException:::::");
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle controller payVO 3 ::: {}", payVO);
|
||||||
|
|
||||||
|
String agentId = "";
|
||||||
|
String jSesionId = "";
|
||||||
|
String ipAdres = "";
|
||||||
|
|
||||||
|
// 쿠키를 가져옴
|
||||||
|
Cookie[] cookies = request.getCookies();
|
||||||
|
|
||||||
|
//agentId 쿠키 있을 경우 가져옴
|
||||||
|
if (cookies != null) {
|
||||||
|
for (Cookie cookie : cookies) {
|
||||||
|
if (cookie.getName().equals("JSESSIONID")) {
|
||||||
|
jSesionId = cookie.getValue();
|
||||||
|
payVO.setSessionId(jSesionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//gc_agent_id 가져옴
|
||||||
|
if (CookieUtil.hasAgentCookie(request.getCookies())) {
|
||||||
|
agentId = CookieUtil.getAgentCookieValue(request.getCookies());
|
||||||
|
payVO.setAgentId(agentId);
|
||||||
|
}
|
||||||
|
Map<String, String> util = new HashMap<>();
|
||||||
|
util = utilClass.getRequestInfo(request);
|
||||||
|
ipAdres = util.get("XForwardedFor");
|
||||||
|
payVO.setIpAdres(ipAdres);
|
||||||
|
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
payVO.setMbrNm(user.getMbrNm()); //회원명(관리자명)
|
||||||
|
if ("01".equals(user.getSysDvCd())) {
|
||||||
|
payVO.setDvCd("01");
|
||||||
|
payVO.setSopmalCd(user.getSopmalCd());
|
||||||
|
payVO.setMbrDvCd(user.getMbrDvCd());
|
||||||
|
} else {
|
||||||
|
payVO.setDvCd("02");
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, Object> content;
|
||||||
|
|
||||||
|
try {
|
||||||
|
content = service.insertKiwoomSetle(payVO);
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle controller content ::: {}", content);
|
||||||
|
|
||||||
|
} catch (WnbtRestException wre) {
|
||||||
|
log.info("insertKiwoomSetle : 키움 결제 정보 등록 : 실패 WnbtRestException");
|
||||||
|
log.error(wre.getMessage(), wre);
|
||||||
|
content = new HashMap<>() {{
|
||||||
|
put("status", "1");
|
||||||
|
put("message", wre.getMessage());
|
||||||
|
}};
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info("insertKiwoomSetle : 키움 결제 정보 등록 : 실패");
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
|
||||||
|
content = new HashMap<>() {{
|
||||||
|
put("status", "1");
|
||||||
|
put("message", "키움 결제 정보 등록이 실패하였습니다.\n관리자에게 문의하시기 바랍니다.");
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("0".equals(content.get("status"))) {
|
||||||
|
commonOrderPostProcess(payVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("data", content);
|
||||||
|
model.addAttribute("paramVO", payVO);
|
||||||
|
|
||||||
|
return "sopmal/ordr/OrdrRspnsKiwoomPayR";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 주문완료 화면 이동
|
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 주문완료 화면 이동
|
||||||
* @return OrdrComptR.jsp
|
* @return OrdrComptR.jsp
|
||||||
@@ -2613,7 +2926,21 @@ public class OrdrController {
|
|||||||
|
|
||||||
// 2.가용재고수량 수정 ==============================================================
|
// 2.가용재고수량 수정 ==============================================================
|
||||||
try {
|
try {
|
||||||
|
BOOrdrVO ordrVO = new BOOrdrVO();
|
||||||
|
ordrVO.setOrdrInnb(orderVO.getOrdrInnb().toString());
|
||||||
|
ordrVO.setSopmalCd(orderVO.getSopmalCd());
|
||||||
|
|
||||||
|
DataMap ordrDtl = (DataMap) service.selectOrdrDtlInqire(ordrVO).get("dtl");
|
||||||
|
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||||
|
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||||
|
if(subsvcAt) {
|
||||||
|
// 구독서비스
|
||||||
|
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||||
|
subsvcService.updateSubsvcOrdrUsefulInvntryQy(ordrVO);
|
||||||
|
} else {
|
||||||
|
// 일반 주문
|
||||||
boGoodsService.updateOrdrUsefulInvntryQy(orderVO);
|
boGoodsService.updateOrdrUsefulInvntryQy(orderVO);
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logVO.setFailContent("상품 재고수량 업데이트 실패");
|
logVO.setFailContent("상품 재고수량 업데이트 실패");
|
||||||
log.error("{} 상품 재고수량 업데이트 실패!", payVO.getOrderId());
|
log.error("{} 상품 재고수량 업데이트 실패!", payVO.getOrderId());
|
||||||
@@ -2981,6 +3308,8 @@ public class OrdrController {
|
|||||||
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
|
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
|
||||||
LinkedHashMap enuri = null;
|
LinkedHashMap enuri = null;
|
||||||
LinkedHashMap setle = null;
|
LinkedHashMap setle = null;
|
||||||
|
// 구독서비스 여부
|
||||||
|
Boolean isSubsvc = goodsList.get(0).containsKey("subsvcInnb");
|
||||||
|
|
||||||
//회원일 경우에만 enuri정보 존재
|
//회원일 경우에만 enuri정보 존재
|
||||||
if(user.getUserInnb() > 0){
|
if(user.getUserInnb() > 0){
|
||||||
@@ -3009,13 +3338,7 @@ public class OrdrController {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
// 여러곳배송처럼 처리하더라도 주소는 하나이므로 shipping 체크
|
||||||
// log.info("배송지 정보를 찾을 수 없습니다.");
|
|
||||||
// content.put("result","Y");
|
|
||||||
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
|
|
||||||
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
|
|
||||||
// return content;
|
|
||||||
// }
|
|
||||||
if (CollectionUtils.isEmpty(shipping)) {
|
if (CollectionUtils.isEmpty(shipping)) {
|
||||||
log.info("배송지 정보를 찾을 수 없습니다.");
|
log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
@@ -3032,8 +3355,7 @@ public class OrdrController {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isSubsvc && CollectionUtils.isEmpty(enuri)) {
|
||||||
if (CollectionUtils.isEmpty(enuri)) {
|
|
||||||
log.info("할인 또는 결제 정보를 찾을 수 없습니다.");
|
log.info("할인 또는 결제 정보를 찾을 수 없습니다.");
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
content.put("message", "할인 또는 결제 정보를 찾을 수 없습니다.");
|
content.put("message", "할인 또는 결제 정보를 찾을 수 없습니다.");
|
||||||
@@ -3043,7 +3365,7 @@ public class OrdrController {
|
|||||||
|
|
||||||
String sopmalCd = (String) param.get("sopmalCd");
|
String sopmalCd = (String) param.get("sopmalCd");
|
||||||
String ordrTyCd = (String) param.get("ordrTyCd");
|
String ordrTyCd = (String) param.get("ordrTyCd");
|
||||||
String mbrInnb = (String) goodsList.get(0).get("mbrInnb");
|
String mbrInnb = String.valueOf(goodsList.get(0).get("mbrInnb"));
|
||||||
String mbrDvCd = (String) goodsList.get(0).get("mbrDvCd");
|
String mbrDvCd = (String) goodsList.get(0).get("mbrDvCd");
|
||||||
String ordrrMbtlnb = (String) purchsr.get("mbtlnb");
|
String ordrrMbtlnb = (String) purchsr.get("mbtlnb");
|
||||||
|
|
||||||
@@ -3052,70 +3374,6 @@ public class OrdrController {
|
|||||||
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
||||||
|
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
||||||
// if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
|
||||||
//
|
|
||||||
// // 배송지 리스트
|
|
||||||
// List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
|
|
||||||
//
|
|
||||||
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
|
|
||||||
// content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
|
|
||||||
// if (!"0".equals(content.get("status"))) {
|
|
||||||
// return content;
|
|
||||||
// }
|
|
||||||
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
|
|
||||||
//
|
|
||||||
// // 부정판매 체크를 위한 배송지 정렬
|
|
||||||
// if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
|
|
||||||
//
|
|
||||||
// boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
|
|
||||||
// String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
|
|
||||||
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
|
||||||
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
|
||||||
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
|
||||||
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
|
||||||
//
|
|
||||||
// return StringUtil.isEmpty(dlvylcZip)
|
|
||||||
// || StringUtil.isEmpty(adresDvCd)
|
|
||||||
// || ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
|
|
||||||
// || ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
|
|
||||||
// || StringUtil.isEmpty(adresDtl);
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// if (hasInvalidAddress) {
|
|
||||||
// content.put("result","Y");
|
|
||||||
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
|
||||||
// return content;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// List<String> adresList = dlvylcListMulti.stream()
|
|
||||||
// .map(map -> {
|
|
||||||
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
|
||||||
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
|
||||||
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
|
||||||
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
|
||||||
// String adresMulti;
|
|
||||||
// if ("01".equals(adresDvCd)) {
|
|
||||||
// adresMulti = dlvylcRnmAdres + " " + adresDtl;
|
|
||||||
// } else {
|
|
||||||
// adresMulti = dlvylcLnbAdres + " " + adresDtl;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return adresMulti;
|
|
||||||
// })
|
|
||||||
// .collect(Collectors.toList());
|
|
||||||
//
|
|
||||||
// adresArray = adresList.toArray(new String[0]);
|
|
||||||
//
|
|
||||||
// List<String> receptMbtlnbList = dlvylcListMulti.stream()
|
|
||||||
// .map(map -> {
|
|
||||||
// return StringUtil.isNullToString(map.get("recpntMbtlnb"));
|
|
||||||
// })
|
|
||||||
// .collect(Collectors.toList());
|
|
||||||
//
|
|
||||||
// receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
if (
|
if (
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
||||||
@@ -3241,17 +3499,27 @@ public class OrdrController {
|
|||||||
try {
|
try {
|
||||||
//계산결과 총결제금액
|
//계산결과 총결제금액
|
||||||
String resultSetleAmt = "";
|
String resultSetleAmt = "";
|
||||||
|
String resultWonSetleAmt = "";
|
||||||
//주문요청 총결제금액
|
//주문요청 총결제금액
|
||||||
//회원/비회원 총결제금액
|
//회원/비회원 총결제금액
|
||||||
String reqSetleAmt = StringUtil.isNullToString(setle.get("rlSetleAmt"));
|
String reqSetleAmt = StringUtil.isNullToString(setle.get("rlSetleAmt"));
|
||||||
|
String reqWonSetleAmt = StringUtil.isNullToString(setle.get("wonRlSetleAmt"));
|
||||||
//재계산된 총결제금액관련정보
|
//재계산된 총결제금액관련정보
|
||||||
Map<String, Object> resultAmt = service.selectSetleExpectAmt(param);
|
Map<String, Object> resultAmt;
|
||||||
|
if(isSubsvc) {
|
||||||
|
resultAmt = service.selectSubsvcSetleExpectAmt(param);
|
||||||
|
} else {
|
||||||
|
resultAmt = service.selectSetleExpectAmt(param);
|
||||||
|
}
|
||||||
|
|
||||||
if(resultAmt.containsKey("setleExpectAmt")){
|
if(resultAmt.containsKey("setleExpectAmt")){
|
||||||
LinkedHashMap setleExpectAmt = (LinkedHashMap) resultAmt.get("setleExpectAmt");
|
LinkedHashMap setleExpectAmt = (LinkedHashMap) resultAmt.get("setleExpectAmt");
|
||||||
if(setleExpectAmt.containsKey("setleAmt")){
|
if(setleExpectAmt.containsKey("setleAmt")){
|
||||||
resultSetleAmt = StringUtil.isNullToString(setleExpectAmt.get("setleAmt"));
|
resultSetleAmt = StringUtil.isNullToString(setleExpectAmt.get("setleAmt"));
|
||||||
}
|
}
|
||||||
|
if(setleExpectAmt.containsKey("setleAmtKr")){
|
||||||
|
resultWonSetleAmt = StringUtil.isNullToString(setleExpectAmt.get("setleAmtKr"));
|
||||||
|
}
|
||||||
|
|
||||||
//주문요청의 총결제금액과 계산된 총결제금액이 서로 다를 경우
|
//주문요청의 총결제금액과 계산된 총결제금액이 서로 다를 경우
|
||||||
if(!resultSetleAmt.equals(reqSetleAmt)
|
if(!resultSetleAmt.equals(reqSetleAmt)
|
||||||
@@ -3260,6 +3528,13 @@ public class OrdrController {
|
|||||||
content.put("result", "Y");
|
content.put("result", "Y");
|
||||||
content.put("message", PurchsValidCode.purchsValidMsg("setleAmt"));
|
content.put("message", PurchsValidCode.purchsValidMsg("setleAmt"));
|
||||||
}
|
}
|
||||||
|
if(!resultWonSetleAmt.equals(reqWonSetleAmt)
|
||||||
|
&& StringUtils.hasText(reqWonSetleAmt)
|
||||||
|
&& StringUtils.hasText(resultWonSetleAmt)){
|
||||||
|
content.put("result", "Y");
|
||||||
|
content.put("message", PurchsValidCode.purchsValidMsg("setleAmt"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (WnbtRestException wre) {
|
} catch (WnbtRestException wre) {
|
||||||
log.error(wre.getMessage());
|
log.error(wre.getMessage());
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ import java.io.*;
|
|||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Base64;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
@@ -22,9 +20,7 @@ import org.springframework.http.MediaType;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.wb.domainserver.domain.sopmal.ordr.vo.PayVO;
|
import com.wb.domainserver.domain.sopmal.ordr.vo.PayVO;
|
||||||
@@ -630,4 +626,173 @@ public class PayController {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* *********************************************
|
||||||
|
* 키움결제
|
||||||
|
********************************************* */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 화면
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectKiwoomSample")
|
||||||
|
public String selectKiwoonPay(ModelMap model) throws Exception {
|
||||||
|
log.debug("selectKiwoonPay = {}");
|
||||||
|
return "sopmal/ordr/PayKiwoomPayC";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectKiwoomApiSample")
|
||||||
|
public String selectKiwoonPay2(ModelMap model) throws Exception {
|
||||||
|
log.debug("selectKiwoonPay = {}");
|
||||||
|
return "sopmal/ordr/PayKiwoomPay2C";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectKiwoomTotalSample")
|
||||||
|
public String selectKiwoonPayTotal(ModelMap model) throws Exception {
|
||||||
|
log.debug("selectKiwoonPay = {}");
|
||||||
|
return "sopmal/ordr/PayKiwoomPayTotalC";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계 전 getEnc 값 받아오기
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value="/kiwoomPayGetEnc")
|
||||||
|
public Map<String, Object> selectKiwoomGetEnc(HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
log.debug("kiwoomPayGetEnc = {}");
|
||||||
|
|
||||||
|
//String eucKrStr = new String(utf8Str.getBytes("UTF-8"), "EUC-KR");
|
||||||
|
//String utf8Str = new String(eucKrStr.getBytes("EUC-KR"), "UTF-8");
|
||||||
|
//request.setCharacterEncoding("EUC-KR");
|
||||||
|
|
||||||
|
payVO.setCpId(request.getParameter("CPID"));
|
||||||
|
payVO.setPayMethod(request.getParameter("PAYMETHOD"));
|
||||||
|
payVO.setOrderId(request.getParameter("ORDERNO"));
|
||||||
|
payVO.setType(request.getParameter("TYPE"));
|
||||||
|
payVO.setAmount(request.getParameter("AMOUNT"));
|
||||||
|
|
||||||
|
Map<String, Object> message;
|
||||||
|
String sopmalCd = payVO.getSopmalCd();
|
||||||
|
try {
|
||||||
|
message = service.insertKiwoomPay(payVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
message = new HashMap<>() {{
|
||||||
|
put("response", "결제를 실패하였습니다.\n관리자에게 문의하시기 바랍니다.");
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step5 ::: {}", message.get("KIWOOM_ENC"));
|
||||||
|
|
||||||
|
//model.addAttribute("message", message);
|
||||||
|
//return "sopmal/ordr/PayKiwoomSucsC";
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계처리 - 성공결과페이지
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/kiwoomPaySuccss")
|
||||||
|
public String confirmPaymentKiwoom(HttpServletRequest request, ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
System.out.println("성공결과페이지 ::: "+request.getQueryString());
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
payVO.setCode(request.getParameter("RESULTCODE"));
|
||||||
|
payVO.setOrderId(request.getParameter("ORDERNO"));
|
||||||
|
payVO.setAmount(request.getParameter("AMOUNT"));
|
||||||
|
payVO.setPayMethod(request.getParameter("PAYMETHOD"));
|
||||||
|
|
||||||
|
Map<String, Object> message = new HashMap<>();
|
||||||
|
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("code", payVO.getCode());
|
||||||
|
jsonObject.put("orderId", payVO.getOrderId());
|
||||||
|
jsonObject.put("amount", payVO.getAmount());
|
||||||
|
jsonObject.put("payMethod", payVO.getPayMethod());
|
||||||
|
message.put("response",jsonObject.toString());
|
||||||
|
|
||||||
|
model.addAttribute("message", message);
|
||||||
|
|
||||||
|
return "sopmal/ordr/PayKiwoomSucsC";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제취소 화면
|
||||||
|
* @return PayKiwoomModC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/selectKiwoomCancelSample")
|
||||||
|
public String selectKiwoomCancel(ModelMap model) throws Exception {
|
||||||
|
log.debug("selectKiwoomCancel = {}");
|
||||||
|
return "sopmal/ordr/PayKiwoomModC";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계처리 - 결체취소결과페이지
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@RequestMapping(value="/kiwoomPayCancel")
|
||||||
|
public String confirmCancelKiwoom(HttpServletRequest request, ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
System.out.println("취소데이터 수신 ::: "+request.getQueryString());
|
||||||
|
|
||||||
|
Map<String, Object> setleCancelResultMessage = new HashMap<>();
|
||||||
|
Map<String, Object> responseMap = new HashMap<>();
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
payVO.setSopmalCd("SK");
|
||||||
|
payVO.setOrderId(request.getParameter("ORDERNO"));
|
||||||
|
payVO.setCancelAmount(request.getParameter("AMOUNT"));
|
||||||
|
payVO.setPayMethod(request.getParameter("PAYMETHOD"));
|
||||||
|
payVO.setTno(request.getParameter("TRXID"));
|
||||||
|
payVO.setCancelReason(request.getParameter("CANCELREASON"));
|
||||||
|
payVO.setSetleTyCd("01");
|
||||||
|
payVO.setPgCmpnyNm("kiwoom");
|
||||||
|
|
||||||
|
log.debug("confirmCancelKiwoom step1 payVO :::> {}", payVO);
|
||||||
|
|
||||||
|
Map<String, Object> message = new HashMap<>();
|
||||||
|
|
||||||
|
setleCancelResultMessage = service.cancelKiwoomPay(payVO);
|
||||||
|
|
||||||
|
String responseStr = (String) setleCancelResultMessage.get("response");
|
||||||
|
|
||||||
|
JSONParser parser = new JSONParser();
|
||||||
|
JSONObject jsonObject = (JSONObject) parser.parse(responseStr);
|
||||||
|
jsonObject.put("orderId", payVO.getOrderId());
|
||||||
|
jsonObject.put("amount", payVO.getAmount());
|
||||||
|
jsonObject.put("payMethod", payVO.getPayMethod());
|
||||||
|
jsonObject.put("code", jsonObject.get("RESULTCODE"));
|
||||||
|
message.put("response",jsonObject.toString());
|
||||||
|
|
||||||
|
model.addAttribute("message", message);
|
||||||
|
|
||||||
|
return "sopmal/ordr/PayKiwoomSucsC";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,9 +41,12 @@ public class OrdrVO extends AbstractVO {
|
|||||||
/** 실패 메세지 */
|
/** 실패 메세지 */
|
||||||
private String message;
|
private String message;
|
||||||
|
|
||||||
/*결제 플랫폼 타입 코드*/
|
/** 결제 플랫폼 타입 코드*/
|
||||||
private String setlePltfomTyCd;
|
private String setlePltfomTyCd;
|
||||||
|
|
||||||
/*주문유형*/
|
/** 주문유형*/
|
||||||
private String ordrTyCd;
|
private String ordrTyCd;
|
||||||
|
|
||||||
|
/** 구독서비스 고유번호*/
|
||||||
|
private String subsvcInnb;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import static org.springframework.beans.factory.config.BeanDefinition.ROLE_INFRASTRUCTURE;
|
import static org.springframework.beans.factory.config.BeanDefinition.ROLE_INFRASTRUCTURE;
|
||||||
|
|
||||||
@EnableWebSecurity(debug = true)
|
@EnableWebSecurity
|
||||||
@Configuration
|
@Configuration
|
||||||
//@EnableMethodSecurity
|
//@EnableMethodSecurity
|
||||||
public class ResourceServerConfig {
|
public class ResourceServerConfig {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ spring:
|
|||||||
gcone:
|
gcone:
|
||||||
hikari:
|
hikari:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
jdbc-url: jdbc:mysql://115.68.231.30:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
||||||
username: sakeone
|
username: sakeone
|
||||||
password: dnlfxjtm13@$
|
password: dnlfxjtm13@$
|
||||||
minimumIdle: 1
|
minimumIdle: 1
|
||||||
@@ -66,11 +66,11 @@ spring:
|
|||||||
idleTimeout: 30000 #30초
|
idleTimeout: 30000 #30초
|
||||||
maxLifetime: 1800000 #30분
|
maxLifetime: 1800000 #30분
|
||||||
connectionTimeout: 30000
|
connectionTimeout: 30000
|
||||||
poolName: gconedDevPool
|
poolName: SakeDevPool
|
||||||
sure:
|
sure:
|
||||||
hikari:
|
hikari:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
jdbc-url: jdbc:mysql://115.68.231.30:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
||||||
username: sakeone
|
username: sakeone
|
||||||
password: dnlfxjtm13@$
|
password: dnlfxjtm13@$
|
||||||
minimumIdle: 1
|
minimumIdle: 1
|
||||||
@@ -85,7 +85,7 @@ spring:
|
|||||||
show-sql: true
|
show-sql: true
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 15MB
|
||||||
max-request-size: -1
|
max-request-size: -1
|
||||||
|
|
||||||
mybatis:
|
mybatis:
|
||||||
@@ -111,7 +111,7 @@ sopmalfo:
|
|||||||
rtrn: /data/gcone/rtrnFile
|
rtrn: /data/gcone/rtrnFile
|
||||||
extensions:
|
extensions:
|
||||||
images: .gif,.jpg,.jpeg,.png
|
images: .gif,.jpg,.jpeg,.png
|
||||||
cdnurl: http://dev.img.soju1sake1.com
|
cdnurl: https://19d28cf7178139ad.kinxzone.com
|
||||||
|
|
||||||
|
|
||||||
pagination:
|
pagination:
|
||||||
@@ -353,11 +353,11 @@ mngrfo:
|
|||||||
fileupload:
|
fileupload:
|
||||||
uploaddirs:
|
uploaddirs:
|
||||||
goods: C:/file/temp
|
goods: C:/file/temp
|
||||||
doc: /docFile
|
doc: /data/gcone/docFile
|
||||||
web: /webFile
|
web: /data/gcone/webFile
|
||||||
extensions:
|
extensions:
|
||||||
images: .gif,.jpg,.jpeg,.png
|
images: .gif,.jpg,.jpeg,.png
|
||||||
cdnurl: http://dev.img.soju1sake1.com
|
cdnurl: https://19d28cf7178139ad.kinxzone.com
|
||||||
subsvc:
|
subsvc:
|
||||||
dft-goods-optn-innb: 5
|
dft-goods-optn-innb: 5
|
||||||
|
|
||||||
@@ -365,9 +365,12 @@ mngrfo:
|
|||||||
secret:
|
secret:
|
||||||
key: 1df5be2f7e90ae36
|
key: 1df5be2f7e90ae36
|
||||||
|
|
||||||
|
aciexpress:
|
||||||
|
apikey: DC94F29AFD5399F54AAE7FAA46045B65
|
||||||
|
|
||||||
|
|
||||||
host:
|
host:
|
||||||
img: http://dev.img.soju1sake1.com
|
img: https://19d28cf7178139ad.kinxzone.com
|
||||||
|
|
||||||
naverpay:
|
naverpay:
|
||||||
order:
|
order:
|
||||||
@@ -380,7 +383,7 @@ naverpay:
|
|||||||
real-url: https://pay.naver.com
|
real-url: https://pay.naver.com
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
host: mail.sake1jan.com
|
host: 10.2.1.76
|
||||||
port: 587
|
port: 587
|
||||||
username: custom@sake1jan.com
|
username: custom@sake1jan.com
|
||||||
password: mail13@$
|
password: mail13@$
|
||||||
@@ -420,7 +423,7 @@ bankda:
|
|||||||
css-cours : css/theme/themeAF.css
|
css-cours : css/theme/themeAF.css
|
||||||
|
|
||||||
#선물하기 URL
|
#선물하기 URL
|
||||||
presenturl : dev.svc.soju1sake1.com
|
presenturl : devsvc.soju1sake1.com
|
||||||
|
|
||||||
# 출고 택배사 구분 EXPORT, (택배사 구분코드 HDRYCPN)
|
# 출고 택배사 구분 EXPORT, (택배사 구분코드 HDRYCPN)
|
||||||
# 송장번호 %INVCNB% 치환
|
# 송장번호 %INVCNB% 치환
|
||||||
@@ -449,6 +452,6 @@ api:
|
|||||||
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
||||||
|
|
||||||
currency-unit:
|
currency-unit:
|
||||||
default: 円(엔)
|
default: 円
|
||||||
JP: 円(엔)
|
JP: 円
|
||||||
KR: 원
|
KR: 원
|
||||||
@@ -58,7 +58,7 @@ spring:
|
|||||||
gcone:
|
gcone:
|
||||||
hikari:
|
hikari:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
jdbc-url: jdbc:mysql://115.68.231.30:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
||||||
username: sakeone
|
username: sakeone
|
||||||
password: dnlfxjtm13@$
|
password: dnlfxjtm13@$
|
||||||
minimumIdle: 1
|
minimumIdle: 1
|
||||||
@@ -66,11 +66,11 @@ spring:
|
|||||||
idleTimeout: 30000 #30초
|
idleTimeout: 30000 #30초
|
||||||
maxLifetime: 1800000 #30분
|
maxLifetime: 1800000 #30분
|
||||||
connectionTimeout: 30000
|
connectionTimeout: 30000
|
||||||
poolName: gconedDevPool
|
poolName: SakeDevPool
|
||||||
sure:
|
sure:
|
||||||
hikari:
|
hikari:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
jdbc-url: jdbc:mysql://115.68.231.30:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
|
||||||
username: sakeone
|
username: sakeone
|
||||||
password: dnlfxjtm13@$
|
password: dnlfxjtm13@$
|
||||||
minimumIdle: 1
|
minimumIdle: 1
|
||||||
@@ -85,7 +85,7 @@ spring:
|
|||||||
show-sql: true
|
show-sql: true
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 15MB
|
||||||
max-request-size: -1
|
max-request-size: -1
|
||||||
|
|
||||||
mybatis:
|
mybatis:
|
||||||
@@ -111,7 +111,7 @@ sopmalfo:
|
|||||||
rtrn: /data/gcone/rtrnFile
|
rtrn: /data/gcone/rtrnFile
|
||||||
extensions:
|
extensions:
|
||||||
images: .gif,.jpg,.jpeg,.png
|
images: .gif,.jpg,.jpeg,.png
|
||||||
cdnurl: https://19b0bde6dcdc15ad.kinxzone.com
|
cdnurl: https://19d28cf7178139ad.kinxzone.com
|
||||||
|
|
||||||
|
|
||||||
pagination:
|
pagination:
|
||||||
@@ -357,17 +357,20 @@ mngrfo:
|
|||||||
web: /data/gcone/webFile
|
web: /data/gcone/webFile
|
||||||
extensions:
|
extensions:
|
||||||
images: .gif,.jpg,.jpeg,.png
|
images: .gif,.jpg,.jpeg,.png
|
||||||
cdnurl: https://19b0bde6dcdc15ad.kinxzone.com
|
cdnurl: https://19d28cf7178139ad.kinxzone.com
|
||||||
upurl: https://www.soju1sake1.com
|
# upurl: https://www.soju1sake1.com
|
||||||
subsvc:
|
subsvc:
|
||||||
dft-goods-optn-innb: 5
|
dft-goods-optn-innb: 5
|
||||||
|
|
||||||
secret:
|
secret:
|
||||||
key: 1df5be2f7e90ae36
|
key: 1df5be2f7e90ae36
|
||||||
|
|
||||||
|
aciexpress:
|
||||||
|
apikey: DC94F29AFD5399F54AAE7FAA46045B65
|
||||||
|
|
||||||
|
|
||||||
host:
|
host:
|
||||||
img: https://19b0bde6dcdc15ad.kinxzone.com/
|
img: https://19d28cf7178139ad.kinxzone.com
|
||||||
|
|
||||||
naverpay:
|
naverpay:
|
||||||
order:
|
order:
|
||||||
@@ -380,7 +383,7 @@ naverpay:
|
|||||||
real-url: https://pay.naver.com
|
real-url: https://pay.naver.com
|
||||||
|
|
||||||
mail:
|
mail:
|
||||||
host: mail.sake1jan.com
|
host: 10.2.1.76
|
||||||
port: 587
|
port: 587
|
||||||
username: custom@sake1jan.com
|
username: custom@sake1jan.com
|
||||||
password: mail13@$
|
password: mail13@$
|
||||||
@@ -420,7 +423,7 @@ bankda:
|
|||||||
css-cours : css/theme/themeAF.css
|
css-cours : css/theme/themeAF.css
|
||||||
|
|
||||||
#선물하기 URL
|
#선물하기 URL
|
||||||
presenturl : dev.svc.gcone.co.kr
|
presenturl : devsvc.soju1sake1.com
|
||||||
|
|
||||||
# 출고 택배사 구분 EXPORT, (택배사 구분코드 HDRYCPN)
|
# 출고 택배사 구분 EXPORT, (택배사 구분코드 HDRYCPN)
|
||||||
# 송장번호 %INVCNB% 치환
|
# 송장번호 %INVCNB% 치환
|
||||||
@@ -449,6 +452,6 @@ api:
|
|||||||
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
||||||
|
|
||||||
currency-unit:
|
currency-unit:
|
||||||
default: 円(엔)
|
default: 円
|
||||||
JP: 円(엔)
|
JP: 円
|
||||||
KR: 원
|
KR: 원
|
||||||
@@ -85,7 +85,7 @@ spring:
|
|||||||
show-sql: true
|
show-sql: true
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 15MB
|
||||||
max-request-size: -1
|
max-request-size: -1
|
||||||
|
|
||||||
mybatis:
|
mybatis:
|
||||||
@@ -359,12 +359,15 @@ mngrfo:
|
|||||||
images: .gif,.jpg,.jpeg,.png
|
images: .gif,.jpg,.jpeg,.png
|
||||||
cdnurl: https://19b0bde6dcdc15ad.kinxzone.com
|
cdnurl: https://19b0bde6dcdc15ad.kinxzone.com
|
||||||
subsvc:
|
subsvc:
|
||||||
dft-goods-optn-innb: 5
|
dft-goods-optn-innb: 1
|
||||||
|
|
||||||
|
|
||||||
secret:
|
secret:
|
||||||
key: 1df5be2f7e90ae36
|
key: 1df5be2f7e90ae36
|
||||||
|
|
||||||
|
aciexpress:
|
||||||
|
apikey: DC94F29AFD5399F54AAE7FAA46045B65
|
||||||
|
|
||||||
|
|
||||||
host:
|
host:
|
||||||
img: https://19b0bde6dcdc15ad.kinxzone.com/
|
img: https://19b0bde6dcdc15ad.kinxzone.com/
|
||||||
@@ -449,6 +452,6 @@ api:
|
|||||||
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
DATA_ENCRYPT_AES_KEY: "Z8zKbHyMKn+iwD3O0PLT9g=="
|
||||||
|
|
||||||
currency-unit:
|
currency-unit:
|
||||||
default: 円(엔)
|
default: 円
|
||||||
JP: 円(엔)
|
JP: 円
|
||||||
KR: 원
|
KR: 원
|
||||||
@@ -769,4 +769,122 @@
|
|||||||
SELECT PURCHS_REVALID_AT FROM GC_SHOP WHERE 1=1 AND SOPMAL_CD = #{sopmalCd}
|
SELECT PURCHS_REVALID_AT FROM GC_SHOP WHERE 1=1 AND SOPMAL_CD = #{sopmalCd}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 구독서비스 주문 전 주문정보 재확인 -->
|
||||||
|
<select id="selectBOSubsvcPreOrderValidation" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOPreOrderValidVO" resultType="dataMap">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
CASE
|
||||||
|
WHEN GOODS.SUBSVC_STTUS_CD = '01' THEN 0
|
||||||
|
ELSE 1
|
||||||
|
END AS GOODS_STTUS, -- 상품상태 정상 확인
|
||||||
|
CASE
|
||||||
|
WHEN GOODS.PURCHS_QY_LMTT_DV_CD = '01' OR GOODS.PURCHS_QY_LMTT_DV_CD IS NULL THEN 0
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN #{goodsTotalQy} BETWEEN GOODS.MUMM_PURCHS_QY AND GOODS.MXMM_PURCHS_QY THEN 0
|
||||||
|
ELSE 1
|
||||||
|
END
|
||||||
|
END AS PURCHS_QY_LMTT, -- 상품별 최소 최대 구매수량제한여부
|
||||||
|
CASE
|
||||||
|
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN (GOODS.INVNTRY_QY - IFNULL(GOODS.USEFUL_INVNTRY_QY, 0)) >= #{qy} THEN 0
|
||||||
|
ELSE 1
|
||||||
|
END
|
||||||
|
END AS INVNTRY, -- 각 옵션별 재고 유무
|
||||||
|
CASE
|
||||||
|
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN (IFNULL(GOODS.REST_INVNTRY_QY, 0) - IFNULL(GOODS.AVLINV_LMTT_QY, 0)) >= #{goodsTotalQy} THEN 0
|
||||||
|
ELSE 1
|
||||||
|
END
|
||||||
|
END AS INVNTRY_POLICY, -- 상품별 옵션 수량합산 재고유무
|
||||||
|
CASE
|
||||||
|
WHEN IFNULL(GOODS.SUBSVC_CT, 0) = #{slepric} THEN 0
|
||||||
|
ELSE 1
|
||||||
|
END AS SELPRIC, -- 판매가 변경여부
|
||||||
|
0 AS DSCNT_AT, -- 구간,복수할인 정보 변경 여부
|
||||||
|
0 AS DLVY_GROUP, -- 배송그룹 변경여부
|
||||||
|
0 AS PURCHS_TRGTER_LMTT, -- 구매대상자 제한
|
||||||
|
0 AS COUPON_STTUS, -- 쿠폰 상태 확인
|
||||||
|
0 AS COUPON_USE_AT, -- 쿠폰 회수여부 확인
|
||||||
|
0 AS COUPON_VALIDPD_DT, -- 쿠폰 유효기간 확인
|
||||||
|
0 AS EVT_TRGET_AT, -- 이벤트 진행여부 이벤트 대상일경우 1을 반환함 = 정상 처리 0 이벤트 대상 아닐경우 1
|
||||||
|
0 AS DPLCT_LMTT_COUPON, -- 이벤트 중복제한 쿠폰 존재여부
|
||||||
|
0 AS OPTN_EXPSR_AT -- 상품옵션 노출여부
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
GS.SUBSVC_INNB, -- 구독서비스 고유번호
|
||||||
|
GG.GOODS_INNB, -- 상품 고유번호
|
||||||
|
GS.SOPMAL_CD, -- 쇼핑몰코드
|
||||||
|
GS.SUBSVC_CT, -- 구독료
|
||||||
|
GG.DLVY_GROUP_INNB, -- 배송그룹고유번호
|
||||||
|
GG.GOODS_KND_CD, -- 상품구분 01 상품
|
||||||
|
GS.SUBSVC_STTUS_CD, -- 상품상태 01 정상
|
||||||
|
GS.PURCHS_QY_LMTT_DV_CD, -- 구매수량제한여부 02 제한
|
||||||
|
GS.MUMM_PURCHS_QY, -- 최소구매수량
|
||||||
|
GS.MXMM_PURCHS_QY, -- 최대구매수량
|
||||||
|
GS.INVNTRY_POLICY_CD, -- 재고정책 01 재고가 있으면 판매 02 재고없어도 판매
|
||||||
|
GS.AVLINV_LMTT_QY, -- 가용재고제한수량
|
||||||
|
GG.PURCHS_TRGTER_LMTT_DV_CD, -- 구매 대상자 제한 02 제한
|
||||||
|
SUM(IFNULL(GS.INVNTRY_QY, 0)) AS INVNTRY_QY, -- 상품 재고수량 합계
|
||||||
|
SUM(IFNULL(GS.USEFUL_INVNTRY_QY, 0)) AS USEFUL_INVNTRY_QY, -- 상품 사용 재고수량 합계
|
||||||
|
SUM(IFNULL(GS.INVNTRY_QY, 0)) - SUM(IFNULL(GS.USEFUL_INVNTRY_QY, 0)) AS REST_INVNTRY_QY -- 잔여 재고수량 합계
|
||||||
|
FROM GC_SUBSVC GS
|
||||||
|
INNER JOIN GC_GOODS_OPTION GGO
|
||||||
|
ON GS.SOPMAL_CD = GGO.SOPMAL_CD
|
||||||
|
AND GS.DFT_GOODS_OPTN_INNB = GGO.GOODS_OPTN_INNB
|
||||||
|
AND GS.USE_AT = 'Y'
|
||||||
|
AND GGO.USE_AT = 'Y'
|
||||||
|
INNER JOIN GC_GOODS GG
|
||||||
|
ON GS.SOPMAL_CD = GG.SOPMAL_CD
|
||||||
|
AND GGO.GOODS_INNB = GG.GOODS_INNB
|
||||||
|
AND GG.USE_AT = 'Y'
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND GS.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
||||||
|
GROUP BY
|
||||||
|
GG.GOODS_INNB
|
||||||
|
) GOODS
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
GM.MBR_INNB,
|
||||||
|
GM.MBR_DV_CD,
|
||||||
|
GMGM.SOPMAL_CD,
|
||||||
|
GMG.MBR_GRAD_INNB
|
||||||
|
FROM
|
||||||
|
GC_MEMBER GM
|
||||||
|
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||||
|
ON GM.MBR_INNB = GMGM.MBR_INNB
|
||||||
|
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||||
|
AND GM.USE_AT = 'Y'
|
||||||
|
INNER JOIN GC_MEMBER_GRAD GMG
|
||||||
|
ON GMGM.MBR_GRAD_INNB = GMG.MBR_GRAD_INNB
|
||||||
|
AND GMGM.SOPMAL_CD = GMG.SOPMAL_CD
|
||||||
|
AND GMG.USE_AT = 'Y'
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND GMGM.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GM.MBR_INNB = #{mbrInnb}
|
||||||
|
) MBR
|
||||||
|
ON MBR.SOPMAL_CD = GOODS.SOPMAL_CD
|
||||||
|
WHERE 1 = 1
|
||||||
|
GROUP BY
|
||||||
|
GOODS_STTUS,
|
||||||
|
PURCHS_QY_LMTT,
|
||||||
|
INVNTRY,
|
||||||
|
INVNTRY_POLICY,
|
||||||
|
SELPRIC,
|
||||||
|
DSCNT_AT,
|
||||||
|
DLVY_GROUP,
|
||||||
|
PURCHS_TRGTER_LMTT,
|
||||||
|
COUPON_STTUS,
|
||||||
|
COUPON_USE_AT,
|
||||||
|
COUPON_VALIDPD_DT,
|
||||||
|
EVT_TRGET_AT,
|
||||||
|
DPLCT_LMTT_COUPON
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -947,6 +947,37 @@
|
|||||||
SOPMAL_CD = #{sopmalCd}
|
SOPMAL_CD = #{sopmalCd}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- 쇼핑몰 환율 설정 수정 -->
|
||||||
|
<update id="updateBOExchngrtSetup" parameterType="com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO" >
|
||||||
|
UPDATE
|
||||||
|
GC_SHOP
|
||||||
|
SET BUY_RATE = #{buyRate},
|
||||||
|
SELL_RATE = #{sellRate},
|
||||||
|
UPDUSR = #{updusr},
|
||||||
|
UPDT_DT = SYSDATE()
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
AND
|
||||||
|
SOPMAL_CD = #{sopmalCd}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 쇼핑몰 안내문구 설정 수정 -->
|
||||||
|
<update id="updateBOGuidanceSetup" parameterType="com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO" >
|
||||||
|
UPDATE
|
||||||
|
GC_SHOP
|
||||||
|
SET JOIN_GUIDANCE_SJ = #{joinGuidanceSj},
|
||||||
|
JOIN_GUIDANCE_WORDS = #{joinGuidanceWords},
|
||||||
|
JOIN_BNEF = #{joinBnef},
|
||||||
|
JOIN_COMPT_WORDS = #{joinComptWords},
|
||||||
|
SUBSVC_GUIDANCE_WORDS = #{subsvcGuidanceWords},
|
||||||
|
UPDUSR = #{updusr},
|
||||||
|
UPDT_DT = SYSDATE()
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
AND
|
||||||
|
SOPMAL_CD = #{sopmalCd}
|
||||||
|
</update>
|
||||||
|
|
||||||
<!-- 쇼핑몰 사업자 정보 삭제 -->
|
<!-- 쇼핑몰 사업자 정보 삭제 -->
|
||||||
<delete id="deteteBOShopCompany" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
<delete id="deteteBOShopCompany" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,7 @@
|
|||||||
AND (FB.NTC_AT = 'N' OR (FB.NTC_AT = 'Y' AND FB.NTC_PD_SETUP_AT = 'N'))
|
AND (FB.NTC_AT = 'N' OR (FB.NTC_AT = 'Y' AND FB.NTC_PD_SETUP_AT = 'N'))
|
||||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(serverDv, 'sopmal')">
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(serverDv, 'sopmal')">
|
||||||
<include refid="selectSopmalNtceWhere"/>
|
<include refid="selectSopmalNtceWhere"/>
|
||||||
|
AND FB.USE_AT = 'Y'
|
||||||
</if>
|
</if>
|
||||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||||
AND FB.BBS_ID = #{bbsId}
|
AND FB.BBS_ID = #{bbsId}
|
||||||
@@ -460,6 +461,7 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(serverDv, 'sopmal')">
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(serverDv, 'sopmal')">
|
||||||
<include refid="selectSopmalNtceWhere"/>
|
<include refid="selectSopmalNtceWhere"/>
|
||||||
|
AND FB.USE_AT = 'Y'
|
||||||
</if>
|
</if>
|
||||||
AND FB.DEPTH = 0
|
AND FB.DEPTH = 0
|
||||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||||
|
|||||||
@@ -503,6 +503,7 @@
|
|||||||
FG.REPRSNT_GOODS_CD,
|
FG.REPRSNT_GOODS_CD,
|
||||||
FG.BRAND_CD,
|
FG.BRAND_CD,
|
||||||
FG.GOODS_NM,
|
FG.GOODS_NM,
|
||||||
|
FG.GOODS_NM_EN,
|
||||||
FG.TAX_AT,
|
FG.TAX_AT,
|
||||||
FG.GOODS_STTUS_CD,
|
FG.GOODS_STTUS_CD,
|
||||||
FG.SEL_STPGE_CUSTOM_WORDS_AT,
|
FG.SEL_STPGE_CUSTOM_WORDS_AT,
|
||||||
@@ -1944,6 +1945,8 @@
|
|||||||
,GROUP_CONCAT(CASE WHEN IFNULL(FGO.OPTN_CD_4, '') = '' THEN ' ' ELSE FGO.OPTN_CD_4 END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_CD_4 -- 옵션코드 1
|
,GROUP_CONCAT(CASE WHEN IFNULL(FGO.OPTN_CD_4, '') = '' THEN ' ' ELSE FGO.OPTN_CD_4 END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_CD_4 -- 옵션코드 1
|
||||||
,GROUP_CONCAT( CASE WHEN IFNULL(FGO.OPTN_INFO, '') = '' THEN ' ' ELSE FGO.OPTN_INFO END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_INFO -- 옵션정보
|
,GROUP_CONCAT( CASE WHEN IFNULL(FGO.OPTN_INFO, '') = '' THEN ' ' ELSE FGO.OPTN_INFO END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_INFO -- 옵션정보
|
||||||
,GROUP_CONCAT(FGO.MLG_POLICY_CD ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS MLG_POLICY_CD -- 마일리지정책코드
|
,GROUP_CONCAT(FGO.MLG_POLICY_CD ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS MLG_POLICY_CD -- 마일리지정책코드
|
||||||
|
,GROUP_CONCAT(FGO.HSCODE ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS HSCODE -- HS Code
|
||||||
|
,GROUP_CONCAT(FGO.REAL_WT ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS REAL_WT -- 실무게(KG)
|
||||||
,GROUP_CONCAT(FGO.INVNTRY_QY ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS INVNTRY_QY -- 재고수량
|
,GROUP_CONCAT(FGO.INVNTRY_QY ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS INVNTRY_QY -- 재고수량
|
||||||
,GROUP_CONCAT(CASE WHEN FG.INVNTRY_POLICY_CD = '01' THEN FGO.INVNTRY_QY - IFNULL(FGO.USEFUL_INVNTRY_QY, 0) ELSE FGO.INVNTRY_QY END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY -- 가용재고수량
|
,GROUP_CONCAT(CASE WHEN FG.INVNTRY_POLICY_CD = '01' THEN FGO.INVNTRY_QY - IFNULL(FGO.USEFUL_INVNTRY_QY, 0) ELSE FGO.INVNTRY_QY END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY -- 가용재고수량
|
||||||
,GROUP_CONCAT(ROUND(IFNULL(FGO.USEFUL_INVNTRY_QY, 0), 0) ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY_QY -- 판매재고수량
|
,GROUP_CONCAT(ROUND(IFNULL(FGO.USEFUL_INVNTRY_QY, 0), 0) ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY_QY -- 판매재고수량
|
||||||
@@ -2011,6 +2014,7 @@
|
|||||||
GOODS_CD,
|
GOODS_CD,
|
||||||
REPRSNT_GOODS_CD,
|
REPRSNT_GOODS_CD,
|
||||||
GOODS_NM,
|
GOODS_NM,
|
||||||
|
GOODS_NM_EN,
|
||||||
TAX_AT,
|
TAX_AT,
|
||||||
GOODS_STTUS_CD,
|
GOODS_STTUS_CD,
|
||||||
SEL_STPGE_CUSTOM_WORDS_AT,
|
SEL_STPGE_CUSTOM_WORDS_AT,
|
||||||
@@ -2079,6 +2083,7 @@
|
|||||||
#{goodsCd},
|
#{goodsCd},
|
||||||
#{reprsntGoodsCd},
|
#{reprsntGoodsCd},
|
||||||
#{goodsNm},
|
#{goodsNm},
|
||||||
|
#{goodsNmEn},
|
||||||
#{taxAt},
|
#{taxAt},
|
||||||
#{goodsSttusCd},
|
#{goodsSttusCd},
|
||||||
#{selStpgeCustomWordsAt},
|
#{selStpgeCustomWordsAt},
|
||||||
@@ -2188,6 +2193,7 @@
|
|||||||
GC_GOODS FG
|
GC_GOODS FG
|
||||||
set
|
set
|
||||||
GOODS_NM = #{goodsNm} -- 상품명
|
GOODS_NM = #{goodsNm} -- 상품명
|
||||||
|
, GOODS_NM_EN = #{goodsNmEn} -- 상품명(영문)
|
||||||
, SRT_DC = #{srtDc} -- 간략설명
|
, SRT_DC = #{srtDc} -- 간략설명
|
||||||
, REPRSNT_DC = #{reprsntDc} -- 대표설명
|
, REPRSNT_DC = #{reprsntDc} -- 대표설명
|
||||||
, BRAND_CD = #{brandCd} -- 브랜드
|
, BRAND_CD = #{brandCd} -- 브랜드
|
||||||
@@ -2534,6 +2540,8 @@
|
|||||||
OPTN_CD_3,
|
OPTN_CD_3,
|
||||||
OPTN_CD_4,
|
OPTN_CD_4,
|
||||||
OPTN_INFO,
|
OPTN_INFO,
|
||||||
|
HSCODE,
|
||||||
|
REAL_WT,
|
||||||
INVNTRY_QY,
|
INVNTRY_QY,
|
||||||
USEFUL_INVNTRY_QY,
|
USEFUL_INVNTRY_QY,
|
||||||
CNSMRPRIC,
|
CNSMRPRIC,
|
||||||
@@ -2572,6 +2580,8 @@
|
|||||||
#{optnCd3},
|
#{optnCd3},
|
||||||
#{optnCd4},
|
#{optnCd4},
|
||||||
#{optnInfo},
|
#{optnInfo},
|
||||||
|
#{hscode},
|
||||||
|
#{realWt},
|
||||||
#{invntryQy},
|
#{invntryQy},
|
||||||
#{usefulInvntryQy},
|
#{usefulInvntryQy},
|
||||||
#{cnsmrpric},
|
#{cnsmrpric},
|
||||||
@@ -2686,6 +2696,8 @@
|
|||||||
OPTN_CD_3 = #{optnCd3},
|
OPTN_CD_3 = #{optnCd3},
|
||||||
OPTN_CD_4 = #{optnCd4},
|
OPTN_CD_4 = #{optnCd4},
|
||||||
OPTN_INFO = #{optnInfo},
|
OPTN_INFO = #{optnInfo},
|
||||||
|
HSCODE = #{hscode},
|
||||||
|
REAL_WT = #{realWt},
|
||||||
INVNTRY_QY = #{invntryQy},
|
INVNTRY_QY = #{invntryQy},
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(usefulInvntryQy)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(usefulInvntryQy)">
|
||||||
USEFUL_INVNTRY_QY = #{usefulInvntryQy},
|
USEFUL_INVNTRY_QY = #{usefulInvntryQy},
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
, ORDR_TY_CD
|
, ORDR_TY_CD
|
||||||
, RL_SETLE_AMT
|
, RL_SETLE_AMT
|
||||||
, ENURI_AMT
|
, ENURI_AMT
|
||||||
|
, WON_RL_SETLE_AMT
|
||||||
|
, BUY_RATE
|
||||||
, ORDRR_NM
|
, ORDRR_NM
|
||||||
, ORDRR_TELNB
|
, ORDRR_TELNB
|
||||||
, ORDRR_MBTLNB
|
, ORDRR_MBTLNB
|
||||||
@@ -64,6 +66,10 @@
|
|||||||
, RCIPT_NB
|
, RCIPT_NB
|
||||||
, SLE_EMPL_NM
|
, SLE_EMPL_NM
|
||||||
, DWLD_COUPON_INNB
|
, DWLD_COUPON_INNB
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(subsvcInnb)">
|
||||||
|
, SUBSVC_INNB
|
||||||
|
, SUBSVC_AT
|
||||||
|
</if>
|
||||||
, INDVDL_SETLE_SMS_CN
|
, INDVDL_SETLE_SMS_CN
|
||||||
, INDVDL_SETLE_SMS_MBTLNB
|
, INDVDL_SETLE_SMS_MBTLNB
|
||||||
, INDVDL_SETLE_SMS_AT
|
, INDVDL_SETLE_SMS_AT
|
||||||
@@ -84,6 +90,8 @@
|
|||||||
, #{ordrTyCd}
|
, #{ordrTyCd}
|
||||||
, #{rlSetleAmt}
|
, #{rlSetleAmt}
|
||||||
, #{enuriAmt}
|
, #{enuriAmt}
|
||||||
|
, #{wonRlSetleAmt}
|
||||||
|
, #{buyRate}
|
||||||
, #{ordrrNm}
|
, #{ordrrNm}
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{ordrrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{ordrrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{ordrrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{ordrrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
@@ -128,6 +136,10 @@
|
|||||||
, #{rciptNb}
|
, #{rciptNb}
|
||||||
, #{sleEmplNm}
|
, #{sleEmplNm}
|
||||||
, #{dwldCouponInnb}
|
, #{dwldCouponInnb}
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(subsvcInnb)">
|
||||||
|
, #{subsvcInnb}
|
||||||
|
, 'Y'
|
||||||
|
</if>
|
||||||
, #{indvdlSetleSmsCn}
|
, #{indvdlSetleSmsCn}
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{indvdlSetleSmsMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{indvdlSetleSmsMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
, #{indvdlSetleSmsAt}
|
, #{indvdlSetleSmsAt}
|
||||||
@@ -190,6 +202,7 @@
|
|||||||
, GOODS_INNB
|
, GOODS_INNB
|
||||||
, GOODS_IMG_COURS
|
, GOODS_IMG_COURS
|
||||||
, GOODS_NM
|
, GOODS_NM
|
||||||
|
, GOODS_NM_EN
|
||||||
, SUBSCRPT_WTHDRAW_POSBL_AT
|
, SUBSCRPT_WTHDRAW_POSBL_AT
|
||||||
, INDVDLZ_CANCL_POSBL_AT
|
, INDVDLZ_CANCL_POSBL_AT
|
||||||
, INDVDLZ_DLIVY_POSBL_AT
|
, INDVDLZ_DLIVY_POSBL_AT
|
||||||
@@ -204,6 +217,7 @@
|
|||||||
, #{goodsInnb}
|
, #{goodsInnb}
|
||||||
, #{goodsImgCours}
|
, #{goodsImgCours}
|
||||||
, #{goodsNm}
|
, #{goodsNm}
|
||||||
|
, #{goodsNmEn}
|
||||||
, #{subscrptWthdrawPosblAt}
|
, #{subscrptWthdrawPosblAt}
|
||||||
, #{indvdlzCanclPosblAt}
|
, #{indvdlzCanclPosblAt}
|
||||||
, #{indvdlzDlivyPosblAt}
|
, #{indvdlzDlivyPosblAt}
|
||||||
@@ -293,6 +307,10 @@
|
|||||||
, STEP85
|
, STEP85
|
||||||
, COMPNB_DSCNT_AT
|
, COMPNB_DSCNT_AT
|
||||||
, SCTN_DSCNT_AT
|
, SCTN_DSCNT_AT
|
||||||
|
, HSCODE
|
||||||
|
, REAL_WT
|
||||||
|
, VOL_WT
|
||||||
|
, PACKAGE_CNT
|
||||||
, PURCHS_DCSN_AT
|
, PURCHS_DCSN_AT
|
||||||
, PURCHS_DCSN_QY
|
, PURCHS_DCSN_QY
|
||||||
, RETURN_DLVY_APPLC_AT
|
, RETURN_DLVY_APPLC_AT
|
||||||
@@ -358,6 +376,10 @@
|
|||||||
, #{step85}
|
, #{step85}
|
||||||
, GI.COMPNB_DSCNT_AT
|
, GI.COMPNB_DSCNT_AT
|
||||||
, GI.SCTN_DSCNT_AT
|
, GI.SCTN_DSCNT_AT
|
||||||
|
, #{hscode}
|
||||||
|
, #{realWt}
|
||||||
|
, #{volWt}
|
||||||
|
, #{packageCnt}
|
||||||
, 'N'
|
, 'N'
|
||||||
, 0
|
, 0
|
||||||
, SG.RETURN_DLVY_APPLC_AT
|
, SG.RETURN_DLVY_APPLC_AT
|
||||||
@@ -386,7 +408,10 @@
|
|||||||
, ORDR_STTUS_CD
|
, ORDR_STTUS_CD
|
||||||
, RECPNT_NM
|
, RECPNT_NM
|
||||||
, RECPNT_MBTLNB
|
, RECPNT_MBTLNB
|
||||||
|
, DLVYLC_AREA_CD
|
||||||
|
, CSTMCLER_CD
|
||||||
, DLVYLC_ZIP
|
, DLVYLC_ZIP
|
||||||
|
, PREFCD
|
||||||
, DLVYLC_ADRES_DV_CD
|
, DLVYLC_ADRES_DV_CD
|
||||||
, DLVYLC_LNB_ADRES
|
, DLVYLC_LNB_ADRES
|
||||||
, DLVYLC_RNM_ADRES
|
, DLVYLC_RNM_ADRES
|
||||||
@@ -422,7 +447,10 @@
|
|||||||
, #{ordrSttusCd}
|
, #{ordrSttusCd}
|
||||||
, #{recpntNm}
|
, #{recpntNm}
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{recpntMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{recpntMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
|
, #{dlvylcAreaCd}
|
||||||
|
, #{cstmclerCd}
|
||||||
, #{dlvylcZip}
|
, #{dlvylcZip}
|
||||||
|
, #{prefcd}
|
||||||
, #{dlvylcAdresDvCd}
|
, #{dlvylcAdresDvCd}
|
||||||
, #{dlvylcLnbAdres}
|
, #{dlvylcLnbAdres}
|
||||||
, #{dlvylcRnmAdres}
|
, #{dlvylcRnmAdres}
|
||||||
@@ -461,6 +489,7 @@
|
|||||||
, SOPMAL_CD
|
, SOPMAL_CD
|
||||||
, ORDR_INNB
|
, ORDR_INNB
|
||||||
, SETLE_AMT
|
, SETLE_AMT
|
||||||
|
, WON_SETLE_AMT
|
||||||
, PG_CMPNY_NM
|
, PG_CMPNY_NM
|
||||||
, SETLE_TY_CD
|
, SETLE_TY_CD
|
||||||
, PG_INNB
|
, PG_INNB
|
||||||
@@ -485,6 +514,7 @@
|
|||||||
, #{sopmalCd}
|
, #{sopmalCd}
|
||||||
, #{ordrInnb}
|
, #{ordrInnb}
|
||||||
, #{setleAmt}
|
, #{setleAmt}
|
||||||
|
, #{wonSetleAmt}
|
||||||
, #{pgCmpnyNm}
|
, #{pgCmpnyNm}
|
||||||
, #{setleTyCd}
|
, #{setleTyCd}
|
||||||
, #{pgInnb}
|
, #{pgInnb}
|
||||||
@@ -1280,6 +1310,7 @@ FROM (
|
|||||||
ELSE FDA.LNB_ADRES
|
ELSE FDA.LNB_ADRES
|
||||||
END ADRES
|
END ADRES
|
||||||
, FDA.DTL_ADRES
|
, FDA.DTL_ADRES
|
||||||
|
, FDA.CSTMCLER_CD
|
||||||
FROM GC_DELIVERY_ADDRESS FDA
|
FROM GC_DELIVERY_ADDRESS FDA
|
||||||
WHERE FDA.MBR_INNB = #{mbrInnb}
|
WHERE FDA.MBR_INNB = #{mbrInnb}
|
||||||
AND FDA.MBR_DV_CD = #{mbrDvCd}
|
AND FDA.MBR_DV_CD = #{mbrDvCd}
|
||||||
@@ -1478,6 +1509,7 @@ FROM (
|
|||||||
SELECT FG.SOPMAL_CD
|
SELECT FG.SOPMAL_CD
|
||||||
, FG.GOODS_INNB
|
, FG.GOODS_INNB
|
||||||
, FG.GOODS_NM
|
, FG.GOODS_NM
|
||||||
|
, FG.GOODS_NM_EN
|
||||||
, FG.GOODS_KND_CD
|
, FG.GOODS_KND_CD
|
||||||
, FG.GOODS_STTUS_CD
|
, FG.GOODS_STTUS_CD
|
||||||
, FN_GET_COMMCODE_NAME('GOODS_STTUS', FG.GOODS_STTUS_CD) AS GOODS_STTUS_NM
|
, FN_GET_COMMCODE_NAME('GOODS_STTUS', FG.GOODS_STTUS_CD) AS GOODS_STTUS_NM
|
||||||
@@ -1918,6 +1950,10 @@ FROM (
|
|||||||
, FGO.OPTN_CD_2
|
, FGO.OPTN_CD_2
|
||||||
, FGO.OPTN_CD_3
|
, FGO.OPTN_CD_3
|
||||||
, FGO.OPTN_CD_4
|
, FGO.OPTN_CD_4
|
||||||
|
, FGO.HSCODE
|
||||||
|
, FGO.REAL_WT
|
||||||
|
, FGO.VOL_WT
|
||||||
|
, FGO.PACKAGE_CNT
|
||||||
, FGO.OPTN_INFO
|
, FGO.OPTN_INFO
|
||||||
, FGO.OPTN_RELATE_NB
|
, FGO.OPTN_RELATE_NB
|
||||||
FROM (
|
FROM (
|
||||||
@@ -1953,6 +1989,10 @@ FROM (
|
|||||||
, FGO.OPTN_CD_2
|
, FGO.OPTN_CD_2
|
||||||
, FGO.OPTN_CD_3
|
, FGO.OPTN_CD_3
|
||||||
, FGO.OPTN_CD_4
|
, FGO.OPTN_CD_4
|
||||||
|
, FGO.HSCODE
|
||||||
|
, FGO.REAL_WT
|
||||||
|
, FGO.VOL_WT
|
||||||
|
, FGO.PACKAGE_CNT
|
||||||
, FGO.OPTN_INFO
|
, FGO.OPTN_INFO
|
||||||
, FGO.OPTN_RELATE_NB
|
, FGO.OPTN_RELATE_NB
|
||||||
FROM GC_GOODS_OPTION FGO
|
FROM GC_GOODS_OPTION FGO
|
||||||
@@ -1979,11 +2019,16 @@ FROM (
|
|||||||
ELSE FN_GET_COMMCODE_NAME('GOODS_STTUS', FG.GOODS_STTUS_CD)
|
ELSE FN_GET_COMMCODE_NAME('GOODS_STTUS', FG.GOODS_STTUS_CD)
|
||||||
END AS GOODS_STTUS_NM
|
END AS GOODS_STTUS_NM
|
||||||
, FG.GOODS_NM
|
, FG.GOODS_NM
|
||||||
|
, FG.GOODS_NM_EN
|
||||||
, FGO.GOODS_OPTN_INNB
|
, FGO.GOODS_OPTN_INNB
|
||||||
, FGO.OPTN_TY
|
, FGO.OPTN_TY
|
||||||
, FGO.OPTN_RELATE_NB
|
, FGO.OPTN_RELATE_NB
|
||||||
, FGO.COMPNB_DSCNT_AT
|
, FGO.COMPNB_DSCNT_AT
|
||||||
, FGO.SCTN_DSCNT_AT
|
, FGO.SCTN_DSCNT_AT
|
||||||
|
, FGO.HSCODE
|
||||||
|
, FGO.REAL_WT
|
||||||
|
, FGO.VOL_WT
|
||||||
|
, FGO.PACKAGE_CNT
|
||||||
, NULLIF(FGO.OPTN_ESSNTL_AT, '') AS OPTN_ESSNTL_AT
|
, NULLIF(FGO.OPTN_ESSNTL_AT, '') AS OPTN_ESSNTL_AT
|
||||||
, FORMAT(IFNULL(FGO.CNSMRPRIC, 0) * #{qy}, 0) AS SUB_CNSMRPRIC_BY_FORMAT
|
, FORMAT(IFNULL(FGO.CNSMRPRIC, 0) * #{qy}, 0) AS SUB_CNSMRPRIC_BY_FORMAT
|
||||||
, IFNULL(FGO.CNSMRPRIC, 0) * #{qy} AS SUB_CNSMRPRIC
|
, IFNULL(FGO.CNSMRPRIC, 0) * #{qy} AS SUB_CNSMRPRIC
|
||||||
@@ -2044,6 +2089,10 @@ FROM (
|
|||||||
, FGO.OPTN_RELATE_NB
|
, FGO.OPTN_RELATE_NB
|
||||||
, FGO.COMPNB_DSCNT_AT
|
, FGO.COMPNB_DSCNT_AT
|
||||||
, FGO.SCTN_DSCNT_AT
|
, FGO.SCTN_DSCNT_AT
|
||||||
|
, HSCODE
|
||||||
|
, REAL_WT
|
||||||
|
, VOL_WT
|
||||||
|
, PACKAGE_CNT
|
||||||
FROM GC_GOODS_OPTION FGO
|
FROM GC_GOODS_OPTION FGO
|
||||||
WHERE FGO.GOODS_OPTN_INNB = #{goodsOptnInnb}
|
WHERE FGO.GOODS_OPTN_INNB = #{goodsOptnInnb}
|
||||||
) FGO ON FGO.GOODS_INNB = FG.GOODS_INNB
|
) FGO ON FGO.GOODS_INNB = FG.GOODS_INNB
|
||||||
@@ -2673,6 +2722,14 @@ FROM (
|
|||||||
AND FO.SOPMAL_CD = #{sopmalCd}
|
AND FO.SOPMAL_CD = #{sopmalCd}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 관리자 주문 > 실결제금액조회 -->
|
||||||
|
<select id="selectWonRlSetleAmt" parameterType="dataMap" resultType="String">
|
||||||
|
SELECT FLOOR (FO.WON_RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||||
|
FROM GC_ORDER FO
|
||||||
|
WHERE FO.ORDR_INNB = #{ordrInnb}
|
||||||
|
AND FO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<!-- 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 ) -->
|
<!-- 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 ) -->
|
||||||
<update id="updateOrdrItemOptnRestAmtUpdt">
|
<update id="updateOrdrItemOptnRestAmtUpdt">
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
THEN NOW() BETWEEN GS.EXPSR_BGN_DT AND GS.EXPSR_END_DT
|
THEN NOW() BETWEEN GS.EXPSR_BGN_DT AND GS.EXPSR_END_DT
|
||||||
ELSE 1=1
|
ELSE 1=1
|
||||||
END
|
END
|
||||||
|
AND GS.USE_AT = 'Y'
|
||||||
]]>
|
]]>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
, GS.SUBSVC_CT /*구독료*/
|
, GS.SUBSVC_CT /*구독료*/
|
||||||
, GS.TME_DLVY_AMT /*1회배송비*/
|
, GS.TME_DLVY_AMT /*1회배송비*/
|
||||||
, GS.CNSMRPRIC /*소비자가*/
|
, GS.CNSMRPRIC /*소비자가*/
|
||||||
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SLEPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
||||||
, ROUND((GS.CNSMRPRIC - (GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT))) / NULLIF(GS.CNSMRPRIC, 0) * 100, 0) AS DSCNT_RAITO
|
, ROUND((GS.CNSMRPRIC - (GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT))) / NULLIF(GS.CNSMRPRIC, 0) * 100, 0) AS DSCNT_RAITO
|
||||||
, GS.INVNTRY_QY /*재고수량*/
|
, GS.INVNTRY_QY /*재고수량*/
|
||||||
, GS.USEFUL_INVNTRY_QY /*판매재고수량*/
|
, GS.USEFUL_INVNTRY_QY /*판매재고수량*/
|
||||||
@@ -60,6 +61,15 @@
|
|||||||
, GS.MBL_SUBSVC_DC_PC_SAME_AT /*모바일 구독서비스 설명 PC동일여부*/
|
, GS.MBL_SUBSVC_DC_PC_SAME_AT /*모바일 구독서비스 설명 PC동일여부*/
|
||||||
, GS.LAST_PROCS_ODR /*최종차수*/
|
, GS.LAST_PROCS_ODR /*최종차수*/
|
||||||
, GS.DFT_GOODS_OPTN_INNB /*기본상품옵션고유번호*/
|
, GS.DFT_GOODS_OPTN_INNB /*기본상품옵션고유번호*/
|
||||||
|
, 1 AS QY /*구독서비스 결제 수량*/
|
||||||
|
]]>
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb)">
|
||||||
|
, #{mbrInnb} AS mbrInnb /*회원 고유번호*/
|
||||||
|
</if>
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)">
|
||||||
|
, #{mbrDvCd} AS mbrDvCd /*회원구분코드*/
|
||||||
|
</if>
|
||||||
|
<![CDATA[
|
||||||
FROM GC_SUBSVC GS
|
FROM GC_SUBSVC GS
|
||||||
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
||||||
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
||||||
@@ -74,60 +84,61 @@
|
|||||||
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||||
FROM (
|
FROM (
|
||||||
SELECT COUNT(*) OVER() AS TOT_CNT
|
SELECT COUNT(*) OVER() AS TOT_CNT
|
||||||
, GC.SUBSVC_INNB
|
, GS.SUBSVC_INNB
|
||||||
, GC.SOPMAL_CD
|
, GS.SOPMAL_CD
|
||||||
, GC.SUBSVC_NM
|
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||||
, GC.SUBSVC_GNR
|
, GS.SUBSVC_NM
|
||||||
, GC.SUBSVC_GNR_NM
|
, GS.SUBSVC_GNR
|
||||||
, GC.DLVY_CNT
|
, GS.SUBSVC_GNR_NM
|
||||||
, GC.INVNTRY_QY
|
, GS.DLVY_CNT
|
||||||
, GC.INVNTRY_QY - GC.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
|
, GS.INVNTRY_QY
|
||||||
, GC.SUBSVC_STTUS_CD
|
, GS.INVNTRY_QY - GS.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
|
||||||
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GC.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
|
, GS.SUBSVC_STTUS_CD
|
||||||
, FN_GET_COMMCODE_NAME('EXPSR_DV', GC.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
|
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GS.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
|
||||||
, GC.SUBSVC_CT /*구독료*/
|
, FN_GET_COMMCODE_NAME('EXPSR_DV', GS.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
|
||||||
, GC.TME_DLVY_AMT /*1회배송비*/
|
, GS.SUBSVC_CT /*구독료*/
|
||||||
, GC.CNSMRPRIC /*소비자가*/
|
, GS.TME_DLVY_AMT /*1회배송비*/
|
||||||
, GC.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
, GS.CNSMRPRIC /*소비자가*/
|
||||||
, GC.IMG /*섬네일 이미지*/
|
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
||||||
, GC.LAST_PROCS_ODR /*최종차수*/
|
, GS.IMG /*섬네일 이미지*/
|
||||||
FROM GC_SUBSVC GC
|
, GS.LAST_PROCS_ODR /*최종차수*/
|
||||||
WHERE GC.USE_AT = 'Y'
|
FROM GC_SUBSVC GS
|
||||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
WHERE GS.USE_AT = 'Y'
|
||||||
|
AND GS.SOPMAL_CD = #{sopmalCd}
|
||||||
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
|
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
|
||||||
AND GC.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
|
AND GS.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
|
||||||
</if>
|
</if>
|
||||||
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
|
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
|
||||||
AND GC.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
|
AND GS.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
|
||||||
</if>
|
</if>
|
||||||
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
|
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
|
||||||
AND GC.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
|
AND GS.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
|
||||||
</if>
|
</if>
|
||||||
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
|
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
|
||||||
AND GC.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
|
AND GS.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
|
||||||
</if>
|
</if>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
|
||||||
/*판매상태*/
|
/*판매상태*/
|
||||||
AND GC.SUBSVC_STTUS_CD IN
|
AND GS.SUBSVC_STTUS_CD IN
|
||||||
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
|
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
|
||||||
#{subsvcSttusCd}
|
#{subsvcSttusCd}
|
||||||
</foreach>
|
</foreach>
|
||||||
</when>
|
</when>
|
||||||
</choose>
|
</choose>
|
||||||
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
|
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
|
||||||
AND GC.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
|
AND GS.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
|
||||||
</if>
|
</if>
|
||||||
ORDER BY
|
ORDER BY
|
||||||
<choose>
|
<choose>
|
||||||
<when test="sortDv == 'subsvcGnrAsc'">
|
<when test="sortDv == 'subsvcGnrAsc'">
|
||||||
GC.SUBSVC_NM ASC, SUBSVC_GNR ASC,
|
GS.SUBSVC_NM ASC, SUBSVC_GNR ASC,
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
GC.SUBSVC_NM DESC, SUBSVC_GNR DESC,
|
GS.SUBSVC_NM DESC, SUBSVC_GNR DESC,
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
GC.SUBSVC_INNB ASC
|
GS.SUBSVC_INNB ASC
|
||||||
) TB
|
) TB
|
||||||
WHERE (@ROWNUM:=0)=0
|
WHERE (@ROWNUM:=0)=0
|
||||||
) PV
|
) PV
|
||||||
@@ -190,6 +201,9 @@
|
|||||||
, CNSMRPRIC = REPLACE(#{cnsmrpric},',','')
|
, CNSMRPRIC = REPLACE(#{cnsmrpric},',','')
|
||||||
, INVNTRY_QY = REPLACE(#{invntryQy},',','')
|
, INVNTRY_QY = REPLACE(#{invntryQy},',','')
|
||||||
, INVNTRY_POLICY_CD = #{invntryPolicyCd}
|
, INVNTRY_POLICY_CD = #{invntryPolicyCd}
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(usefulInvntryQyInit, 'Y')">
|
||||||
|
, USEFUL_INVNTRY_QY = 0
|
||||||
|
</if>
|
||||||
, AVLINV_LMTT_QY = #{avlinvLmttQy}
|
, AVLINV_LMTT_QY = #{avlinvLmttQy}
|
||||||
, SUBSVC_STTUS_CD = #{subsvcSttusCd}
|
, SUBSVC_STTUS_CD = #{subsvcSttusCd}
|
||||||
, EXPSR_DV_CD = #{expsrDvCd}
|
, EXPSR_DV_CD = #{expsrDvCd}
|
||||||
@@ -298,4 +312,89 @@
|
|||||||
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
||||||
AND GS.SUBSVC_NM = #{subsvcNm}
|
AND GS.SUBSVC_NM = #{subsvcNm}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 구독서비스 주문에 따른 판매재고수량 수정 -->
|
||||||
|
<update id="updateSubsvcOrdrUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
|
<![CDATA[
|
||||||
|
UPDATE GC_SUBSVC GS
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
GO.SUBSVC_INNB,
|
||||||
|
COUNT(*) AS ORDR_QY
|
||||||
|
FROM GC_ORDER GO
|
||||||
|
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GO.ORDR_INNB = #{ordrInnb}
|
||||||
|
GROUP BY
|
||||||
|
GO.SUBSVC_INNB
|
||||||
|
) SUBQUERY
|
||||||
|
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) + SUBQUERY.ORDR_QY
|
||||||
|
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
]]>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 구독서비스 환불에 따른 판매재고수량 수정 -->
|
||||||
|
<update id="updateSubsvcRefundUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
|
<![CDATA[
|
||||||
|
UPDATE GC_SUBSVC GS
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
GO.SUBSVC_INNB,
|
||||||
|
SUM(CASE WHEN GOR.REFUND_TY_CD = '01' THEN 1 ELSE 0 END) AS REFUND_QY
|
||||||
|
FROM GC_ORDER GO
|
||||||
|
INNER JOIN GC_ORDER_REFUND GOR
|
||||||
|
ON GO.ORDR_INNB = GOR.ORDR_INNB
|
||||||
|
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GO.ORDR_INNB = #{ordrInnb}
|
||||||
|
GROUP BY
|
||||||
|
GO.SUBSVC_INNB
|
||||||
|
) SUBQUERY
|
||||||
|
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.REFUND_QY
|
||||||
|
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
]]>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 구독서비스 주문무효에 따른 판매재고수량 수정 -->
|
||||||
|
<update id="updateSubsvcCancelOrderUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
|
<![CDATA[
|
||||||
|
UPDATE GC_SUBSVC GS
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
GO.SUBSVC_INNB,
|
||||||
|
COUNT(*) AS ORDR_QY
|
||||||
|
FROM GC_ORDER GO
|
||||||
|
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GO.ORDR_INNB = #{ordrInnb}
|
||||||
|
GROUP BY
|
||||||
|
GO.SUBSVC_INNB
|
||||||
|
) SUBQUERY
|
||||||
|
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.ORDR_QY
|
||||||
|
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
|
]]>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 판매재고수량 변경에 따른 구독서비스 상태 수정 -->
|
||||||
|
<update id="updateInvntryPolicySubsvcSttusChng" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
|
<![CDATA[
|
||||||
|
UPDATE GC_SUBSVC
|
||||||
|
SET SUBSVC_STTUS_CD =
|
||||||
|
CASE
|
||||||
|
WHEN INVNTRY_POLICY_CD = '02' THEN SUBSVC_STTUS_CD
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN (INVNTRY_QY - IFNULL(USEFUL_INVNTRY_QY, 0)) > IFNULL(AVLINV_LMTT_QY, 0)
|
||||||
|
AND SUBSVC_STTUS_CD <> '03' THEN '01'
|
||||||
|
WHEN (INVNTRY_QY - IFNULL(USEFUL_INVNTRY_QY, 0)) <= IFNULL(AVLINV_LMTT_QY, 0)
|
||||||
|
AND SUBSVC_STTUS_CD <> '03' THEN '02'
|
||||||
|
ELSE SUBSVC_STTUS_CD
|
||||||
|
END
|
||||||
|
END
|
||||||
|
WHERE SUBSVC_INNB = #{subsvcInnb}
|
||||||
|
AND SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND USE_AT = 'Y'
|
||||||
|
]]>
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -11,24 +11,44 @@
|
|||||||
AND FM.USE_AT = 'Y'
|
AND FM.USE_AT = 'Y'
|
||||||
]]>
|
]]>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMbrNm)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMbrNm)">
|
||||||
<![CDATA[
|
<choose>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '0')">
|
||||||
|
AND FM.MBR_NM LIKE CONCAT('%', #{srchMbrNm}, '%')
|
||||||
|
</when>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '1')">
|
||||||
AND FM.MBR_NM = #{srchMbrNm}
|
AND FM.MBR_NM = #{srchMbrNm}
|
||||||
]]>
|
</when>
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordID)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordID)">
|
||||||
<![CDATA[
|
<choose>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '0')">
|
||||||
|
AND FM.MBR_ID LIKE CONCAT('%', #{srchKywordID}, '%')
|
||||||
|
</when>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '1')">
|
||||||
AND FM.MBR_ID = #{srchKywordID}
|
AND FM.MBR_ID = #{srchKywordID}
|
||||||
]]>
|
</when>
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordEmail)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordEmail)">
|
||||||
<![CDATA[
|
<choose>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '0')">
|
||||||
|
AND AES_DECRYPT(UNHEX(FM.EMAIL), #{secretKey}) LIKE CONCAT('%', #{srchKywordEmail}, '%')
|
||||||
|
</when>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '1')">
|
||||||
AND FM.EMAIL = (select HEX(AES_ENCRYPT(#{srchKywordEmail} , #{secretKey})))
|
AND FM.EMAIL = (select HEX(AES_ENCRYPT(#{srchKywordEmail} , #{secretKey})))
|
||||||
]]>
|
</when>
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordMb)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordMb)">
|
||||||
<![CDATA[
|
<choose>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '0')">
|
||||||
|
AND AES_DECRYPT(UNHEX(FM.MBTLNB), #{secretKey}) LIKE CONCAT('%', #{srchKywordMb}, '%')
|
||||||
|
</when>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, '1')">
|
||||||
AND FM.MBTLNB = (select HEX(AES_ENCRYPT(REPLACE(#{srchKywordMb},'-',''), #{secretKey})))
|
AND FM.MBTLNB = (select HEX(AES_ENCRYPT(REPLACE(#{srchKywordMb},'-',''), #{secretKey})))
|
||||||
]]>
|
</when>
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(actionDv)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(actionDv)">
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(eventYn)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(eventYn)">
|
||||||
@@ -744,6 +764,9 @@
|
|||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrNm) and mbrNm != ''">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrNm) and mbrNm != ''">
|
||||||
MBR_NM = #{mbrNm},
|
MBR_NM = #{mbrNm},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbtlnb)">
|
||||||
|
MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{mbtlnb},'-',''), #{secretKey})),
|
||||||
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(zip) and zip != ''">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(zip) and zip != ''">
|
||||||
ZIP = #{zip},
|
ZIP = #{zip},
|
||||||
ADRES_DV = #{adresDv},
|
ADRES_DV = #{adresDv},
|
||||||
@@ -3668,9 +3691,11 @@
|
|||||||
AND GMP.SOPMAL_CD = #{sopmalCd}
|
AND GMP.SOPMAL_CD = #{sopmalCd}
|
||||||
LEFT JOIN GC_MEMBER_GRAD MG ON GMP.MBR_GRAD_INNB = MG.MBR_GRAD_INNB
|
LEFT JOIN GC_MEMBER_GRAD MG ON GMP.MBR_GRAD_INNB = MG.MBR_GRAD_INNB
|
||||||
AND GMP.SOPMAL_CD = MG.SOPMAL_CD
|
AND GMP.SOPMAL_CD = MG.SOPMAL_CD
|
||||||
|
AND MG.USE_AT = 'Y'
|
||||||
LEFT JOIN GC_MEMBER_GRAD MG_NEXT
|
LEFT JOIN GC_MEMBER_GRAD MG_NEXT
|
||||||
ON MG.MBR_GRAD_ORDR + 1 = MG_NEXT.MBR_GRAD_ORDR
|
ON MG.MBR_GRAD_ORDR + 1 = MG_NEXT.MBR_GRAD_ORDR
|
||||||
AND MG.SOPMAL_CD = MG_NEXT.SOPMAL_CD
|
AND MG.SOPMAL_CD = MG_NEXT.SOPMAL_CD
|
||||||
|
AND MG_NEXT.USE_AT = 'Y'
|
||||||
LEFT JOIN GC_ORDER O ON MBR.MBR_DV_CD = O.MBR_DV_CD
|
LEFT JOIN GC_ORDER O ON MBR.MBR_DV_CD = O.MBR_DV_CD
|
||||||
AND MBR.MBR_INNB = O.MBR_INNB
|
AND MBR.MBR_INNB = O.MBR_INNB
|
||||||
AND O.USE_AT = 'Y'
|
AND O.USE_AT = 'Y'
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
<sql id="mbrMlgWhere">
|
<sql id="mbrMlgWhere">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
|
AND MLG.ACCMLMNY_AMT != 0
|
||||||
]]>
|
]]>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb)">
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb)">
|
||||||
|
|||||||
@@ -683,6 +683,7 @@
|
|||||||
,FMG.MBR_GRAD_NM -- 회원 등급명
|
,FMG.MBR_GRAD_NM -- 회원 등급명
|
||||||
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(SH.RECPNT_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RECPNT_MBTLNB
|
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(SH.RECPNT_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RECPNT_MBTLNB
|
||||||
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(O.ORDRR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS ORDRR_MBTLNB
|
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(O.ORDRR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS ORDRR_MBTLNB
|
||||||
|
,FN_GET_COMMCODE_NAME('ORDR_STTUS', SH.ORDR_STTUS_CD) AS ORDR_STTUS_NM
|
||||||
]]>
|
]]>
|
||||||
<include refid="dlivyProcsFrom"/>
|
<include refid="dlivyProcsFrom"/>
|
||||||
<include refid="dlivyProcsWhere"/>
|
<include refid="dlivyProcsWhere"/>
|
||||||
@@ -1331,6 +1332,20 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 주문 배송 추적 조회 : 송장번호 조회 -->
|
||||||
|
<select id = "selectBOOrdrInvcnb"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO"
|
||||||
|
resultType = "String">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
GGE.INVCNB
|
||||||
|
FROM GC_GOODS_EXPORT GGE
|
||||||
|
WHERE GGE.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GGE.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<!-- 주문 배송 추적 받는사람, 보내는사람 조회 -->
|
<!-- 주문 배송 추적 받는사람, 보내는사람 조회 -->
|
||||||
<select id = "selectBOOrdrDlvyDtlInqire"
|
<select id = "selectBOOrdrDlvyDtlInqire"
|
||||||
parameterType="com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO"
|
parameterType="com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO"
|
||||||
|
|||||||
@@ -476,6 +476,9 @@
|
|||||||
AND FO.ORDRR_MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{mbtlnb}, '-', ''), #{secretKey}))
|
AND FO.ORDRR_MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{mbtlnb}, '-', ''), #{secretKey}))
|
||||||
AND FO.MBR_INNB = 0
|
AND FO.MBR_INNB = 0
|
||||||
</if>
|
</if>
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSubsvcAt)">
|
||||||
|
AND FO.SUBSVC_AT = #{srchSubsvcAt}
|
||||||
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<!-- 전체 주문 조회 > 매장 목록 조회 -->
|
<!-- 전체 주문 조회 > 매장 목록 조회 -->
|
||||||
@@ -514,7 +517,10 @@
|
|||||||
, DATE_FORMAT(FO.ORDR_RCEPT_DT, '%Y-%m-%d %H:%i') AS ORDR_RCEPT_DT -- 주문접수일
|
, DATE_FORMAT(FO.ORDR_RCEPT_DT, '%Y-%m-%d %H:%i') AS ORDR_RCEPT_DT -- 주문접수일
|
||||||
, FO.SLE_ENVRN_CD -- 판매환경코드
|
, FO.SLE_ENVRN_CD -- 판매환경코드
|
||||||
, FN_GET_COMMCODE_NAME('SLE_ENVRN', FO.SLE_ENVRN_CD) AS SLE_ENVRN_NM
|
, FN_GET_COMMCODE_NAME('SLE_ENVRN', FO.SLE_ENVRN_CD) AS SLE_ENVRN_NM
|
||||||
, FN_GET_ORDER_GOODS_NAME(FO.SOPMAL_CD, FO.ORDR_INNB) AS GOODS_NM -- 상품명
|
, CASE
|
||||||
|
WHEN FO.SUBSVC_AT = 'Y' THEN CONCAT(GS.SUBSVC_NM,'(', GS.SUBSVC_GNR_NM, ')')
|
||||||
|
ELSE FN_GET_ORDER_GOODS_NAME(FO.SOPMAL_CD, FO.ORDR_INNB)
|
||||||
|
END AS GOODS_NM -- 상품명
|
||||||
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ITEM') AS ITEM_CNT -- 상품 개수
|
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ITEM') AS ITEM_CNT -- 상품 개수
|
||||||
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ORDER') AS ORDER_CNT -- 상품 종수
|
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ORDER') AS ORDER_CNT -- 상품 종수
|
||||||
, (
|
, (
|
||||||
@@ -580,6 +586,7 @@
|
|||||||
END
|
END
|
||||||
)
|
)
|
||||||
) BLACK_DV -- 블랙리스트 구분
|
) BLACK_DV -- 블랙리스트 구분
|
||||||
|
, FO.SUBSVC_AT
|
||||||
FROM GC_ORDER FO
|
FROM GC_ORDER FO
|
||||||
LEFT JOIN LATERAL (
|
LEFT JOIN LATERAL (
|
||||||
SELECT FM.MBR_INNB
|
SELECT FM.MBR_INNB
|
||||||
@@ -600,6 +607,9 @@
|
|||||||
LEFT JOIN GC_ORDER_SETLE FOS -- LEFT 로 다시 변경
|
LEFT JOIN GC_ORDER_SETLE FOS -- LEFT 로 다시 변경
|
||||||
ON FOS.SOPMAL_CD = FO.SOPMAL_CD
|
ON FOS.SOPMAL_CD = FO.SOPMAL_CD
|
||||||
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
||||||
|
LEFT JOIN GC_SUBSVC GS
|
||||||
|
ON GS.SOPMAL_CD = FO.SOPMAL_CD
|
||||||
|
AND GS.SUBSVC_INNB = FO.SUBSVC_INNB
|
||||||
WHERE FO.USE_AT = 'Y'
|
WHERE FO.USE_AT = 'Y'
|
||||||
/*AND FO.SUBSVC_AT = 'N'*/
|
/*AND FO.SUBSVC_AT = 'N'*/
|
||||||
AND FOS.ORDR_INNB IS NOT NULL -- GC_ORDER_SETLE 에 데이터가 있을 때 조건
|
AND FOS.ORDR_INNB IS NOT NULL -- GC_ORDER_SETLE 에 데이터가 있을 때 조건
|
||||||
@@ -996,6 +1006,7 @@
|
|||||||
, IFNULL(FOI.MLG_AMT, 0) AS MLG_AMT
|
, IFNULL(FOI.MLG_AMT, 0) AS MLG_AMT
|
||||||
, IFNULL(FOS.DLVY_AMT, 0) AS DLVY_AMT
|
, IFNULL(FOS.DLVY_AMT, 0) AS DLVY_AMT
|
||||||
, IFNULL(FO.RL_SETLE_AMT, 0) AS SETLE_AMT
|
, IFNULL(FO.RL_SETLE_AMT, 0) AS SETLE_AMT
|
||||||
|
, ROUND(IFNULL(FO.WON_RL_SETLE_AMT, 0)) AS WON_RL_SETLE_AMT
|
||||||
FROM (
|
FROM (
|
||||||
SELECT FOI.SOPMAL_CD
|
SELECT FOI.SOPMAL_CD
|
||||||
, FOI.ORDR_INNB
|
, FOI.ORDR_INNB
|
||||||
@@ -1062,9 +1073,13 @@
|
|||||||
, FOI.ORDR_GOODS_INNB AS ordr_goods_innb
|
, FOI.ORDR_GOODS_INNB AS ordr_goods_innb
|
||||||
, FO.SMRT_SHOPNG_ORDRNB AS npay_goods_ordrnb
|
, FO.SMRT_SHOPNG_ORDRNB AS npay_goods_ordrnb
|
||||||
, CASE
|
, CASE
|
||||||
WHEN FOI.OPTN_NM IS NOT NULL THEN FOI.OPTN_NM
|
WHEN FOI.OPTN_NM IS NOT NULL THEN CONCAT(FOI.GOODS_NM, ' ', FOI.OPTN_NM)
|
||||||
ELSE FOI.GOODS_NM
|
ELSE FOI.GOODS_NM
|
||||||
END AS goods_nm
|
END AS goods_nm
|
||||||
|
, CASE
|
||||||
|
WHEN FOI.OPTN_NM IS NOT NULL THEN CONCAT(FOI.GOODS_NM_EN, ' ', FOI.OPTN_NM)
|
||||||
|
ELSE FOI.GOODS_NM_EN
|
||||||
|
END AS goods_nm_en
|
||||||
, FOI.INVNTRY_QY AS invntry_qy
|
, FOI.INVNTRY_QY AS invntry_qy
|
||||||
, 0 AS prchspric
|
, 0 AS prchspric
|
||||||
, FOI.SLEPRIC AS cnsmrpric
|
, FOI.SLEPRIC AS cnsmrpric
|
||||||
@@ -1095,7 +1110,16 @@
|
|||||||
, '선불' AS dlvy_amt_setle_mth_nm
|
, '선불' AS dlvy_amt_setle_mth_nm
|
||||||
, FN_GET_COMMCODE_NAME('ORDR_TY', FO.ORDR_TY_CD) AS ordr_ty_nm
|
, FN_GET_COMMCODE_NAME('ORDR_TY', FO.ORDR_TY_CD) AS ordr_ty_nm
|
||||||
, FOI.optn_cd_1
|
, FOI.optn_cd_1
|
||||||
|
, FOI.hscode
|
||||||
|
, FOI.real_wt
|
||||||
|
, FOI.VOL_TW
|
||||||
|
, FOI.package_cnt
|
||||||
, FOSH.dlvy_mssage_cn
|
, FOSH.dlvy_mssage_cn
|
||||||
|
, FN_GET_COMMCODE_NAME('ORDR_STTUS', FOSH.ORDR_STTUS_CD) AS shipping_sttus_nm
|
||||||
|
, CASE WHEN FO.SUBSVC_AT = 'Y'
|
||||||
|
THEN '구독'
|
||||||
|
ELSE '일반'
|
||||||
|
END AS subsvc_at
|
||||||
FROM GC_ORDER FO
|
FROM GC_ORDER FO
|
||||||
INNER JOIN LATERAL (
|
INNER JOIN LATERAL (
|
||||||
SELECT GOI.SOPMAL_CD
|
SELECT GOI.SOPMAL_CD
|
||||||
@@ -1104,11 +1128,16 @@
|
|||||||
, GOI.ORDR_GOODS_INNB
|
, GOI.ORDR_GOODS_INNB
|
||||||
, GOI.ORDR_GOODS_OPTN_INNB
|
, GOI.ORDR_GOODS_OPTN_INNB
|
||||||
, GOI.OPTN_CD_1
|
, GOI.OPTN_CD_1
|
||||||
|
, GOI.HSCODE
|
||||||
|
, GOI.REAL_WT
|
||||||
|
, GOI.VOL_TW
|
||||||
|
, GOI.PACKAGE_CNT
|
||||||
, GOI.ORDR_STTUS_CD
|
, GOI.ORDR_STTUS_CD
|
||||||
, LAG(GOI.ORDR_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_INNB
|
, LAG(GOI.ORDR_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_INNB
|
||||||
, LAG(GOI.ORDR_DLVY_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_DLVY_INNB
|
, LAG(GOI.ORDR_DLVY_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_DLVY_INNB
|
||||||
, MAX(FN_GET_GOODS_IMAGE(GOI.SOPMAL_CD, GOI.GOODS_INNB, '03')) AS GOODS_IMG_COURS
|
, MAX(FN_GET_GOODS_IMAGE(GOI.SOPMAL_CD, GOI.GOODS_INNB, '03')) AS GOODS_IMG_COURS
|
||||||
, MAX(GOI.GOODS_NM) AS GOODS_NM
|
, MAX(GOI.GOODS_NM) AS GOODS_NM
|
||||||
|
, MAX(GOI.GOODS_NM_EN) AS GOODS_NM_EN
|
||||||
, MAX(FN_GET_ORDER_GOODS_OPTN_NAME(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_OPTN_INNB)) AS OPTN_NM
|
, MAX(FN_GET_ORDER_GOODS_OPTN_NAME(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_OPTN_INNB)) AS OPTN_NM
|
||||||
, SUM(GOI.ORDR_QY) AS ORDR_QY
|
, SUM(GOI.ORDR_QY) AS ORDR_QY
|
||||||
, SUM(GOI.SLEPRIC) AS SLEPRIC
|
, SUM(GOI.SLEPRIC) AS SLEPRIC
|
||||||
@@ -1138,6 +1167,10 @@
|
|||||||
, GOI.ORDR_GOODS_INNB
|
, GOI.ORDR_GOODS_INNB
|
||||||
, GOI.ORDR_GOODS_OPTN_INNB
|
, GOI.ORDR_GOODS_OPTN_INNB
|
||||||
, GOI.OPTN_CD_1
|
, GOI.OPTN_CD_1
|
||||||
|
, GOI.HSCODE
|
||||||
|
, GOI.REAL_WT
|
||||||
|
, GOI.VOL_TW
|
||||||
|
, GOI.PACKAGE_CNT
|
||||||
, GOI.ORDR_STTUS_CD
|
, GOI.ORDR_STTUS_CD
|
||||||
) FOI
|
) FOI
|
||||||
ON FOI.SOPMAL_CD = FO.SOPMAL_CD
|
ON FOI.SOPMAL_CD = FO.SOPMAL_CD
|
||||||
@@ -1204,6 +1237,7 @@
|
|||||||
, GROUP_CONCAT(A.ORDR_GOODS_INNB ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS ORDR_GOODS_INNB
|
, GROUP_CONCAT(A.ORDR_GOODS_INNB ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS ORDR_GOODS_INNB
|
||||||
, GROUP_CONCAT(A.NPAY_GOODS_ORDRNB ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS NPAY_GOODS_ORDRNB
|
, GROUP_CONCAT(A.NPAY_GOODS_ORDRNB ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS NPAY_GOODS_ORDRNB
|
||||||
, GROUP_CONCAT(A.GOODS_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS GOODS_NM
|
, GROUP_CONCAT(A.GOODS_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS GOODS_NM
|
||||||
|
, GROUP_CONCAT(A.GOODS_NM_EN ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS GOODS_NM_EN
|
||||||
, GROUP_CONCAT(A.INVNTRY_QY ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS INVNTRY_QY
|
, GROUP_CONCAT(A.INVNTRY_QY ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS INVNTRY_QY
|
||||||
, GROUP_CONCAT(A.PRCHSPRIC ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS PRCHSPRIC
|
, GROUP_CONCAT(A.PRCHSPRIC ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS PRCHSPRIC
|
||||||
, GROUP_CONCAT(A.CNSMRPRIC ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS CNSMRPRIC
|
, GROUP_CONCAT(A.CNSMRPRIC ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS CNSMRPRIC
|
||||||
@@ -1231,7 +1265,13 @@
|
|||||||
, GROUP_CONCAT(A.DLVY_AMT_SETLE_MTH_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS DLVY_AMT_SETLE_MTH_NM
|
, GROUP_CONCAT(A.DLVY_AMT_SETLE_MTH_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS DLVY_AMT_SETLE_MTH_NM
|
||||||
, GROUP_CONCAT(A.ORDR_TY_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS ORDR_TY_NM
|
, GROUP_CONCAT(A.ORDR_TY_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS ORDR_TY_NM
|
||||||
, GROUP_CONCAT(A.OPTN_CD_1 ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS OPTN_CD_1
|
, GROUP_CONCAT(A.OPTN_CD_1 ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS OPTN_CD_1
|
||||||
|
, GROUP_CONCAT(A.HSCODE ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS HSCODE
|
||||||
|
, GROUP_CONCAT(A.REAL_WT ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS REAL_WT
|
||||||
|
, GROUP_CONCAT(A.VOL_TW ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS VOL_TW
|
||||||
|
, GROUP_CONCAT(A.PACKAGE_CNT ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS PACKAGE_CNT
|
||||||
, GROUP_CONCAT(A.DLVY_MSSAGE_CN ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS DLVY_MSSAGE_CN
|
, GROUP_CONCAT(A.DLVY_MSSAGE_CN ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS DLVY_MSSAGE_CN
|
||||||
|
, GROUP_CONCAT(A.SHIPPING_STTUS_NM ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS SHIPPING_STTUS_NM
|
||||||
|
, GROUP_CONCAT(A.SUBSVC_AT ORDER BY A.ORDR_GOODS_INNB ASC SEPARATOR '\n') AS SUBSVC_AT
|
||||||
FROM (
|
FROM (
|
||||||
SELECT FOI.ORDR_DLVY_INNB AS EXPORT_GROUP_INNB
|
SELECT FOI.ORDR_DLVY_INNB AS EXPORT_GROUP_INNB
|
||||||
, CONCAT(FO.ORDR_INNB, '-', FOI.ORDR_DLVY_INNB) AS ORDR_INNB_WITH_EXPORT_GROUP_INNB
|
, CONCAT(FO.ORDR_INNB, '-', FOI.ORDR_DLVY_INNB) AS ORDR_INNB_WITH_EXPORT_GROUP_INNB
|
||||||
@@ -1264,9 +1304,13 @@
|
|||||||
, FOI.ORDR_GOODS_INNB
|
, FOI.ORDR_GOODS_INNB
|
||||||
, FO.SMRT_SHOPNG_ORDRNB AS NPAY_GOODS_ORDRNB
|
, FO.SMRT_SHOPNG_ORDRNB AS NPAY_GOODS_ORDRNB
|
||||||
, CASE
|
, CASE
|
||||||
WHEN FOI.OPTN_NM IS NOT NULL THEN FOI.OPTN_NM
|
WHEN FOI.OPTN_NM IS NOT NULL THEN CONCAT(FOI.GOODS_NM, ' ', FOI.OPTN_NM)
|
||||||
ELSE FOI.GOODS_NM
|
ELSE FOI.GOODS_NM
|
||||||
END AS GOODS_NM
|
END AS GOODS_NM
|
||||||
|
, CASE
|
||||||
|
WHEN FOI.OPTN_NM IS NOT NULL THEN CONCAT(FOI.GOODS_NM_EN, ' ', FOI.OPTN_NM)
|
||||||
|
ELSE FOI.GOODS_NM_EN
|
||||||
|
END AS GOODS_NM_EN
|
||||||
, FOI.INVNTRY_QY
|
, FOI.INVNTRY_QY
|
||||||
, 0 AS PRCHSPRIC
|
, 0 AS PRCHSPRIC
|
||||||
, FOI.SLEPRIC AS CNSMRPRIC
|
, FOI.SLEPRIC AS CNSMRPRIC
|
||||||
@@ -1297,7 +1341,16 @@
|
|||||||
, '선불' AS DLVY_AMT_SETLE_MTH_NM
|
, '선불' AS DLVY_AMT_SETLE_MTH_NM
|
||||||
, FN_GET_COMMCODE_NAME('ORDR_TY', FO.ORDR_TY_CD) AS ORDR_TY_NM
|
, FN_GET_COMMCODE_NAME('ORDR_TY', FO.ORDR_TY_CD) AS ORDR_TY_NM
|
||||||
, FOI.OPTN_CD_1
|
, FOI.OPTN_CD_1
|
||||||
|
, FOI.HSCODE
|
||||||
|
, FOI.REAL_WT
|
||||||
|
, FOI.VOL_TW
|
||||||
|
, FOI.PACKAGE_CNT
|
||||||
, FOSH.DLVY_MSSAGE_CN
|
, FOSH.DLVY_MSSAGE_CN
|
||||||
|
, FN_GET_COMMCODE_NAME('ORDR_STTUS', FOSH.ORDR_STTUS_CD) AS SHIPPING_STTUS_NM
|
||||||
|
, CASE WHEN FO.SUBSVC_AT = 'Y'
|
||||||
|
THEN '구독'
|
||||||
|
ELSE '일반'
|
||||||
|
END AS SUBSVC_AT
|
||||||
FROM GC_ORDER FO
|
FROM GC_ORDER FO
|
||||||
INNER JOIN LATERAL (
|
INNER JOIN LATERAL (
|
||||||
SELECT GOI.SOPMAL_CD
|
SELECT GOI.SOPMAL_CD
|
||||||
@@ -1306,11 +1359,16 @@
|
|||||||
, GOI.ORDR_GOODS_INNB
|
, GOI.ORDR_GOODS_INNB
|
||||||
, GOI.ORDR_GOODS_OPTN_INNB
|
, GOI.ORDR_GOODS_OPTN_INNB
|
||||||
, GOI.OPTN_CD_1
|
, GOI.OPTN_CD_1
|
||||||
|
, GOI.HSCODE
|
||||||
|
, GOI.REAL_WT
|
||||||
|
, GOI.VOL_TW
|
||||||
|
, GOI.PACKAGE_CNT
|
||||||
, GOI.ORDR_STTUS_CD
|
, GOI.ORDR_STTUS_CD
|
||||||
, LAG(GOI.ORDR_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_INNB
|
, LAG(GOI.ORDR_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_INNB
|
||||||
, LAG(GOI.ORDR_DLVY_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_DLVY_INNB
|
, LAG(GOI.ORDR_DLVY_INNB) OVER(ORDER BY GOI.ORDR_INNB) AS REV_ORDR_DLVY_INNB
|
||||||
, MAX(FN_GET_GOODS_IMAGE(GOI.SOPMAL_CD, GOI.GOODS_INNB, '03')) AS GOODS_IMG_COURS
|
, MAX(FN_GET_GOODS_IMAGE(GOI.SOPMAL_CD, GOI.GOODS_INNB, '03')) AS GOODS_IMG_COURS
|
||||||
, MAX(GOI.GOODS_NM) AS GOODS_NM
|
, MAX(GOI.GOODS_NM) AS GOODS_NM
|
||||||
|
, MAX(GOI.GOODS_NM_EN) AS GOODS_NM_EN
|
||||||
, MAX(FN_GET_ORDER_GOODS_OPTN_NAME(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_OPTN_INNB)) AS OPTN_NM
|
, MAX(FN_GET_ORDER_GOODS_OPTN_NAME(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_OPTN_INNB)) AS OPTN_NM
|
||||||
, SUM(GOI.ORDR_QY) AS ORDR_QY
|
, SUM(GOI.ORDR_QY) AS ORDR_QY
|
||||||
, SUM(GOI.SLEPRIC) AS SLEPRIC
|
, SUM(GOI.SLEPRIC) AS SLEPRIC
|
||||||
@@ -1340,6 +1398,10 @@
|
|||||||
, GOI.ORDR_GOODS_INNB
|
, GOI.ORDR_GOODS_INNB
|
||||||
, GOI.ORDR_GOODS_OPTN_INNB
|
, GOI.ORDR_GOODS_OPTN_INNB
|
||||||
, GOI.OPTN_CD_1
|
, GOI.OPTN_CD_1
|
||||||
|
, GOI.HSCODE
|
||||||
|
, GOI.REAL_WT
|
||||||
|
, GOI.VOL_TW
|
||||||
|
, GOI.PACKAGE_CNT
|
||||||
, GOI.ORDR_STTUS_CD
|
, GOI.ORDR_STTUS_CD
|
||||||
) FOI
|
) FOI
|
||||||
ON FOI.SOPMAL_CD = FO.SOPMAL_CD
|
ON FOI.SOPMAL_CD = FO.SOPMAL_CD
|
||||||
@@ -1378,6 +1440,125 @@
|
|||||||
GROUP BY A.ORDR_INNB
|
GROUP BY A.ORDR_INNB
|
||||||
) EXCEL
|
) EXCEL
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 전체 주문 조회 > 엑셀다운로드 발주서 -->
|
||||||
|
<select id="selectExcelListPurchOrder" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrSrchVO" resultType="dataMap">
|
||||||
|
SELECT
|
||||||
|
GO.ORDR_RCEPT_DT,
|
||||||
|
'UNIHAN' AS ENTRPS_CD,
|
||||||
|
'UNIHAN CO.,LTD.' AS ENTRPS_NM,
|
||||||
|
'03-5990-2880' AS ENTRPS_TEL,
|
||||||
|
'RM.302,YOTSUYA-AKEBONOBASHI BLDG.,2-14, SUMIYOSHI-CHO, SHINJUKU-KU, TOKYO, 162-0065, JAPAN' AS ENTRPS_ADRES,
|
||||||
|
NULL AS SPCL_CSTMCLER_ENTRPS,
|
||||||
|
NULL AS SPCL_CSTMCLER_CD,
|
||||||
|
GO.ORDR_INNB,
|
||||||
|
1 AS PURPS_DV,
|
||||||
|
GOS.RECPNT_NM,
|
||||||
|
CAST(AES_DECRYPT(UNHEX(GOS.RECPNT_MBTLNB) , #{secretKey}) AS CHAR(50)) AS RECPNT_MBTLNB,
|
||||||
|
NULL AS RECPNT_HP,
|
||||||
|
GOS.CSTMCLER_CD,
|
||||||
|
GOS.DLVYLC_ZIP,
|
||||||
|
CASE
|
||||||
|
WHEN GOS.DLVYLC_ADRES_DV_CD = '01'
|
||||||
|
THEN GOS.DLVYLC_RNM_ADRES
|
||||||
|
ELSE GOS.DLVYLC_LNB_ADRES
|
||||||
|
END DLVYLC_RNM_LNB_ADRES,
|
||||||
|
GOS.DLVYLC_ADRES_DTL,
|
||||||
|
GOS.DLVY_MSSAGE_CN,
|
||||||
|
'www.sake1jan.com' AS CSTMR_PURCHS_SITE,
|
||||||
|
GOIO.REAL_WT,
|
||||||
|
GOIO.PACKAGE_CNT,
|
||||||
|
GOIO.HSCODE,
|
||||||
|
'A' AS CMMRC_TY,
|
||||||
|
CONCAT(GOI.GOODS_NM_EN, ' ', GOIO.OPTN_NM_1, '-', GOIO.OPTN_VAL_1) AS CN,
|
||||||
|
/*원가 관리 시작*/
|
||||||
|
GOIO.SLEPRIC,
|
||||||
|
GOS.DFT_DLVY_AMT,
|
||||||
|
GGC.CSTMS_FEE,
|
||||||
|
(
|
||||||
|
(GOIO.SLEPRIC + GOS.DFT_DLVY_AMT)
|
||||||
|
* GGC.PLTFOM_FEE
|
||||||
|
* GGC.EXPCT_TAX
|
||||||
|
) AS EXPCT_TAX_AMT,
|
||||||
|
GGC.EXPCT_TAX,
|
||||||
|
GGC.KR_DLVY_CT,
|
||||||
|
GGC.PLTFOM_FEE,
|
||||||
|
GGC.USD_RATE,
|
||||||
|
TRUNCATE(
|
||||||
|
(
|
||||||
|
(
|
||||||
|
(GOIO.SLEPRIC + GOS.DFT_DLVY_AMT)
|
||||||
|
- (
|
||||||
|
GGC.CSTMS_FEE
|
||||||
|
+ (GOIO.SLEPRIC + GOS.DFT_DLVY_AMT)
|
||||||
|
* GGC.PLTFOM_FEE
|
||||||
|
* GGC.EXPCT_TAX
|
||||||
|
+ GGC.KR_DLVY_CT
|
||||||
|
)
|
||||||
|
) * GGC.USD_RATE / 1000
|
||||||
|
), 2
|
||||||
|
) AS UNIT_VALUE,
|
||||||
|
/*원가 관리 종료*/
|
||||||
|
GOIO.ORDR_QY,
|
||||||
|
(
|
||||||
|
TRUNCATE(
|
||||||
|
(
|
||||||
|
(
|
||||||
|
(GOIO.SLEPRIC + GOS.DFT_DLVY_AMT)
|
||||||
|
- (
|
||||||
|
GGC.CSTMS_FEE
|
||||||
|
+ (GOIO.SLEPRIC + GOS.DFT_DLVY_AMT)
|
||||||
|
* GGC.PLTFOM_FEE
|
||||||
|
* GGC.EXPCT_TAX
|
||||||
|
+ GGC.KR_DLVY_CT
|
||||||
|
)
|
||||||
|
) * GGC.USD_RATE / 1000
|
||||||
|
), 2
|
||||||
|
) * GOIO.ORDR_QY
|
||||||
|
) AS VALUE,
|
||||||
|
NULL AS BRAND,
|
||||||
|
NULL AS PRE_FOOD_DCL,
|
||||||
|
NULL AS PROVD_NATION,
|
||||||
|
NULL AS PROVD_CMPNY_NM,
|
||||||
|
NULL AS CHNLNG_GOODS_NM,
|
||||||
|
NULL AS SHIPPER_PURCHS_SITE,
|
||||||
|
NULL AS SLE_AGNT_ENTRPS_NM,
|
||||||
|
NULL AS SLE_AGNT_ENTRPS_REGIST_CD,
|
||||||
|
NULL AS PURCHS_DLVY_AGENCY_NM,
|
||||||
|
NULL AS PURCHS_DLVY_AGENCY_REGIST_CD,
|
||||||
|
NULL AS OVSEA_SELER_NM,
|
||||||
|
GOS.ORDR_DLVY_INNB AS OVSEA_SELER_REGIST_CD,
|
||||||
|
CONCAT(GO.SUBSVC_AT, GOS.DLVYLC_AREA_CD, GOS.ORDR_DLVY_INNB) AS SITE_ORDR_INNB,
|
||||||
|
/*아래부터는 발주서에 포함되지 않음*/
|
||||||
|
GO.ORDR_STTUS_CD,
|
||||||
|
GOI.ORDR_GOODS_INNB,
|
||||||
|
GOI.GOODS_INNB,
|
||||||
|
GOI.GOODS_NM,
|
||||||
|
GOIO.ORDR_GOODS_OPTN_INNB,
|
||||||
|
GOIO.GOODS_OPTN_INNB,
|
||||||
|
GOS.DLVYLC_AREA_CD,
|
||||||
|
GGC.STDR_DE
|
||||||
|
FROM GC_ORDER GO
|
||||||
|
INNER JOIN GC_ORDER_ITEM GOI
|
||||||
|
ON GOI.ORDR_INNB = GO.ORDR_INNB
|
||||||
|
AND GOI.SOPMAL_CD = GO.SOPMAL_CD
|
||||||
|
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
|
||||||
|
ON GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB
|
||||||
|
AND GOIO.SOPMAL_CD = GOI.SOPMAL_CD
|
||||||
|
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||||
|
ON GOS.ORDR_DLVY_INNB = GOIO.ORDR_DLVY_INNB
|
||||||
|
AND GOS.SOPMAL_CD = GOIO.SOPMAL_CD
|
||||||
|
LEFT JOIN GC_GOODS_COST GGC
|
||||||
|
ON GGC.STDR_DE = (
|
||||||
|
SELECT MAX(GGC.STDR_DE)
|
||||||
|
FROM GC_GOODS_COST GGC
|
||||||
|
WHERE GGC.STDR_DE <![CDATA[<=]]> GO.ORDR_RCEPT_DT
|
||||||
|
)
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND GO.ORDR_RCEPT_DT BETWEEN #{srchStartDate} AND #{srchEndDate} ' 23:59:59'
|
||||||
|
AND GOIO.ORDR_STTUS_CD = #{srchOrdrSttusCd}
|
||||||
|
AND GO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
</select>
|
||||||
<!--
|
<!--
|
||||||
####################################
|
####################################
|
||||||
전체주문 조회 서비스 종료
|
전체주문 조회 서비스 종료
|
||||||
@@ -1482,6 +1663,14 @@
|
|||||||
END AS SALES_POSBLE_REGIST_AT /* 현금영수증 신청 가능 여부 */
|
END AS SALES_POSBLE_REGIST_AT /* 현금영수증 신청 가능 여부 */
|
||||||
, IF(FO.SMRT_SHOPNG_ORDRNB IS NOT NULL AND FO.SMRT_SHOPNG_ORDRNB != '0', FO.SMRT_SHOPNG_ORDRNB, NULL) AS SMRT_SHOPNG_ORDRNB
|
, IF(FO.SMRT_SHOPNG_ORDRNB IS NOT NULL AND FO.SMRT_SHOPNG_ORDRNB != '0', FO.SMRT_SHOPNG_ORDRNB, NULL) AS SMRT_SHOPNG_ORDRNB
|
||||||
, CONCAT(SP.SOPMAL_NM, ' ', STR.STR_NM) AS STR_NM
|
, CONCAT(SP.SOPMAL_NM, ' ', STR.STR_NM) AS STR_NM
|
||||||
|
, (SELECT MAX(CAST(GOR.ORDER_REFUND_INNB AS CHAR))
|
||||||
|
FROM GC_ORDER_REFUND GOR
|
||||||
|
WHERE GOR.SOPMAL_CD = FO.SOPMAL_CD
|
||||||
|
AND GOR.ORDR_INNB = FO.ORDR_INNB
|
||||||
|
AND GOR.USE_AT = 'Y'
|
||||||
|
AND GOR.REFUND_PROCS_STTUS_CD = '03' /*처리상태:환불완료*/) AS ORDER_RE_INNB
|
||||||
|
, FO.SUBSVC_AT
|
||||||
|
, FO.SUBSVC_INNB
|
||||||
FROM GC_ORDER FO
|
FROM GC_ORDER FO
|
||||||
INNER JOIN (
|
INNER JOIN (
|
||||||
SELECT FOI.SOPMAL_CD
|
SELECT FOI.SOPMAL_CD
|
||||||
@@ -1650,8 +1839,10 @@
|
|||||||
, REFUND_ACNT_DPSTR_NM
|
, REFUND_ACNT_DPSTR_NM
|
||||||
, REFUND_ACNTNB
|
, REFUND_ACNTNB
|
||||||
, REFUND_AMT
|
, REFUND_AMT
|
||||||
|
, WON_REFUND_AMT
|
||||||
, REFUND_ACCMLMNY_AMT
|
, REFUND_ACCMLMNY_AMT
|
||||||
, REFUND_DLVY_AMT
|
, REFUND_DLVY_AMT
|
||||||
|
, WON_REFUND_DLVY_AMT
|
||||||
, MLG_ACCMLMNY_AMT
|
, MLG_ACCMLMNY_AMT
|
||||||
, MLG_ACCMLMNY_VALID_DT
|
, MLG_ACCMLMNY_VALID_DT
|
||||||
, ENURI_REVISN_AMT
|
, ENURI_REVISN_AMT
|
||||||
@@ -1677,6 +1868,7 @@
|
|||||||
, RETURN_CSTMR_TELNB
|
, RETURN_CSTMR_TELNB
|
||||||
, RETURN_CSTMR_MBTLNB
|
, RETURN_CSTMR_MBTLNB
|
||||||
, RETURN_DLVY_AMT
|
, RETURN_DLVY_AMT
|
||||||
|
, WON_RETURN_DLVY_AMT
|
||||||
, RETURN_DLVY_TRGET_CD
|
, RETURN_DLVY_TRGET_CD
|
||||||
, RETURN_DLVY_RSPNSBL_CD
|
, RETURN_DLVY_RSPNSBL_CD
|
||||||
, RETURN_DLVY_PYMNT_TY_CD
|
, RETURN_DLVY_PYMNT_TY_CD
|
||||||
@@ -1714,8 +1906,10 @@
|
|||||||
, #{refundAcntDpstrNm}
|
, #{refundAcntDpstrNm}
|
||||||
, REPLACE(#{refundAcntnb}, '-', '')
|
, REPLACE(#{refundAcntnb}, '-', '')
|
||||||
, #{refundAmt}
|
, #{refundAmt}
|
||||||
|
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt},0)
|
||||||
, #{refundAccmlmnyAmt}
|
, #{refundAccmlmnyAmt}
|
||||||
, #{refundDlvyAmt}
|
, #{refundDlvyAmt}
|
||||||
|
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundDlvyAmt},0)
|
||||||
, #{mlgAccmlmnyAmt}
|
, #{mlgAccmlmnyAmt}
|
||||||
, #{mlgAccmlmnyValidDt}
|
, #{mlgAccmlmnyValidDt}
|
||||||
, #{enuriRevisnAmt}
|
, #{enuriRevisnAmt}
|
||||||
@@ -1741,6 +1935,7 @@
|
|||||||
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
, #{returnDlvyAmt}
|
, #{returnDlvyAmt}
|
||||||
|
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{returnDlvyAmt},0)
|
||||||
, #{returnDlvyTrgetCd}
|
, #{returnDlvyTrgetCd}
|
||||||
, #{returnDlvyRspnsblCd}
|
, #{returnDlvyRspnsblCd}
|
||||||
, #{returnDlvyPymntTyCd}
|
, #{returnDlvyPymntTyCd}
|
||||||
@@ -1992,6 +2187,71 @@
|
|||||||
ORDER BY FOS.ORDR_DLVY_INNB ASC
|
ORDER BY FOS.ORDR_DLVY_INNB ASC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 배송지정보 목록 조회 그룹 -->
|
||||||
|
<select id="selectOrderShippingListGrp" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO" resultType="dataMap">
|
||||||
|
SELECT SOPMAL_CD, ORDR_INNB, RECPNT_NM, RECPNT_TELNB, RECPNT_MBTLNB, DLVYLC_ZIP, DLVYLC_ADRES_DV_CD, ADRES, DLVYLC_RNM_ADRES, DLVYLC_LNB_ADRES, DLVYLC_ADRES_DTL, DLVY_MSSAGE_CN, GIFT_MSSAGE_CN, GIFT_STTUS_CD, GIFT_STTUS_CD_NM, ORDR_STTUS_CD, ORDR_STTUS_NM, FREE_DLVY_CND_AMT, DFT_DLVY_AMT
|
||||||
|
FROM (
|
||||||
|
SELECT FOS.SOPMAL_CD
|
||||||
|
, FOS.ORDR_INNB
|
||||||
|
, FOS.ORDR_DLVY_INNB
|
||||||
|
, FOS.RECPNT_NM
|
||||||
|
, CASE
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 11 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 8, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE '02%' THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)) NOT LIKE '02%' THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 9 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 6, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 8 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 5, 4))
|
||||||
|
ELSE
|
||||||
|
CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))
|
||||||
|
END AS RECPNT_TELNB
|
||||||
|
, CASE
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 11 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 8, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE '02%' THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) NOT LIKE '02%' THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 9 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 6, 4))
|
||||||
|
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 8 THEN
|
||||||
|
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 5, 4))
|
||||||
|
ELSE
|
||||||
|
CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))
|
||||||
|
END AS RECPNT_MBTLNB
|
||||||
|
, FOS.DLVYLC_ZIP
|
||||||
|
, FOS.DLVYLC_ADRES_DV_CD
|
||||||
|
, CASE WHEN FOS.DLVYLC_ADRES_DV_CD = '01'
|
||||||
|
THEN FOS.DLVYLC_RNM_ADRES
|
||||||
|
ELSE FOS.DLVYLC_LNB_ADRES
|
||||||
|
END ADRES
|
||||||
|
, FOS.DLVYLC_RNM_ADRES
|
||||||
|
, FOS.DLVYLC_LNB_ADRES
|
||||||
|
, FOS.DLVYLC_ADRES_DTL
|
||||||
|
, FOS.DLVY_MSSAGE_CN
|
||||||
|
, FOS.GIFT_MSSAGE_CN
|
||||||
|
, FOS.GIFT_STTUS_CD
|
||||||
|
, FN_GET_COMMCODE_NAME('GIFT_STTUS', FOS.GIFT_STTUS_CD) AS GIFT_STTUS_CD_NM
|
||||||
|
, FOS.ORDR_STTUS_CD
|
||||||
|
, FN_GET_COMMCODE_NAME('ORDR_STTUS', FOS.ORDR_STTUS_CD) AS ORDR_STTUS_NM
|
||||||
|
, ROUND(FOS.RL_DLVY_AMT) AS RL_DLVY_AMT
|
||||||
|
, ROUND(FOS.FREE_DLVY_CND_AMT) AS FREE_DLVY_CND_AMT
|
||||||
|
, ROUND(FOS.DFT_DLVY_AMT) AS DFT_DLVY_AMT
|
||||||
|
FROM GC_ORDER_SHIPPING FOS
|
||||||
|
WHERE FOS.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND FOS.ORDR_INNB = #{ordrInnb}
|
||||||
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnb)">
|
||||||
|
AND FOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||||
|
</if>
|
||||||
|
ORDER BY FOS.ORDR_DLVY_INNB ASC
|
||||||
|
) AA
|
||||||
|
GROUP BY SOPMAL_CD, ORDR_INNB, RECPNT_NM, RECPNT_TELNB, RECPNT_MBTLNB, DLVYLC_ZIP, DLVYLC_ADRES_DV_CD, ADRES, DLVYLC_RNM_ADRES, DLVYLC_LNB_ADRES, DLVYLC_ADRES_DTL, DLVY_MSSAGE_CN, GIFT_MSSAGE_CN, GIFT_STTUS_CD, GIFT_STTUS_CD_NM, ORDR_STTUS_CD, ORDR_STTUS_NM, FREE_DLVY_CND_AMT, DFT_DLVY_AMT
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 배송지별 상품 목록 조회 -->
|
<!-- 배송지별 상품 목록 조회 -->
|
||||||
<select id="selectOrderShippingGoodsList" parameterType="dataMap" resultType="dataMap">
|
<select id="selectOrderShippingGoodsList" parameterType="dataMap" resultType="dataMap">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@@ -2233,6 +2493,16 @@
|
|||||||
]]>
|
]]>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 배송지정보 일치여부 확인 -->
|
||||||
|
<select id="selectDlvylcAreaCdInfo" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO">
|
||||||
|
SELECT COUNT(*) AS CNT
|
||||||
|
FROM GC_ORDER_SHIPPING GOS
|
||||||
|
WHERE GOS.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GOS.ORDR_INNB = #{ordrInnb}
|
||||||
|
AND GOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||||
|
AND GOS.DLVYLC_AREA_CD = #{dlvylcAreaCd}
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 배송지정보 수정 -->
|
<!-- 배송지정보 수정 -->
|
||||||
<update id="updateDlvylcInfo" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO">
|
<update id="updateDlvylcInfo" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO">
|
||||||
UPDATE GC_ORDER_SHIPPING FOS
|
UPDATE GC_ORDER_SHIPPING FOS
|
||||||
@@ -2264,6 +2534,7 @@
|
|||||||
WHERE FOS.SOPMAL_CD = #{sopmalCd}
|
WHERE FOS.SOPMAL_CD = #{sopmalCd}
|
||||||
AND FOS.ORDR_INNB = #{ordrInnb}
|
AND FOS.ORDR_INNB = #{ordrInnb}
|
||||||
AND FOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
AND FOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||||
|
AND FOS.DLVYLC_AREA_CD = #{dlvylcAreaCd}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 주문메모 목록 조회 -->
|
<!-- 주문메모 목록 조회 -->
|
||||||
@@ -2421,6 +2692,7 @@
|
|||||||
WHEN FOS.PG_CMPNY_NM = 'kcp' THEN GPL.KCP_MID
|
WHEN FOS.PG_CMPNY_NM = 'kcp' THEN GPL.KCP_MID
|
||||||
ELSE GPL.OLD_TOSS_MID
|
ELSE GPL.OLD_TOSS_MID
|
||||||
END AS MID
|
END AS MID
|
||||||
|
, ROUND(FOS.WON_SETLE_AMT) AS WON_SETLE_AMT
|
||||||
FROM GC_ORDER_SETLE FOS
|
FROM GC_ORDER_SETLE FOS
|
||||||
INNER JOIN GC_PAY_LINK GPL
|
INNER JOIN GC_PAY_LINK GPL
|
||||||
ON FOS.SOPMAL_CD = GPL.SOPMAL_CD
|
ON FOS.SOPMAL_CD = GPL.SOPMAL_CD
|
||||||
@@ -2496,7 +2768,13 @@
|
|||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(procsDtlsDvCd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(procsDtlsDvCd)">
|
||||||
AND FOL.ADIT_INFO_CN = #{procsDtlsDvCd}
|
AND FOL.ADIT_INFO_CN = #{procsDtlsDvCd}
|
||||||
</if>
|
</if>
|
||||||
ORDER BY FOL.PROCS_DT ASC
|
ORDER BY
|
||||||
|
FOL.PROCS_DT ASC,
|
||||||
|
CASE
|
||||||
|
WHEN FOL.LOG_SJ LIKE '%결제취소 신청%' THEN 1
|
||||||
|
WHEN FOL.LOG_SJ LIKE '%결제취소 완료%' THEN 2
|
||||||
|
ELSE 3
|
||||||
|
END ASC
|
||||||
) DTLS
|
) DTLS
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -3821,6 +4099,7 @@
|
|||||||
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
||||||
WHERE FO.USE_AT = 'Y'
|
WHERE FO.USE_AT = 'Y'
|
||||||
AND FO.SUBSVC_AT = 'N' /*구독서비스 제외*/
|
AND FO.SUBSVC_AT = 'N' /*구독서비스 제외*/
|
||||||
|
AND ( ( FO.ORDR_STTUS_CD BETWEEN '15' AND '75' ) OR FO.ORDR_STTUS_CD = '95' )
|
||||||
AND IFNULL(FOS.ORDR_INNB, '') != ''
|
AND IFNULL(FOS.ORDR_INNB, '') != ''
|
||||||
AND FO.SOPMAL_CD = #{sopmalCd}
|
AND FO.SOPMAL_CD = #{sopmalCd}
|
||||||
AND FO.MBR_DV_CD = #{mbrDvCd}
|
AND FO.MBR_DV_CD = #{mbrDvCd}
|
||||||
@@ -4177,6 +4456,7 @@
|
|||||||
AND FC.CART_DV_CD = #{cartDvCd}
|
AND FC.CART_DV_CD = #{cartDvCd}
|
||||||
ORDER BY FC.REGIST_DT DESC
|
ORDER BY FC.REGIST_DT DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--사용자 > 상품 > 장바구니 목록 > 선물하기,여러곳배송 버튼 활성화 여부 -->
|
<!--사용자 > 상품 > 장바구니 목록 > 선물하기,여러곳배송 버튼 활성화 여부 -->
|
||||||
<select id="selectBOSpbkGiftMultiDlvyAt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO" resultType="dataMap">
|
<select id="selectBOSpbkGiftMultiDlvyAt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO" resultType="dataMap">
|
||||||
SELECT GS.SOPMAL_CD
|
SELECT GS.SOPMAL_CD
|
||||||
@@ -4187,6 +4467,14 @@
|
|||||||
AND GS.SOPMAL_CD= #{sopmalCd}
|
AND GS.SOPMAL_CD= #{sopmalCd}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!--살때 환율 조회 -->
|
||||||
|
<select id="selectBuyRate" parameterType="dataMap" resultType="BigDecimal">
|
||||||
|
SELECT GS.BUY_RATE
|
||||||
|
FROM GC_SHOP GS
|
||||||
|
WHERE 1=1
|
||||||
|
AND GS.SOPMAL_CD= #{sopmalCd}
|
||||||
|
</select>
|
||||||
|
|
||||||
<!--장바구니 상태 변경 -->
|
<!--장바구니 상태 변경 -->
|
||||||
<update id="updateBOSpbkCartDvCd" parameterType="dataMap">
|
<update id="updateBOSpbkCartDvCd" parameterType="dataMap">
|
||||||
UPDATE
|
UPDATE
|
||||||
@@ -4719,19 +5007,51 @@
|
|||||||
THEN (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) + IFNULL(OIOP2.ENURI_DSCNT_REST, 0)
|
THEN (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) + IFNULL(OIOP2.ENURI_DSCNT_REST, 0)
|
||||||
ELSE (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) END ) AS SUB_SLEPRIC
|
ELSE (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) END ) AS SUB_SLEPRIC
|
||||||
, FSG.DLVY_GROUP_DV_CD
|
, FSG.DLVY_GROUP_DV_CD
|
||||||
, ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0') AS DFT_DLVY_AMT
|
, (CASE
|
||||||
, FSG.AMT_CND_USE_AT
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.DFT_DLVY_AMT2, 0), '0')
|
||||||
, ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0') AS AMT_CND_ADIT_AMT
|
ELSE ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0')
|
||||||
, FSG.CNT_CND_USE_AT
|
END) AS DFT_DLVY_AMT
|
||||||
, ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0') AS CNT_CND_ADIT_AMT
|
, (CASE
|
||||||
, FSG.BUNDLE_DLVY_USE_AT
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.AMT_CND_USE_AT2
|
||||||
, ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0') AS BUNDLE_DLVY_CND_AMT
|
ELSE FSG.AMT_CND_USE_AT
|
||||||
, FSG.DLVY_AREA_ADIT_AT
|
END) AS AMT_CND_USE_AT
|
||||||
, ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0') AS AREA_ADIT_DLVY_AMT
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT2, 0), '0')
|
||||||
|
ELSE ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0')
|
||||||
|
END) AS AMT_CND_ADIT_AMT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.CNT_CND_USE_AT2
|
||||||
|
ELSE FSG.CNT_CND_USE_AT
|
||||||
|
END) AS CNT_CND_USE_AT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT2, 0), '0')
|
||||||
|
ELSE ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0')
|
||||||
|
END) AS CNT_CND_ADIT_AMT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.BUNDLE_DLVY_USE_AT2
|
||||||
|
ELSE FSG.BUNDLE_DLVY_USE_AT
|
||||||
|
END) AS BUNDLE_DLVY_USE_AT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT2, 0), '0')
|
||||||
|
ELSE ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0')
|
||||||
|
END) AS BUNDLE_DLVY_CND_AMT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.DLVY_AREA_ADIT_AT2
|
||||||
|
ELSE FSG.DLVY_AREA_ADIT_AT
|
||||||
|
END) AS DLVY_AREA_ADIT_AT
|
||||||
|
, (CASE
|
||||||
|
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT2, 0), '0')
|
||||||
|
ELSE ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0')
|
||||||
|
END) AS AREA_ADIT_DLVY_AMT
|
||||||
|
, (CASE
|
||||||
|
WHEN OIOP2.ORDR_QY = (OIOP2.STEP85 + RI.REFUND_QY) THEN ROUND(IFNULL(SH.RL_DLVY_AMT, 0), '0')
|
||||||
|
ELSE 0
|
||||||
|
END) AS REAL_DLVY_AMT
|
||||||
, ROUND(IFNULL(SH.RL_DLVY_AMT + SH.DLVY_COUPON_DSCNT_AMT, 0), '0') AS RL_DLVY_AMT
|
, ROUND(IFNULL(SH.RL_DLVY_AMT + SH.DLVY_COUPON_DSCNT_AMT, 0), '0') AS RL_DLVY_AMT
|
||||||
, OIOP2.RETURN_DLVY_APPLC_AT
|
, OIOP2.RETURN_DLVY_APPLC_AT
|
||||||
, ROUND(IFNULL(OIOP2.RETURN_DLVY_AMT, 0), '0') AS RETURN_DLVY_AMT
|
, ROUND(IFNULL(OIOP2.RETURN_DLVY_AMT, 0), '0') AS RETURN_DLVY_AMT
|
||||||
, ROUND(IFNULL(OIOP2.EXCHNG_DLVY_AMT, 0), '0') AS EXCHNG_DLVY_AMT
|
, ROUND(IFNULL(OIOP2.EXCHNG_DLVY_AMT, 0), '0') AS EXCHNG_DLVY_AMT
|
||||||
|
, SH.DLVYLC_AREA_CD
|
||||||
FROM GC_ORDER_ITEM_OPTION OIOP2
|
FROM GC_ORDER_ITEM_OPTION OIOP2
|
||||||
INNER JOIN GC_ORDER_ITEM OI
|
INNER JOIN GC_ORDER_ITEM OI
|
||||||
ON OIOP2.SOPMAL_CD = OI.SOPMAL_CD
|
ON OIOP2.SOPMAL_CD = OI.SOPMAL_CD
|
||||||
@@ -4767,7 +5087,9 @@
|
|||||||
<![CDATA[
|
<![CDATA[
|
||||||
UPDATE GC_ORDER_REFUND
|
UPDATE GC_ORDER_REFUND
|
||||||
SET RETURN_DLVY_AMT = #{returnDlvyAmt}
|
SET RETURN_DLVY_AMT = #{returnDlvyAmt}
|
||||||
|
, WON_RETURN_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{returnDlvyAmt}, 0)
|
||||||
, REFUND_DLVY_AMT = #{refundDlvyAmt}
|
, REFUND_DLVY_AMT = #{refundDlvyAmt}
|
||||||
|
, WON_REFUND_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundDlvyAmt}, 0)
|
||||||
WHERE SOPMAL_CD = #{sopmalCd}
|
WHERE SOPMAL_CD = #{sopmalCd}
|
||||||
AND ORDER_REFUND_INNB = #{orderRefundInnb}
|
AND ORDER_REFUND_INNB = #{orderRefundInnb}
|
||||||
]]>
|
]]>
|
||||||
@@ -4861,6 +5183,7 @@
|
|||||||
<!-- PG로그 가상계좌 검증키 조회 -->
|
<!-- PG로그 가상계좌 검증키 조회 -->
|
||||||
<select id="selectPglogVirtualKey" parameterType="dataMap" resultType="dataMap">
|
<select id="selectPglogVirtualKey" parameterType="dataMap" resultType="dataMap">
|
||||||
SELECT ROUND(GOR.RL_SETLE_AMT) AS RL_SETLE_AMT
|
SELECT ROUND(GOR.RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||||
|
, ROUND(GOR.WON_RL_SETLE_AMT) AS WON_RL_SETLE_AMT
|
||||||
, GOR.ORDRR_NM
|
, GOR.ORDRR_NM
|
||||||
, GOPL.SETLER_NM
|
, GOPL.SETLER_NM
|
||||||
, GOPL.DELNG_NB
|
, GOPL.DELNG_NB
|
||||||
@@ -4883,7 +5206,7 @@
|
|||||||
AND GOR.SOPMAL_CD = GOPL.SOPMAL_CD
|
AND GOR.SOPMAL_CD = GOPL.SOPMAL_CD
|
||||||
WHERE GOR.SOPMAL_CD = #{sopmalCd}
|
WHERE GOR.SOPMAL_CD = #{sopmalCd}
|
||||||
AND GOR.ORDR_INNB = #{ordrInnb}
|
AND GOR.ORDR_INNB = #{ordrInnb}
|
||||||
AND GOPL.SETLE_MTH_CD IN ('04','05','06')
|
-- AND GOPL.SETLE_MTH_CD IN ('04','05','06')
|
||||||
ORDER BY GOPL.PG_LOG_INNB ASC
|
ORDER BY GOPL.PG_LOG_INNB ASC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
@@ -5093,7 +5416,7 @@
|
|||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
CASE
|
CASE
|
||||||
WHEN O.ORDR_STTUS_CD >= '30' AND O.ORDR_STTUS_CD < '85' AND #{refundTyCd} = '01' THEN 'N'
|
WHEN O.ORDR_STTUS_CD >= '40' AND O.ORDR_STTUS_CD < '85' AND #{refundTyCd} = '01' THEN 'N'
|
||||||
ELSE 'Y'
|
ELSE 'Y'
|
||||||
END AS CANCEL_POSBLE_AT
|
END AS CANCEL_POSBLE_AT
|
||||||
FROM GC_ORDER O
|
FROM GC_ORDER O
|
||||||
@@ -5117,7 +5440,7 @@
|
|||||||
WHEN #{pgCmpnyNm} = 'toss' OR #{pgCmpnyNm} = 'tosspay' THEN TOSS_MID -- 토스
|
WHEN #{pgCmpnyNm} = 'toss' OR #{pgCmpnyNm} = 'tosspay' THEN TOSS_MID -- 토스
|
||||||
WHEN #{pgCmpnyNm} = 'naverpay' OR #{pgCmpnyNm} = 'kakaopay' THEN EASYPAY_MID -- 이지페이
|
WHEN #{pgCmpnyNm} = 'naverpay' OR #{pgCmpnyNm} = 'kakaopay' THEN EASYPAY_MID -- 이지페이
|
||||||
WHEN #{pgCmpnyNm} = 'gcpay' THEN BPAY_MID -- 브랜드페이
|
WHEN #{pgCmpnyNm} = 'gcpay' THEN BPAY_MID -- 브랜드페이
|
||||||
WHEN #{pgCmpnyNm} = 'kcp' THEN KCP_MID -- kcp
|
WHEN #{pgCmpnyNm} = 'kcp' OR #{pgCmpnyNm} = 'kiwoom' THEN KCP_MID -- kcp, kiwoom
|
||||||
END
|
END
|
||||||
END, '') AS SETLE_MID
|
END, '') AS SETLE_MID
|
||||||
FROM GC_PAY_LINK
|
FROM GC_PAY_LINK
|
||||||
@@ -5288,7 +5611,14 @@
|
|||||||
<!-- 사용자 > 마이페이지 > 구독서비스 주문/배송 목록 조회 -->
|
<!-- 사용자 > 마이페이지 > 구독서비스 주문/배송 목록 조회 -->
|
||||||
<select id="selectMbrSubsvcOrdrList" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO" resultType="dataMap">
|
<select id="selectMbrSubsvcOrdrList" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO" resultType="dataMap">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT *
|
SELECT PV.*
|
||||||
|
, (SELECT MAX('구독취소')
|
||||||
|
FROM GC_ORDER_REFUND GOR
|
||||||
|
WHERE GOR.SOPMAL_CD = PV.SOPMAL_CD
|
||||||
|
AND GOR.ORDR_INNB = PV.ORDR_INNB
|
||||||
|
AND GOR.USE_AT = 'Y'
|
||||||
|
AND GOR.REFUND_PROCS_STTUS_CD = '03' /*처리상태:환불완료*/
|
||||||
|
AND GOR.REFUND_TY_CD != '01' /*환불구분:결제취소가 아님*/) AS REFUND_STTUS_NM
|
||||||
FROM (
|
FROM (
|
||||||
SELECT CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
SELECT CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||||
, TB.*
|
, TB.*
|
||||||
@@ -5418,7 +5748,7 @@
|
|||||||
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
||||||
WHERE FO.USE_AT = 'Y'
|
WHERE FO.USE_AT = 'Y'
|
||||||
AND FO.SUBSVC_AT = 'Y' /*구독서비스*/
|
AND FO.SUBSVC_AT = 'Y' /*구독서비스*/
|
||||||
AND ( ( FO.ORDR_STTUS_CD BETWEEN '15' AND '75' ) OR FO.ORDR_STTUS_CD = '95' )
|
AND FO.ORDR_STTUS_CD BETWEEN '15' AND '95'
|
||||||
AND FO.SOPMAL_CD = #{sopmalCd}
|
AND FO.SOPMAL_CD = #{sopmalCd}
|
||||||
AND FO.MBR_DV_CD = #{mbrDvCd}
|
AND FO.MBR_DV_CD = #{mbrDvCd}
|
||||||
AND FO.MBR_INNB = #{mbrInnb}
|
AND FO.MBR_INNB = #{mbrInnb}
|
||||||
@@ -5426,12 +5756,6 @@
|
|||||||
) TB
|
) TB
|
||||||
WHERE (@rownum:=0) = 0
|
WHERE (@rownum:=0) = 0
|
||||||
]]>
|
]]>
|
||||||
<include refid="mbrOrdrSubsvcListWhere"/>
|
|
||||||
) PV
|
|
||||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<sql id="mbrOrdrSubsvcListWhere">
|
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
|
||||||
AND (
|
AND (
|
||||||
TB.ORDR_INNB LIKE CONCAT('%', #{srchwrd}, '%') OR
|
TB.ORDR_INNB LIKE CONCAT('%', #{srchwrd}, '%') OR
|
||||||
@@ -5441,7 +5765,208 @@
|
|||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnDt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endDt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnDt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endDt)">
|
||||||
AND TB.ORDR_RCEPT_DT BETWEEN DATE(#{bgnDt}) AND DATE(#{endDt}) + 1
|
AND TB.ORDR_RCEPT_DT BETWEEN DATE(#{bgnDt}) AND DATE(#{endDt}) + 1
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
) PV
|
||||||
|
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 사용자 > 주문완료 > 구독서비스 주문 목록 조회 -->
|
||||||
|
<select id="selectOrdrSubsvcDtllList" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO" resultType="dataMap">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT GO.SOPMAL_CD
|
||||||
|
, GS.IMG AS GOODS_IMG_COURS
|
||||||
|
, GS.SUBSVC_NM AS GOODS_NM
|
||||||
|
, GS.SUBSVC_GNR_NM AS OPTN_NM
|
||||||
|
, ITEM.INPUT_OPTN_TEXT
|
||||||
|
, ITEM.CNT AS ORDR_QY
|
||||||
|
, GS.SUBSVC_INNB AS GOODS_INNB
|
||||||
|
, GO.RL_SETLE_AMT AS SLEPRIC
|
||||||
|
, ITEM.DSCNT_AMT
|
||||||
|
, ROUND((IFNULL(GO.RL_SETLE_AMT, 0) - IFNULL(ITEM.DSCNT_AMT, 0))) AS APPLY_DSCNT_AMT
|
||||||
|
, ITEM.MLG_AMT
|
||||||
|
FROM GC_ORDER GO
|
||||||
|
INNER JOIN GC_SUBSVC GS ON GO.SUBSVC_INNB = GS.SUBSVC_INNB
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT GOI.SOPMAL_CD
|
||||||
|
, GOI.ORDR_INNB
|
||||||
|
, MAX(GOI.GOODS_INNB) AS GOODS_INNB
|
||||||
|
, MAX(GOIO.ORDR_DLVY_INNB) AS ORDR_DLVY_INNB
|
||||||
|
, COUNT(DISTINCT GOI.ORDR_GOODS_INNB) AS CNT
|
||||||
|
, SUM(GOIO.ORDR_QY) AS ORDR_QY
|
||||||
|
, MAX(FN_GET_ORDER_INPUT_OPTN(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS INPUT_OPTN_TEXT
|
||||||
|
, MAX(GOI.GOODS_IMG_COURS) AS GOODS_IMG_COURS
|
||||||
|
, SUM(FN_GET_ORDER_GOODS_DSCNT_AMT_2(GOI.SOPMAL_CD, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS DSCNT_AMT
|
||||||
|
, SUM(FN_GET_ORDER_ACCML_MLG_AMT(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS MLG_AMT
|
||||||
|
FROM GC_ORDER_ITEM GOI
|
||||||
|
INNER JOIN GC_ORDER_ITEM_OPTION GOIO ON GOI.SOPMAL_CD = GOIO.SOPMAL_CD
|
||||||
|
AND GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB
|
||||||
|
WHERE GOI.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GOI.ORDR_INNB = #{ordrInnb}
|
||||||
|
AND GOI.GOODS_KND_CD = '01'
|
||||||
|
) ITEM ON ITEM.SOPMAL_CD = GO.SOPMAL_CD
|
||||||
|
AND ITEM.ORDR_INNB = GO.ORDR_INNB
|
||||||
|
LEFT JOIN GC_ORDER_SETLE GOS ON GOS.SOPMAL_CD = GO.SOPMAL_CD
|
||||||
|
AND GOS.ORDR_INNB = GO.ORDR_INNB
|
||||||
|
WHERE GO.USE_AT = 'Y'
|
||||||
|
AND GO.SUBSVC_AT = 'Y' /*구독서비스*/
|
||||||
|
AND GO.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GO.ORDR_INNB = #{ordrInnb}
|
||||||
|
ORDER BY GO.REGIST_DT desc
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 사용자 > 구독서비스 결제 > 구독서비스 주문 상품 목록 조회 -->
|
||||||
|
<select id="selectSubsvcGoodsList" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
|
WITH RECURSIVE seq AS (
|
||||||
|
SELECT 1 AS n
|
||||||
|
UNION ALL
|
||||||
|
SELECT n + 1 FROM seq WHERE n <![CDATA[<]]> 24
|
||||||
|
)
|
||||||
|
SELECT GGO.SOPMAL_CD
|
||||||
|
, #{mbrInnb} AS MBR_INNB
|
||||||
|
, (
|
||||||
|
SELECT GM.MBR_DV_CD
|
||||||
|
FROM GC_MEMBER GM
|
||||||
|
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||||
|
ON GMGM.MBR_INNB = GM.MBR_INNB
|
||||||
|
AND GMGM.MBR_DV_CD = GM.MBR_DV_CD
|
||||||
|
WHERE GM.USE_AT = 'Y'
|
||||||
|
AND GMGM.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GMGM.MBR_INNB = #{mbrInnb}
|
||||||
|
) AS MBR_DV_CD
|
||||||
|
, GGO.GOODS_INNB
|
||||||
|
, GS.DFT_GOODS_OPTN_INNB AS GOODS_OPTN_INNB
|
||||||
|
, CAST(#{qy} AS UNSIGNED) AS QY
|
||||||
|
-- , (
|
||||||
|
-- SELECT CONCAT(
|
||||||
|
-- GS.SOPMAL_CD, ',',
|
||||||
|
-- GGO.GOODS_INNB, ',',
|
||||||
|
-- GS.DFT_GOODS_OPTN_INNB, ',',
|
||||||
|
-- GGO.OPTN_NM_1, ',',
|
||||||
|
-- ''#INPUT_OPTN_CN
|
||||||
|
-- )
|
||||||
|
-- ) AS INPUT_OPTN
|
||||||
|
-- , (
|
||||||
|
-- SELECT CONCAT(
|
||||||
|
-- GGO.OPTN_NM_1, ':',
|
||||||
|
-- ''#INPUT_OPTN_CN
|
||||||
|
-- )
|
||||||
|
-- ) AS INPUT_OPTN_TEXT
|
||||||
|
, GG.DLVY_GROUP_INNB
|
||||||
|
, GG.GOODS_STTUS_CD
|
||||||
|
, CASE WHEN GG.GOODS_STTUS_CD='03' AND GG.SEL_STPGE_CUSTOM_WORDS_AT ='Y' AND IFNULl(GG.SEL_STPGE_CUSTOM_WORDS, '')!='' THEN GG.SEL_STPGE_CUSTOM_WORDS
|
||||||
|
ELSE FN_GET_COMMCODE_NAME('GOODS_STTUS', GG.GOODS_STTUS_CD)
|
||||||
|
END AS GOODS_STTUS_NM
|
||||||
|
, GG.GOODS_NM
|
||||||
|
, GGO.OPTN_TY
|
||||||
|
, GGO.OPTN_RELATE_NB
|
||||||
|
, GGO.COMPNB_DSCNT_AT
|
||||||
|
, GGO.SCTN_DSCNT_AT
|
||||||
|
, NULLIF(GGO.OPTN_ESSNTL_AT, '') AS OPTN_ESSNTL_AT
|
||||||
|
, FORMAT(IFNULL(GGO.CNSMRPRIC, 0) * #{qy}, 0) AS SUB_CNSMRPRIC_BY_FORMAT
|
||||||
|
, IFNULL(GGO.CNSMRPRIC, 0) * #{qy} AS SUB_CNSMRPRIC
|
||||||
|
, FORMAT(IFNULL(GGO.CNSMRPRIC, 0), 0) AS CNSMRPRIC_BY_FORMAT
|
||||||
|
, IFNULL(GGO.CNSMRPRIC, 0) AS CNSMRPRIC
|
||||||
|
, FORMAT(IFNULL(GGO.SLEPRIC, 0) * #{qy}, 0) AS SUB_SLEPRIC_BY_FORMAT
|
||||||
|
, IFNULL(GGO.SLEPRIC, 0) * #{qy} AS SUB_SLEPRIC
|
||||||
|
, FORMAT(IFNULL(GGO.SLEPRIC, 0), 0) AS SLEPRIC_BY_FORMAT
|
||||||
|
, IFNULL(GGO.SLEPRIC, 0) AS SLEPRIC
|
||||||
|
, 0 AS DSCNT_AMT
|
||||||
|
, IFNULL(GGO.SLEPRIC, 0) * #{qy} AS DSCNT_APPLY_AMT
|
||||||
|
, CONCAT(GGO.OPTN1, IF(GGO.OPTN2 IS NULL , '', CONCAT('/', GGO.OPTN2))
|
||||||
|
, IF(GGO.OPTN3 IS NULL , '', CONCAT('/', GGO.OPTN3))
|
||||||
|
, IF(GGO.OPTN4 IS NULL , '', CONCAT('/', GGO.OPTN4))) AS OPTN
|
||||||
|
, GGI.IMG AS GOODS_IMG_COURS
|
||||||
|
FROM GC_SUBSVC GS
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT *
|
||||||
|
, CASE WHEN GGO.OPTN_NM_1 != '' AND GGO.OPTN_VAL_1 != ''
|
||||||
|
THEN CONCAT(GGO.OPTN_NM_1,':',GGO.OPTN_VAL_1)
|
||||||
|
END OPTN1
|
||||||
|
, CASE WHEN GGO.OPTN_NM_2 != '' AND GGO.OPTN_VAL_2 != ''
|
||||||
|
THEN CONCAT(GGO.OPTN_NM_2,':',GGO.OPTN_VAL_2)
|
||||||
|
END OPTN2
|
||||||
|
, CASE WHEN GGO.OPTN_NM_3 != '' AND GGO.OPTN_VAL_3 != ''
|
||||||
|
THEN CONCAT(GGO.OPTN_NM_3,':',GGO.OPTN_VAL_3)
|
||||||
|
END OPTN3
|
||||||
|
, CASE WHEN GGO.OPTN_NM_4 != '' AND GGO.OPTN_VAL_4 != ''
|
||||||
|
THEN CONCAT(GGO.OPTN_NM_4,':',GGO.OPTN_VAL_4)
|
||||||
|
END OPTN4 from GC_GOODS_OPTION GGO
|
||||||
|
)GGO
|
||||||
|
ON GGO.SOPMAL_CD = GS.SOPMAL_CD
|
||||||
|
AND GGO.GOODS_OPTN_INNB = GS.DFT_GOODS_OPTN_INNB
|
||||||
|
INNER JOIN GC_GOODS GG
|
||||||
|
ON GGO.SOPMAL_CD = GG.SOPMAL_CD
|
||||||
|
AND GGO.GOODS_INNB = GG.GOODS_INNB
|
||||||
|
JOIN seq
|
||||||
|
ON seq.n <![CDATA[<=]]> GS.SUB_PD
|
||||||
|
LEFT JOIN GC_GOODS_IMAGE GGI ON GG.SOPMAL_CD = GGI.SOPMAL_CD
|
||||||
|
AND GG.GOODS_INNB = GGI.GOODS_INNB
|
||||||
|
AND GGI.IMG_KND = '03'
|
||||||
|
AND GGI.CUT_NB = 1
|
||||||
|
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update -->
|
||||||
|
<update id="updateBOWonRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO">
|
||||||
|
<![CDATA[
|
||||||
|
WITH BF AS (SELECT MAX(O.WON_RL_SETLE_AMT) - IFNULL(SUM(IFNULL(GOR2.WON_REFUND_AMT,0))+SUM(IFNULL(GOR2.WON_REFUND_DLVY_AMT,0)),0) AS WON_REST_AMT
|
||||||
|
FROM GC_ORDER O
|
||||||
|
LEFT OUTER JOIN GC_ORDER_REFUND GOR2
|
||||||
|
ON GOR2.SOPMAL_CD = O.SOPMAL_CD
|
||||||
|
AND GOR2.ORDR_INNB = O.ORDR_INNB
|
||||||
|
AND GOR2.USE_AT = 'Y'
|
||||||
|
AND GOR2.REFUND_PROCS_STTUS_CD = '03'
|
||||||
|
AND GOR2.ORDER_REFUND_INNB != #{orderRefundInnb}
|
||||||
|
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND O.ORDR_INNB = #{ordrInnb}
|
||||||
|
)
|
||||||
|
UPDATE GC_ORDER_REFUND
|
||||||
|
SET WON_REFUND_AMT = (CASE
|
||||||
|
WHEN WON_REFUND_AMT + WON_REFUND_DLVY_AMT > (SELECT WON_REST_AMT FROM BF) THEN (SELECT WON_REST_AMT FROM BF) - WON_REFUND_DLVY_AMT
|
||||||
|
ELSE WON_REFUND_AMT
|
||||||
|
END)
|
||||||
|
, UPDT_DT = NOW()
|
||||||
|
WHERE SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND ORDER_REFUND_INNB = #{orderRefundInnb}
|
||||||
|
]]>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
결제취소 시 구독서비스 환불금액 조회
|
||||||
|
계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
|
||||||
|
-->
|
||||||
|
<select id="selectSubsvcRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO" resultType="java.lang.Integer">
|
||||||
|
SELECT (MAX(O.RL_SETLE_AMT) - SUM(GOS.RL_DLVY_AMT) - SUM(CASE
|
||||||
|
WHEN GOIO.ORDR_STTUS_CD BETWEEN 35 AND 85 THEN (GOIO.SLEPRIC * GOIO.ORDR_QY)
|
||||||
|
ELSE 0
|
||||||
|
END)
|
||||||
|
) AS REFUND_AMT
|
||||||
|
FROM GC_ORDER O
|
||||||
|
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||||
|
ON GOS.SOPMAL_CD = O.SOPMAL_CD
|
||||||
|
AND GOS.ORDR_INNB = O.ORDR_INNB
|
||||||
|
AND GOS.USE_AT = 'Y'
|
||||||
|
INNER JOIN GC_ORDER_ITEM GOI
|
||||||
|
ON GOI.SOPMAL_CD = O.SOPMAL_CD
|
||||||
|
AND GOI.ORDR_INNB = O.ORDR_INNB
|
||||||
|
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
|
||||||
|
ON GOIO.SOPMAL_CD = GOI.SOPMAL_CD
|
||||||
|
AND GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB
|
||||||
|
AND GOIO.ORDR_DLVY_INNB = GOS.ORDR_DLVY_INNB
|
||||||
|
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND O.ORDR_INNB = #{ordrInnb}
|
||||||
|
AND O.SUBSVC_AT = 'Y'
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectKiwoomPgApiLog"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO"
|
||||||
|
resultType="dataMap">
|
||||||
|
SELECT GOPAL.RSLT_PARAM FROM GC_ORDER_PG_API_LOG GOPAL
|
||||||
|
WHERE GOPAL.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GOPAL.ORDR_INNB = #{orderId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
@@ -326,12 +326,11 @@
|
|||||||
<sql id="mbrRefundListWhere">
|
<sql id="mbrRefundListWhere">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
]]>
|
|
||||||
<![CDATA[
|
|
||||||
AND RE.SOPMAL_CD = #{sopmalCd}
|
AND RE.SOPMAL_CD = #{sopmalCd}
|
||||||
AND O.MBR_DV_CD = #{mbrDvCd}
|
AND O.MBR_DV_CD = #{mbrDvCd}
|
||||||
AND O.MBR_INNB = #{mbrInnb}
|
AND O.MBR_INNB = #{mbrInnb}
|
||||||
AND RE.USE_AT = 'Y'
|
AND RE.USE_AT = 'Y'
|
||||||
|
AND RE.REFUND_PROCS_STTUS_CD = '03' /*환불완료*/
|
||||||
]]>
|
]]>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
|
||||||
AND (
|
AND (
|
||||||
@@ -364,6 +363,7 @@
|
|||||||
INNER JOIN GC_ORDER O
|
INNER JOIN GC_ORDER O
|
||||||
ON RE.SOPMAL_CD = O.SOPMAL_CD -- 쇼핑몰 코드
|
ON RE.SOPMAL_CD = O.SOPMAL_CD -- 쇼핑몰 코드
|
||||||
AND RE.ORDR_INNB = O.ORDR_INNB -- 주문 고유번호
|
AND RE.ORDR_INNB = O.ORDR_INNB -- 주문 고유번호
|
||||||
|
AND O.SUBSVC_AT = 'N' /*구독상품 제외*/
|
||||||
]]>
|
]]>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@@ -570,8 +570,10 @@
|
|||||||
RE.REFUND_ACNT_DPSTR_NM,
|
RE.REFUND_ACNT_DPSTR_NM,
|
||||||
RE.REFUND_ACNTNB,
|
RE.REFUND_ACNTNB,
|
||||||
RE.REFUND_AMT,
|
RE.REFUND_AMT,
|
||||||
|
RE.WON_REFUND_AMT,
|
||||||
RE.REFUND_ACCMLMNY_AMT,
|
RE.REFUND_ACCMLMNY_AMT,
|
||||||
RE.REFUND_DLVY_AMT,
|
RE.REFUND_DLVY_AMT,
|
||||||
|
RE.WON_REFUND_DLVY_AMT,
|
||||||
RE.MLG_ACCMLMNY_AMT,
|
RE.MLG_ACCMLMNY_AMT,
|
||||||
RE.MLG_ACCMLMNY_VALID_DT,
|
RE.MLG_ACCMLMNY_VALID_DT,
|
||||||
RE.ENURI_REVISN_AMT,
|
RE.ENURI_REVISN_AMT,
|
||||||
@@ -597,6 +599,7 @@
|
|||||||
IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RETURN_CSTMR_MBTLNB,
|
IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RETURN_CSTMR_MBTLNB,
|
||||||
IFNULL(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '') AS RETURN_CSTMR_MBTLNB_N_UNDER,
|
IFNULL(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '') AS RETURN_CSTMR_MBTLNB_N_UNDER,
|
||||||
FORMAT(ROUND(RE.RETURN_DLVY_AMT), 0) AS RETURN_DLVY_AMT,
|
FORMAT(ROUND(RE.RETURN_DLVY_AMT), 0) AS RETURN_DLVY_AMT,
|
||||||
|
FORMAT(ROUND(RE.WON_RETURN_DLVY_AMT), 0) AS WON_RETURN_DLVY_AMT,
|
||||||
RE.RETURN_DLVY_TRGET_CD,
|
RE.RETURN_DLVY_TRGET_CD,
|
||||||
RE.RETURN_DLVY_RSPNSBL_CD,
|
RE.RETURN_DLVY_RSPNSBL_CD,
|
||||||
RE.RETURN_DLVY_PYMNT_TY_CD,
|
RE.RETURN_DLVY_PYMNT_TY_CD,
|
||||||
@@ -842,7 +845,7 @@
|
|||||||
CASE
|
CASE
|
||||||
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
||||||
CASE
|
CASE
|
||||||
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.RETURN_DLVY_AMT, 0), 0)
|
||||||
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
END
|
END
|
||||||
ELSE
|
ELSE
|
||||||
@@ -851,9 +854,45 @@
|
|||||||
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
END + (REI.REFUND_MLG_AMT + REI.REFUND_MLG_RMNDR_AMT) + (REI.REFUND_CASH_AMT + REI.REFUND_CASH_RMNDR_AMT)))
|
END + (REI.REFUND_MLG_AMT + REI.REFUND_MLG_RMNDR_AMT) + (REI.REFUND_CASH_AMT + REI.REFUND_CASH_RMNDR_AMT)+ IFNULL((REI.REFUND_GOODS_COUPON_UNIT_AMT + REI.REFUND_GOODS_COUPON_REST_AMT), 0) + IFNULL((REI.REFUND_CART_COUPON_UNIT_AMT + REI.REFUND_CART_COUPON_REST_AMT), 0) ))
|
||||||
, 0) AS RL_REFUND_AMT -- 마일리지, 배송비 제외한 실 환불 금액
|
, 0) AS RL_REFUND_AMT -- 마일리지, 배송비 제외한 실 환불 금액
|
||||||
, IFNULL(
|
, IFNULL(
|
||||||
|
ROUND(CASE
|
||||||
|
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
|
||||||
|
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.RETURN_DLVY_AMT, 0), 0)
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.REFUND_AMT
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
END
|
||||||
|
END)
|
||||||
|
, 0) AS REAL_REFUND_AMT -- 마일리지, 쿠폰, 캐시를 제외한 실 환불 금액
|
||||||
|
, IFNULL(
|
||||||
|
ROUND(CASE
|
||||||
|
WHEN RE.REFUND_TY_CD = '01' THEN RE.WON_REFUND_AMT + RE.WON_REFUND_DLVY_AMT
|
||||||
|
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.WON_REFUND_AMT - IFNULL(RE.WON_RETURN_DLVY_AMT, 0), 0)
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.WON_REFUND_AMT
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
END
|
||||||
|
END)
|
||||||
|
, 0) AS REAL_WON_REFUND_AMT -- 마일리지, 쿠폰, 캐시를 제외한 실 환불 금액
|
||||||
|
, IFNULL(
|
||||||
ROUND((CASE
|
ROUND((CASE
|
||||||
WHEN RE.REFUND_TY_CD = '01' THEN 0
|
WHEN RE.REFUND_TY_CD = '01' THEN 0
|
||||||
WHEN RE.REFUND_TY_CD = '02' THEN
|
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||||
@@ -873,6 +912,8 @@
|
|||||||
))
|
))
|
||||||
, 0) AS RL_DLVY_AMT_REFUND_AMT -- 반품 배송비
|
, 0) AS RL_DLVY_AMT_REFUND_AMT -- 반품 배송비
|
||||||
, FN_GET_COMMCODE_NAME('SETLE_MTH', ST.SETLE_TY_CD) AS SETLE_TY_CD_NM
|
, FN_GET_COMMCODE_NAME('SETLE_MTH', ST.SETLE_TY_CD) AS SETLE_TY_CD_NM
|
||||||
|
, ROUND(ST.WON_SETLE_AMT) AS WON_SETLE_AMT
|
||||||
|
, O.BUY_RATE
|
||||||
FROM (SELECT REI.SOPMAL_CD
|
FROM (SELECT REI.SOPMAL_CD
|
||||||
, REI.ORDER_REFUND_INNB
|
, REI.ORDER_REFUND_INNB
|
||||||
, ROUND(SUM(REI.GOODS_REFUND_AMT)) AS REFUND_AMT -- * REI.REFUND_QY
|
, ROUND(SUM(REI.GOODS_REFUND_AMT)) AS REFUND_AMT -- * REI.REFUND_QY
|
||||||
@@ -1026,7 +1067,8 @@
|
|||||||
<![CDATA[RETURN_CSTMR_MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36')),]]>
|
<![CDATA[RETURN_CSTMR_MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36')),]]>
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyAmt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyAmt)">
|
||||||
<![CDATA[RETURN_DLVY_AMT = REPLACE(#{returnDlvyAmt}, ',', ''),]]>
|
RETURN_DLVY_AMT = REPLACE(#{returnDlvyAmt}, ',', ''),
|
||||||
|
WON_RETURN_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * REPLACE(#{returnDlvyAmt}, ',', ''), 0) ,
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyRspnsblCd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyRspnsblCd)">
|
||||||
<![CDATA[RETURN_DLVY_RSPNSBL_CD = #{returnDlvyRspnsblCd},]]>
|
<![CDATA[RETURN_DLVY_RSPNSBL_CD = #{returnDlvyRspnsblCd},]]>
|
||||||
@@ -1102,11 +1144,20 @@
|
|||||||
</when>
|
</when>
|
||||||
</choose>
|
</choose>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dlvyAmtRefundAmt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dlvyAmtRefundAmt)">
|
||||||
<![CDATA[DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},]]>
|
DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},
|
||||||
|
WON_DLVY_AMT_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{dlvyAmtRefundAmt}, 0),
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt)">
|
||||||
<![CDATA[REFUND_AMT = #{refundAmt},]]>
|
REFUND_AMT = #{refundAmt},
|
||||||
</if>
|
</if>
|
||||||
|
<choose>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(wonRefundAmt)">
|
||||||
|
WON_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt}, 0) ,
|
||||||
|
</when>
|
||||||
|
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(wonRefundAmt)">
|
||||||
|
WON_REFUND_AMT = #{wonRefundAmt},
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
MNGR_INNB = #{updusr},
|
MNGR_INNB = #{updusr},
|
||||||
UPDT_DT = SYSDATE()
|
UPDT_DT = SYSDATE()
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@@ -1304,8 +1355,10 @@
|
|||||||
RE.REFUND_ACNT_DPSTR_NM,
|
RE.REFUND_ACNT_DPSTR_NM,
|
||||||
RE.REFUND_ACNTNB,
|
RE.REFUND_ACNTNB,
|
||||||
ROUND(RE.REFUND_AMT) AS REFUND_AMT,
|
ROUND(RE.REFUND_AMT) AS REFUND_AMT,
|
||||||
|
ROUND(RE.WON_REFUND_AMT) AS WON_REFUND_AMT,
|
||||||
RE.REFUND_ACCMLMNY_AMT,
|
RE.REFUND_ACCMLMNY_AMT,
|
||||||
ROUND(RE.REFUND_DLVY_AMT) AS REFUND_DLVY_AMT,
|
ROUND(RE.REFUND_DLVY_AMT) AS REFUND_DLVY_AMT,
|
||||||
|
ROUND(RE.WON_REFUND_DLVY_AMT) AS WON_REFUND_DLVY_AMT,
|
||||||
RE.MLG_ACCMLMNY_AMT,
|
RE.MLG_ACCMLMNY_AMT,
|
||||||
RE.MLG_ACCMLMNY_VALID_DT,
|
RE.MLG_ACCMLMNY_VALID_DT,
|
||||||
RE.ENURI_REVISN_AMT,
|
RE.ENURI_REVISN_AMT,
|
||||||
@@ -1326,6 +1379,7 @@
|
|||||||
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_TELNB,
|
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_TELNB,
|
||||||
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_MBTLNB,
|
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_MBTLNB,
|
||||||
ROUND(RE.RETURN_DLVY_AMT) AS RETURN_DLVY_AMT,
|
ROUND(RE.RETURN_DLVY_AMT) AS RETURN_DLVY_AMT,
|
||||||
|
ROUND(RE.RETURN_DLVY_AMT * O.BUY_RATE) AS WON_RETURN_DLVY_AMT,
|
||||||
RE.RETURN_DLVY_TRGET_CD,
|
RE.RETURN_DLVY_TRGET_CD,
|
||||||
RE.RETURN_DLVY_RSPNSBL_CD,
|
RE.RETURN_DLVY_RSPNSBL_CD,
|
||||||
RE.RETURN_DLVY_PYMNT_TY_CD,
|
RE.RETURN_DLVY_PYMNT_TY_CD,
|
||||||
@@ -1345,7 +1399,10 @@
|
|||||||
RE.REGIST_DT,
|
RE.REGIST_DT,
|
||||||
RE.UPDT_DT,
|
RE.UPDT_DT,
|
||||||
O.MBR_DV_CD,
|
O.MBR_DV_CD,
|
||||||
O.MBR_INNB
|
O.MBR_INNB,
|
||||||
|
O.BUY_RATE,
|
||||||
|
ROUND(RE.DLVY_AMT_REFUND_AMT) AS DLVY_AMT_REFUND_AMT,
|
||||||
|
ROUND(RE.DLVY_AMT_REFUND_AMT * O.BUY_RATE) AS WON_DLVY_AMT_REFUND_AMT
|
||||||
FROM
|
FROM
|
||||||
GC_ORDER_REFUND RE
|
GC_ORDER_REFUND RE
|
||||||
INNER JOIN GC_ORDER O ON RE.SOPMAL_CD = O.SOPMAL_CD
|
INNER JOIN GC_ORDER O ON RE.SOPMAL_CD = O.SOPMAL_CD
|
||||||
@@ -1496,6 +1553,7 @@
|
|||||||
,ST.SOPMAL_CD
|
,ST.SOPMAL_CD
|
||||||
,ST.ORDR_INNB
|
,ST.ORDR_INNB
|
||||||
,IFNULL(ST.SETLE_AMT, 0) AS SETLE_AMT -- 결제금액
|
,IFNULL(ST.SETLE_AMT, 0) AS SETLE_AMT -- 결제금액
|
||||||
|
,IFNULL(ST.WON_SETLE_AMT, 0) AS WON_SETLE_AMT -- 결제금액
|
||||||
,ST.PG_CMPNY_NM -- pg 회사명
|
,ST.PG_CMPNY_NM -- pg 회사명
|
||||||
,ST.PG_INNB -- pg고유번호
|
,ST.PG_INNB -- pg고유번호
|
||||||
,ST.SETLE_TY_CD
|
,ST.SETLE_TY_CD
|
||||||
@@ -1529,28 +1587,52 @@
|
|||||||
<!-- 주문 환불 총 금액 -->
|
<!-- 주문 환불 총 금액 -->
|
||||||
<select id="selectBOORderRefundAmtSumInqire"
|
<select id="selectBOORderRefundAmtSumInqire"
|
||||||
parameterType="com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO"
|
parameterType="com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO"
|
||||||
resultType="Integer">
|
resultType="dataMap">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
|
||||||
IFNULL((
|
|
||||||
SELECT ROUND(
|
SELECT ROUND(
|
||||||
SUM(
|
SUM(
|
||||||
CASE
|
CASE
|
||||||
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
|
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
|
||||||
WHEN RE.REFUND_TY_CD = '02' THEN
|
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||||
CASE
|
CASE
|
||||||
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
|
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
||||||
ELSE RE.REFUND_AMT
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.REFUND_AMT
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
), 0)
|
END
|
||||||
|
), 0) AS ORDER_REFUND_AMT_SUM
|
||||||
|
, ROUND(
|
||||||
|
SUM(
|
||||||
|
CASE
|
||||||
|
WHEN RE.REFUND_TY_CD = '01' THEN RE.WON_REFUND_AMT + RE.WON_REFUND_DLVY_AMT
|
||||||
|
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.WON_REFUND_AMT - IFNULL(RE.WON_DLVY_AMT_REFUND_AMT, 0), 0)
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
CASE
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.WON_REFUND_AMT
|
||||||
|
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
|
||||||
|
END
|
||||||
|
END
|
||||||
|
END
|
||||||
|
), 0) AS WON_ORDER_REFUND_AMT_SUM
|
||||||
FROM GC_ORDER_REFUND RE
|
FROM GC_ORDER_REFUND RE
|
||||||
WHERE RE.SOPMAL_CD = #{sopmalCd}
|
WHERE RE.SOPMAL_CD = #{sopmalCd}
|
||||||
AND RE.ORDR_INNB = #{ordrInnb}
|
AND RE.ORDR_INNB = #{ordrInnb}
|
||||||
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
|
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
|
||||||
AND RE.USE_AT = 'Y'
|
AND RE.USE_AT = 'Y'
|
||||||
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
|
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
|
||||||
), 0) AS ORDER_REFUND_AMT_SUM
|
|
||||||
]]>
|
]]>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -1707,6 +1789,9 @@
|
|||||||
,SUM(PRI.CASH_DSCNT_UNIT * PRI.REFUND_QY + PRI.CASH_DSCNT_REST) AS P_USE_CANCEL_CASH
|
,SUM(PRI.CASH_DSCNT_UNIT * PRI.REFUND_QY + PRI.CASH_DSCNT_REST) AS P_USE_CANCEL_CASH
|
||||||
,ROUND(RL_USE_CASH) AS RL_USE_CASH
|
,ROUND(RL_USE_CASH) AS RL_USE_CASH
|
||||||
,RL_ORDR_ITEM.RL_ORDR_QY
|
,RL_ORDR_ITEM.RL_ORDR_QY
|
||||||
|
,SUM(PRE.REFUND_DLVY_AMT) AS P_REFUND_DLVY_AMT
|
||||||
|
,SUM(PRE.WON_REFUND_DLVY_AMT) AS P_WON_REFUND_DLVY_AMT
|
||||||
|
,SUM(PRE.WON_REFUND_AMT) AS P_WON_REFUND_AMT
|
||||||
FROM GC_ORDER_REFUND_ITEM PRI
|
FROM GC_ORDER_REFUND_ITEM PRI
|
||||||
INNER JOIN GC_ORDER_REFUND PRE ON PRI.SOPMAL_CD = PRE.SOPMAL_CD
|
INNER JOIN GC_ORDER_REFUND PRE ON PRI.SOPMAL_CD = PRE.SOPMAL_CD
|
||||||
AND PRI.ORDER_REFUND_INNB = PRE.ORDER_REFUND_INNB
|
AND PRI.ORDER_REFUND_INNB = PRE.ORDER_REFUND_INNB
|
||||||
|
|||||||
@@ -413,16 +413,14 @@
|
|||||||
REGIST_DT,
|
REGIST_DT,
|
||||||
UPDUSR,
|
UPDUSR,
|
||||||
UPDT_DT
|
UPDT_DT
|
||||||
) SELECT
|
) VALUES (
|
||||||
#{seq},
|
#{seq},
|
||||||
#{sopmalCd},
|
#{sopmalCd},
|
||||||
#{evtInnb},
|
#{evtInnb},
|
||||||
]]>
|
]]>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">REPLACE(#{bgnCnt}, ',', ''),
|
||||||
REPLACE(#{bgnCnt}, ',', ''),
|
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">REPLACE(#{endCnt}, ',', ''),
|
||||||
REPLACE(#{endCnt}, ',', ''),
|
|
||||||
</if>
|
</if>
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
||||||
REPLACE(#{bgnAmt}, ',', ''),
|
REPLACE(#{bgnAmt}, ',', ''),
|
||||||
@@ -457,8 +455,7 @@
|
|||||||
SYSDATE(),
|
SYSDATE(),
|
||||||
#{updusr},
|
#{updusr},
|
||||||
SYSDATE()
|
SYSDATE()
|
||||||
FROM
|
)
|
||||||
GC_EVENT_BENEFITS
|
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
BGN_CNT = VALUES(BGN_CNT),
|
BGN_CNT = VALUES(BGN_CNT),
|
||||||
END_CNT = VALUES(END_CNT),
|
END_CNT = VALUES(END_CNT),
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.wb.domainserver.domain.gcone.setup.cost.mapper.BOCostMapper">
|
||||||
|
|
||||||
|
<!--원가 설정 목록 조회-->
|
||||||
|
<select id="selectBOCostPriceList"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.setup.cost.vo.BOCostVO"
|
||||||
|
resultType="dataMap">
|
||||||
|
SELECT CT_INNB
|
||||||
|
, STDR_DE
|
||||||
|
, USD_RATE
|
||||||
|
, JP_DLVY_CT
|
||||||
|
, INTL_DLVY_AMT
|
||||||
|
, PLTFOM_FEE
|
||||||
|
, EXPCT_TAX
|
||||||
|
, CSTMS_FEE
|
||||||
|
, KR_DLVY_CT
|
||||||
|
FROM GC_GOODS_COST
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 원가 설정 삭제 -->
|
||||||
|
<delete id="deleteBOCostPrice"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.setup.cost.vo.BOCostVO" >
|
||||||
|
DELETE FROM
|
||||||
|
GC_GOODS_COST
|
||||||
|
WHERE 1=1
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 원가 설정 등록 -->
|
||||||
|
<insert id="insertBOCostPrice"
|
||||||
|
parameterType="DataMap" >
|
||||||
|
<selectKey order="BEFORE" keyProperty="ctInnb" resultType="integer">
|
||||||
|
SELECT IFNULL(MAX(CT_INNB), 0) + 1
|
||||||
|
FROM GC_GOODS_COST
|
||||||
|
</selectKey>
|
||||||
|
INSERT INTO GC_GOODS_COST (
|
||||||
|
CT_INNB,
|
||||||
|
STDR_DE,
|
||||||
|
USD_RATE,
|
||||||
|
JP_DLVY_CT,
|
||||||
|
INTL_DLVY_AMT,
|
||||||
|
PLTFOM_FEE,
|
||||||
|
EXPCT_TAX,
|
||||||
|
CSTMS_FEE,
|
||||||
|
KR_DLVY_CT
|
||||||
|
) VALUES (
|
||||||
|
#{ctInnb},
|
||||||
|
#{stdrDe},
|
||||||
|
#{usdRate},
|
||||||
|
#{jpDlvyCt},
|
||||||
|
#{intlDlvyAmt},
|
||||||
|
#{pltfomFee},
|
||||||
|
#{expctTax},
|
||||||
|
#{cstmsFee},
|
||||||
|
#{krDlvyCt}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
</mapper>
|
||||||
@@ -42,7 +42,12 @@
|
|||||||
<!--주문 설정 수정-->
|
<!--주문 설정 수정-->
|
||||||
<update id="updateBOOrdrSetup">
|
<update id="updateBOOrdrSetup">
|
||||||
UPDATE GC_SHOP
|
UPDATE GC_SHOP
|
||||||
SET MLG_PYMNT_AT = #{mlgPymntAt},
|
SET CASH_AT = IFNULL(#{cashAt},'N'),
|
||||||
|
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
||||||
|
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
||||||
|
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
||||||
|
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd},
|
||||||
|
MLG_PYMNT_AT = #{mlgPymntAt},
|
||||||
MLG_PYMNT_DV_CD = #{mlgPymntDvCd},
|
MLG_PYMNT_DV_CD = #{mlgPymntDvCd},
|
||||||
MLG_PYMNT_RT = REPLACE(#{mlgPymntRt},',',''),
|
MLG_PYMNT_RT = REPLACE(#{mlgPymntRt},',',''),
|
||||||
MLG_MXMM_PYMNT_AMT = REPLACE(#{mlgMxmmPymntAmt},',',''),
|
MLG_MXMM_PYMNT_AMT = REPLACE(#{mlgMxmmPymntAmt},',',''),
|
||||||
@@ -63,11 +68,13 @@
|
|||||||
MLG_VALID_PD_AT = 'Y',
|
MLG_VALID_PD_AT = 'Y',
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
CASH_AT = IFNULL(#{cashAt},'N'),
|
MLG_HOLD_USE_AMT = #{mlgHoldUseAmt},
|
||||||
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
MLG_SETLE_AMT_USE_AMT = #{mlgSetleAmtUseAmt},
|
||||||
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
MLG_MUMM_USE_AMT = #{mlgMummUseAmt},
|
||||||
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
MLG_MXMM_USE_DV = #{mlgMxmmUseDv},
|
||||||
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd}
|
MLG_MXMM_USE_AMT = #{mlgMxmmUseAmt},
|
||||||
|
UPDUSR = #{updusr},
|
||||||
|
UPDT_DT = SYSDATE()
|
||||||
WHERE SOPMAL_CD = #{sopmalCd}
|
WHERE SOPMAL_CD = #{sopmalCd}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ secured:
|
|||||||
- /sopmal/mpage/bnef/**
|
- /sopmal/mpage/bnef/**
|
||||||
- /sopmal/mpage/mbr/**
|
- /sopmal/mpage/mbr/**
|
||||||
- /sopmal/bnft/**
|
- /sopmal/bnft/**
|
||||||
|
- /sopmal/ordr/selectSpbk
|
||||||
|
- /sopmal/ordr/selectMbrPurchsForm
|
||||||
|
- /sopmal/ordr/selectSubsvcPurchsForm
|
||||||
admin:
|
admin:
|
||||||
anonmymous:
|
anonmymous:
|
||||||
# 로그인 없이 접근가능한 uri없음
|
# 로그인 없이 접근가능한 uri없음
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 3.7 KiB |
@@ -39,6 +39,20 @@ const fn_save_dftDlvylcAt = function (msg, adbkInnb) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************
|
||||||
|
리턴 formId 세팅
|
||||||
|
***********************************************/
|
||||||
|
let formIdSave;
|
||||||
|
const fn_set_formId = function (formId) {
|
||||||
|
if (formId !== ''){
|
||||||
|
formIdSave = formId;
|
||||||
|
} else {
|
||||||
|
formId = formIdSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
return formId;
|
||||||
|
}
|
||||||
/**********************************************
|
/**********************************************
|
||||||
배송지 관리 팝업 ()
|
배송지 관리 팝업 ()
|
||||||
***********************************************/
|
***********************************************/
|
||||||
@@ -46,7 +60,9 @@ const fn_move_dlvylc_manage_pop = function (pageIndex,callback, formId = '') {
|
|||||||
if (callback == undefined) {
|
if (callback == undefined) {
|
||||||
callback = 'fn_set_dlvylc';
|
callback = 'fn_set_dlvylc';
|
||||||
}
|
}
|
||||||
|
formId = fn_set_formId(formId);
|
||||||
console.log("배송지 관리 팝업 : ", formId);
|
console.log("배송지 관리 팝업 : ", formId);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',
|
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',
|
||||||
@@ -77,7 +93,9 @@ const fn_move_dlvylc_manage_full = function (pageIndex, callback, formId = '') {
|
|||||||
if (callback == undefined) {
|
if (callback == undefined) {
|
||||||
callback = 'fn_set_dlvylc';
|
callback = 'fn_set_dlvylc';
|
||||||
}
|
}
|
||||||
|
formId = fn_set_formId(formId);
|
||||||
console.log("모바일 배송지 팝업 formId : ", formId);
|
console.log("모바일 배송지 팝업 formId : ", formId);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',
|
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',
|
||||||
|
|||||||
@@ -3512,7 +3512,10 @@ gap-0 {
|
|||||||
height: 20px;
|
height: 20px;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
border-radius: 40px;
|
border-radius: 40px;
|
||||||
background-color: #b1b6b9;
|
/*background-color: #b1b6b9;*/
|
||||||
|
color: #5c7cfa;
|
||||||
|
background-color: #fcfdff;
|
||||||
|
border: 1px solid #5c7cfa;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
.product-badge.new {
|
.product-badge.new {
|
||||||
|
|||||||
@@ -1850,6 +1850,47 @@ function validateInput(input, opts = {}) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
form데이터 sealize 후 json 스트링 형태로 전환
|
||||||
|
************************************************************ */
|
||||||
|
function queryToJson(queryString) {
|
||||||
|
let jsonObj = {};
|
||||||
|
let pairs = queryString.split("&");
|
||||||
|
|
||||||
|
$.each(pairs, function (index, pair) {
|
||||||
|
let [key, value] = pair.split("=");
|
||||||
|
if(!fn_is_empty(value)){
|
||||||
|
jsonObj[key] = value ? decodeURIComponent(value) : "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const jsonStr = JSON.stringify(jsonObj);
|
||||||
|
return jsonStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
치환코드 입력
|
||||||
|
* @param eventObj : 클릭객체
|
||||||
|
* @param closestSelector : 가까운 객체
|
||||||
|
* @param targetTextAreaSelector : textarea타겟대상
|
||||||
|
* @property obj : 클릭한 객체
|
||||||
|
* @property existingVal : 기존 텍스트 아리아 값
|
||||||
|
* @property addStr : 추가할 치환 코드
|
||||||
|
* @description 치환 문자 td 클래스에 subst 클래스 부여
|
||||||
|
************************************************************ */
|
||||||
|
function fn_set_substituon_in_texatarea(eventObj, closestSelector, targetTextAreaSelector) {
|
||||||
|
const obj = $(eventObj);
|
||||||
|
let existingVal = $("#"+targetTextAreaSelector).val();
|
||||||
|
let addStr;
|
||||||
|
const addStrT = obj.closest(closestSelector).find(".subst").text();
|
||||||
|
const addStrV = obj.closest(closestSelector).find(".subst").val();
|
||||||
|
if(!fn_is_empty(addStrT)){
|
||||||
|
addStr = addStrT;
|
||||||
|
}else{
|
||||||
|
addStr = addStrV;
|
||||||
|
}
|
||||||
|
existingVal = existingVal + " " +addStr;
|
||||||
|
$("#"+targetTextAreaSelector).val(existingVal);
|
||||||
|
}
|
||||||
|
|
||||||
/* ************************************************************
|
/* ************************************************************
|
||||||
* 인피니티 스크롤 공통 처리 (footer가 보이면 callback함수 호출)
|
* 인피니티 스크롤 공통 처리 (footer가 보이면 callback함수 호출)
|
||||||
|
|||||||
@@ -72,6 +72,20 @@ const fn_select_recentDlvylcList = function (pageIndex, ordering) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************
|
||||||
|
리턴 formId 세팅
|
||||||
|
***********************************************/
|
||||||
|
let formIdSave;
|
||||||
|
const fn_set_formId = function (formId) {
|
||||||
|
if (formId !== ''){
|
||||||
|
formIdSave = formId;
|
||||||
|
} else {
|
||||||
|
formId = formIdSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
return formId;
|
||||||
|
}
|
||||||
/**********************************************
|
/**********************************************
|
||||||
배송지 관리 팝업 (처음 호출 할 때)
|
배송지 관리 팝업 (처음 호출 할 때)
|
||||||
***********************************************/
|
***********************************************/
|
||||||
@@ -82,6 +96,8 @@ const fn_move_dlvylc_manage_pop = function (pageIndex, mbrInnb, mbrDvCd, callbac
|
|||||||
if (callback == undefined) {
|
if (callback == undefined) {
|
||||||
callback = fn_set_dlvylc;
|
callback = fn_set_dlvylc;
|
||||||
}
|
}
|
||||||
|
formId = fn_set_formId(formId);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: '/crm/dlvylc/selectRpuseDlvylcListInqire',
|
url: '/crm/dlvylc/selectRpuseDlvylcListInqire',
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user