ThirdOrder.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581
  1. <?php
  2. namespace app\controller\admin\order;
  3. use app\common\repositories\user\UserThirdRepository;
  4. use crmeb\basic\BaseController;
  5. use crmeb\services\SpreadsheetExcelService;
  6. use think\App;
  7. class ThirdOrder extends BaseController
  8. {
  9. protected $repository;
  10. public function __construct(App $app, UserThirdRepository $repository)
  11. {
  12. parent::__construct($app);
  13. $this->repository = $repository;
  14. }
  15. /*京东订单*/
  16. public function jdOrder(){
  17. [$page, $limit] = $this->getPage();
  18. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  19. return app('json')->success($this->repository->GetJdOrder($where, $page, $limit));
  20. }
  21. /*唯品会订单*/
  22. public function wphOrder(){
  23. [$page, $limit] = $this->getPage();
  24. $where = $this->request->params(['date','order_sn','order_status','keywords','bill_status','settled']);
  25. return app('json')->success($this->repository->GetVipOrder($where, $page, $limit));
  26. }
  27. /*拼多多订单*/
  28. public function pddOrder(){
  29. [$page, $limit] = $this->getPage();
  30. $where = $this->request->params(['date','order_sn','pin_order_status','keywords','bill_status']);
  31. return app('json')->success($this->repository->GetPddOrder($where, $page, $limit));
  32. }
  33. /*苏宁订单*/
  34. public function suOrder(){
  35. [$page, $limit] = $this->getPage();
  36. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  37. return app('json')->success($this->repository->GetSuOrder($where, $page, $limit));
  38. }
  39. /*淘宝订单*/
  40. public function tbOrder(){
  41. [$page, $limit] = $this->getPage();
  42. $where = $this->request->params(['date','order_sn','tk_status','keywords','bill_status']);
  43. return app('json')->success($this->repository->GetTbOrder($where, $page, $limit));
  44. }
  45. /*话费订单*/
  46. public function hfOrder(){
  47. [$page, $limit] = $this->getPage();
  48. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  49. return app('json')->success($this->repository->GetHfOrder($where, $page, $limit));
  50. }
  51. /*详情*/
  52. public function detail($id){
  53. $table = $this->request->params(['table']);
  54. return app('json')->success($this->repository->GetThirdDetail($id,$table['table']));
  55. }
  56. /**
  57. * 导出第三方订单
  58. */
  59. public function getJdOrder()
  60. {
  61. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  62. $page = 1;
  63. $limit = 0;
  64. $temporaryData = $this->repository->GetJdOrder($where,$page,$limit);
  65. $data = $temporaryData['list'];
  66. $arr = [];
  67. foreach ($data as $item) {
  68. $arr[] = [
  69. $item['order_jd_id'] ?? '', // 订单表ID
  70. $item['uid'] ?? '', // 用户ID
  71. $item['commission'] ?? '', // 佣金 actualFee
  72. $item['commission_share'] ?? '', // 佣金比例 finalRate
  73. $item['jd_id'] ?? '', // 订单id
  74. $item['order_sn'] ?? '', // 订单号
  75. $item['pay_money'] ?? '', // 实际计算佣金的金额
  76. $item['create_time'] ?? '', // 创建时间
  77. $item['finish_time'] ?? '', // 完成时间
  78. $item['modify_time'] ?? '', // 更新时间
  79. $item['sku_num'] ?? '', // 数量
  80. $item['sku_id'] ?? '', // 商品id
  81. $item['sku_name'] ?? '', // 商品名称
  82. $item['price'] ?? '', // 单价
  83. $item['sub_union_id'] ?? '', // 子渠道id-用户pid
  84. $item['image_url'] ?? '', // 商品图片
  85. $item['shop_name'] ?? '', // 店铺名称
  86. $item['shop_id'] ?? '', // 店铺id
  87. $item['status'] ?? '', // 订单状态 validCode
  88. $item['bill_status'] ?? '', // 结算状态
  89. $item['bill_create_time'] ?? '', // 平台结算时间
  90. $item['bill_end_time'] ?? '', // 可结算日期
  91. $item['gzc'] ?? '', // 公证处标记
  92. $item['user_address_ids'] ?? '', // 详细地址串
  93. $item['type'] ?? '', // 订单类型
  94. $item['pv'] ?? '', // PV值
  95. ];
  96. }
  97. $header = [
  98. '订单表ID',
  99. '用户ID',
  100. '佣金 (actualFee)',
  101. '佣金比例 (finalRate)',
  102. '订单ID',
  103. '订单号',
  104. '实际计算佣金的金额',
  105. '创建时间',
  106. '完成时间',
  107. '更新时间',
  108. '数量',
  109. '商品ID',
  110. '商品名称',
  111. '单价',
  112. '子渠道ID (用户PID)',
  113. '商品图片',
  114. '店铺名称',
  115. '店铺ID',
  116. '订单状态 (validCode)',
  117. '0平台未结算1已结算2失效',
  118. '平台结算时间',
  119. '可结算日期',
  120. '公证处IN10是否发起0否1是',
  121. '详细地址串',
  122. '1京推推订单 2京东联盟订单',
  123. 'PV值',
  124. ];
  125. $filename = '京东订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  126. $_instance = SpreadsheetExcelService::instance_xin();
  127. $_path = $_instance
  128. ->createOrActive()
  129. ->setExcelHeader($header)
  130. ->setExcelTile('京东订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  131. ->setExcelContent($arr)
  132. ->excelSave($filename, 'xlsx', 'extract');
  133. $domain = request()->domain();
  134. return [
  135. 'name' => $filename . '.xlsx',
  136. 'status' => 1,
  137. 'path' => $domain . '/' . $_path
  138. ];
  139. }
  140. public function getWphOrder()
  141. {
  142. $where = $this->request->params(['date','order_sn','order_status','keywords','bill_status','settled']);
  143. $page = 1;
  144. $limit = 0;
  145. $temporaryData = $this->repository->GetVipOrder($where,$page,$limit);
  146. $data = $temporaryData['list'];
  147. $arr = [];
  148. foreach ($data as $item) {
  149. $arr[] = [
  150. $item['order_vip_id'],
  151. $item['uid'],
  152. $item['pid'],
  153. $item['order_sn'],
  154. $item['pay_money'],
  155. $item['status'],
  156. $item['new_customer'],
  157. $item['order_time'],
  158. $item['sign_time'],
  159. $item['settled_time'],
  160. $item['goods_id'],
  161. $item['goods_name'],
  162. $item['goods_thumb'],
  163. $item['goods_count'],
  164. $item['commission_total'],
  165. $item['commission_rate'],
  166. $item['commission'],
  167. $item['commission_time'],
  168. $item['order_source'],
  169. $item['last_update_time'],
  170. $item['settled'],
  171. $item['self_buy'],
  172. $item['order_status'],
  173. $item['after_commission'],
  174. $item['after_count'],
  175. $item['bill_status'],
  176. $item['bill_end_time'],
  177. $item['create_time'],
  178. $item['gzc'],
  179. $item['bill_create_time'],
  180. $item['user_address_ids'],
  181. $item['pv'],
  182. ];
  183. }
  184. $header = [
  185. '订单表ID',
  186. '用户ID',
  187. '关联PID',
  188. '订单号',
  189. '订单支付金额',
  190. '订单状态(0不合格1待定2已完结)',
  191. '新老客(0待定1新客2老客)',
  192. '下单时间',
  193. '签收时间',
  194. '结算时间',
  195. '商品ID',
  196. '商品名称',
  197. '商品缩略图',
  198. '商品数量',
  199. '商品计佣金额',
  200. '商品佣金比例(%)',
  201. '商品佣金金额',
  202. '入账时间',
  203. '订单来源',
  204. '上次更新时间',
  205. '结算状态(0未结算1已结算)',
  206. '是否自推自买(0否1是)',
  207. '订单子状态',
  208. '售后佣金变动',
  209. '售后数量变动',
  210. '结算标记(0未结算1已结算2失效)',
  211. '可结算日期(时间戳)',
  212. '订单创建时间',
  213. '公证处标记(0否1是)',
  214. '平台结算时间',
  215. '详细地址串',
  216. 'PV值',
  217. ];
  218. $filename = '唯品会订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  219. $_instance = SpreadsheetExcelService::instance_xin();
  220. $_path = $_instance
  221. ->createOrActive()
  222. ->setExcelHeader($header)
  223. ->setExcelTile('唯品会订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  224. ->setExcelContent($arr)
  225. ->excelSave($filename, 'xlsx', 'extract');
  226. $domain = request()->domain();
  227. return [
  228. 'name' => $filename . '.xlsx',
  229. 'status' => 1,
  230. 'path' => $domain . '/' . $_path
  231. ];
  232. }
  233. public function getPddOrder()
  234. {
  235. $where = $this->request->params(['date','order_sn','pin_order_status','keywords','bill_status']);
  236. $page = 1;
  237. $limit = 0;
  238. $temporaryData = $this->repository->GetPddOrder($where,$page,$limit);
  239. $data = $temporaryData['list'];
  240. $arr = [];
  241. foreach ($data as $item) {
  242. $arr[] = [
  243. $item['order_pdd_id'],
  244. $item['uid'],
  245. $item['goods_id'],
  246. $item['goods_sign'],
  247. $item['order_sn'],
  248. $item['goods_num'],
  249. $item['goods_img'],
  250. $item['goods_name'],
  251. $item['goods_price'],
  252. $item['order_type'],
  253. $item['pin_order_status'],
  254. $item['pin_order_status_desc'],
  255. $item['order_money'],
  256. $item['pay_money'],
  257. $item['create_time'],
  258. $item['group_time'],
  259. $item['pay_time'],
  260. $item['receive_time'],
  261. $item['settle_time'],
  262. $item['last_modify_time'],
  263. $item['p_id'],
  264. $item['commission_rate'],
  265. $item['commission'],
  266. $item['bill_status'],
  267. $item['bill_create_time'],
  268. $item['bill_end_time'],
  269. $item['gzc'],
  270. $item['user_address_ids'],
  271. $item['pv'],
  272. ];
  273. }
  274. $header = [
  275. '订单ID',
  276. '用户ID',
  277. '商品ID',
  278. '商品sign',
  279. '订单号',
  280. '商品数量',
  281. '商品图片',
  282. '商品名称',
  283. '商品单价',
  284. '订单类型',
  285. '订单状态码',
  286. '订单状态描述',
  287. '订单金额',
  288. '实付金额',
  289. '创建时间',
  290. '成团时间',
  291. '支付时间',
  292. '收货时间',
  293. '结算时间',
  294. '最后更新时间',
  295. 'PID',
  296. '佣金比例',
  297. '佣金金额',
  298. '结算状态',
  299. '平台结算时间',
  300. '可结算日期',
  301. '公证处IN10是否发起0否1是',
  302. '地址详情',
  303. 'PV值',
  304. ];
  305. $filename = '拼多多订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  306. $_instance = SpreadsheetExcelService::instance_xin();
  307. $_path = $_instance
  308. ->createOrActive()
  309. ->setExcelHeader($header)
  310. ->setExcelTile('拼多多订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  311. ->setExcelContent($arr)
  312. ->excelSave($filename, 'xlsx', 'extract');
  313. $domain = request()->domain();
  314. return [
  315. 'name' => $filename . '.xlsx',
  316. 'status' => 1,
  317. 'path' => $domain . '/' . $_path
  318. ];
  319. }
  320. public function getSuOrder()
  321. {
  322. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  323. $page = 1;
  324. $limit = 0;
  325. $temporaryData = $this->repository->GetSuOrder($where,$page,$limit);
  326. $data = $temporaryData['list'];
  327. $arr = [];
  328. foreach ($data as $item) {
  329. $arr[] = [
  330. $item['uid'],
  331. $item['order_sn'],
  332. $item['pid'],
  333. $item['status'],
  334. $item['goods_id'],
  335. $item['goods_name'],
  336. $item['goods_thumb'],
  337. $item['goods_count'],
  338. $item['cust_no'],
  339. $item['order_time'],
  340. $item['pay_time'],
  341. $item['change_time'],
  342. $item['settled_time'],
  343. $item['refund_time'],
  344. $item['total_amount'],
  345. $item['pay_amount'],
  346. $item['commission_rate'],
  347. $item['commission'],
  348. $item['pre_commission'],
  349. $item['bill_status'],
  350. $item['bill_create_time'],
  351. $item['bill_end_time'],
  352. $item['create_time'],
  353. $item['gzc'],
  354. $item['user_address_ids'],
  355. $item['pv'],
  356. ];
  357. }
  358. $header = [
  359. '用户ID',
  360. '订单行号',
  361. '第三方标示',
  362. '订单状态名称',
  363. '商品ID',
  364. '商品名称',
  365. '商品图片',
  366. '数量',
  367. '推广会员编码',
  368. '下单时间',
  369. '支付时间',
  370. '变动时间',
  371. '结算时间',
  372. '退款时间',
  373. '订单金额',
  374. '实付金额',
  375. '佣金比例',
  376. '佣金金额',
  377. '预估佣金',
  378. '结算状态',
  379. '平台结算时间',
  380. '可结算日期',
  381. '创建时间',
  382. '公证处IN10是否发起0否1是',
  383. '详细地址串',
  384. 'PV值',
  385. ];
  386. $filename = '苏宁订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  387. $_instance = SpreadsheetExcelService::instance_xin();
  388. $_path = $_instance
  389. ->createOrActive()
  390. ->setExcelHeader($header)
  391. ->setExcelTile('苏宁订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  392. ->setExcelContent($arr)
  393. ->excelSave($filename, 'xlsx', 'extract');
  394. $domain = request()->domain();
  395. return [
  396. 'name' => $filename . '.xlsx',
  397. 'status' => 1,
  398. 'path' => $domain . '/' . $_path
  399. ];
  400. }
  401. public function getTbOrder()
  402. {
  403. $where = $this->request->params(['date','order_sn','tk_status','keywords','bill_status']);
  404. $page = 1;
  405. $limit = 0;
  406. $temporaryData = $this->repository->GetTbOrder($where,$page,$limit);
  407. $limit = 0;
  408. $data = $temporaryData['list'];
  409. $arr = [];
  410. foreach ($data as $item) {
  411. $arr[] = [
  412. $item['order_tb_id'],
  413. $item['uid'],
  414. $item['pid'],
  415. $item['type'],
  416. $item['order_sn'],
  417. $item['trade_id'],
  418. $item['pub_id'],
  419. $item['item_id'],
  420. $item['item_img'],
  421. $item['item_title'],
  422. $item['item_num'],
  423. $item['item_price'],
  424. $item['seller_shop_title'],
  425. $item['pay_price'],
  426. $item['alipay_total_price'],
  427. $item['tk_status'],
  428. $item['create_time'],
  429. $item['tk_earning_time'],
  430. $item['pub_share_rate'],
  431. $item['tk_total_rate'],
  432. $item['income_rate'],
  433. $item['commission_rate'],
  434. $item['commission'],
  435. $item['bill_status'],
  436. $item['bill_create_time'],
  437. $item['bill_end_time'],
  438. $item['gzc'],
  439. $item['user_address_ids'],
  440. $item['pv'],
  441. ];
  442. }
  443. $header = [
  444. '订单表ID',
  445. '用户ID',
  446. 'PID',
  447. '类型',
  448. '订单号',
  449. '交易号',
  450. '推广者ID',
  451. '商品ID',
  452. '商品图片',
  453. '商品名称',
  454. '数量',
  455. '单价',
  456. '店铺名称',
  457. '支付金额',
  458. '拍下付款金额',
  459. '订单状态',
  460. '下单时间',
  461. '订单确认收货后且商家完成佣金支付的时间',
  462. '从结算佣金中分得的收益比率',
  463. '提成=收入比率*分成比率。指实际获得收益的比率',
  464. '订单结算的佣金比率+平台的补贴比率',
  465. '佣金比率',
  466. '佣金金额=结算金额*佣金比率',
  467. '0平台未结算1已结算2失效',
  468. '平台结算时间',
  469. '平台可结算日期',
  470. '公证处IN10是否发起0否1是',
  471. '详细地址串',
  472. 'PV值',
  473. ];
  474. $filename = '淘宝订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  475. $_instance = SpreadsheetExcelService::instance_xin();
  476. $_path = $_instance
  477. ->createOrActive()
  478. ->setExcelHeader($header)
  479. ->setExcelTile('淘宝订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  480. ->setExcelContent($arr)
  481. ->excelSave($filename, 'xlsx', 'extract');
  482. $domain = request()->domain();
  483. return [
  484. 'name' => $filename . '.xlsx',
  485. 'status' => 1,
  486. 'path' => $domain . '/' . $_path
  487. ];
  488. }
  489. public function getHfOrder()
  490. {
  491. $where = $this->request->params(['date','order_sn','status','keywords','bill_status']);
  492. $page = 1;
  493. $limit = 0;
  494. $temporaryData = $this->repository->GetHfOrder($where,$page,$limit);
  495. $data = $temporaryData['list'];
  496. $arr = [];
  497. foreach ($data as $item) {
  498. $arr[] = [
  499. $item['order_huafei_id'],
  500. $item['uid'],
  501. $item['mobile'],
  502. $item['commission'],
  503. $item['commission_share'],
  504. $item['order_number'],
  505. $item['order_sn'],
  506. $item['amount_price'],
  507. $item['fanli_price'],
  508. $item['cost_price'],
  509. $item['arrived_amount'],
  510. $item['pay_money'],
  511. $item['create_time'],
  512. $item['finish_time'],
  513. $item['modify_time'],
  514. $item['status'],
  515. $item['bill_status'],
  516. $item['bill_create_time'],
  517. $item['bill_end_time'],
  518. $item['gzc'],
  519. $item['pv'],
  520. $item['is_independentaccount'],
  521. ];
  522. }
  523. $header = [
  524. '订单ID',
  525. '用户ID',
  526. '充值手机号',
  527. '佣金',
  528. '佣金比例',
  529. '平台订单号',
  530. '本地订单号',
  531. '充值金额',
  532. '返利金额',
  533. '成本金额',
  534. '到账金额',
  535. '实际金额',
  536. '创建时间',
  537. '完成时间',
  538. '更新时间',
  539. '订单状态',
  540. '结算状态',
  541. '平台结算时间',
  542. '可结算日期',
  543. '公证处IN10是否发起0否1是',
  544. 'PV值',
  545. '是否分账0否1是',
  546. ];
  547. $filename = '话费订单导出_' . date('YmdHis') . '_' . rand(10000,99999);
  548. $_instance = SpreadsheetExcelService::instance_xin();
  549. $_path = $_instance
  550. ->createOrActive()
  551. ->setExcelHeader($header)
  552. ->setExcelTile('话费订单明细', $filename, '生成时间: ' . date('Y-m-d H:i:s'))
  553. ->setExcelContent($arr)
  554. ->excelSave($filename, 'xlsx', 'extract');
  555. $domain = request()->domain();
  556. return [
  557. 'name' => $filename . '.xlsx',
  558. 'status' => 1,
  559. 'path' => $domain . '/' . $_path
  560. ];
  561. }
  562. }