등급제 환불관련 로직 추가
@aadc3c1420a4e775f331d0ee9e1b1002db1125d7
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
... | ... | @@ -46,12 +46,21 @@ |
| 46 | 46 |
// 회원별 등급 일괄변경 |
| 47 | 47 |
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; |
| 48 | 48 |
|
| 49 |
+ // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
|
| 50 |
+ public int updateMberGrdAfterRefund(MberGrdVO mberGrdVO) throws Exception; |
|
| 51 |
+ |
|
| 49 | 52 |
// 문자할인, B선라인 대상자 초기화 |
| 50 | 53 |
public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception; |
| 51 | 54 |
|
| 52 |
- // 회원별 등급 초기화 |
|
| 55 |
+ // 전체회원 등급 초기화 |
|
| 53 | 56 |
public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception; |
| 54 | 57 |
|
| 58 |
+ // 회원 등급제 종료 |
|
| 59 |
+ public int updateMberGrdEndByUser(MberGrdVO mberGrdVO) throws Exception; |
|
| 60 |
+ |
|
| 61 |
+ // 회원 등급제 복원 |
|
| 62 |
+ public int updateMberGrdRestoreByUser(MberGrdVO mberGrdVO) throws Exception; |
|
| 63 |
+ |
|
| 55 | 64 |
// 회원별 등급 적용 |
| 56 | 65 |
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception; |
| 57 | 66 |
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
... | ... | @@ -73,16 +73,31 @@ |
| 73 | 73 |
return update("mberGrdDAO.updateMberGrdAll", mberGrdVO);
|
| 74 | 74 |
} |
| 75 | 75 |
|
| 76 |
+ // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
|
| 77 |
+ public int updateMberGrdAfterRefund(MberGrdVO mberGrdVO) throws Exception {
|
|
| 78 |
+ return update("mberGrdDAO.updateMberGrdAfterRefund", mberGrdVO);
|
|
| 79 |
+ } |
|
| 80 |
+ |
|
| 76 | 81 |
// 문자할인, B선라인 대상자 초기화 |
| 77 | 82 |
public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception {
|
| 78 | 83 |
return update("mberGrdDAO.updateMberGrdEndBySale", mberGrdVO);
|
| 79 | 84 |
} |
| 80 | 85 |
|
| 81 |
- // 회원별 등급 초기화 |
|
| 86 |
+ // 전체회원 등급 초기화 |
|
| 82 | 87 |
public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
|
| 83 | 88 |
return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO);
|
| 84 | 89 |
} |
| 85 | 90 |
|
| 91 |
+ // 회원 등급제 종료 |
|
| 92 |
+ public int updateMberGrdEndByUser(MberGrdVO mberGrdVO) throws Exception {
|
|
| 93 |
+ return update("mberGrdDAO.updateMberGrdEndByUser", mberGrdVO);
|
|
| 94 |
+ } |
|
| 95 |
+ |
|
| 96 |
+ // 회원 등급제 복원 |
|
| 97 |
+ public int updateMberGrdRestoreByUser(MberGrdVO mberGrdVO) throws Exception {
|
|
| 98 |
+ return update("mberGrdDAO.updateMberGrdRestoreByUser", mberGrdVO);
|
|
| 99 |
+ } |
|
| 100 |
+ |
|
| 86 | 101 |
// 회원별 등급 진행여부 |
| 87 | 102 |
public int selectMberGrdPrgCnt(String mberId) throws Exception{
|
| 88 | 103 |
return (int) select("mberGrdDAO.selectMberGrdPrgCnt", mberId);
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
... | ... | @@ -167,16 +167,34 @@ |
| 167 | 167 |
return updateCnt1 + updateCnt2; |
| 168 | 168 |
} |
| 169 | 169 |
|
| 170 |
- // 회원별 등급 초기화 |
|
| 170 |
+ // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
|
| 171 |
+ @Override |
|
| 172 |
+ public int updateMberGrdAfterRefund(MberGrdVO mberGrdVO) throws Exception {
|
|
| 173 |
+ return mberGrdDAO.updateMberGrdAfterRefund(mberGrdVO); |
|
| 174 |
+ } |
|
| 175 |
+ |
|
| 176 |
+ // 문자할인, B선라인 대상자 초기화 |
|
| 177 |
+ @Override |
|
| 178 |
+ public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception {
|
|
| 179 |
+ return mberGrdDAO.updateMberGrdEndBySale(mberGrdVO); |
|
| 180 |
+ } |
|
| 181 |
+ |
|
| 182 |
+ // 전체회원 등급 초기화 |
|
| 171 | 183 |
@Override |
| 172 | 184 |
public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
|
| 173 | 185 |
return mberGrdDAO.updateMberGrdEndAll(mberGrdVO); |
| 174 | 186 |
} |
| 175 | 187 |
|
| 176 |
- // 문자할인, B선라인 대상자 초기화 |
|
| 188 |
+ // 회원 등급제 종료 |
|
| 177 | 189 |
@Override |
| 178 |
- public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception {
|
|
| 179 |
- return mberGrdDAO.updateMberGrdEndBySale(mberGrdVO); |
|
| 190 |
+ public int updateMberGrdEndByUser(MberGrdVO mberGrdVO) throws Exception {
|
|
| 191 |
+ return mberGrdDAO.updateMberGrdEndByUser(mberGrdVO); |
|
| 192 |
+ } |
|
| 193 |
+ |
|
| 194 |
+ // 회원 등급제 복원 |
|
| 195 |
+ @Override |
|
| 196 |
+ public int updateMberGrdRestoreByUser(MberGrdVO mberGrdVO) throws Exception {
|
|
| 197 |
+ return mberGrdDAO.updateMberGrdRestoreByUser(mberGrdVO); |
|
| 180 | 198 |
} |
| 181 | 199 |
|
| 182 | 200 |
// 회원별 등급 적용 |
... | ... | @@ -217,7 +235,7 @@ |
| 217 | 235 |
MberGrdVO mberGrdVO4 = new MberGrdVO(); |
| 218 | 236 |
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO); |
| 219 | 237 |
if (null != mberGrdVO4) {
|
| 220 |
- mberGrdVO.setAmt("0");
|
|
| 238 |
+ mberGrdVO.setAmt(mberGrdVO.getAmt()); |
|
| 221 | 239 |
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt()); |
| 222 | 240 |
mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice()); |
| 223 | 241 |
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice()); |
... | ... | @@ -233,8 +251,8 @@ |
| 233 | 251 |
MberGrdVO mberGrdVO5 = new MberGrdVO(); |
| 234 | 252 |
mberGrdVO5 = selectMberGrdDetail(mberGrdVO); |
| 235 | 253 |
if (null != mberGrdVO5) {
|
| 236 |
- // 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리 |
|
| 237 |
- if (mberGrdVO5.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) {
|
|
| 254 |
+ // 업데이트 => 기존등급보다 상위등급 대상만 업데이트 |
|
| 255 |
+ if (mberGrdVO5.getGrdSetNo() > mberGrdVO.getGrdSetNo()) {
|
|
| 238 | 256 |
updateMberGrd(mberGrdVO); |
| 239 | 257 |
|
| 240 | 258 |
// 회원별 등급 히스토리 인서트 |
--- src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
... | ... | @@ -147,8 +147,7 @@ |
| 147 | 147 |
try{
|
| 148 | 148 |
|
| 149 | 149 |
// 회원별 등급 적용 |
| 150 |
- mberGrdVO.setAmt("0"); // 결제금액
|
|
| 151 |
- mberGrdVO.setMberId("nopay"); // 결제자
|
|
| 150 |
+ mberGrdVO.setAmt("0");
|
|
| 152 | 151 |
mberGrdService.mberGrdSaveByUser(mberGrdVO); |
| 153 | 152 |
|
| 154 | 153 |
} |
... | ... | @@ -235,6 +234,108 @@ |
| 235 | 234 |
modelAndView.addObject("msg", msg);
|
| 236 | 235 |
|
| 237 | 236 |
return modelAndView; |
| 238 |
- } |
|
| 239 |
- |
|
| 237 |
+ } |
|
| 238 |
+ |
|
| 239 |
+ // 회원 등급제 종료 |
|
| 240 |
+ @RequestMapping(value = "/sym/grd/mberGrdEndByUserAjax.do") |
|
| 241 |
+ public ModelAndView mberGrdEndByUserAjax( |
|
| 242 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 243 |
+ |
|
| 244 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 245 |
+ modelAndView.setViewName("jsonView");
|
|
| 246 |
+ |
|
| 247 |
+ boolean isSuccess = true; |
|
| 248 |
+ String msg = ""; |
|
| 249 |
+ |
|
| 250 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 251 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 252 |
+ String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
|
| 253 |
+ mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
|
| 254 |
+ |
|
| 255 |
+ try{
|
|
| 256 |
+ |
|
| 257 |
+ // 회원 등급제 종료 |
|
| 258 |
+ mberGrdService.updateMberGrdEndByUser(mberGrdVO); |
|
| 259 |
+ |
|
| 260 |
+ } |
|
| 261 |
+ catch(Exception e) {
|
|
| 262 |
+ isSuccess = false; |
|
| 263 |
+ msg = e.getMessage(); |
|
| 264 |
+ } |
|
| 265 |
+ |
|
| 266 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 267 |
+ modelAndView.addObject("msg", msg);
|
|
| 268 |
+ |
|
| 269 |
+ return modelAndView; |
|
| 270 |
+ } |
|
| 271 |
+ |
|
| 272 |
+ // 회원 등급제 복원 |
|
| 273 |
+ @RequestMapping(value = "/sym/grd/mberGrdRestoreByUserAjax.do") |
|
| 274 |
+ public ModelAndView mberGrdRestoreByUserAjax( |
|
| 275 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 276 |
+ |
|
| 277 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 278 |
+ modelAndView.setViewName("jsonView");
|
|
| 279 |
+ |
|
| 280 |
+ boolean isSuccess = true; |
|
| 281 |
+ String msg = ""; |
|
| 282 |
+ |
|
| 283 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 284 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 285 |
+ String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
|
| 286 |
+ mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
|
| 287 |
+ |
|
| 288 |
+ try{
|
|
| 289 |
+ |
|
| 290 |
+ // 회원 등급제 복원 |
|
| 291 |
+ mberGrdService.updateMberGrdRestoreByUser(mberGrdVO); |
|
| 292 |
+ |
|
| 293 |
+ // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
|
| 294 |
+ mberGrdService.updateMberGrdAfterRefund(mberGrdVO); |
|
| 295 |
+ |
|
| 296 |
+ } |
|
| 297 |
+ catch(Exception e) {
|
|
| 298 |
+ isSuccess = false; |
|
| 299 |
+ msg = e.getMessage(); |
|
| 300 |
+ } |
|
| 301 |
+ |
|
| 302 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 303 |
+ modelAndView.addObject("msg", msg);
|
|
| 304 |
+ |
|
| 305 |
+ return modelAndView; |
|
| 306 |
+ } |
|
| 307 |
+ |
|
| 308 |
+ // 회원 등급제 갱신 |
|
| 309 |
+ @RequestMapping(value = "/sym/grd/mberGrdUpdateByUserAjax.do") |
|
| 310 |
+ public ModelAndView mberGrdUpdateByUserAjax( |
|
| 311 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 312 |
+ |
|
| 313 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 314 |
+ modelAndView.setViewName("jsonView");
|
|
| 315 |
+ |
|
| 316 |
+ boolean isSuccess = true; |
|
| 317 |
+ String msg = ""; |
|
| 318 |
+ |
|
| 319 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 320 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 321 |
+ String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
|
| 322 |
+ mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
|
| 323 |
+ |
|
| 324 |
+ try{
|
|
| 325 |
+ |
|
| 326 |
+ // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
|
| 327 |
+ mberGrdService.updateMberGrdAfterRefund(mberGrdVO); |
|
| 328 |
+ |
|
| 329 |
+ } |
|
| 330 |
+ catch(Exception e) {
|
|
| 331 |
+ isSuccess = false; |
|
| 332 |
+ msg = e.getMessage(); |
|
| 333 |
+ } |
|
| 334 |
+ |
|
| 335 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 336 |
+ modelAndView.addObject("msg", msg);
|
|
| 337 |
+ |
|
| 338 |
+ return modelAndView; |
|
| 339 |
+ } |
|
| 340 |
+ |
|
| 240 | 341 |
} |
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
... | ... | @@ -108,14 +108,14 @@ |
| 108 | 108 |
, DATE_FORMAT(A.GRD_END_DATE, '%Y-%m-%d') AS grdEndDate |
| 109 | 109 |
, A.GRD_STATUS AS grdStatus |
| 110 | 110 |
, CASE |
| 111 |
- WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d') |
|
| 111 |
+ WHEN A.GRD_STATUS = 'E' |
|
| 112 |
+ THEN '종료' |
|
| 113 |
+ WHEN A.GRD_STATUS = 'N' |
|
| 114 |
+ THEN '대기' |
|
| 115 |
+ WHEN (A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE) AND (E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')) |
|
| 112 | 116 |
THEN '대기' |
| 113 | 117 |
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE |
| 114 | 118 |
THEN '진행' |
| 115 |
- WHEN A.GRD_STATUS = 'N' |
|
| 116 |
- THEN '대기' |
|
| 117 |
- WHEN A.GRD_STATUS = 'E' |
|
| 118 |
- THEN '종료' |
|
| 119 | 119 |
ELSE '종료' |
| 120 | 120 |
END AS grdStatusNm |
| 121 | 121 |
, A.REG_ID AS regId |
... | ... | @@ -143,40 +143,40 @@ |
| 143 | 143 |
<isNotEmpty property="searchGrdStatus"> |
| 144 | 144 |
<isEqual property="searchGrdStatus" compareValue="Y"> |
| 145 | 145 |
AND (CASE |
| 146 |
- WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d') |
|
| 146 |
+ WHEN A.GRD_STATUS = 'E' |
|
| 147 |
+ THEN '종료' |
|
| 148 |
+ WHEN A.GRD_STATUS = 'N' |
|
| 149 |
+ THEN '대기' |
|
| 150 |
+ WHEN (A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE) AND (E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')) |
|
| 147 | 151 |
THEN '대기' |
| 148 | 152 |
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE |
| 149 | 153 |
THEN '진행' |
| 150 |
- WHEN A.GRD_STATUS = 'N' |
|
| 151 |
- THEN '대기' |
|
| 152 |
- WHEN A.GRD_STATUS = 'E' |
|
| 153 |
- THEN '종료' |
|
| 154 | 154 |
ELSE '종료' |
| 155 | 155 |
END) = '진행' |
| 156 | 156 |
</isEqual> |
| 157 | 157 |
<isEqual property="searchGrdStatus" compareValue="N"> |
| 158 | 158 |
AND (CASE |
| 159 |
- WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d') |
|
| 159 |
+ WHEN A.GRD_STATUS = 'E' |
|
| 160 |
+ THEN '종료' |
|
| 161 |
+ WHEN A.GRD_STATUS = 'N' |
|
| 162 |
+ THEN '대기' |
|
| 163 |
+ WHEN (A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE) AND (E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')) |
|
| 160 | 164 |
THEN '대기' |
| 161 | 165 |
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE |
| 162 | 166 |
THEN '진행' |
| 163 |
- WHEN A.GRD_STATUS = 'N' |
|
| 164 |
- THEN '대기' |
|
| 165 |
- WHEN A.GRD_STATUS = 'E' |
|
| 166 |
- THEN '종료' |
|
| 167 | 167 |
ELSE '종료' |
| 168 | 168 |
END) = '대기' |
| 169 | 169 |
</isEqual> |
| 170 | 170 |
<isEqual property="searchGrdStatus" compareValue="E"> |
| 171 | 171 |
AND (CASE |
| 172 |
- WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d') |
|
| 172 |
+ WHEN A.GRD_STATUS = 'E' |
|
| 173 |
+ THEN '종료' |
|
| 174 |
+ WHEN A.GRD_STATUS = 'N' |
|
| 175 |
+ THEN '대기' |
|
| 176 |
+ WHEN (A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE) AND (E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')) |
|
| 173 | 177 |
THEN '대기' |
| 174 | 178 |
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE |
| 175 | 179 |
THEN '진행' |
| 176 |
- WHEN A.GRD_STATUS = 'N' |
|
| 177 |
- THEN '대기' |
|
| 178 |
- WHEN A.GRD_STATUS = 'E' |
|
| 179 |
- THEN '종료' |
|
| 180 | 180 |
ELSE '종료' |
| 181 | 181 |
END) = '종료' |
| 182 | 182 |
</isEqual> |
... | ... | @@ -295,26 +295,33 @@ |
| 295 | 295 |
<![CDATA[ |
| 296 | 296 |
SELECT |
| 297 | 297 |
M.USER_ID AS mberId |
| 298 |
+ , M.AMT_SUM_ORIGIN AS amtSumOrigin |
|
| 299 |
+ , M.REFUND_SUM AS refundSum |
|
| 298 | 300 |
, M.AMT_SUM AS totAmt |
| 299 | 301 |
, M.GRD_SET_NO AS grdSetNo |
| 300 | 302 |
FROM ( |
| 301 | 303 |
SELECT |
| 302 | 304 |
S.USER_ID |
| 303 | 305 |
, SUM(S.AMT) AS AMT_SUM_ORIGIN |
| 304 |
- , (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 306 |
+ , IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) AS REFUND_SUM |
|
| 307 |
+ , (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 305 | 308 |
, ( |
| 306 |
- SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 309 |
+ SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 307 | 310 |
) GRD_SET_NO |
| 308 | 311 |
FROM MJ_PG S |
| 309 | 312 |
LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS |
| 310 | 313 |
ON S.USER_ID = SS.MBER_ID |
| 314 |
+ LEFT OUTER JOIN MJ_REFUND R |
|
| 315 |
+ ON S.USER_ID = R.MBER_ID |
|
| 316 |
+ AND R.REFUND_STATUS = '3' |
|
| 317 |
+ AND R.REFUND_DIVISION = '1' |
|
| 311 | 318 |
WHERE S.PG_STATUS = '1' |
| 312 | 319 |
AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
| 313 | 320 |
GROUP BY S.USER_ID |
| 314 | 321 |
) M |
| 315 | 322 |
WHERE M.GRD_SET_NO IS NOT NULL |
| 316 | 323 |
AND M.AMT_SUM > 0 |
| 317 |
- AND M.USER_ID = #mberId# |
|
| 324 |
+ AND M.USER_ID = #mberId# |
|
| 318 | 325 |
]]> |
| 319 | 326 |
</select> |
| 320 | 327 |
|
... | ... | @@ -380,7 +387,11 @@ |
| 380 | 387 |
MBER_ID = #mberId# |
| 381 | 388 |
</update> |
| 382 | 389 |
|
| 383 |
- <!-- 회원별 등급 일괄변경 --> |
|
| 390 |
+ <!-- |
|
| 391 |
+ 회원별 등급 일괄변경 |
|
| 392 |
+ => 기존등급보다 상위등급 대상만 업데이트 됨. |
|
| 393 |
+ => 기존등급과 같거나 좋지않은 경우 제외됨. |
|
| 394 |
+ --> |
|
| 384 | 395 |
<update id="mberGrdDAO.updateMberGrdAll" parameterClass="mberGrdVO"> |
| 385 | 396 |
<![CDATA[ |
| 386 | 397 |
UPDATE MJ_MBER_GRD_INFO A |
... | ... | @@ -388,19 +399,25 @@ |
| 388 | 399 |
SELECT |
| 389 | 400 |
M.USER_ID |
| 390 | 401 |
, M.AMT_SUM_ORIGIN |
| 402 |
+ , M.REFUND_SUM |
|
| 391 | 403 |
, M.AMT_SUM |
| 392 | 404 |
, M.GRD_SET_NO |
| 393 | 405 |
FROM ( |
| 394 | 406 |
SELECT |
| 395 | 407 |
S.USER_ID |
| 396 | 408 |
, SUM(S.AMT) AS AMT_SUM_ORIGIN |
| 397 |
- , (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 409 |
+ , IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) AS REFUND_SUM |
|
| 410 |
+ , (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 398 | 411 |
, ( |
| 399 |
- SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 412 |
+ SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 400 | 413 |
) GRD_SET_NO |
| 401 | 414 |
FROM MJ_PG S |
| 402 | 415 |
LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS |
| 403 | 416 |
ON S.USER_ID = SS.MBER_ID |
| 417 |
+ LEFT OUTER JOIN MJ_REFUND R |
|
| 418 |
+ ON S.USER_ID = R.MBER_ID |
|
| 419 |
+ AND R.REFUND_STATUS = '3' |
|
| 420 |
+ AND R.REFUND_DIVISION = '1' |
|
| 404 | 421 |
WHERE S.PG_STATUS = '1' |
| 405 | 422 |
AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
| 406 | 423 |
GROUP BY S.USER_ID |
... | ... | @@ -428,6 +445,64 @@ |
| 428 | 445 |
]]> |
| 429 | 446 |
</update> |
| 430 | 447 |
|
| 448 |
+ <!-- |
|
| 449 |
+ 회원 등급 변경(환불후) |
|
| 450 |
+ => 기존등급 상관없이 업데이트 됨. |
|
| 451 |
+ --> |
|
| 452 |
+ <update id="mberGrdDAO.updateMberGrdAfterRefund" parameterClass="mberGrdVO"> |
|
| 453 |
+ <![CDATA[ |
|
| 454 |
+ UPDATE MJ_MBER_GRD_INFO A |
|
| 455 |
+ INNER JOIN ( |
|
| 456 |
+ SELECT |
|
| 457 |
+ M.USER_ID |
|
| 458 |
+ , M.AMT_SUM_ORIGIN |
|
| 459 |
+ , M.REFUND_SUM |
|
| 460 |
+ , M.AMT_SUM |
|
| 461 |
+ , M.GRD_SET_NO |
|
| 462 |
+ FROM ( |
|
| 463 |
+ SELECT |
|
| 464 |
+ S.USER_ID |
|
| 465 |
+ , SUM(S.AMT) AS AMT_SUM_ORIGIN |
|
| 466 |
+ , IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) AS REFUND_SUM |
|
| 467 |
+ , (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 468 |
+ , ( |
|
| 469 |
+ SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 470 |
+ ) GRD_SET_NO |
|
| 471 |
+ FROM MJ_PG S |
|
| 472 |
+ LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS |
|
| 473 |
+ ON S.USER_ID = SS.MBER_ID |
|
| 474 |
+ LEFT OUTER JOIN MJ_REFUND R |
|
| 475 |
+ ON S.USER_ID = R.MBER_ID |
|
| 476 |
+ AND R.REFUND_STATUS = '3' |
|
| 477 |
+ AND R.REFUND_DIVISION = '1' |
|
| 478 |
+ WHERE S.PG_STATUS = '1' |
|
| 479 |
+ AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
|
| 480 |
+ GROUP BY S.USER_ID |
|
| 481 |
+ ) M |
|
| 482 |
+ WHERE M.GRD_SET_NO IS NOT NULL |
|
| 483 |
+ AND M.AMT_SUM > 0 |
|
| 484 |
+ ) B |
|
| 485 |
+ ON A.MBER_ID = B.USER_ID |
|
| 486 |
+ INNER JOIN MJ_MBER_GRD_SETTING C |
|
| 487 |
+ ON C.GRD_SET_NO = B.GRD_SET_NO |
|
| 488 |
+ SET |
|
| 489 |
+ A.GRD_SET_NO = C.GRD_SET_NO |
|
| 490 |
+ , A.SHORT_PRICE = C.SHORT_PRICE |
|
| 491 |
+ , A.LONG_PRICE = C.LONG_PRICE |
|
| 492 |
+ , A.PICTURE_PRICE = C.PICTURE_PRICE |
|
| 493 |
+ , A.PICTURE2_PRICE = C.PICTURE2_PRICE |
|
| 494 |
+ , A.PICTURE3_PRICE = C.PICTURE3_PRICE |
|
| 495 |
+ , A.TOT_AMT = B.AMT_SUM |
|
| 496 |
+ , A.GRD_DATE = CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
|
| 497 |
+ , A.EDIT_ID = #editId# |
|
| 498 |
+ , A.EDIT_DATE = NOW() |
|
| 499 |
+ WHERE B.GRD_SET_NO IS NOT NULL |
|
| 500 |
+ AND A.MBER_ID = #mberId# |
|
| 501 |
+ AND A.GRD_STATUS = 'Y' |
|
| 502 |
+ AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE |
|
| 503 |
+ ]]> |
|
| 504 |
+ </update> |
|
| 505 |
+ |
|
| 431 | 506 |
<!-- 문자할인, B선라인 대상자 초기화 --> |
| 432 | 507 |
<update id="mberGrdDAO.updateMberGrdEndBySale" parameterClass="mberGrdVO"> |
| 433 | 508 |
<![CDATA[ |
... | ... | @@ -467,7 +542,7 @@ |
| 467 | 542 |
]]> |
| 468 | 543 |
</update> |
| 469 | 544 |
|
| 470 |
- <!-- 회원별 등급 초기화 --> |
|
| 545 |
+ <!-- 전체회원 등급 초기화 --> |
|
| 471 | 546 |
<update id="mberGrdDAO.updateMberGrdEndAll" parameterClass="mberGrdVO"> |
| 472 | 547 |
UPDATE MJ_MBER_GRD_INFO SET |
| 473 | 548 |
GRD_END_DATE = NOW() |
... | ... | @@ -478,6 +553,31 @@ |
| 478 | 553 |
GRD_STATUS != 'E' |
| 479 | 554 |
</update> |
| 480 | 555 |
|
| 556 |
+ <!-- 회원 등급제 종료 --> |
|
| 557 |
+ <update id="mberGrdDAO.updateMberGrdEndByUser" parameterClass="mberGrdVO"> |
|
| 558 |
+ UPDATE MJ_MBER_GRD_INFO SET |
|
| 559 |
+ GRD_END_DATE = NOW() |
|
| 560 |
+ , GRD_STATUS = 'E' |
|
| 561 |
+ , EDIT_ID = #editId# |
|
| 562 |
+ , EDIT_DATE = NOW() |
|
| 563 |
+ WHERE |
|
| 564 |
+ GRD_STATUS != 'E' |
|
| 565 |
+ AND MBER_ID = #mberId# |
|
| 566 |
+ </update> |
|
| 567 |
+ |
|
| 568 |
+ <!-- 회원 등급제 복원 --> |
|
| 569 |
+ <update id="mberGrdDAO.updateMberGrdRestoreByUser" parameterClass="mberGrdVO"> |
|
| 570 |
+ UPDATE MJ_MBER_GRD_INFO SET |
|
| 571 |
+ GRD_END_DATE = NOW() |
|
| 572 |
+ , GRD_STATUS = 'Y' |
|
| 573 |
+ , GRD_END_DATE = '9999-12-31 23:59:59' |
|
| 574 |
+ , EDIT_ID = #editId# |
|
| 575 |
+ , EDIT_DATE = NOW() |
|
| 576 |
+ WHERE |
|
| 577 |
+ GRD_STATUS != 'Y' |
|
| 578 |
+ AND MBER_ID = #mberId# |
|
| 579 |
+ </update> |
|
| 580 |
+ |
|
| 481 | 581 |
<!-- 회원별 등급 진행여부 --> |
| 482 | 582 |
<select id="mberGrdDAO.selectMberGrdPrgCnt" parameterClass="String" resultClass="Integer"> |
| 483 | 583 |
SELECT |
--- src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdList.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdList.jsp
... | ... | @@ -24,6 +24,7 @@ |
| 24 | 24 |
<meta http-equiv="Content-Language" content="ko"> |
| 25 | 25 |
<title>등급제 내역</title> |
| 26 | 26 |
<script type="text/javaScript" language="javascript" defer="defer"> |
| 27 |
+ |
|
| 27 | 28 |
$( document ).ready(function(){
|
| 28 | 29 |
// change 함수 |
| 29 | 30 |
$("#searchGrdStatus").change(function(e){
|
... | ... | @@ -37,8 +38,8 @@ |
| 37 | 38 |
} |
| 38 | 39 |
|
| 39 | 40 |
function linkPage(pageNo){
|
| 40 |
- var listForm = document.listForm ; |
|
| 41 |
- listForm.pageIndex.value = pageNo ; |
|
| 41 |
+ var listForm = document.listForm; |
|
| 42 |
+ listForm.pageIndex.value = pageNo; |
|
| 42 | 43 |
listForm.action = "<c:url value='/sym/grd/selectMberGrdList.do'/>"; |
| 43 | 44 |
listForm.submit(); |
| 44 | 45 |
} |
... | ... | @@ -80,6 +81,109 @@ |
| 80 | 81 |
} |
| 81 | 82 |
}); |
| 82 | 83 |
} |
| 84 |
+ |
|
| 85 |
+// 회원 등급제 종료 |
|
| 86 |
+function setMberGrdEndByUser(mberId) {
|
|
| 87 |
+ if(confirm("등급제 종료하시겠습니까?")) {
|
|
| 88 |
+ $.ajax({
|
|
| 89 |
+ type: "POST", |
|
| 90 |
+ url: "/sym/grd/mberGrdEndByUserAjax.do", |
|
| 91 |
+ data: {"mberId" : mberId},
|
|
| 92 |
+ dataType:'json', |
|
| 93 |
+ async: false, |
|
| 94 |
+ success: function (data) {
|
|
| 95 |
+ if (data.isSuccess) {
|
|
| 96 |
+ linkPage(document.listForm.pageIndex.value); |
|
| 97 |
+ } |
|
| 98 |
+ else {
|
|
| 99 |
+ alert("Msg : " + data.msg);
|
|
| 100 |
+ } |
|
| 101 |
+ }, |
|
| 102 |
+ error: function (e) {
|
|
| 103 |
+ alert("ERROR : " + JSON.stringify(e));
|
|
| 104 |
+ } |
|
| 105 |
+ }); |
|
| 106 |
+ } |
|
| 107 |
+} |
|
| 108 |
+ |
|
| 109 |
+// 회원 등급제 복원 |
|
| 110 |
+function setMberGrdRestoreByUser(mberId, grdDate) {
|
|
| 111 |
+ if(confirm("등급제 복원하시겠습니까?\n등급 다시 계산합니다.")) {
|
|
| 112 |
+ $.ajax({
|
|
| 113 |
+ type: "POST", |
|
| 114 |
+ url: "/sym/grd/mberGrdRestoreByUserAjax.do", |
|
| 115 |
+ data: {"mberId" : mberId, "grdDate" : grdDate},
|
|
| 116 |
+ dataType:'json', |
|
| 117 |
+ async: false, |
|
| 118 |
+ success: function (data) {
|
|
| 119 |
+ if (data.isSuccess) {
|
|
| 120 |
+ linkPage(document.listForm.pageIndex.value); |
|
| 121 |
+ } |
|
| 122 |
+ else {
|
|
| 123 |
+ alert("Msg : " + data.msg);
|
|
| 124 |
+ } |
|
| 125 |
+ }, |
|
| 126 |
+ error: function (e) {
|
|
| 127 |
+ alert("ERROR : " + JSON.stringify(e));
|
|
| 128 |
+ } |
|
| 129 |
+ }); |
|
| 130 |
+ } |
|
| 131 |
+} |
|
| 132 |
+ |
|
| 133 |
+//회원 등급제 갱신 |
|
| 134 |
+function setMberGrdUpdateByUser(mberId, grdDate) {
|
|
| 135 |
+ if(confirm("등급제 갱신하시겠습니까?\n등급 다시 계산합니다.")) {
|
|
| 136 |
+ $.ajax({
|
|
| 137 |
+ type: "POST", |
|
| 138 |
+ url: "/sym/grd/mberGrdUpdateByUserAjax.do", |
|
| 139 |
+ data: {"mberId" : mberId, "grdDate" : grdDate},
|
|
| 140 |
+ dataType:'json', |
|
| 141 |
+ async: false, |
|
| 142 |
+ success: function (data) {
|
|
| 143 |
+ if (data.isSuccess) {
|
|
| 144 |
+ linkPage(document.listForm.pageIndex.value); |
|
| 145 |
+ } |
|
| 146 |
+ else {
|
|
| 147 |
+ alert("Msg : " + data.msg);
|
|
| 148 |
+ } |
|
| 149 |
+ }, |
|
| 150 |
+ error: function (e) {
|
|
| 151 |
+ alert("ERROR : " + JSON.stringify(e));
|
|
| 152 |
+ } |
|
| 153 |
+ }); |
|
| 154 |
+ } |
|
| 155 |
+} |
|
| 156 |
+ |
|
| 157 |
+// 등급제 추가 |
|
| 158 |
+function setMberGrdSave() {
|
|
| 159 |
+ var mberId = $("input[name='mberId']").val();
|
|
| 160 |
+ if (mberId == "") {
|
|
| 161 |
+ alert("아이디를 입력해주세요.");
|
|
| 162 |
+ return false; |
|
| 163 |
+ } |
|
| 164 |
+ |
|
| 165 |
+ if(confirm("해당 아이디 등급제 추가하시겠습니까?")) {
|
|
| 166 |
+ $.ajax({
|
|
| 167 |
+ type: "POST", |
|
| 168 |
+ url: "/sym/grd/mberGrdSaveAjax.do", |
|
| 169 |
+ data: {"mberId" : mberId},
|
|
| 170 |
+ dataType:'json', |
|
| 171 |
+ async: false, |
|
| 172 |
+ success: function (data) {
|
|
| 173 |
+ if (data.isSuccess) {
|
|
| 174 |
+ linkPage(document.listForm.pageIndex.value); |
|
| 175 |
+ } |
|
| 176 |
+ else {
|
|
| 177 |
+ alert("Msg : " + data.msg);
|
|
| 178 |
+ } |
|
| 179 |
+ }, |
|
| 180 |
+ error: function (e) {
|
|
| 181 |
+ alert("ERROR : " + JSON.stringify(e));
|
|
| 182 |
+ } |
|
| 183 |
+ }); |
|
| 184 |
+ } |
|
| 185 |
+} |
|
| 186 |
+ |
|
| 83 | 187 |
</script> |
| 84 | 188 |
</head> |
| 85 | 189 |
<body> |
... | ... | @@ -117,7 +221,7 @@ |
| 117 | 221 |
<div class="listTop"> |
| 118 | 222 |
<p class="tType5"> |
| 119 | 223 |
총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건
|
| 120 |
- * 누적결제액은 문자할인이벤트 대상 결제금액을 제외한 합계금액입니다. |
|
| 224 |
+ * 누적결제액은 할인이벤트 결제금액, 환불금액을 제외한 합계금액입니다. |
|
| 121 | 225 |
</p> |
| 122 | 226 |
<div class="rightWrap"> |
| 123 | 227 |
<!-- <input type="button" class="printBtn" > --> |
... | ... | @@ -131,16 +235,18 @@ |
| 131 | 235 |
<div class="tableWrap"> |
| 132 | 236 |
<table class="tbType1"> |
| 133 | 237 |
<colgroup> |
| 134 |
- <col style="width: 8%"> |
|
| 238 |
+ <col style="width: 5%"> |
|
| 135 | 239 |
<col style="width: auto;"> |
| 136 |
- <col style="width: 10%;"> |
|
| 137 |
- <col style="width: 10%;"> |
|
| 240 |
+ <col style="width: 8%;"> |
|
| 241 |
+ <col style="width: 8%;"> |
|
| 138 | 242 |
<col style="width: 10%"> |
| 243 |
+ <col style="width: 9%"> |
|
| 244 |
+ <col style="width: 8%"> |
|
| 245 |
+ <col style="width: 8%"> |
|
| 139 | 246 |
<col style="width: 12%"> |
| 140 | 247 |
<col style="width: 12%"> |
| 141 |
- <col style="width: 12%"> |
|
| 142 |
- <col style="width: 12%"> |
|
| 143 |
- <col style="width: 6%"> |
|
| 248 |
+ <col style="width: 5%"> |
|
| 249 |
+ <col style="width: 8%"> |
|
| 144 | 250 |
</colgroup> |
| 145 | 251 |
<thead> |
| 146 | 252 |
<tr> |
... | ... | @@ -153,7 +259,9 @@ |
| 153 | 259 |
<th>시작일<input type="button" class="sortBtn sort" id="sort_grdStartDate"></th> |
| 154 | 260 |
<th>종료일 <input type="button" class="sortBtn sort" id="sort_grdEndDate"></th> |
| 155 | 261 |
<th>등록일 <input type="button" class="sortBtn sort" id="sort_regDate"></th> |
| 262 |
+ <th>수정일 <input type="button" class="sortBtn sort" id="sort_editDate"></th> |
|
| 156 | 263 |
<th>상태<input type="button" class="sortBtn sort" id="sort_grdStatusNm"></th> |
| 264 |
+ <th>관리</th> |
|
| 157 | 265 |
</tr> |
| 158 | 266 |
</thead> |
| 159 | 267 |
<tbody> |
... | ... | @@ -179,7 +287,7 @@ |
| 179 | 287 |
<c:out value="${result.grdSetNm}"/>(<c:out value="${result.grdSetNo}"/>)
|
| 180 | 288 |
</td> |
| 181 | 289 |
<td nowrap="nowrap" class="right"> |
| 182 |
- <fmt:formatNumber value="${result.totAmt}" pattern="#,###" />
|
|
| 290 |
+ <fmt:formatNumber value="${result.totAmt}" pattern="#,###" />
|
|
| 183 | 291 |
</td> |
| 184 | 292 |
<td nowrap="nowrap"> |
| 185 | 293 |
<c:out value="${result.grdDate}"/>
|
... | ... | @@ -194,8 +302,22 @@ |
| 194 | 302 |
<c:out value="${result.regDate}"/>
|
| 195 | 303 |
</td> |
| 196 | 304 |
<td nowrap="nowrap"> |
| 305 |
+ <c:out value="${result.editDate}"/>
|
|
| 306 |
+ </td> |
|
| 307 |
+ <td nowrap="nowrap"> |
|
| 197 | 308 |
<c:out value="${result.grdStatusNm}"/>
|
| 198 | 309 |
</td> |
| 310 |
+ <td nowrap="nowrap"> |
|
| 311 |
+ <c:choose> |
|
| 312 |
+ <c:when test="${result.grdStatusNm eq '종료'}">
|
|
| 313 |
+ <input type="button" class="btnType2" onclick="setMberGrdRestoreByUser('${result.mberId}','${result.grdDate}')" value="복원">
|
|
| 314 |
+ </c:when> |
|
| 315 |
+ <c:otherwise> |
|
| 316 |
+ <input type="button" class="btnType2" onclick="setMberGrdUpdateByUser('${result.mberId}','${result.grdDate}')" value="갱신">
|
|
| 317 |
+ <input type="button" class="btnType1" onclick="setMberGrdEndByUser('${result.mberId}')" value="종료">
|
|
| 318 |
+ </c:otherwise> |
|
| 319 |
+ </c:choose> |
|
| 320 |
+ </td> |
|
| 199 | 321 |
</tr> |
| 200 | 322 |
</c:forEach> |
| 201 | 323 |
</tbody> |
... | ... | @@ -205,7 +327,8 @@ |
| 205 | 327 |
</table> |
| 206 | 328 |
</div> |
| 207 | 329 |
<div class="btnWrap"> |
| 208 |
- |
|
| 330 |
+ <input type="text" name="mberId" value="" style="height: 50px; width: 120px;" /> |
|
| 331 |
+ <input type="button" class="btnType2" value="등급제 적용테스트" onclick="javascript:setMberGrdSave(); return false;"> |
|
| 209 | 332 |
</div> |
| 210 | 333 |
|
| 211 | 334 |
<c:if test="${!empty resultList}">
|
--- src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
... | ... | @@ -84,32 +84,6 @@ |
| 84 | 84 |
} |
| 85 | 85 |
} |
| 86 | 86 |
|
| 87 |
- // 등급제 적용 테스트 |
|
| 88 |
- function setMberGrdSave() {
|
|
| 89 |
- if(confirm("등급제 적용하시겠습니까?")) {
|
|
| 90 |
- $.ajax({
|
|
| 91 |
- type: "POST", |
|
| 92 |
- url: "/sym/grd/mberGrdSaveAjax.do", |
|
| 93 |
- data: {},
|
|
| 94 |
- dataType:'json', |
|
| 95 |
- async: false, |
|
| 96 |
- success: function (data) {
|
|
| 97 |
- if (data.isSuccess) {
|
|
| 98 |
- alert("저장 완료했습니다.");
|
|
| 99 |
- location.reload(); |
|
| 100 |
- } |
|
| 101 |
- else {
|
|
| 102 |
- alert("Msg : " + data.msg);
|
|
| 103 |
- } |
|
| 104 |
- }, |
|
| 105 |
- error: function (e) {
|
|
| 106 |
- alert("ERROR : " + JSON.stringify(e));
|
|
| 107 |
- } |
|
| 108 |
- }); |
|
| 109 |
- } |
|
| 110 |
- } |
|
| 111 |
- |
|
| 112 |
- |
|
| 113 | 87 |
</script> |
| 114 | 88 |
</head> |
| 115 | 89 |
<body> |
... | ... | @@ -198,7 +172,6 @@ |
| 198 | 172 |
<br /> |
| 199 | 173 |
<div class="btnWrap"> |
| 200 | 174 |
<input type="button" class="btnType2" value="모든 고객 등급 초기화" onclick="javascript:setMberGrdEndMassEdit(); return false;"> |
| 201 |
- <input type="button" class="btnType2" value="등급제 적용테스트" onclick="javascript:setMberGrdSave(); return false;"> |
|
| 202 | 175 |
<input type="button" class="btnType1" value="취소" onclick="javascript:location.reload(); return false;"> |
| 203 | 176 |
<input type="button" class="btnType1" value="수정" onclick="javascript:setMberGrdSettingMassEdit(); return false;"> |
| 204 | 177 |
</div> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?