OrderController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace addons\QiShangTong\backend\controllers;
  3. use addons\QiShangTong\common\logic\DownloadLogic;
  4. use addons\QiShangTong\common\service\OrderService;
  5. use addons\QiShangTong\common\service\SettingService;
  6. use common\enums\ApiStatusEnum;
  7. use common\enums\DownloadEnum;
  8. use common\helpers\csv\CsvExportHelper;
  9. use Yii;
  10. use yii\helpers\Json;
  11. class OrderController extends BaseController
  12. {
  13. public $enableCsrfValidation = false;
  14. /**
  15. * 首页
  16. *
  17. * @return string
  18. */
  19. public function actionIndex()
  20. {
  21. if (\Yii::$app->request->isAjax && \Yii::$app->request->isGet) {
  22. $data = Yii::$app->request->get();
  23. $valid = Yii::$app->services->validate->validate($data, [
  24. [['limit', 'page'], 'integer'],
  25. [['member', 'order_no', 'third_order_no', 'goods_name', 'keyword'], 'string'],
  26. ]);
  27. if ($valid === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  28. $ret = (new OrderService())->page($this->mall_id, $data);
  29. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret, ApiStatusEnum::CODE_SUCCESS, JSON_BIGINT_AS_STRING);
  30. }
  31. return $this->render('index',['is_master' => SettingService::isMasterMall($this->mall_id), 'export_list' => Json::encode([
  32. 'mall_id' => '商城ID',
  33. 'mall_name' => '商城名称',
  34. 'order_no' => '订单编号',
  35. 'third_order_no'=> '第三方订单编号',
  36. 'req_success' => '推单状态',
  37. 'updated_at' => '推单时间',
  38. 'last_resp' => '推单详情',
  39. 'goods_name' => '商品名称',
  40. 'goods_attr_name' => '规格名称',
  41. 'pay_money' => '支付金额',
  42. 'pay_time' => '支付时间'
  43. ]), 'mall_id' => $this->mall_id]);
  44. }
  45. public function actionCompensate()
  46. {
  47. $data = Yii::$app->request->post();
  48. $valid = Yii::$app->services->validate->validate($data, [
  49. [['id'], 'integer'],
  50. [['id'], 'required'],
  51. ]);
  52. if ($valid === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  53. $ret = (new OrderService())->compensate($this->mall_id, $data['id']);
  54. return is_string($ret) ? $this->error($ret) : $this->success();
  55. }
  56. public function actionDownload()
  57. {
  58. $post = \Yii::$app->request->post();
  59. if (empty($post['mall_id'])) {
  60. if (!SettingService::isMasterMall($this->mall_id)) $post['mall_id'] = $this->mall_id;
  61. }
  62. $post['func'] = 'o';
  63. $filename = '企商通-订单管理-' . date('YmdHis') . '_' . rand(10000, 99999);
  64. $res = CsvExportHelper::exportDownLoadCenter($this->mall_id, $filename, DownloadEnum::TYPE_QI_SHANG_TONG_ORDER,
  65. DownloadLogic::class, 'exportHandle', $post);
  66. if ($res === false) return $this->error('加入导出任务失败' . CsvExportHelper::getStaticError());
  67. return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!');
  68. }
  69. }