shawenguan преди 1 година
родител
ревизия
d8b645e8b8
променени са 3 файла, в които са добавени 209 реда и са изтрити 25 реда
  1. 190 25
      Scripts/jhsh/jhshHelper.js
  2. 19 0
      Scripts/util/ToolKit.js
  3. 0 0
      Scripts/util/ToolKit.min.js

+ 190 - 25
Scripts/jhsh/jhshHelper.js

@@ -113,41 +113,141 @@ function checkHandleRequest() {
                         }
                     }
                     break;
+                case 'A3341S004':
+                    // 检查ccblife版本信息
+                    handleAppVersionInfo();
+                    break;
+                case 'A3341M039':
+                    // 上报地理位置进行检查是否可以领取 =>4
+                    handleCouponLocationCheck();
+                    break;
+                case 'A3341S029':
+                    // 上报行政区划代码 => 6
+                    handleSystemInfoCheck();
+                    break;
                 default:
                     break;
             }
         }else if('clp_coupon' == queryOptType){
-            try{
+            try {
                 let MID = $request.headers['MID'] || $request.headers['Mid'] || $request.headers['mid'];
-                let obj = JSON.parse(body);
-                obj['MID'] = MID;
-                checkAppendActInfo(MID, txcode, obj);
+                if(MID){
+                    let obj = JSON.parse(body);
+                    obj['MID'] = MID;
+                    checkAppendActInfo(MID, txcode, obj);
+                }
             } catch (e) {
-                lk.log('返回的数据非JSON格式,可能是加密数据');
+                lk.log('发送的数据非JSON格式,可能是加密数据');
             }
             lk.log(`建行生活活动数据[${txcode}]获取成功`);
-            switch(txcode){
-                case 'A3341A038':
-                    // 签到数据
-                    let notifyCount = checkTodayNotifyCount(txcode);
-                    if(notifyCount < 2){
-                        lk.appendNotifyInfo('🎉 建行生活签到数据获取成功');
-                    }
-                    break;
-                case 'A3341C113':
-                    // 优惠券详情
-                    handleCommonCoupon();
-                    break;
-                case 'A3341C110':
-                    // 领取优惠券
-
-                default:
-                    break;
+            try {
+                switch(txcode){
+                    case 'A3341A038':
+                        // 签到数据
+                        let notifyCount = checkTodayNotifyCount(txcode);
+                        if(notifyCount < 2){
+                            lk.appendNotifyInfo('🎉 建行生活签到数据获取成功');
+                        }
+                        break;
+                    case 'A3341C113':
+                        // 优惠券详情 =>1
+                        handleCommonCoupon();
+                        break;
+                    case 'A3341C115':
+                        // 获取用户领取情况 =>2
+                        handleUserGetState();
+                        break;
+                    case 'A3341C137':
+                        // 查询优惠券意外情况 =>3 =>5
+                        handleCouponState();
+                        break;
+                    case 'A3341C110':
+                        // 领取优惠券
+                        break;
+                    default:
+                        break;
+                }
+            } catch (e) {
+                lk.log(e);
             }
         }
     }
 }
 
