提交订单系统自动发送邮件到收件人邮箱优化(定时发送邮件)

  //Model(模型层(优化))
 private function qcPostTransaction() {
      //当有添加增值服务权限的账号添加增值服务时需要填写原因,并且系统记录来货异常
      $spolNote = $this->_condition['spol_note'];
      if( !empty( $spolNote ) ) {
          $qcoRes = Product_Service_QualityControlOrder::getQcoCode( $this->_condition['qcCode'] );
          $refId = Product_Service_Receiving::getByReceivingCode( $qcoRes['qco_ref_code'] );
          //整理 CSP 订单数据
          if( $refId['plat_form'] == "CSP" ) {
               $Journal = array(
                      'spo_code' => $spRes['spo_code'],
                      'user_id' => $this->_userId,
                      'customer_id' => $this->_receivingInfo['customer_id'],
                      'spol_note' => implode( ";", $spolNote ),
                      'spol_ip' => Common_Service_Common::getIP(),
                      'spol_create_date' => date( 'Y-m-d H:i:s' ),
                      'spol_msg_type' => $this->_condition['spol_msg_type'],
                      'warehouse_id' => $this->_receivingInfo['warehouse_id'],
                );
               //写入数据库
                $JournalObj = new Special_Model_SpecialProjectOrderLog();
                $addJournal = $JournalObj->create( $Journal );
                if( empty( $addJournal ) ) {
                      $dbAdapter->rollback();
                      $this->_error['msg'] = '写日志失败';
                      return false;
                }
          }
      }
 }
 /*
 * CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
 * $start_date                               前一天时间
 * $end_dates                              当天时间
 * $warehouse   (string)              仓库
 */
 public static function QcCSPEmail( $start_date, $end_date, $warehouse = "1" ) {
     //根据时间限制获取对应数据
     $condition = array(
             "start_date" => date( "Y-m-d", strtotime( $start_date ) ),
             "end_date" => date( "Y-m-d", strtotime( $end_date ) ),
             "warehouse_id" => $warehouse,
     );
     $dataList = Special_Service_SpecialProjectOrderLog::getByCond( $condition, "*", array( "spol_create_date" ) );
     //整合邮件内容
     $content = "ASN单号,采购单号,QC单号,CSP,增值服务项,原因,日期\n";
     foreach( $dataList as $value ) {
          if( $value['spol_msg_type'] == 1 ) {
               $spoRefCode = Special_Service_SpecialProjectOrder::getBySpoCode( $value['spo_code'] );
               $qcoCode = Product_Service_QualityControlOrder::getQcoCode( $spoRefCode['spo_ref_code'] );
               $receivingCode = Product_Service_Receiving::getByReceivingCode( $qcoCode['qco_ref_code'] );
               $spoCode = Special_Service_SpecialProjectItem::getBySpoCodeAll( $value['spo_code'] );
               $Is_show = $receivingCode['plat_form'] == "CSP" ? '是' : '否';
               $spolNote = explode( ';', $value['spol_note'] );
               $userId = User_Service_User::getByUserId( $value['user_id'] );
               foreach( $spoCode as $k => $v ) {
                    $pocValueCn = Special_Service_SpecialProjectOptions::getById( $v['poc_id'] );
                    $content .= $qcoCode['qco_ref_code'] . ',' 
                            . $receivingCode['ref_id'] . ','
                            . $spoRefCode['spo_ref_code'] . ','
                            . $Is_show . ','
                            . $pocValueCn['spop_value_cn'] . ','
                            . $spolNote[$k] . ','
                            . $userId['name'] . ','
                            . $value['spol_create_date'] . "\n";
               }
          }
     }
     //获取收件人邮箱
     $configAttribute = Common_Service_Config::getByAttribute( 'CSP_EXCEPTION_LIST_EMAIL' );
     if( !empty( $configAttribute ) ) {
          $mailUser = explode( ';', $configAttribute['config_value'] );
     } else {
          die( '请添加邮箱地址!' );
     }
     //发送邮件对应处理
     $content = iconv( "UTF-8", "GBK", $content );
     $mail_subject = "CSP 订单报表";
     $mail = Cff::setupMail();
     $mail->setBodyHtml( 'CSP 订单,请跟进!' );
     $mail->addTo( $mailUser, $mail_subject );
     $mail->setSubject( $mail_subject );
     $at = $mail->createAttachment( $content );
     $at->type = 'application/vnd.ms-excel';
     $at->disposition = Zend_Mime::DISPOSITION_INLINE;
     $at->encoding = Zend_Mime::ENCODING_8BIT;
     $at->filename = iconv( "UTF-8", "GB2312", $mail_subject . date( 'Y-m-d' ) . '.csv' );
     $mail->send();
 }

 //Liunx 自动任务
 /**
 * CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
  * 传参?date = 2015-05-14 && warehouse = 1 && rerun = 1
  * 默认日期为运行的前一天,默认仓库为 1
 */
 require_once( 'config.php' );
 $flagFile = dirname( __FILE__ ) . '/qc-csp-email';
 if( @file_exists( $flagFile ) ) {
     Common_Service_Common::autoRunFlag( $flagFile, __FILE__, 2 );
     die( '程序正在运行。' );
 }
 ini_set( 'memory_limit', '-1' );
 set_time_limit( 0 );
 define( 'RUNTIME', '[ ' . date( 'Y-m-d H:i:s' ) . ' ] ' );
 echo RUNTIME . "Starting!\n";
 $warehouse = '1';
 $reRun = false;
 $start_date = date( 'Y-m-d 20:30:00', strtotime( "-1 day" ) );
 $end_dates = date( "Y-m-d 20:30:00" );
 $putObj = new Product_Service_QcProccess();
 for( ;$start_date < $end_dates; ) {
     $end_date = date( "Y-m-d 20:30:00", strtotime( "+1 day", strtotime( $start_date ) ) );
     $date =$start_date;
     echo $start_date ."\n";
     $start_date = date( 'Y-m-d H:i:s', strtotime( $start_date ) + 24 * 3600 );
 }
 $email_start_date = date( 'Y-m-d 20:30:00', strtotime( "-1 day" ) );
 //休眠 5 秒后等待数据同步
 sleep( 5 );
 $putObj->QcCSPEmail( $email_start_date, $end_dates, $warehouse );
 echo "[ " . date( 'Y-m-d H:i:s' ) . " ] 结束运行\r\n";
 @unlink( $flagFile );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
