회원상세 등급 표시 추가

This commit is contained in:
itn 2023-08-08 12:00:02 +09:00
parent 2939c31cdc
commit 2b2e065ed7
9 changed files with 173 additions and 55 deletions

View File

@ -34,6 +34,9 @@ public interface MberGrdService {
// 회원 등급제 대상여부 정보(사용자화면용)
public MberGrdVO selectMberGrdInfo(String mberId) throws Exception;
// 회원 등급 예외 정보
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception;
// 회원별 등급 누적결제액 상세
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception;

View File

@ -48,6 +48,9 @@ public class MberGrdVO extends UserDefaultVO {
private String grdPeriod; // 회원등급제 누적결제 계산기간
private String tempYn;
private String moid; // 결제번호
private String isSalePrice; // 협의회원
private String blineCode; // B선회원
private String spamYn; // 스팸회원
// 검색필터
private String searchGrdStatus;
@ -287,5 +290,23 @@ public class MberGrdVO extends UserDefaultVO {
}
public void setSearchGrdStatus(String searchGrdStatus) {
this.searchGrdStatus = searchGrdStatus;
}
public String getIsSalePrice() {
return isSalePrice;
}
public void setIsSalePrice(String isSalePrice) {
this.isSalePrice = isSalePrice;
}
public String getBlineCode() {
return blineCode;
}
public void setBlineCode(String blineCode) {
this.blineCode = blineCode;
}
public String getSpamYn() {
return spamYn;
}
public void setSpamYn(String spamYn) {
this.spamYn = spamYn;
}
}

View File

@ -53,6 +53,11 @@ public class MberGrdDAO extends EgovAbstractDAO {
return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", mberId);
}
// 회원 등급 예외 정보
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception{
return (MberGrdVO) select("mberGrdDAO.selectMberEtcInfo", mberId);
}
// 회원별 등급 누적결제액 상세
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception{
return (MberGrdVO) select("mberGrdDAO.selectMberGrdAmtDetail", mberGrdVO);

View File

@ -130,6 +130,15 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
return mberGrdDAO.selectMberGrdInfo(mberId);
}
// 회원 등급 예외 정보
@Override
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception {
// 공백제거
mberId = mberId.trim();
return mberGrdDAO.selectMberEtcInfo(mberId);
}
// 회원별 등급 누적결제액 상세
@Override
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception {

View File

@ -353,6 +353,56 @@ public class MberGrdMngController {
return modelAndView;
}
// 회원 등급 예외 정보
@RequestMapping(value = "/sym/grd/mberGrdEtcChkAjax.do")
public ModelAndView mberGrdEtcChkAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = false;
boolean isEvent = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberEtcInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
else {
isEvent = true;
}
}
}
catch(Exception e) {
msg = e.getMessage();
}
modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO);
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("isEvent", isEvent);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 회원 등급제 종료
@RequestMapping(value = "/sym/grd/mberGrdEndByUserAjax.do")
public ModelAndView mberGrdEndByUserAjax(

View File

@ -303,6 +303,41 @@
]]>
</select>
<!-- 회원 등급 예외 정보 -->
<select id="mberGrdDAO.selectMberEtcInfo" parameterClass="String" resultClass="mberGrdVO">
<![CDATA[
SELECT
M.mberId
, M.isSalePrice
, M.blineCode
, M.spamYn
FROM (
SELECT
A.MBER_ID AS mberId
, IFNULL(A.BLINE_CODE, 'N') AS blineCode
, IFNULL(A.SPAM_YN, 'N') AS spamYn
, CASE
WHEN
(A.SHORT_PRICE > 0
AND (B.SHORT_PRICE > A.SHORT_PRICE
OR B.LONG_PRICE > A.LONG_PRICE
OR B.PICTURE_PRICE > A.PICTURE_PRICE
OR B.PICTURE2_PRICE > A.PICTURE2_PRICE
OR B.PICTURE3_PRICE > A.PICTURE3_PRICE)
)
THEN 'Y'
ELSE 'N'
END isSalePrice
FROM LETTNGNRLMBER A
JOIN MJ_MBER_SETTING B
WHERE 1=1
AND A.MBER_STTUS = 'Y'
AND A.MBER_ID = #mberId#
) M
LIMIT 1
]]>
</select>
<!-- 회원별 등급 누적결제액 상세 -->
<select id="mberGrdDAO.selectMberGrdAmtDetail" parameterClass="mberGrdVO" resultClass="mberGrdVO">
<![CDATA[

View File

@ -190,6 +190,48 @@ function getMberGrdChk() {
if (data.isSuccess) {
$(".grdSetNm").html(data.rtnMberGrdVO.grdSetNm);
}
else {
//회원 등급 예외 정보
getMberGrdEtc();
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
//회원 등급 예외 정보
function getMberGrdEtc() {
$(".grdSetNm").html("");
var mberId = document.mberManageVO.mberSearchId.value;
$.ajax({
type: "POST",
url: "/sym/grd/mberGrdEtcChkAjax.do",
data: {"mberId" : mberId},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
var gradeNm = "";
if (data.isEvent) {
gradeNm += "(할인이벤트회원) ";
}
else if (data.rtnMberGrdVO.isSalePrice == "Y") {
gradeNm += "(단가협의회원) ";
}
else if (data.rtnMberGrdVO.blineCode == "Y") {
gradeNm += "(B선회원) ";
}
else if (data.rtnMberGrdVO.spamYn == "Y") {
gradeNm += "(스팸회원) ";
}
$(".grdSetNm").html(gradeNm);
}
else {
//alert("Msg : " + data.msg);
}

View File

@ -25,9 +25,6 @@ $(document).ready(function(){
$("#btnDdedicatedAccount").trigger("click");
}
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 등급제 대상 여부
getMberGrdChk();
});
@ -432,29 +429,6 @@ function TabTypePay(obj, tabId) {
setPriceMake();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
@ -471,7 +445,10 @@ function getMberGrdChk() {
sHtml += "(누적결제액 : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>";
$("#grdShowArea").html(sHtml);
$("#grdShowArea").show();
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);

View File

@ -29,9 +29,6 @@ $(document).ready(function(){
$("#btnDdedicatedAccount").trigger("click");
}
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 등급제 대상 여부
getMberGrdChk();
});
@ -618,30 +615,6 @@ function TabTypePay(obj, tabId) {
setPriceMake();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
@ -658,7 +631,10 @@ function getMberGrdChk() {
sHtml += "(누적결제액 : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>";
$("#grdShowArea").html(sHtml);
$("#grdShowArea").show();
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);