+function handleAppVersionInfo(){
+    // let envInfo = {
+    //     "errMsg": "",
+    //     "data": {
+    //         "INTERVAL": "20",
+    //         "VERNAME": "202402240528",
+    //         "VER": "43.72",
+    //         "LOAD": "0",
+    //         "URL": "https://res.yunbusiness.ccb.com/gbchannel/e_report/CCBLIFE.zip?v=4372",
+    //         "ONLINE": "0"
+    //     },
+    //     "errCode": "0"
+    // }
+}
+
+function handleCouponLocationCheck(){
+    let reqbody = lk.getRequestBody();
+    let reqParams = JSON.parse(reqbody);
+    // let simpleReqData = {
+    //     "CLD_REQ_CHANNEL": "01",
+    //     "MRCH_NM_SEARCH": "",
+    //     "ONLINE_ORDER": "0",
+    //     "COUP_ID": "YHQ2024021820023",
+    //     "COUP_BELONG": "0",
+    //     "DATA_AREA_ID": "440100",
+    //     "COUP_TYPE": "1",
+    //     "LTT": "23.12250298394097",//纬度(北纬)
+    //     "LGT": "113.3800935872396",//经度(东经)
+    //     "NUM": "10",
+    //     "PAGE": "1",
+    //     "chnlType": "1",
+    //     "regionCode": "440100" //行政区划代码 440100=广州
+    // }
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+    // let simpleRspData = {
+    //     "errMsg": "",
+    //     "data": {},
+    //     "errCode": "0"
+    // }
+    let rspParams = JSON.parse(rspBody);
+}
+
+function handleSystemInfoCheck(){
+    let reqbody = lk.getRequestBody();
+    let reqParams = JSON.parse(reqbody);
+    // let simpleReqData = {
+    //     "chnlType": "1",
+    //     "regionCode": "440100"
+    // }
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+    // let simpleRspData = {
+    //     "data": {
+    //         "SYSTEM_TIME":"2024-03-01 16:14:16",
+    //         "CLIENT_IP":"14.145.199.144"
+    //     },
+    //     "errMsg": "",
+    //     "errCode": "0"
+    // }
+    let rspParams = JSON.parse(rspBody);
+    let rspData = rspParams.data;
+    // 系统时间
+    let systemDate = new Date(rspData.SYSTEM_TIME);
+    systemTimeOffset = -24*60*60*1000;
+    systemDate = new Date(systemDate.getTime()+systemTimeOffset);
+    let newTimeStamp = lk.formatDate(systemDate, 'yyyy-MM-dd HH:mm:ss');
+    rspData.SYSTEM_TIME = newTimeStamp;
+}
+
 function handleCommonCoupon(){
     let rspBody = lk.getResponseBody();
     if (!rspBody) {
@@ -165,16 +265,20 @@ function handleCommonCoupon(){
     let surplusStock = parseInt(rspData.SURPLUS_STOCK);
 
     // 系统时间
-    let systeimDate = new Date(rspData.SYSTEM_TIME);
-    systeimDate = new Date(systeimDate.getTime()+systemTimeOffset);
-    let newTimeStamp = lk.formatDate(systeimDate, 'yyyy-MM-dd HH:mm:ss');
+    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 MSPS_ENTITY = rspData.MSPS_ENTITY;
     let KHHK_ENTITY = rspData.KHHK_ENTITY;
     let detail = MSPS_ENTITY || KHHK_ENTITY;
 
+     let couponId = 0;
     if(MSPS_ENTITY){
+        // 优惠券ID
+        let couponId = detail.Coupon_ID;
+
         let couponName = detail.Coupon_NAME+`#采集`;
         detail.Coupon_NAME = couponName;
 
@@ -203,6 +307,9 @@ function handleCommonCoupon(){
     }
 
     if(KHHK_ENTITY){
+        // 优惠券ID
+        let couponId = detail.DcCp_Avy_ID;
+
         let couponName = detail.DcCp_Avy_Nm+`#采集`;
         detail.DcCp_Avy_Nm = couponName;
 
@@ -231,6 +338,64 @@ function handleCommonCoupon(){
     retBody = rspParams;
 }
 
+
+function handleUserGetState(){
+    let reqbody = lk.getRequestBody();
+    let reqParams = JSON.parse(reqbody);
+    // let simpleReqData = {
+    //     "MEB_ID": "YSM202202050632862",
+    //     "ACT_ID": "",
+    //     "chnlType": "1",
+    //     "regionCode": "440100",
+    //     "COUP_TYPE": "1",
+    //     "APPEND_PARAM": "489B1486-AAA3-49CA-BB8C-B027B2A645E2|@|14.145.199.144|@|Wifi|@|113.3800935872396|@|23.12250298394097|@|02|@|16.6.1|@|iPhone15,2|@||@|440100|@|440100|@|f9b33a63496ddfe7dec9f1627fb7967aba81d294|@|2.1.7.001",
+    //     "COUP_ID": "YHQ2024021820023",
+    //     "REQ_CHANNEL_TYPE": "2"
+    // }
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+    // let simpleRspData = {
+    //     "errMsg": "",
+    //     "data": {
+    //         "USER_USED_NUM": 0,
+    //         "USER_GET_NUM": 1,
+    //         "SURPLUS_STOCK": "10000"
+    //     },
+    //     "reqFlowNo": "1051003671709280956274180",
+    //     "errCode": "0"
+    // };
+    let rspParams = JSON.parse(rspBody);
+}
+
+function handleCouponState(){
+    let reqbody = lk.getRequestBody();
+    let reqParams = JSON.parse(reqbody);
+    // let simpleReqData = {
+    //     "SCENE_TYPE": "03",
+    //     "REGION_CODE": "440100",
+    //     "COUPON_ID": "YHQ2024021820023",
+    //     "COUPON_TYPE": "khhk",//"msps"
+    //     "IS_VOUCHER": 0,
+    //     "chnlType": "1",
+    //     "regionCode": "440100"
+    // }
+    let rspBody = lk.getResponseBody();
+    if (!rspBody) {
+        return;
+    }
+    // let simpleRspData = {
+    //     "errMsg": "",
+    //     "data": {
+    //         "EMERGENCY_NOTICE_INFO": []
+    //     },
+    //     "reqFlowNo": "1051003691709280958268970",
+    //     "errCode": "0"
+    // };
+    let rspParams = JSON.parse(rspBody);
+}
+
 function checkTodayNotifyCount(flag='default'){
     let notifyCntStr = lk.getVal(jhshStoreKeyPrefix+'NotifyCnt-'+flag);
     let td = lk.formatDate(new Date(), 'yyyyMMdd');

+ 19 - 0
Scripts/util/ToolKit.js

@@ -1030,6 +1030,25 @@ function ToolKit(scriptName, scriptId, options) {
             return format
         }
 
+        /**
+         * parseDate  字符串格式,默认'yyyy-MM-dd',支持如下:y、M、d、H、m、s、S,不支持w和q
+         */
+        parseDate(str, format) {
+            format = format || 'yyyy-MM-dd';
+            let obj = { y: 0, M: 1, d: 0, H: 0, h: 0, m: 0, s: 0, S: 0 };
+            format.replace(/([^yMdHmsS]*?)(([yMdHmsS])\3*)([^yMdHmsS]*?)/g, function (m, $1, $2, $3, $4, idx, old) {
+                str = str.replace(new RegExp($1 + '(\\d{' + $2.length + '})' + $4), function (_m, _$1) {
+                    obj[$3] = parseInt(_$1);
+                    return '';
+                });
+                return '';
+            });
+            obj.M--; // 月份是从0开始的,所以要减去1
+            let date = new Date(obj.y, obj.M, obj.d, obj.H, obj.m, obj.s);
+            if (obj.S !== 0) date.setMilliseconds(obj.S); // 如果设置了毫秒
+            return date;
+        }
+
         objToQueryStr(obj, encode) {
             let str = ''
             for (const key in obj) {

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
Scripts/util/ToolKit.min.js


Някои файлове не бяха показани, защото твърде много файлове са промени