FundController.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace addons\QiShangTong\backend\controllers;
  3. use addons\QiShangTong\common\logic\DownloadLogic;
  4. use addons\QiShangTong\common\service\FundService;
  5. use addons\QiShangTong\common\service\SettingService;
  6. use common\enums\DownloadEnum;
  7. use common\helpers\csv\CsvExportHelper;
  8. use Yii;
  9. use yii\helpers\Json;
  10. /**
  11. * 默认控制器
  12. *
  13. * Class DefaultController
  14. * @package addons\MasterMallApp\backend\controllers
  15. */
  16. class FundController extends BaseController
  17. {
  18. public $enableCsrfValidation = false;
  19. /**
  20. * 首页
  21. *
  22. * @return string
  23. */
  24. public function actionIndex()
  25. {
  26. if (Yii::$app->request->isAjax && Yii::$app->request->isGet) {
  27. $data = Yii::$app->request->get();
  28. $valid = Yii::$app->services->validate->validate($data, [
  29. [['page', 'limit'], 'integer'],
  30. [['keyword'], 'safe'],
  31. [['date_start', 'date_end'], 'string'],
  32. ]);
  33. if ($valid === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  34. $fService = new FundService();
  35. $ret = $fService->page($this->mall_id, $data);
  36. if (is_array($ret)) {
  37. $params = [];
  38. if (!SettingService::isMasterMall($this->mall_id)) {
  39. $params['mall_id'] = $this->mall_id;
  40. }
  41. $ret['config'] = (new SettingService())->get(SettingService::getMasterMall());
  42. $ret['statistics'] = $fService->statistics($params);
  43. }
  44. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret);
  45. }
  46. return $this->render('index',['is_master' => SettingService::isMasterMall($this->mall_id), 'export_list' => Json::encode([
  47. 'mall_id' => '商城ID',
  48. 'mall_name' => '商城名称',
  49. 'order_no' => '异动单号',
  50. 'created_at' => '创建时间',
  51. 'amount' => '异动金额',
  52. 'type' => '异动类型',
  53. 'direction' => '支出/收入',
  54. 'remark' => '异动备注'
  55. ])]);
  56. }
  57. public function actionDownload()
  58. {
  59. $post = \Yii::$app->request->post();
  60. if (empty($post['mall_id'])) {
  61. if (!SettingService::isMasterMall($this->mall_id)) $post['mall_id'] = $this->mall_id;
  62. }
  63. $post['func'] = 'f';
  64. $filename = '企商通-资金明细-' . date('YmdHis') . '_' . rand(10000, 99999);
  65. $res = CsvExportHelper::exportDownLoadCenter($this->mall_id, $filename, DownloadEnum::TYPE_QI_SHANG_TONG_FUND,
  66. DownloadLogic::class, 'exportHandle', $post);
  67. if ($res === false) return $this->error('加入导出任务失败' . CsvExportHelper::getStaticError());
  68. return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!');
  69. }
  70. }