优惠券订单及其他脚本

excel_orderv3.php 42KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. <?php
  2. require_once 'DB_PDO.class.php';
  3. require_once 'TBK.class.php';
  4. require_once 'confv2.class.php';
  5. require_once 'PHPExcel-1.8/Classes/PHPExcel.php';
  6. require_once 'PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
  7. require_once 'PHPExcel-1.8/Classes/PHPExcel/Reader/Excel5.php';
  8. #设置时区
  9. date_default_timezone_set('PRC');
  10. # 定义下载订单时间段
  11. define("END_TIME", date('Y-m-d%20H:i:s', strtotime('2019-02-20 00:00:00')) );
  12. define("START_TIME", date('Y-m-d%20H:i:s', strtotime('2019-02-18 00:00:00')) );
  13. define("DETAILDEBUG", 0);//打印流程详细信息,如有需要,设为1
  14. define("LIMIT_NUM", 0);//限制导入条数,0不限制,方便测试,上线设为0
  15. //define("PUSH_URL",'http://yhq.quyaqu.com/api/v2/MessagePush/rebatepush');//push接口地址,测试
  16. define("PUSH_URL",'https://tbk.726p.com/api/v2/MessagePush/rebatepush');//push接口地址
  17. /**
  18. * 导入及更新 order/order_rebate数据
  19. */
  20. set_time_limit(0);
  21. ini_set('memory_limit','1024M');
  22. error_reporting(E_ALL);
  23. function readDataFromDb(){
  24. # 1.下载excel
  25. $res = down_excel();
  26. if( !$res ){
  27. echo '下载excel文件失败';
  28. exit;
  29. }
  30. # 遍历订单
  31. # 统计
  32. $res_count = array(
  33. 'total_num' => 0,
  34. 'generalinsert_num' => 0,
  35. 'generalupdate_num' => 0,
  36. 'nouserinsert_num' => 0,
  37. 'nouserupdate_num' => 0,
  38. 'fail_insert_num' => 0,
  39. 'fail_insert_ids' => '',
  40. 'fail_insertno_num' => 0,
  41. 'fail_insertno_ids' => '',
  42. 'fail_update_num' => 0,
  43. //'fail_update_ids' => '',
  44. 'fail_updateno_num' => 0,
  45. //'fail_updateno_ids' => '',
  46. );
  47. #初始化pdo
  48. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  49. # 读取excel
  50. $templateName = $res;
  51. //实例化Excel读取类
  52. $objReader = new PHPExcel_Reader_Excel2007();
  53. if(!$objReader->canRead($templateName)){
  54. $objReader = new PHPExcel_Reader_Excel5();
  55. if(!$objReader->canRead($templateName)){
  56. echo "\n".'无法识别的Excel文件!';
  57. return false;
  58. }
  59. }
  60. $objPHPExcel=$objReader->load($templateName);
  61. $sheet=$objPHPExcel->getSheet(0);//获取第一个工作表
  62. $highestRow=$sheet->getHighestRow();//取得总行数
  63. $highestColumn=$sheet->getHighestColumn(); //取得总列数
  64. if( strlen($highestColumn) == 2 ){
  65. $highestColumn = 'Z';
  66. }
  67. $orderList = array();
  68. //循环读取excel文件,读取一条,插入一条
  69. for($j=2;$j<=$highestRow;$j++){//从第二行开始读取数据
  70. $str='';
  71. for($k='A';$k<=$highestColumn;$k++){ //从A列读取数据
  72. //这种方法简单,但有不妥,以'\\'合并为数组,再分割\\为字段值插入到数据库,实测在excel中,如果某单元格的值包含了\\导入的数据会为空
  73. $str.=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'\\';//读取单元格
  74. if( $k=='AE' ){
  75. break;
  76. }
  77. }
  78. //explode:函数把字符串分割为数组。
  79. $orderDetail = explode('\\',trim($str,'\\') );
  80. if( substr($orderDetail[30], 0, 4) != 'api_') continue;
  81. $res_count['total_num']++;
  82. echo "/ ************************ order{$res_count['total_num']}-Start ************************* / \n";
  83. if( DETAILDEBUG == 1){
  84. echo 'orderDetail:';
  85. var_dump($orderDetail);
  86. }
  87. //0创建时间 1点击时间 2商品信息 3商品ID 4掌柜旺旺 5所属店铺 6商品数 7商品单价 8订单状态 9订单类型 10收入比率 11分成比率 12付款金额 13效果预估 14结算金额 15预估收入 16结算时间 17佣金比率 18佣金金额 19技术服务费比率 20补贴比率 21补贴金额 22补贴类型 23成交平台 24第三方服务来源 25订单编号 26类目名称 27来源媒体ID 28来源媒体名称 29广告位ID 30广告位名称
  88. $order_id=$orderDetail[25];
  89. $update_time=date('Y-m-d H:i:s');
  90. $order_create_at=$orderDetail[0];
  91. $order_click_at=$orderDetail[1];
  92. $order_balance_at=$orderDetail[16];
  93. $goods_id=$orderDetail[3];
  94. $goods_name=$orderDetail[2];
  95. $goods_name=addslashes($goods_name);
  96. $num=$orderDetail[6];
  97. $price=intval($orderDetail[7]*100);
  98. $sum_price=intval($orderDetail[12]*100);
  99. $statusDesc=$orderDetail[8];
  100. $typeDesc=$orderDetail[9];
  101. $orderStatus = 1;
  102. $type=1;
  103. if($statusDesc=="订单付款"){
  104. $orderStatus=1;
  105. }
  106. elseif($statusDesc=="订单失效"){
  107. $orderStatus=0;
  108. }
  109. elseif($statusDesc=="订单结算"){
  110. $orderStatus=2;
  111. }
  112. if($typeDesc=="聚划算"){
  113. $type=0;
  114. }
  115. elseif($typeDesc=="淘宝"){
  116. $type=1;
  117. }
  118. elseif($typeDesc=="天猫"){
  119. $type=2;
  120. }
  121. $adzone_id=$orderDetail[29];
  122. $ceil_income=round($orderDetail[13], 2);
  123. $predict_income=$ceil_income*100;
  124. $predict_income=ceil($predict_income*conf::$RATE_CONF["globalzk"]);
  125. echo 'order_id:'.$order_id.'|| goods_id:'.$goods_id.'|| orderstatus:'.$orderStatus.'|| order_balance_at:'.$order_balance_at.'|| update_time:'.$update_time;
  126. echo '|| predict_income:'.$predict_income.'|| adzone_id:'.$adzone_id."\n";
  127. $resultone=UserInfo($adzone_id);
  128. if( DETAILDEBUG == 1){
  129. echo 'userinfo:';
  130. var_dump($resultone);
  131. echo "\n";
  132. }
  133. if($sum_price!=0){
  134. if($predict_income<5){
  135. $predict_income=5;
  136. }
  137. }
  138. if( !empty($resultone) ){
  139. echo "User:存在\n";
  140. $orderExists=orderMysql($order_id,$goods_id);
  141. if( empty($orderExists) || in_array($order_id,$orderList)){
  142. echo "action:插入操作\n";
  143. #获取层级规则信息
  144. $userAllInfo=userLevelandPrentInfo($resultone);
  145. echo "<pre>\nuserAllInfo";
  146. print_r($userAllInfo);
  147. if( DETAILDEBUG == 1){
  148. echo 'userallinfo:'."\n";
  149. var_dump($userAllInfo);
  150. }
  151. $userList = $userAllInfo['userList']; //4层 每层userId
  152. $userLevel = $userAllInfo['userLevel']; //4层 每层userlevel
  153. # 从数据库获取规则
  154. $rebateRuleInfo = getRebateRule($userAllInfo['levelRule']);
  155. echo "\nRuleInfo:";
  156. print_r($rebateRuleInfo);
  157. $RuleArr = explode(',',$rebateRuleInfo['rebate_rule']); //4层 每层分佣比例
  158. $TypeArr = explode(',',$rebateRuleInfo['rebate_type']); //4层 每层分佣级别
  159. #获取每一层返利
  160. $moneyInfo=orderMoney($predict_income, $RuleArr); //4层 每层分佣钱数
  161. echo "\nmoneyInfo:";
  162. print_r($moneyInfo);
  163. if( DETAILDEBUG == 1){
  164. echo 'rebateInfo'."\n";
  165. var_dump($moneyInfo);
  166. }
  167. $detail = TBK::tbkItemInfoGet( ['goods_id'=>$goods_id] );
  168. if( !empty($detail) ){
  169. $goods_img=$detail->pict_url;
  170. }
  171. else{
  172. $goods_img="";
  173. }
  174. try{
  175. $_PDO->beginTransaction();
  176. #订单表插入
  177. $res=generateSqlInsertOrder($goods_img,$goods_name,$userList[0],$order_id,$adzone_id,$goods_id,$num,$price,$sum_price,$predict_income,$moneyInfo[0],$orderStatus,$type,$userLevel[0],$order_create_at,$order_click_at,$order_balance_at);
  178. if($res){
  179. $orderList[] = $order_id;
  180. $res_count['generalinsert_num']++;
  181. }else{
  182. $res_count['fail_insert_num']++;
  183. $res_count['fail_insert_ids'].=$order_id.'|';
  184. }
  185. echo 'orderinsert:'.$res;
  186. echo "\n";
  187. if($sum_price>0 and $orderStatus!=0){
  188. foreach($moneyInfo as $k=>$v){
  189. if($v>0){
  190. #order_rebate表插入父级佣金
  191. $rebaseType=$TypeArr[$k];
  192. $res=generateSqlInsertRebateSelf($userLevel[$k],$order_balance_at,$order_create_at,$goods_img,$goods_name,$order_id,$userList[$k],$rebaseType,$moneyInfo[$k],$sum_price,$orderStatus,$goods_id,$predict_income);
  193. # 推送
  194. if($res){
  195. $params = array();
  196. $params['user_id'] = $userList[$k];
  197. $params['type'] = 2;
  198. $params['money'] = round($moneyInfo[$k]/100,2);
  199. // $push_res = curl_post( PUSH_URL, $params);
  200. }
  201. echo 'rebateinsert_'.$k.':'.$res;
  202. echo "\n";
  203. }
  204. }
  205. }
  206. //津贴单独计算
  207. # 获取顶级运营商-控制中心
  208. if($sum_price>0 and $orderStatus !=0){
  209. $YysManageInfo = YysManageInfo( $userList[0] );
  210. if( !empty($YysManageInfo) ){
  211. $rebaseType=4;
  212. $YysManageRabate = round($predict_income*conf::$RATE_CONF["YysManage"]);
  213. if($YysManageRabate < 1){
  214. $YysManageRabate = 1;
  215. }
  216. $res = YysManageInsertRebate(4,$order_balance_at,$order_create_at,$goods_img,$goods_name,$order_id,$YysManageInfo['user_id'],$rebaseType,$YysManageRabate,$sum_price,$orderStatus,$goods_id,$predict_income);
  217. echo 'rebateinsert_YysManage:'.$res;
  218. echo "\n";
  219. }
  220. }
  221. $_PDO->commit();
  222. }catch(PDOException $e){
  223. echo 'err_msg'.$e->getMessage()."\n";
  224. $_PDO->rollback();
  225. }
  226. //echo "-----------------insertEnd--------------------\n";
  227. }
  228. else{
  229. try{
  230. $_PDO->beginTransaction();
  231. //更新order/order_rebate表
  232. echo "action:更新操作\n";
  233. $res=generateSqlupdate($orderStatus,$order_balance_at,$order_id,$goods_id);
  234. $redOrderUpRes=redSqlupdate($orderStatus,$order_balance_at,$order_id,$goods_id);
  235. $redUpRes = updateRed( $order_id, $orderStatus );
  236. /*** 失效订单单独更新 Start ***/
  237. if($orderStatus == 0){
  238. //首先判断该订单是否已经失效
  239. //$order_old_status = $redOrderExists['status'];
  240. if($redOrderUpRes){
  241. if(!empty($redUpRes) && $redUpRes['red_open_money'] > 0){ //存在红包并且有拆除金额
  242. //1. 退红包的处理
  243. //更新流水表
  244. //获取用户最新balance
  245. echo "红包订单失效\n";
  246. echo "失效红包:".$redUpRes['id']."\n";
  247. $userAccount = getUserBalace($resultone['user_id']);
  248. $upAccount = redAccountRecord( $resultone['user_id'], 3, $redUpRes['red_open_money'], $redUpRes['id'], round(($userAccount['balance']*100 - $redUpRes['red_open_money']*100)/100, 2));
  249. echo "更新流水:".$upAccount."\n";
  250. }
  251. //判断是否该订单存在红包提现分单
  252. $redAccountInfo = insertLoseAccount($order_id);
  253. }
  254. }
  255. if($res){
  256. $res_count['generalupdate_num']++;
  257. echo "BIAOSHI";
  258. }else{
  259. $res_count['fail_update_num']++;
  260. //$res_count['fail_update_ids'].=$order_id.'|';
  261. }
  262. echo "更新数据-> orderstatus:".$orderStatus." order_balance_at:".$order_balance_at;
  263. echo "\n";
  264. echo "order/reabte_update:".$res;
  265. echo "\n";
  266. //echo "-----------------updateEnd-----------------------\n";
  267. $_PDO->commit();
  268. }catch(PDOException $e){
  269. $_PDO->rollback();
  270. echo 'err_msg'.$e->getMessage()."\n";
  271. }
  272. }
  273. //echo "-----------------IssetUserEnd:--------------------\n";
  274. }
  275. else{
  276. $_PDO->beginTransaction();
  277. try{
  278. #user不存在的处理
  279. echo "User:不存在\n";
  280. $orderExists=orderMysql($order_id,$goods_id);
  281. if( empty($orderExists) ){
  282. $detail = TBK::tbkItemInfoGet( ['goods_id'=>$goods_id] );
  283. if( !empty($detail) ){
  284. $goods_img=$detail->pict_url;
  285. }
  286. else{
  287. $goods_img="";
  288. }
  289. $res=generateSqlInsertOrderOther($goods_img,$goods_name,$order_id,$adzone_id,$goods_id,$num,$price,$sum_price,$predict_income,0,$orderStatus,$type,$order_create_at,$order_click_at,$order_balance_at);
  290. if($res){
  291. $res_count['nouserinsert_num']++;
  292. }else{
  293. $res_count['fail_insertno_num']++;
  294. $res_count['fail_insertno_ids'].=$order_id.'|';
  295. }
  296. echo "action:插入操作\n";
  297. echo "orderinsert:".$res;
  298. echo "\n";
  299. $_PDO->commit();
  300. }
  301. else{
  302. $res=generateSqlUpdateOther($orderStatus,$order_balance_at,$order_id,$goods_id);
  303. if($res){
  304. $res_count['nouserupdate_num']++;
  305. }else{
  306. $res_count['fail_updateno_num']++;
  307. //$res_count['fail_updateno_ids'].=$order_id.'|';
  308. }
  309. echo "action:更新操作\n";
  310. echo "orderupdate:".$res;
  311. echo "\n";
  312. $_PDO->commit();
  313. }
  314. //echo "-----------------EmptyUserEnd:--------------------\n";
  315. }catch(PDOException $e){
  316. $_PDO->rollback();
  317. echo 'err_msg'.$e->getMessage()."\n";
  318. }
  319. }
  320. echo "/ ** order{$res_count['total_num']}-End ** /";
  321. echo "\n\n\n";
  322. if(LIMIT_NUM >0 && $res_count['total_num'] == LIMIT_NUM) break;
  323. }
  324. print_r($res_count);
  325. }
  326. function YysManageInfo( $user_id ){
  327. $sql = "SELECT user_id,parent_user_id,level FROM user_level WHERE user_id=:user_id ";
  328. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  329. $stmt = $_PDO->prepare($sql);
  330. $stmt->execute(array(':user_id'=>$user_id));
  331. $result = $stmt->fetch(PDO::FETCH_ASSOC);
  332. if( empty($result) ) return false;
  333. if($result['level'] == 4){
  334. return $result;
  335. }else{
  336. if( empty($result['parent_user_id']) ){
  337. return false;
  338. }
  339. return YysManageInfo( $result['parent_user_id']);
  340. }
  341. return false;
  342. }
  343. function YysInfo( $user_id ){
  344. $sql = "SELECT user_id,parent_user_id,level FROM user_level WHERE user_id=:user_id ";
  345. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  346. $stmt = $_PDO->prepare($sql);
  347. $stmt->execute(array(':user_id'=>$user_id));
  348. $result = $stmt->fetch(PDO::FETCH_ASSOC);
  349. if( empty($result) ) return ['user_id'=>48941,'level'=>4,'parent_user_id'=>'-1'];
  350. if($result['level'] >= 3){
  351. return $result;
  352. }else{
  353. if( empty($result['parent_user_id']) ){
  354. return ['user_id'=>48941,'level'=>4,'parent_user_id'=>'-1'];
  355. }
  356. return YysInfo( $result['parent_user_id']);
  357. }
  358. return ['user_id'=>48941,'level'=>4,'parent_user_id'=>'-1'];
  359. }
  360. function UserInfo($adzone_id){
  361. $sql = "SELECT * FROM user_adzone WHERE adzone_id = :adzone_id ";
  362. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  363. $stmt = $_PDO->prepare($sql);
  364. $stmt->execute(array(':adzone_id'=>$adzone_id));
  365. $resultone = $stmt->fetch(PDO::FETCH_ASSOC);
  366. if($resultone){
  367. $sql="SELECT * FROM user_level WHERE user_id = :user_id";
  368. $stmt = $_PDO->prepare($sql);
  369. $stmt->execute(array(':user_id'=>$resultone['user_id']));
  370. $userResult = $stmt->fetch(PDO::FETCH_ASSOC);
  371. return $userResult;
  372. }
  373. else{
  374. return false;
  375. }
  376. }
  377. function userLevelInfo($user_id){
  378. $sql="SELECT * FROM user_level WHERE user_id = :user_id ";
  379. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  380. $stmt = $_PDO->prepare($sql);
  381. $stmt->execute(array(':user_id'=>$user_id));
  382. $resultone = $stmt->fetch(PDO::FETCH_ASSOC);
  383. if($resultone){
  384. $myInfo=["user_id"=>$user_id,"level"=>$resultone['level'],"parent_user_id"=>$resultone['parent_user_id']];
  385. return $myInfo;
  386. }
  387. else{
  388. return false;
  389. }
  390. }
  391. function userMyInfo($user_id){
  392. $sql="SELECT * FROM users WHERE id = :user_id ";
  393. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  394. $stmt = $_PDO->prepare($sql);
  395. $stmt->execute(array(':user_id'=>$user_id));
  396. $resultone = $stmt->fetch(PDO::FETCH_ASSOC);
  397. if($resultone){
  398. $myInfo['user_id'] = $user_id;
  399. $myInfo['origin'] = $resultone['origin'];
  400. return $myInfo;
  401. }
  402. else{
  403. return false;
  404. }
  405. }
  406. # 获取4层用户级别基础信息
  407. function userLevelandPrentInfo($resultone){
  408. $resultInfo = array();
  409. # self
  410. $userId=$resultone['user_id'];
  411. $userLevel=$resultone['level'];
  412. if($userLevel>=3){
  413. $resultInfo['userList'] = [$userId,0,0,0];
  414. $resultInfo['levelRule'] = 3000;
  415. $resultInfo['userLevel'] = [$userLevel,0,0,0];
  416. return $resultInfo;
  417. }
  418. $userParentId=$resultone['parent_user_id'];
  419. $userGrandId=$resultone['grand_father_id'];
  420. if($userParentId>0){
  421. $resulttwo=userLevelInfo($userParentId);
  422. if( !empty($resulttwo) ){
  423. # parent
  424. $userParentLevel=$resulttwo['level'];
  425. if($userParentLevel>=3){
  426. $resultInfo['userList'] = [$userId,$userParentId,0,0];
  427. $resultInfo['levelRule'] = intval($userLevel.'300');
  428. $resultInfo['userLevel'] = [$userLevel,$userParentLevel,0,0];
  429. return $resultInfo;
  430. }
  431. if($userGrandId>0){
  432. $resultthree=userLevelInfo($userGrandId);
  433. if( !empty($resultthree) ){
  434. # grand
  435. $userGrandLevel=$resultthree['level'];
  436. if($userGrandLevel>=3){
  437. $resultInfo['userList'] = [$userId,$userParentId,$userGrandId,0];
  438. $resultInfo['levelRule'] = intval($userLevel.$userParentLevel.'30');
  439. $resultInfo['userLevel'] = [$userLevel,$userParentLevel,$userGrandLevel,0];
  440. return $resultInfo;
  441. }
  442. }
  443. }
  444. }
  445. }
  446. if( !$userParentId ) $userParentId=0;
  447. if( !$userGrandId ) $userGrandId=0;
  448. if( !isset($userParentLevel) ) $userParentLevel=1;
  449. if( !isset($userGrandLevel) ) $userGrandLevel=1;
  450. #三级里面没有运营商,递归上级运营商
  451. $YysInfo = YysInfo($userGrandId);
  452. $userFourId = $YysInfo['user_id'];
  453. $userFourLevel = $YysInfo['level'];
  454. # 层级规则
  455. $levelRule = $userLevel.$userParentLevel.$userGrandLevel.'3';
  456. $resultInfo['userList']=[$userId,$userParentId,$userGrandId,$userFourId];
  457. $resultInfo['levelRule'] = (int)$levelRule;
  458. $resultInfo['userLevel'] = [$userLevel,$userParentLevel,$userGrandLevel,$userFourLevel];
  459. return $resultInfo;
  460. }
  461. function orderMoney($predict_income, $RuleArr){
  462. $result = array();
  463. foreach($RuleArr as $k=>$v){
  464. if($v>0){
  465. $result[$k] = round($predict_income * $v / 100);
  466. }else{
  467. $result[$k] = 0;
  468. }
  469. }
  470. return $result;
  471. }
  472. function orderMysql($order_id,$goods_id){
  473. $sql="SELECT * from `order` where order_id=:order_id and goods_id=:goods_id";
  474. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  475. $stmt = $_PDO->prepare($sql);
  476. $stmt->execute(array(':order_id'=>$order_id,':goods_id'=>$goods_id));
  477. $orderResult = $stmt->fetch(PDO::FETCH_ASSOC);
  478. return $orderResult;
  479. }
  480. function orderType($adzone_id){
  481. $sql="SELECT * from `adzone` where adzone_id=:adzone_id";
  482. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  483. $stmt = $_PDO->prepare($sql);
  484. $stmt->execute(array(':adzone_id'=>$adzone_id));
  485. $userResult = $stmt->fetch(PDO::FETCH_ASSOC);
  486. return $userResult;
  487. }
  488. function generateSqlInsertOrderOther($goods_img,$goods_name,$order_id,$adzone_id,$goods_id,$num,$price,$sum_price,$predict_income,$self_income,$orderStatus,$type,$order_create_at,$order_click_at,$order_balance_at){
  489. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  490. if( empty($order_balance_at) ){
  491. $sql="insert into `order` (company_type,goods_img_url,goods_name,order_id,adzone_id,goods_id,num,price,sum_price,predict_income,income,status,type,order_create_at,order_click_at) VALUES (:company_type,:goods_img,:goods_name,:order_id,:adzone_id,:goods_id,:num,:price,:sum_price,:predict_income,:self_income,:orderStatus,:type,:order_create_at,:order_click_at)";
  492. $stmt = $_PDO->prepare($sql);
  493. $stmt->execute(array(':company_type'=>2,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':adzone_id'=>$adzone_id,':goods_id'=>$goods_id,':num'=>$num,':price'=>$price,':sum_price'=>$sum_price,':predict_income'=>$predict_income,':self_income'=>$self_income,':orderStatus'=>$orderStatus,':type'=>$type,':order_create_at'=>$order_create_at,':order_click_at'=>$order_click_at));
  494. return $_PDO->lastinsertid();
  495. }
  496. else{
  497. $sql="insert into `order` (company_type,goods_img_url,goods_name,order_id,adzone_id,goods_id,num,price,sum_price,predict_income,income,status,type,order_create_at,order_click_at,order_balance_at) VALUES (:company_type,:goods_img,:goods_name,:order_id,:adzone_id,:goods_id,:num,:price,:sum_price,:predict_income,:self_income,:orderStatus,:type,:order_create_at,:order_click_at,:order_balance_at)";
  498. $stmt = $_PDO->prepare($sql);
  499. $stmt->execute(array(':company_type'=>2,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':adzone_id'=>$adzone_id,':goods_id'=>$goods_id,':num'=>$num,':price'=>$price,':sum_price'=>$sum_price,':predict_income'=>$predict_income,':self_income'=>$self_income,':orderStatus'=>$orderStatus,':type'=>$type,':order_create_at'=>$order_create_at,':order_click_at'=>$order_click_at,':order_balance_at'=>$order_balance_at));
  500. return $_PDO->lastinsertid();
  501. }
  502. }
  503. #order表订单插入脚本
  504. function generateSqlInsertOrder($goods_img,$goods_name,$userId,$order_id,$adzone_id,$goods_id,$num,$price,$sum_price,$predict_income,$self_income,$orderStatus,$type,$userLevel,$order_create_at,$order_click_at,$order_balance_at){
  505. $adzoneDetail=orderType($adzone_id);
  506. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  507. if( empty($order_balance_at) ){
  508. $sql="insert into `order` (company_type,goods_img_url,goods_name,user_id,order_id,adzone_id,goods_id,num,price,sum_price,predict_income,income,status,type,user_level,order_create_at,order_click_at) VALUES (:company_type,:goods_img,:goods_name,:userId,:order_id,:adzone_id,:goods_id,:num,:price,:sum_price,:predict_income,:self_income,:orderStatus,:type,:userLevel,:order_create_at,:order_click_at)";
  509. $stmt = $_PDO->prepare($sql);
  510. $stmt->execute(array(':company_type'=>$adzoneDetail["type"],':goods_img'=>$goods_img,':goods_name'=>$goods_name,':userId'=>$userId,':order_id'=>$order_id,':adzone_id'=>$adzone_id,':goods_id'=>$goods_id,':num'=>$num,':price'=>$price,':sum_price'=>$sum_price,':predict_income'=>$predict_income,':self_income'=>$self_income,':orderStatus'=>$orderStatus,':type'=>$type,':userLevel'=>$userLevel,':order_create_at'=>$order_create_at,':order_click_at'=>$order_click_at));
  511. return $_PDO->lastinsertid();
  512. }
  513. else{
  514. $sql="insert into `order` (company_type,goods_img_url,goods_name,user_id,order_id,adzone_id,goods_id,num,price,sum_price,predict_income,income,status,type,user_level,order_create_at,order_click_at,order_balance_at) VALUES (:company_type,:goods_img,:goods_name,:userId,:order_id,:adzone_id,:goods_id,:num,:price,:sum_price,:predict_income,:self_income,:orderStatus,:type,:userLevel,:order_create_at,:order_click_at,:order_balance_at)";
  515. $stmt = $_PDO->prepare($sql);
  516. $stmt->execute(array(':company_type'=>$adzoneDetail["type"],':goods_img'=>$goods_img,':goods_name'=>$goods_name,':userId'=>$userId,':order_id'=>$order_id,':adzone_id'=>$adzone_id,':goods_id'=>$goods_id,':num'=>$num,':price'=>$price,':sum_price'=>$sum_price,':predict_income'=>$predict_income,':self_income'=>$self_income,':orderStatus'=>$orderStatus,':type'=>$type,':userLevel'=>$userLevel,':order_create_at'=>$order_create_at,':order_click_at'=>$order_click_at,':order_balance_at'=>$order_balance_at));
  517. return $_PDO->lastinsertid();
  518. }
  519. }
  520. #返利表订单插入脚本
  521. function generateSqlInsertRebateSelf($user_level,$order_balance_at,$order_create_at,$goods_img,$goods_name,$order_id,$userId,$rebaseType,$last_orderSelfRebaseRebase,$sum_price,$orderStatus,$goods_id,$pre_income){
  522. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  523. if( !empty($order_balance_at) ){
  524. $sql="insert into order_rebate (user_level,order_balance_at,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_balance_at,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  525. $stmt = $_PDO->prepare($sql);
  526. $stmt->execute(array(':user_level'=>$user_level,':order_balance_at'=>$order_balance_at,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  527. return $_PDO->lastinsertid();
  528. }
  529. else{
  530. $sql="insert into order_rebate (user_level,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  531. $stmt = $_PDO->prepare($sql);
  532. $stmt->execute(array(':user_level'=>$user_level,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  533. return $_PDO->lastinsertid();
  534. }
  535. }
  536. #单独处理订单插运营商佣金
  537. function YysInsertRebate($user_level,$order_balance_at,$order_create_at,$goods_img,$goods_name,$order_id,$userId,$rebaseType,$last_orderSelfRebaseRebase,$sum_price,$orderStatus,$goods_id,$pre_income){
  538. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  539. if( !empty($order_balance_at) ){
  540. $sql="insert into order_rebate (user_level,order_balance_at,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_balance_at,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  541. $stmt = $_PDO->prepare($sql);
  542. $stmt->execute(array(':user_level'=>$user_level,':order_balance_at'=>$order_balance_at,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  543. return $_PDO->lastinsertid();
  544. }
  545. else{
  546. $sql="insert into order_rebate (user_level,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  547. $stmt = $_PDO->prepare($sql);
  548. $stmt->execute(array(':user_level'=>$user_level,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  549. return $_PDO->lastinsertid();
  550. }
  551. }
  552. #返利表订单插入运营商津贴信息
  553. function YysManageInsertRebate($user_level,$order_balance_at,$order_create_at,$goods_img,$goods_name,$order_id,$userId,$rebaseType,$last_orderSelfRebaseRebase,$sum_price,$orderStatus,$goods_id,$pre_income){
  554. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  555. if( !empty($order_balance_at) ){
  556. $sql="insert into order_rebate_profit (user_level,order_balance_at,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_balance_at,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  557. $stmt = $_PDO->prepare($sql);
  558. $stmt->execute(array(':user_level'=>$user_level,':order_balance_at'=>$order_balance_at,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  559. return $_PDO->lastinsertid();
  560. }
  561. else{
  562. $sql="insert into order_rebate_profit (user_level,order_create_at,img,name,order_id,user_id,type,rebate,money,status,goods_id,pre_income) VALUES (:user_level,:order_create_at,:goods_img,:goods_name,:order_id,:userId,:rebaseType,:last_orderSelfRebaseRebase,:sum_price,:orderStatus,:goods_id,:pre_income)";
  563. $stmt = $_PDO->prepare($sql);
  564. $stmt->execute(array(':user_level'=>$user_level,':order_create_at'=>$order_create_at,':goods_img'=>$goods_img,':goods_name'=>$goods_name,':order_id'=>$order_id,':userId'=>$userId,':rebaseType'=>$rebaseType,':last_orderSelfRebaseRebase'=>$last_orderSelfRebaseRebase,':sum_price'=>$sum_price,':orderStatus'=>$orderStatus,':goods_id'=>$goods_id,':pre_income'=>$pre_income));
  565. return $_PDO->lastinsertid();
  566. }
  567. }
  568. #order订单表返利表同步更新
  569. function generateSqlupdate($status,$order_balance_at,$order_id,$goods_id){
  570. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  571. if( !empty($order_balance_at) ){
  572. $sql="update `order` set status=:status,order_balance_at=:order_balance_at where order_id=:order_id and goods_id=:goods_id ";
  573. $stmt = $_PDO->prepare($sql);
  574. $stmt->execute(array(':status'=>$status,':order_balance_at'=>$order_balance_at,':order_id'=>$order_id,':goods_id'=>$goods_id));
  575. $res = $stmt->rowCount();
  576. //更新order_rebate
  577. $sql="update order_rebate set status=:status,order_balance_at=:order_balance_at where order_id=:order_id and goods_id=:goods_id ";
  578. $stmt = $_PDO->prepare($sql);
  579. $stmt->execute(array(':status'=>$status,':order_balance_at'=>$order_balance_at,':order_id'=>$order_id,':goods_id'=>$goods_id));
  580. $res = $stmt->rowCount();
  581. //更新order_rebate_profit
  582. $sql="update order_rebate_profit set status=:status,order_balance_at=:order_balance_at where order_id=:order_id and goods_id=:goods_id ";
  583. $stmt = $_PDO->prepare($sql);
  584. $stmt->execute(array(':status'=>$status,':order_balance_at'=>$order_balance_at,':order_id'=>$order_id,':goods_id'=>$goods_id));
  585. $res = $stmt->rowCount();
  586. }
  587. else{
  588. $sql="update `order` set status=:status where order_id=:order_id and goods_id=:goods_id ";
  589. $stmt = $_PDO->prepare($sql);
  590. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id,':goods_id'=>$goods_id));
  591. $res = $stmt->rowCount();
  592. $sql="update order_rebate set status=:status where order_id=:order_id and goods_id=:goods_id ";
  593. $stmt = $_PDO->prepare($sql);
  594. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id,':goods_id'=>$goods_id));
  595. $res = $stmt->rowCount();
  596. //更新order_rebate_profit
  597. $sql="update order_rebate_profit set status=:status where order_id=:order_id and goods_id=:goods_id ";
  598. $stmt = $_PDO->prepare($sql);
  599. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id,':goods_id'=>$goods_id));
  600. $res = $stmt->rowCount();
  601. }
  602. return $res;
  603. }
  604. #redorder订单表返利表同步更新
  605. function redSqlupdate($status,$order_balance_at,$order_id,$goods_id){
  606. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  607. if( !empty($order_balance_at) ){
  608. $sql="update `red_order` set status=:status,order_balance_at=:order_balance_at where order_id=:order_id and goods_id=:goods_id ";
  609. $stmt = $_PDO->prepare($sql);
  610. $stmt->execute(array(':status'=>$status,':order_balance_at'=>$order_balance_at,':order_id'=>$order_id,':goods_id'=>$goods_id));
  611. $res = $stmt->rowCount();
  612. }
  613. else{
  614. $sql="update `red_order` set status=:status where order_id=:order_id and goods_id=:goods_id ";
  615. $stmt = $_PDO->prepare($sql);
  616. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id,':goods_id'=>$goods_id));
  617. $res = $stmt->rowCount();
  618. }
  619. return $res;
  620. }
  621. #订单表单独更新
  622. function generateSqlUpdateOther($status,$order_balance_at,$order_id,$goods_id){
  623. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  624. if( !empty($order_balance_at) ){
  625. $sql="update `order` set status=:status,order_balance_at=:order_balance_at where order_id=:order_id and goods_id=:goods_id ";
  626. $stmt = $_PDO->prepare($sql);
  627. $stmt->execute(array(':status'=>$status,':order_balance_at'=>$order_balance_at,':order_id'=>$order_id,':goods_id'=>$goods_id));
  628. $res = $stmt->rowCount();
  629. }
  630. else{
  631. $sql="update `order` set status=:status where order_id=:order_id and goods_id=:goods_id ";
  632. $stmt = $_PDO->prepare($sql);
  633. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id,':goods_id'=>$goods_id));
  634. $res = $stmt->rowCount();
  635. }
  636. return $res;
  637. }
  638. # 获取rebateRule
  639. function getRebateRule($levelRule){
  640. $sql="SELECT * from `rebate_rule` where level_rule = :level_rule";
  641. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  642. $stmt = $_PDO->prepare($sql);
  643. $stmt->execute(array(':level_rule'=>$levelRule));
  644. $ruleResult = $stmt->fetch(PDO::FETCH_ASSOC);
  645. return $ruleResult;
  646. }
  647. function updateRed($order_id ,$status ){
  648. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  649. $sql="update `red_user_info` set order_status=:status where order_id=:order_id";
  650. $stmt = $_PDO->prepare($sql);
  651. $stmt->execute(array(':status'=>$status,':order_id'=>$order_id));
  652. $res = $stmt->rowCount();
  653. if($res){
  654. $sql = "select * from `red_user_info` where order_id = '{$order_id}'";
  655. $stmt = $_PDO->prepare($sql);
  656. $stmt->execute();
  657. $redinfo = $stmt->fetch(PDO::FETCH_ASSOC);
  658. return $redinfo;
  659. }
  660. return $res;
  661. }
  662. function getUserBalace($user_id){
  663. $table = "red_account_record_".($user_id%10);
  664. $sql = "SELECT balance from {$table} where user_id={$user_id} order by id desc limit 1";
  665. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  666. $stmt = $_PDO->prepare($sql);
  667. $stmt->execute();
  668. $res = $stmt->fetch(PDO::FETCH_ASSOC);
  669. return $res;
  670. }
  671. function redAccountRecord($user_id, $type, $money, $oh_id, $balance){
  672. $table = "red_account_record_".($user_id%10);
  673. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  674. $sql = "insert into `{$table}` (user_id, type, money, oh_id, balance) values ({$user_id},{$type},{$money},'{$oh_id}', {$balance})";
  675. $stmt = $_PDO->prepare($sql);
  676. $stmt->execute();
  677. return $_PDO->lastinsertid();
  678. }
  679. function insertLoseAccount($order_id){
  680. //判断是否已经处理
  681. // 查出哪些人分到了红包提现
  682. $sql = "SELECT distinct user_id from `order_rebate` where order_id='{$order_id}' and type=7 ";
  683. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  684. $stmt = $_PDO->prepare($sql);
  685. $stmt->execute();
  686. $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
  687. if(empty($res)){
  688. return false;
  689. }
  690. echo "退红包提现,返还流水balance:\n";
  691. foreach($res as $k=>$v){
  692. $table = "red_account_record_".($v['user_id']%10);
  693. //若已经处理跳过
  694. $sql = "SELECT id from {$table} where user_id={$v['user_id']} and oh_id='{$order_id}' and type=4";
  695. $stmt = $_PDO->prepare($sql);
  696. $stmt->execute();
  697. $ifExists = $stmt->fetch(PDO::FETCH_ASSOC);
  698. if(!empty($ifExists)){
  699. continue;
  700. }
  701. $sql = "SELECT sum(money) as money from {$table} where user_id={$v['user_id']} and oh_id='{$order_id}' and type=2";
  702. $stmt = $_PDO->prepare($sql);
  703. $stmt->execute();
  704. $record = $stmt->fetch(PDO::FETCH_ASSOC);
  705. $account = getUserBalace($v['user_id']);
  706. $insertLose = redAccountRecord($v['user_id'], 4, $record['money'], $order_id, round(($account['balance']*100 + $record['money']*100)/100, 2));
  707. echo "用户".$v['user_id'].":返还".$record['money']." | 处理结果:".$insertLose."\n";
  708. }
  709. return $insertLose;
  710. }
  711. function redOrderInfo($order_id,$goods_id){
  712. $sql="SELECT status from `red_order` where order_id=:order_id and goods_id=:goods_id";
  713. $_PDO=DB_PDO::getInstance( conf::$DB_CONF );
  714. $stmt = $_PDO->prepare($sql);
  715. $stmt->execute(array(':order_id'=>$order_id,':goods_id'=>$goods_id));
  716. $orderResult = $stmt->fetch(PDO::FETCH_ASSOC);
  717. return $orderResult;
  718. }
  719. # curl调用接口push
  720. function curl_post($url, $params){
  721. $ch = curl_init();
  722. curl_setopt($ch, CURLOPT_URL, $url);
  723. curl_setopt($ch, CURLOPT_HEADER, 0);
  724. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  725. curl_setopt($ch, CURLOPT_POST, 1);
  726. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  727. $response = curl_exec($ch);
  728. curl_close($ch);
  729. return $response;
  730. }
  731. # 下载excel订单文件
  732. function down_excel(){
  733. $str_cookie = 'cna=gGnDEwQLQAACATqEyYplpj5I; account-path-guide-s1=true; 209580064_yxjh-filter-1=true; undefined_yxjh-filter-1=true; t=8c549c3cedcac7891a2c3c7f36ca91f4; cookie2=1b6238ea20168e295d5bd7dacb9d285d; v=0; _tb_token_=f813b4de14be3; alimamapwag=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzY5LjAuMzQ5Ny4xMDAgU2FmYXJpLzUzNy4zNg%3D%3D; cookie32=2d2dbd51714bd91fa4e604f2e1050dd6; alimamapw=FnABFCAlFCZcQ3dVHXF2FncCFnF5FCAlFCFWQ3YjHXBxFnAEFnF7FCEgFCFXQ3BRHXFxFnd3FnEB%0AFCIhFCYmQ3YkMQICVwcEUgQPAQFWBlxWBVJRWwEAAABQAgQJV1dSVQAG; cookie31=OTk1MDYxNzMsJUU0JUI4JThBJUU5JUE1JUI2JUU1JUI4JTgyJUU1JTkwJTg4JUU0JUI4JTgwJUU3JUE3JTkxJUU2JThBJTgwJUU2JTlDJTg5JUU5JTk5JTkwJUU1JTg1JUFDJUU1JThGJUI4LGppYW5nbmFuQGZhbnRvdXRpYW8uY29tLFRC; login=WqG3DMC9VAQiUQ%3D%3D; JSESSIONID=BB0014635CAE3BC9A4CB4C3EB3BB1179; apush848645ac0bf07b717f88c18a7e296d1e=%7B%22ts%22%3A1551161803920%2C%22parentId%22%3A1551161793707%7D; l=bBEoP2SHvN8ixqP6XOfwiuIJckbtnIOfhsPzw4TZDICP9a1X5yJhWZaRASTWC3GVa6CpR3Wc5ILQBkLK0yznh; isg=BOHhz5mFGcQ2frL4yOZ9ppnA8K07JkFjkShWTkO32-hHqgd8i972UcusDJ6JYu24';
  734. $nowTime = END_TIME;
  735. $pastTime = START_TIME;
  736. $url = "https://pub.alimama.com/report/getTbkPaymentDetails.json?DownloadID=DOWNLOAD_REPORT_INCOME_NEW&queryType=1&payStatus=&startTime=".$pastTime."&endTime=".$nowTime;
  737. echo $url."\n";
  738. $ch = curl_init($url);
  739. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  740. curl_setopt($ch, CURLOPT_COOKIE, $str_cookie); //使用上面获取的cookies
  741. $response = curl_exec($ch);
  742. curl_close($ch);
  743. if( $response ){
  744. $file = fopen("./order_excel.csv", "w+");
  745. $a = fputs($file, $response);
  746. fclose($file);
  747. return './order_excel.csv';
  748. }
  749. else{
  750. return false;
  751. }
  752. }
  753. readDataFromDb();