AchievementController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace addons\BossAchievement\backend\controllers;
  3. use addons\Boss\common\enums\BossEnum;
  4. use addons\Boss\common\models\AddonsBoss;
  5. use addons\BossAchievement\common\logic\AchievementLogic;
  6. use addons\BossAchievement\common\models\BossAchievementMonth;
  7. use addons\BossAchievement\common\models\BossAchievementTeam;
  8. use common\enums\StatusEnum;
  9. use Yii;
  10. use common\controllers\AddonsController;
  11. /**
  12. * 业绩分红控制器
  13. *
  14. * Class AchievementController
  15. * @package addons\BossAchievement\backend\controllers
  16. */
  17. class AchievementController extends AddonsController
  18. {
  19. /**
  20. * @var string
  21. */
  22. // public $layout = "@addons/Boss/backend/views/layouts/main";
  23. public $enableCsrfValidation = false;
  24. /**
  25. * 业绩分红
  26. * @Author: lun
  27. * @DateTime: 2021/10/23 0023 10:14
  28. * @Copyright: copyright (c) 2021 广东七件事集团
  29. * @return mixed|void
  30. */
  31. public function actionIndex()
  32. {
  33. $retuest = Yii::$app->request;
  34. if ($retuest->isAjax) {
  35. if ($retuest->isPost) {
  36. $post = Yii::$app->request->post();
  37. $res = Yii::$app->services->validate->validate($post,[
  38. [['user_id','month','is_settlement'], 'integer'],
  39. ]);
  40. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  41. $where[] = ['=', 'mall_id', $this->mall_id];
  42. !empty($post['user_id']) && $where[] = ['=', 'user_id', $post['user_id']];
  43. !empty($post['month']) && $where[] = ['=', 'month', $post['month']];
  44. isset($post['is_settlement']) && $where[] = ['=', 'is_settlement', $post['is_settlement']];
  45. $where[] = ['=', 'status', StatusEnum::ENABLED];
  46. $order = 'id desc';
  47. $with = ['user'];
  48. $params = compact('where','order','with');
  49. $list = BossAchievementMonth::listPage($params);
  50. return $this->success('获取成功', $list);
  51. }
  52. }
  53. return $this->render($this->action->id);
  54. }
  55. /**
  56. * 结算测试
  57. * @Author: lun
  58. * @DateTime: 2022/7/12 0012 10:28
  59. * @Copyright: copyright (c) 2021 广东七件事集团
  60. */
  61. public function actionSettlement()
  62. {
  63. $retuest = Yii::$app->request;
  64. if ($retuest->isAjax) {
  65. if ($retuest->isPost) {
  66. $res = (new AchievementLogic())->settlement($this->mall_id, date('Ym', time()));
  67. if ($res === false) return $this->error('结算出错');
  68. return $this->success('结算成功');
  69. }
  70. }
  71. }
  72. /**
  73. * 清除本月业绩
  74. * @Author: lun
  75. * @DateTime: 2022/7/12 0012 10:46
  76. * @Copyright: copyright (c) 2021 广东七件事集团
  77. * @return mixed|void
  78. */
  79. public function actionClear()
  80. {
  81. $retuest = Yii::$app->request;
  82. if ($retuest->isAjax) {
  83. if ($retuest->isPost) {
  84. $month = date('Ym', time());
  85. // 团队本月数据改为未结算
  86. BossAchievementTeam::updateAll(['is_settlement' => StatusEnum::DISABLED], ['mall_id' => $this->mall_id, 'month' => $month, 'status' => StatusEnum::ENABLED]);
  87. // 已结算的本月董事改为未结算
  88. BossAchievementMonth::updateAll([
  89. 'is_settlement' => StatusEnum::DISABLED,
  90. 'bonus' => StatusEnum::DISABLED,
  91. 'settlement_money' => StatusEnum::DISABLED,
  92. 'settlement_num' => StatusEnum::DISABLED,
  93. 'standard_money' => StatusEnum::DISABLED,
  94. ], ['mall_id' => $this->mall_id, 'month' => $month, 'status' => StatusEnum::ENABLED]);
  95. return $this->success('清除成功');
  96. }
  97. }
  98. }
  99. }