DashboardController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: leo
  5. * Date: 2018/2/24
  6. * Time: 下午12:48
  7. */
  8. namespace frontendApi\modules\v1\controllers;
  9. use common\helpers\Cache;
  10. use common\helpers\ChartData;
  11. use common\helpers\Date;
  12. use common\helpers\user\Reconsume;
  13. use common\helpers\user\Info;
  14. use common\models\Ad;
  15. use common\models\Article;
  16. use common\models\ArticleCategory;
  17. use common\models\CalcBonus;
  18. use common\models\FlowBonus;
  19. use common\models\Period;
  20. use common\models\ReconsumePool;
  21. class DashboardController extends BaseController
  22. {
  23. public $modelClass = FlowBonus::class;
  24. public function behaviors() {
  25. $behaviors = parent::behaviors();
  26. return $behaviors;
  27. }
  28. /**
  29. * 控制台首页
  30. * @return mixed
  31. * @throws \yii\base\Exception
  32. * @throws \yii\db\Exception
  33. * @throws \yii\web\HttpException
  34. */
  35. public function actionIndex(){
  36. $nowTime = Date::nowTime();
  37. $baseInfo=Info::baseInfoZh(\Yii::$app->user->id);
  38. $news=ArticleCategory::find()->select('ID,CATE_NAME')->orderBy('SORT ASC')->asArray()->all();
  39. $where = ' CID=:CID AND STATUS=1';
  40. $time = time();
  41. foreach ($news as &$value){
  42. $params = [
  43. ':CID'=>$value['ID'],
  44. ];
  45. $value['LISTS']=Article::find()->select('ID,TITLE,CID,CREATED_AT')->where($where,$params)->orderBy('CREATED_AT DESC')->limit(6)->asArray()->all();
  46. }
  47. $empLv = $baseInfo['EMP_LV'];
  48. $empLvName = $baseInfo['EMP_LV_NAME'];
  49. if($baseInfo['SHOW_EMP_LV']){
  50. $empLv = $baseInfo['SHOW_EMP_LV'];
  51. $empLvName = Cache::getEmpLevelConfig()[$baseInfo['SHOW_EMP_LV']]['LEVEL_NAME'];
  52. }
  53. //会员级别
  54. $decLv = $baseInfo['DEC_LV'];
  55. $decLvName = $baseInfo['DEC_LV_NAME'];
  56. //期数显示
  57. $period = Period::instance();
  58. $periodNum = $period->getNowPeriodNum();
  59. //
  60. $curYM = Period::find()->select("CALC_YEAR,CALC_MONTH")->where('PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM'=>$periodNum])->asArray()->one();
  61. $plist=Period::find()->select("PERIOD_NUM")->where('CALC_YEAR=:CALC_YEAR AND CALC_MONTH=:CALC_MONTH', [':CALC_YEAR'=>$curYM['CALC_YEAR'],':CALC_MONTH'=>$curYM['CALC_MONTH']])->orderBy('PERIOD_NUM ASC')->asArray()->all();
  62. $weeks = count($plist);
  63. $wkrd = '';
  64. foreach ($plist as $k=>$v){
  65. if($v['PERIOD_NUM']==$periodNum){
  66. $wkrd =$k+1;break;
  67. }
  68. }
  69. return static::notice([
  70. 'nowTime' => $nowTime,
  71. 'empLv'=>$empLv,
  72. 'empLvName'=>$empLvName,
  73. 'decLv'=>$decLv,
  74. 'decLvName'=>$decLvName,
  75. 'slides'=>Ad::findUseSlaves()->select('ID,IMAGE,LID,TITLE,CONTENT,TYPE')->where('LID=:LID AND STATUS=1', [':LID'=>'7EFF6260A16C3CC7E053693418AC03E4'])->orderBy('SORT ASC')->asArray()->all(),
  76. 'news'=>$news,
  77. 'periodNum'=>$periodNum.'期,'.$curYM['CALC_MONTH'].'月第'.$wkrd.'周,共'.$weeks.'周',
  78. ]);
  79. }
  80. /**
  81. * 移动端我的页面首页
  82. * @return mixed
  83. * @throws \yii\base\Exception
  84. * @throws \yii\web\HttpException
  85. */
  86. public function actionMyIndex() {
  87. $nowTime = Date::nowTime();
  88. $baseInfo = Info::baseInfoZh(\Yii::$app->user->id);
  89. $empLv = $baseInfo['EMP_LV'];
  90. $empLvName = $baseInfo['EMP_LV_NAME'];
  91. if ($baseInfo['SHOW_EMP_LV']) {
  92. $empLv = $baseInfo['SHOW_EMP_LV'];
  93. $empLvName = Cache::getEmpLevelConfig()[$baseInfo['SHOW_EMP_LV']]['LEVEL_NAME'];
  94. }
  95. return static::notice([
  96. 'nowTime' => $nowTime,
  97. 'reConsumePool' => Reconsume::getUserReconsumePool(\Yii::$app->user->id),
  98. 'empLv' => $empLv,
  99. 'empLvName' => $empLvName,
  100. ]);
  101. }
  102. /**
  103. * 近7期奖金
  104. * @return mixed
  105. * @throws \yii\db\Exception
  106. * @throws \yii\web\HttpException
  107. */
  108. public function actionPeriodBonus(){
  109. return static::notice(CalcBonus::periodBonus(\Yii::$app->user->id));
  110. }
  111. /**
  112. * 奖金量
  113. * @return mixed
  114. * @throws \yii\web\HttpException
  115. */
  116. public function actionBonusNum(){
  117. $chartData = ChartData::instance();
  118. return static::notice($chartData->userBonusData(\Yii::$app->user->id));
  119. }
  120. }