167 lines
5.0 KiB
PHP
167 lines
5.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2020-11-5
|
|
* @version 1.0.0
|
|
*
|
|
* _____LOG_____
|
|
*
|
|
*/
|
|
|
|
namespace app\modules\store\controllers;
|
|
|
|
use app\components\Serializer;
|
|
use app\models\auth\Role;
|
|
use app\models\auth\RoleUser;
|
|
use app\models\CardUnion;
|
|
use app\models\District;
|
|
use app\models\Store;
|
|
use app\models\StoreEarnings;
|
|
use app\models\StoreUser;
|
|
use app\models\User;
|
|
use app\modules\store\models\storeUser\StoreUserEditForm;
|
|
use app\modules\store\models\storeUser\StoreUserListForm;
|
|
use app\modules\store\behaviors\LoginBehavior;
|
|
use app\components\EncryptHelper;
|
|
use app\modules\store\models\store\StoreActionForm;
|
|
use app\modules\store\models\store\StoreEaringsListForm;
|
|
use app\modules\store\models\store\StoreEditForm;
|
|
use app\modules\store\models\store\StoreListForm;
|
|
|
|
|
|
class StoreController extends Controller
|
|
{
|
|
public function behaviors()
|
|
{
|
|
return array_merge(parent::behaviors(), [
|
|
'login' => [
|
|
'class' => LoginBehavior::className(),
|
|
],
|
|
]);
|
|
}
|
|
|
|
//门店列表
|
|
public function actionIndex()
|
|
{
|
|
if (\Yii::$app->request->isAjax) {
|
|
$form = new StoreListForm();
|
|
$form->attributes = \Yii::$app->request->get();
|
|
$data = $form->search();
|
|
return $this->responseHandler($data);
|
|
}
|
|
$district = District::getTerritorial();
|
|
$district = (new Serializer())->encode($district);
|
|
return $this->render('index', [
|
|
'district' => $district,
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
//绑定记录
|
|
public function actionBind()
|
|
{
|
|
$time = time();
|
|
$date = date('Y-m-d H:00:00', $time - 60 * 60 * 12) . " - " . date('Y-m-d H:00:00', $time);
|
|
$store = Store::find()->select('id,name')->where(['is_delete' => 0])->asArray()->all();
|
|
return $this->render('bind', [
|
|
'store' => $store,
|
|
'date' => $date,
|
|
]);
|
|
}
|
|
|
|
|
|
/**
|
|
* @ Author : Lw
|
|
* @ CreateTime : 2022-11-15
|
|
* @ Info : 获取场地扫码数据
|
|
*/
|
|
public function actionGetCdQrData()
|
|
{
|
|
$obj = new StoreEaringsListForm();
|
|
$get = \Yii::$app->request->get();
|
|
$get['store_id'] = \Yii::$app->store->identity->store_id;;
|
|
$obj->attributes = $get;
|
|
$res = $obj->getStoreList();
|
|
return $this->responseHandler($res);
|
|
}
|
|
|
|
//门店人员管理创建/编辑
|
|
public function actionStoreUserEdit($id = 0)
|
|
{
|
|
$model = StoreUser::findOne([
|
|
'id' => $id,
|
|
'is_delete' => 0
|
|
]);
|
|
if ($model == null)
|
|
$model = new StoreUser();
|
|
if (\Yii::$app->request->isPost) {
|
|
$form = new StoreUserEditForm();
|
|
$form->attributes = \Yii::$app->request->post();
|
|
$form->model = $model;
|
|
$form->cx_mch_id = $this->cx_mch_id;
|
|
$form->store_id = \Yii::$app->store->identity->store_id;
|
|
$form->creator_user_id = \Yii::$app->admin->identity->user_id;
|
|
$data = $form->edit();
|
|
return $this->responseHandler($data);
|
|
}
|
|
|
|
if ($model != null) {
|
|
$user = User::findOne(['id' => $model->user_id]);
|
|
} else {
|
|
$user = new User();
|
|
}
|
|
$store = Store::find()->where(['is_delete' => 0])->asArray()->all();
|
|
return $this->render('store-user-edit', [
|
|
'store' => $store,
|
|
'password' => '12345678',
|
|
'model' => $model,
|
|
'user' => $user
|
|
]);
|
|
}
|
|
|
|
|
|
//门店人员管理
|
|
public function actionStoreUser()
|
|
{
|
|
if (\Yii::$app->request->isAjax) {
|
|
$form = new StoreUserListForm();
|
|
$form->attributes = \Yii::$app->request->get();
|
|
$form->store_id = \Yii::$app->store->identity->store_id;
|
|
$form->id = \Yii::$app->store->identity->id;
|
|
$data = $form->search();
|
|
return $this->responseHandler($data);
|
|
}
|
|
return $this->render('store-user');
|
|
}
|
|
|
|
|
|
//门店收益
|
|
public function actionStoreEarings()
|
|
{
|
|
$get = \Yii::$app->request->get();
|
|
|
|
$store_id = \Yii::$app->store->identity->store_id;
|
|
|
|
if (\Yii::$app->request->isAjax) {
|
|
$form = new StoreEaringsListForm();
|
|
$form->attributes = $get;
|
|
$form->store_id = $store_id;
|
|
$data = $form->search();
|
|
return $this->responseHandler($data);
|
|
}
|
|
$start_time = !empty($get['start_time']) ? strtotime($get['start_time']) : 0;
|
|
$end_time = !empty($get['end_time']) ? strtotime($get['end_time']) : time();
|
|
$sum = StoreEarnings::find()->where(['between', 'created_at', $start_time, $end_time])->andWhere([
|
|
'store_id' => $store_id,
|
|
'is_delete' => 0,
|
|
])->sum('money')??0;
|
|
return $this->render('earings', [
|
|
'store_money' => round($sum,2),
|
|
]);
|
|
}
|
|
|
|
|
|
} |