| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\client\models\v1;
- use app\models\Admin;
- use app\models\Order;
- use app\models\SaasCategory;
- use app\models\Salesman;
- use app\models\SharingReceiver;
- use app\models\Store;
- use app\models\StoreReOrder;
- use app\models\StoreShareMoney;
- use app\models\User;
- use app\models\UserShareMoney;
- use yii\base\Model;
- use yii\data\Pagination;
- use yii\db\Expression;
- class AgencyForm extends Model
- {
- public $page = 1;
- public $limit = 5;
- public $type = 0;
- public function rules()
- {
- return [
- [['page','limit','type'],'integer']
- ];
- }
- //下级店铺
- public function lowerLevelShop(){
- $saas_user_id = get_saas_user_id();
- $admin = Admin::find()->where(['saas_user_id'=>$saas_user_id,'is_delete'=>0])->one();
- $sales_man_ids = Salesman::find()->where(['admin_id'=>$admin->id,'is_delete'=>0])->select("id")->column();
- $store = Store::find()->where(['is_delete'=>0]);
- if ($admin->area_level == 1) {
- //查找区代店铺
- $store->andWhere([
- 'or',
- ['province_id' => $admin->province_id, 'city_id' => $admin->city_id, 'district_id' => $admin->district_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } elseif ($admin->area_level == 2) {
- //查找市代
- $store->andWhere([
- 'or',
- ['province_id' => $admin->province_id,'city_id' => $admin->city_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } elseif ($admin->area_level == 3) {
- //查找省代
- $store->andWhere([
- 'or',
- ['province_id' => $admin->province_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } else {
- if ($admin->id) {
- $store->andWhere([
- 'or',
- ['admin_id' => $admin->id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- }
- }
- $count = $store->count();
- $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]);
- /* @var Order[] $list */
- $store_list = $store->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all();
- foreach($store_list as &$item){
- $item['created_at'] = date("Y-m-d",$item['created_at']);
- }
- return [
- 'code'=>0,
- 'msg'=>"SUCCESS",
- 'data'=>$store_list
- ];
- }
- //店铺订单
- public function shopOrder(){
- $saas_user_id = get_saas_user_id();
- $admin = Admin::find()->where(['saas_user_id' => $saas_user_id, 'is_delete' => 0])->one();
- $sales_man_ids = Salesman::find()->where(['admin_id' => $admin->id, 'is_delete' => 0])->select("id")->column();
- $store_ids = Store::find()->where(['is_delete'=>0]);
- if($admin->area_level == 1){
- //查找区代店铺
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin->province_id,'city_id' => $admin->city_id,'district_id' => $admin->district_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } elseif ($admin->area_level == 2) {
- //查找市代
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin->province_id,'city_id' => $admin->city_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } elseif ($admin->area_level == 3) {
- //查找省代
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin->province_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- } else {
- if ($admin->id) {
- $store_ids->andWhere([
- 'or',
- ['admin_id' => $admin->id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- }
- }
- $store_ids = $store_ids->select('id')->column();
- $query = Order::find()->where(['is_delete'=>0,'store_id'=>$store_ids])->select('id,order_no,store_id,name,created_at,is_pay,pay_price,ag_rebate as amount');//->asArray()->all();
- // $query = Store::find()->where(['salesman_id'=>$sales_man_ids,'is_delete'=>0])->select('id,name,logo');//->asArray()->all();
- $query->with(['store'=>function($query){
- $query->select('id,name,logo')->asArray();
- }]);
- $count = $query->count();
- $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]);
- /* @var Order[] $list */
- $order_list = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all();
- foreach($order_list as &$o){
- $o['created_at'] = date("Y-m-d H:i:s",$o['created_at']);
- }
- return [
- 'code'=>0,
- 'msg'=>"SUCCESS",
- 'data'=>$order_list
- ];
- }
- //店铺续费订单
- public function storeReOrder(){
- $saas_user_id = get_saas_user_id();
- $admin = Admin::find()->where(['saas_user_id'=>$saas_user_id,'is_delete'=>0])->one();
- $sales_man_ids = Salesman::find()->where(['admin_id'=>$admin->id,'is_delete'=>0])->select("id")->column();
- $store_ids =Store::find()->where(['is_delete'=>0]);
- if($admin_model->area_level == 1){
- //查找区代店铺
- if ($admin->id) {
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin_model->province_id,'city_id' => $admin_model->city_id,'district_id' => $admin_model->district_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- }
- }else if($admin_model->area_level == 2){
- //查找市代
- if ($admin->id) {
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin_model->province_id,'city_id' => $admin_model->city_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- }
- }else if($admin_model->area_level == 3) {
- //查找省代
- if ($admin->id) {
- $store_ids->andWhere([
- 'or',
- ['province_id' => $admin_model->province_id],
- ['in', 'salesman_id', $sales_man_ids]
- ]);
- }
- }else{
- //啥也不是
- }
- // if ($admin->id) {
- // $store_ids->andWhere([
- // 'or',
- // ['admin_id' => $admin->id],
- // ['in', 'salesman_id', $sales_man_ids]
- // ]);
- // }
- $store_ids = $store_ids->select('id')->column();
- $query = StoreReOrder::find()->where(['store_id'=>$store_ids,'is_pay'=>1])->select('id,order_no,total_price,desc,store_id,', new Expression('FROM_UNIXTIME(created_at,"%Y-%m-%d %H:%i:%s") as created_at,'));//->asArray()->all();
- $query->with(['store'=>function($query){
- $query->with(['admin'=>function($querys){
- $querys->select('name')->asArray();
- }])->select("id,name,logo,admin_id")->asArray();
- }]);
- $count = $query->count();
- $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]);
- $order = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all();
- return [
- 'code'=>0,
- 'msg'=>"SUCCESS",
- 'data'=>$order
- ];
- }
- //分佣
- public function commission(){
- $saas_user = get_saas_user();
- //店铺入驻费用返利
- $query = StoreShareMoney::find()->where(['user_id'=>$saas_user->id,'is_delete'=>0])->select('id,store_id,commission as money,order_id,created_at')
- ->with(['store'=>function($query){
- $query->select('id,name,logo')->asArray();
- }]);
- if($this->type*1 === 0){
- $query->with(['order'=>function($query){
- $query->select('id,order_no,total_price')->asArray();
- }])->andWhere(['type' => 1]);
- }else{
- //店铺入驻费用返利
- $query->with(['reorder'=>function($query){
- $query->select('id,order_no,total_price')->asArray();
- }])->andWhere(['type' => 0]);
- }
- $query->orderBy("created_at desc");
- $count = $query->count();
- $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]);
- /* @var Order[] $list */
- $data = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all();
- foreach($data as &$item){
- $item['created_at'] = date("Y-m-d H:i:s",$item['created_at']);
- $item['order'] = !empty($item['reorder'])?$item['reorder']:$item['order'];
- }
- return [
- 'code'=>0,
- 'msg'=>"SUCCESS",
- 'data'=>$data
- ];
- }
- }
|