ShuanghongS il y a 6 mois
Parent
commit
4624e957b2
3 fichiers modifiés avec 62 ajouts et 1 suppressions
  1. 6 0
      service/login.class.php
  2. 5 1
      service/robot.class.php
  3. 51 0
      service/tools.class.php

+ 6 - 0
service/login.class.php

@@ -284,6 +284,11 @@ class login {
 
                 //kln新版查询 date_format,numbers_format
                 $kln_user = common::excuteObjectSql("select * from public.kln_user_extend where lower(user_login) = '".strtolower($uname)."'");
+                //检查用户是否是设置过subscribe_notification,加在这里,少一次请求
+                $count = common::excuteOneSql("select count(*) from public.notifications_rules where 
+                    notifications_type = 'Subscribe' 
+                    and lower(user_login) = '".strtolower($uname)."'");
+                $subscribe_notification_default_init = $count > 0 ? false:true;
                 $kln_user_info = array("uname"=>$uname,
                                     "user_type"=>strtolower($rs['user_type']),
                                     "first_name"=>$rs['first_name'],
@@ -291,6 +296,7 @@ class login {
                                     "email"=>$rs['email'],
                                     "expire_day"=>$PASSWORD_CHANGE_CYCLE - $rs['last_pwd_change_date'],
                                     "PASSWORD_CHANGE_CYCLE"=>intval($PASSWORD_CHANGE_CYCLE),
+                                    "subscribe_notification_default_init"=>$subscribe_notification_default_init,
                                     "last_pwd_change"=>$rs['last_pwd_change'],
                                     "date_format"=>$kln_user['date_format'],
                                     "numbers_format"=>$kln_user['numbers_format']);

+ 5 - 1
service/robot.class.php

@@ -218,6 +218,9 @@ class robot{
         }
 
         if($operate == "test_with_ds_claude"){
+            //分担查询
+            include ONLINE_ROOT . 'libs' . DS . 'map_config.ini.php';
+
             $ai_method = $_POST["test_ai_method"];
             $systemPrompt = $_POST["prompt"];
             $message = $_POST["test_question"];
@@ -284,7 +287,8 @@ class robot{
                     $new_sql = utils::modifyString($_sql,$sqlWhere);
                     //处理limit 超过10 先限制10
                     $new_sql = utils::processLimitClause($new_sql);
-                    $rs = common::excuteListSql($new_sql);
+                    //$rs = common::excuteListSql($new_sql);
+                    $rs =  $mapdb->GetAll($new_sql) or ( (!$mapdb->ErrorMsg()) or error_log(common::dbLog($mapdb, $new_sql), 0));
                     $reference = utils::replacementsMultiline($rs,$reference);
                 }
                 //有就去掉{{#each hbol_list}}\n  {{/each}}

+ 51 - 0
service/tools.class.php

@@ -171,6 +171,57 @@ class tools {
             exit();
         }
 
+        if ($operate == "subscribe_notification_default_init"){
+            $default_time_zone = common::check_input($_POST['default_time_zone']);
+            $default_time_zone_db = utils::comvertutcinfo($default_time_zone);
+            //检查用户是否是设置过subscribe_notification
+            $count = common::excuteOneSql("select count(*) from public.notifications_rules where 
+                notifications_type = 'Subscribe' 
+                and lower(user_login) = '".strtolower(_getLoginName())."'");
+            if( $count > 0){
+                
+            } else {
+                //手动的保存两条,通用默认规则
+                $sql="INSERT INTO public.notifications_rules(
+                            user_login, notifications_type, rules_type, ocean_milestone, 
+                            air_milestone, frequency_type, daily_time, daily_time_zone,
+                            weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
+                            event_details, frequency_display, method_display,shipment_details,
+                            shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
+                    VALUES ('"._getLoginName()."', 'Subscribe', 'Milestone_Update', 'IFFBCF;IFFCPU;IFFREC;IFFONB;IFFDEP;IFFCSN;IFFARR;IFFAFD;IFFECR;IFFDEL',
+                            'IFFBCF;IFFCPU;IFFREC;IFFONB;IFFARR;IFFADW;IFFDDW;IFFDEL', 'Daily', '09:00', '$default_time_zone_db', 
+                            '', null, '', 'false', 'true',
+                            'Ocean Milestones: Booking Confirmation,Cargo Pickup,Cargo Arrived at Origin,On Board,Departure,Arrival Notification,Arrived at Final Discharge Port,Arrived at Final Destination,Empty Container Return,Document Turnover / Delivered;
+        Air Milestones: Booking Confirmation,Cargo Pickup,Cargo Arrived at CFS,Departure,Landed at Destination Port,Arrived Destination Warehouse,Departed Destination Warehouse,Document Turnover / Delivered;', 'Daily, 09:00, ".$default_time_zone."', 'System Message','',
+                            '','','','','');";
+                 $sql.="INSERT INTO public.notifications_rules(
+                            user_login, notifications_type, rules_type,
+                            ocean_etd_change, ocean_etd_old_sub_new,ocean_etd_old_sub_new_unit,ocean_eta_change,ocean_eta_old_sub_new,ocean_eta_old_sub_new_unit,
+                            air_etd_change, air_etd_old_sub_new,air_etd_old_sub_new_unit,air_eta_change,air_eta_old_sub_new,air_eta_old_sub_new_unit,
+                            frequency_type, daily_time, daily_time_zone,
+                            weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
+                            event_details, frequency_display, method_display,shipment_details,
+                            shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
+                    VALUES ('"._getLoginName()."', 'Subscribe', 'ETD/ETA_Change', 
+                            'false','','','false','1','days',
+                            'false','','','false','1','days',
+                            'Daily', '09:00', '$default_time_zone_db', 
+                            '', null, '', 'false', 'true',
+                            '[Ocean]ETA: Notify only when time difference ≥ 1 Day(s);
+        [Air]ETA: Notify only when time difference ≥ 1 Day(s);', 'Daily, 09:00, ".$default_time_zone."', 'System Message','',
+                            '','','','','');";            
+                $rs = common::excuteUpdateSql($sql);
+                if (!$rs) {
+                    $data = array("msg" => "Subscribe Notification Initialized Error");
+                    common::echo_json_encode(500,$data);
+                    exit();
+                }
+            }
+            $data = array("msg"=>"Has been initialized");
+            common::echo_json_encode(200,$data);
+            exit();
+        }
+
         if ($operate == "subscribe_notification_init") {
             $subscribur_data =array();
             //查询用户对应的Rule