StoreCommissionCheckController.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace addons\Store\backend\controllers;
  3. use addons\Store\common\enums\StoreEnum;
  4. use addons\Store\common\models\Store;
  5. use addons\Store\common\models\StoreCommission;
  6. use addons\Store\common\models\StoreCommissionCheck;
  7. use common\enums\StatusEnum;
  8. class StoreCommissionCheckController extends BaseController
  9. {
  10. public function actionIndex()
  11. {
  12. if (\Yii::$app->request->isAjax) {
  13. if (\Yii::$app->request->isGet) {
  14. $params = \Yii::$app->request->get();
  15. $where[] = ['=', 'mall_id', $this->mall_id];
  16. $where[] = ['in', 'status', [StatusEnum::ENABLED, StatusEnum::DISABLED]];
  17. if (!empty($params['keyword'])) {
  18. $store_list = Store::lists(['where' => [['mall_id' => $this->mall_id], [
  19. 'or',
  20. ['like', 'shop_mobile', $params['keyword']],
  21. ['like', 'store_name', $params['keyword']]
  22. ]], 'select' => 'id']);
  23. $store_ids = array_column($store_list, 'id');
  24. $where[] = ['store_id' => $store_ids];
  25. }
  26. if (isset($params['check_status'])) $where[] = ['=', 'check_status', $params['check_status']];
  27. if (!empty($params['start'])) $where[] = ['>=', 'created_at', strtotime($params['start'])];
  28. if (!empty($params['end'])) $where[] = ['<=', 'created_at', strtotime($params['end'])];
  29. $params['where'] = $where;
  30. $params['limit'] = 10;
  31. $params['order'] = 'id DESC';
  32. $pageData = StoreCommissionCheck::listPage($params, false);
  33. if (!empty($pageData)) {
  34. $store_ids = array_column($pageData['list'], 'store_id');
  35. $store_list = Store::lists(['where' => [['id' => $store_ids]],
  36. 'select' => 'id,shop_mobile,store_name,logo_img', 'index' => 'id']);
  37. foreach ($pageData['list'] as &$v) {
  38. $v['store_name'] = $v['shop_mobile'] = $v['logo_img'] = '';
  39. if (isset($store_list[$v['store_id']])) {
  40. $v['shop_mobile'] = $store_list[$v['store_id']]['shop_mobile'];
  41. $v['store_name'] = $store_list[$v['store_id']]['store_name'];
  42. $v['logo_img'] = $store_list[$v['store_id']]['logo_img'];
  43. }
  44. }
  45. }
  46. $pageData['check_status_map'] = StoreEnum::getCheckStatusMap();
  47. return $this->success('操作成功', $pageData);
  48. }
  49. }
  50. return $this->render('index', [
  51. ]);
  52. }
  53. //审核
  54. public function actionCheck()
  55. {
  56. if (\Yii::$app->request->isAjax) {
  57. if (\Yii::$app->request->isPost) {
  58. $params = \Yii::$app->request->post();
  59. $res = \Yii::$app->services->validate->validate($params, [
  60. [['id'], 'required', 'message' => '请选择记录'],
  61. [['check_status'], 'required', 'message' => '请选择审核状态'],
  62. ]);
  63. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  64. $StoreCommissionCheck = StoreCommissionCheck::findOne(['mall_id' => $this->mall_id,'id' => $params['id']]);
  65. if(empty($StoreCommissionCheck))return $this->error('待审核记录不存在');
  66. $store_commission = StoreCommission::findOne(['mall_id' => $this->mall_id, 'store_id' => $StoreCommissionCheck['store_id'], 'id' => $StoreCommissionCheck['store_commission_id']]);
  67. if (empty($store_commission)) return $this->error('货款记录不存在');
  68. if (!empty($store_commission['is_settlement'])) return $this->error('已结算');
  69. $params['mall_id'] = $this->mall_id;
  70. $res = StoreCommissionCheck::check($params['id'], $this->mall_id, $params['check_status'],$StoreCommissionCheck['store_id'],$StoreCommissionCheck['order_no']);
  71. if ($res == false) return $this->error(StoreCommissionCheck::getStaticError());
  72. return $this->success('操作成功');
  73. }
  74. }
  75. }
  76. }