shawenguan пре 1 година
родитељ
комит
1bc4722a4a
1 измењених фајлова са 179 додато и 2 уклоњено
  1. 179 2
      Scripts/jhsh/jhshHelper.js

+ 179 - 2
Scripts/jhsh/jhshHelper.js

@@ -125,6 +125,14 @@ function checkHandleRequest() {
                     // 上报行政区划代码 => 6
                     handleSystemInfoCheck();
                     break;
+                case 'A3341U099':
+                    // 当前正在浏览的用户量
+                    handleOnlineInfo();
+                    break;
+                case 'A3341C116':
+                    // 精选好券
+                    handleCouponList();
+                    break;
                 default:
                     break;
             }
@@ -151,7 +159,7 @@ function checkHandleRequest() {
                         break;
                     case 'A3341C113':
                         // 优惠券详情 =>1
-                        handleCommonCoupon();
+                        handleCouponDetail();
                         break;
                     case 'A3341C115':
                         // 获取用户领取情况 =>2
@@ -165,6 +173,23 @@ function checkHandleRequest() {
                         // 领取优惠券
                         handleCouponGetCtrl();
                         break;
+                    case 'A3341C123':
+                        // 领券中心-限时好券详情
+                        handleCouponCenterDetail();
+                        break;
+                    default:
+                        break;
+                }
+            } catch (e) {
+                lk.log(e);
+            }
+        }else if('basic_service' == queryOptType){
+            try {
+                switch(txcode){
+                    case 'A3341AB03':
+                        // 领券中心-乱播图信息和限时好券基础信息
+                        handleCouponCenterBase();
+                        break;
                     default:
                         break;
                 }
@@ -272,7 +297,151 @@ function handleSystemInfoCheck(){
     retBody = rspParams;
 }
 
-function handleCommonCoupon(){
+function handleOnlineInfo(){
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+    // let simpleRspData = {
+    //     "errMsg": "",
+    //     "data": {
+    //         "ONLINE_COUNT": 141521
+    //     },
+    //     "errCode": "0"
+    // }
+    let rspParams = JSON.parse(rspBody);
+    let rspData = rspParams.data;
+}
+
+function getCurWeekDayDate(day, shortTimeStr){
+    // 获取当前日期
+    const currentDate = new Date();
+    // 获取当前日期是星期几 (getDay() 返回0是周日, 1是周一, ..., 6是周六)
+    const currentDayOfWeek = currentDate.getDay();
+    // 计算当前日期与目标星期n的差距
+    const daysToTarget = (day - currentDayOfWeek + 7) % 7;
+    // 计算目标星期n的日期
+    const targetDate = new Date(currentDate.getTime() + daysToTarget * 24 * 60 * 60 * 1000);
+
+    // 重置小时数,确保是当天的开始时间(可选)
+    if(shortTimeStr){
+        let shortDate = parseShortTime(shortTimeStr);
+        if(shortDate){
+            targetDate.setHours(shortDate.hours, shortDate.minutes, shortDate.seconds, 0);
+        }
+    }else{
+        targetDate.setHours(0, 0, 0, 0);
+    }
+    return targetDate;
+}
+
+function parseShortTime(timeString) {
+    // 确保时间字符串是有效的
+    if (timeString && timeString.length === 6) {
+        let hours = timeString.substring(0, 2);
+        let minutes = timeString.substring(2, 4);
+        let seconds = timeString.substring(4, 6);
+
+        return {
+            hours: parseInt(hours, 10),
+            minutes: parseInt(minutes, 10),
+            seconds: parseInt(seconds, 10)
+        };
+    } else {
+        // 如果传入的字符串不符合预期,你可以返回null或抛出错误
+        return null;
+    }
+}
+
+function handleCouponList(){
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+
+    let rspParams = JSON.parse(rspBody);
+    if(rspParams.errCode != '0'){
+        return;
+    }
+    let rspData = rspParams.data;
+
+    // 系统时间
+    let systemDate = new Date(rspData.SYSTEM_TIME);
+    systemDate = new Date(systemDate.getTime()+systemTimeOffset);
+    let newTimeStamp = lk.formatDate(systemDate, 'yyyy-MM-dd HH:mm:ss');
+    rspData.SYSTEM_TIME = newTimeStamp;
+    let MCT_CLOUD = rspData.MCT_CLOUD;
+    const COUP_TAG = MCT_CLOUD.COUP_TAG;
+    const COUP_ENTITY = MCT_CLOUD.COUP_ENTITY;
+    let CUR_TM = lk.formatDate(systemDate, 'HHmmss');
+    let weekDay = systemDate.getDay();
+    let isModify = false;
+    for(let i=0; i < COUP_ENTITY.length;i++){
+        const entity = COUP_ENTITY[i];
+        if(entity.COUP_SOURCE == '0'){
+            // 兑换项目
+            continue;
+        }
+        // 每周x
+        const DCCP_WEEK_DT = entity.DCCP_WEEK_DT;
+        // 某天时分秒
+        const DCCP_AVY_STTM = entity.DCCP_AVY_STTM;
+        const DCCP_AVY_EDTM = entity.DCCP_AVY_EDTM;
+        // const DCCP_AVY_STTM_VAL = parseInt(DCCP_AVY_STTM);
+        // const DCCP_AVY_EDTM_VAL = parseInt(DCCP_AVY_EDTM);
+        if(DCCP_WEEK_DT == '0'){
+            if(DCCP_AVY_STTM == '0'){
+                // 全天
+            }else{
+                // xx时xx秒开始
+                if(CUR_TM < DCCP_AVY_STTM || CUR_TM > DCCP_AVY_EDTM){
+                    isModify = true;
+                }
+                if(isModify){
+                    let actStartDate = getCurWeekDayDate(weekDay, DCCP_AVY_STTM);
+                    newTimeStamp = lk.formatDate(actStartDate, 'yyyy-MM-dd HH:mm:ss');
+                    rspData.SYSTEM_TIME = newTimeStamp;
+                }
+            }
+        }else {
+            // 每周n
+            if(DCCP_AVY_STTM == '0'){
+                // 全天
+                if(weekDay != parseInt(DCCP_WEEK_DT)){
+                    isModify = true;
+                }
+                let actStartDate = getCurWeekDayDate(parseInt(DCCP_WEEK_DT), CUR_TM);
+                newTimeStamp = lk.formatDate(actStartDate, 'yyyy-MM-dd HH:mm:ss');
+                rspData.SYSTEM_TIME = newTimeStamp;
+            }else{
+                if(weekDay != parseInt(DCCP_WEEK_DT)){
+                    isModify = true;
+                }
+                // xx时xx秒开始
+                if(CUR_TM < DCCP_AVY_STTM || CUR_TM > DCCP_AVY_EDTM){
+                    isModify = true;
+                }
+                if(isModify){
+                    let actStartDate = getCurWeekDayDate(parseInt(DCCP_WEEK_DT), DCCP_AVY_STTM);
+                    newTimeStamp = lk.formatDate(actStartDate, 'yyyy-MM-dd HH:mm:ss');
+                    rspData.SYSTEM_TIME = newTimeStamp;
+                }
+            }
+        }
+        if(entity.SET_BOTTOM == '1'){
+            isModify = true;
+        }
+        entity.SET_BOTTOM = '0';
+        if(isModify){
+            entity.DCCP_AVY_NM = `改#${entity.DCCP_AVY_NM}#${entity.SURPLUS_STOCK}`;
+        }else{
+            entity.DCCP_AVY_NM = `${entity.DCCP_AVY_NM}#${entity.SURPLUS_STOCK}`;
+        }
+    }
+
+}
+
+function handleCouponDetail(){
     let rspBody = lk.getResponseBody();
     if (!rspBody) {
         return;
@@ -460,6 +629,14 @@ function handleCouponGetCtrl(){
 
 }
 
+function handleCouponCenterBase(){
+
+}
+
+function handleCouponCenterDetail(){
+
+}
+
 function checkTodayNotifyCount(flag='default'){
     let notifyCntStr = lk.getVal(jhshStoreKeyPrefix+'NotifyCnt-'+flag);
     let td = lk.formatDate(new Date(), 'yyyyMMdd');