竞价网订单系统 v2.0 后台登陆用户名admin,密码admins 使用方法 只需在你下订单的页面修改 action="xxx.asp" 为本订单系统的 action="order.asp" 其他都不需要再修改了 打开默认订单页order.htm,找到action=order.asp,修改为你的自定义的订单页。 所以为免对接的订单系统 =========================== 要邮件通知的请修改 inc/inc.asp 对应的项目 shou = "15365637@qq.com" 收件箱 修改为你接受的邮箱 比如qq 比如139邮箱 strMailAddress = "smtp.163.com" 如果是126的发件箱就修改为smtp.126.com strMailUser = "bebao@163.com" '发件箱用户名 strMailPass = "bebao" '发件箱密码 =========================== ordersafe.asp ordersafeform.asp 针对这两个文件是用来防止被刷单的 如果没有被刷单的 可以无视下面的 如果有被刷单的 请继续看 如果你的订单页面是采用的框架调用 那么你直接调用 ordersafeform.asp 这个页面即可 代码为 <iframe scrolling='no' frameborder='0' marginheight='0' marginwidth='0' width='542' height='300' src='ordersafeform.asp'></iframe> 如果你的订单页面不是框架调用 比如是直接写入到 index.htm 里面的 也就是说你在index.htm里面可以搜索到 action= 这样的提交信息 那么我们需要手动改一下 1、把index.htm 改名为 index.asp 2、然后index.asp记事本打开 在最前面 就是源码的最前面加入以下代码 <% if request.cookies("safecookie")="" then response.cookies("safecookie")=1 end if %> 保存一下 3、也就是刚刚所说的 搜到的action="xxx.asp" 修改为 action="ordersafe.asp" 完毕 文中所说的xxx.asp 是泛指 有的哥们太犀利了 容易对号入座 xxx为其他任意字符 完毕 谢谢大家的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值