BonusController.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: leo
  5. * Date: 2018/3/9
  6. * Time: 上午11:56
  7. */
  8. namespace console\controllers;
  9. use common\helpers\Cache;
  10. use common\helpers\Form;
  11. use common\models\forms\CalcServePeriodForm;
  12. use common\models\forms\PeriodForm;
  13. use yii\db\Exception;
  14. class BonusController extends BaseController
  15. {
  16. // 计算服务部分--------start
  17. /**
  18. * 计算服务---累计用户业绩---根据业务系统的业绩单
  19. */
  20. public function actionCalcServePerf($taskKey){
  21. $params = Cache::getAsyncParams($taskKey);
  22. $formModel = new CalcServePeriodForm();
  23. $handleResult = false;
  24. $periodNum = isset($params['periodNum']) && !empty($params['periodNum']) ? $params['periodNum'] : null;
  25. if($formModel->load($params, '') && $formModel->perfAsync($params['handleUserId'],$periodNum)){
  26. $handleResult = true;
  27. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "累计用户业绩第{$params['periodNum']}期生成业绩单更新成功");
  28. } else {
  29. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "累计用户业绩第{$params['periodNum']}期生成业绩单更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()), false);
  30. }
  31. if(!$handleResult){
  32. echo "计算服务累计业绩,第{$params['periodNum']}期生成业绩单更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors());
  33. }
  34. }
  35. /**
  36. * 计算服务---计算奖金
  37. */
  38. /**
  39. * 结算奖金
  40. * @param $taskKey
  41. * @throws Exception
  42. * @throws \yii\base\Exception
  43. */
  44. public function actionCalcServeCalcBonus($taskKey){
  45. $params = Cache::getAsyncParams($taskKey);
  46. $formModel = new CalcServePeriodForm();
  47. $handleResult = false;
  48. if($formModel->load($params, '') && $formModel->calcAsync($params['handleUserId'])){
  49. $handleResult = true;
  50. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期奖金结算更新成功");
  51. } else {
  52. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期奖金结算更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()), false);
  53. }
  54. if(!$handleResult){
  55. echo "第{$params['periodNum']}期奖金结算更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors());
  56. }
  57. }
  58. // 计算服务部分---------end
  59. /**
  60. * 生成业绩单并计算业绩
  61. * @param $taskKey
  62. * @throws Exception
  63. * @throws \yii\base\Exception
  64. */
  65. public function actionPerf($taskKey){
  66. $params = Cache::getAsyncParams($taskKey);
  67. $formModel = new PeriodForm();
  68. $handleResult = false;
  69. if($formModel->load($params, '') && $formModel->perfAsync($params['handleUserId'])){
  70. $handleResult = true;
  71. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期生成业绩单更新成功");
  72. } else {
  73. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期生成业绩单更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()), false);
  74. }
  75. if(!$handleResult){
  76. echo "第{$params['periodNum']}期生成业绩单更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors());
  77. // Log::async([
  78. // 'type' => LogAsync::TYPE_BONUS,
  79. // 'route' => \Yii::$app->controller->id.'/'.\Yii::$app->controller->action->id,
  80. // 'title' => "第{$params['periodNum']}期生成业绩单更新失败",
  81. // 'detail' => "第{$params['periodNum']}期生成业绩单更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()),
  82. // 'status' => 0,
  83. // ]);
  84. }
  85. }
  86. /**
  87. * 结算奖金
  88. * @param $taskKey
  89. * @throws Exception
  90. * @throws \yii\base\Exception
  91. */
  92. public function actionCalc($taskKey){
  93. $params = Cache::getAsyncParams($taskKey);
  94. $formModel = new PeriodForm();
  95. $handleResult = false;
  96. if($formModel->load($params, '') && $formModel->calcAsync($params['handleUserId'])){
  97. $handleResult = true;
  98. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期奖金结算更新成功");
  99. } else {
  100. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期奖金结算更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()), false);
  101. }
  102. if(!$handleResult){
  103. echo "第{$params['periodNum']}期奖金结算更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors());
  104. // Log::async([
  105. // 'type' => LogAsync::TYPE_BONUS,
  106. // 'route' => \Yii::$app->controller->id.'/'.\Yii::$app->controller->action->id,
  107. // 'title' => "第{$params['periodNum']}期奖金结算更新失败",
  108. // 'detail' => "第{$params['periodNum']}期奖金结算更新失败,原因:".Form::formatErrorsForApi($formModel->getErrors()),
  109. // 'status' => 0,
  110. // ]);
  111. }
  112. }
  113. /**
  114. * 奖金挂网
  115. * @param $taskKey
  116. * @throws Exception
  117. * @throws \yii\base\Exception
  118. */
  119. public function actionSend($taskKey){
  120. $params = Cache::getAsyncParams($taskKey);
  121. $formModel = new PeriodForm();
  122. $handleResult = false;
  123. if($formModel->load($params, '') && $formModel->sendAsync($params['handleUserId'])){
  124. $handleResult = true;
  125. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期挂网成功");
  126. } else {
  127. \Yii::$app->swooleAsyncTimer->pushAsyncResultToAdmin($params['handleUserId'], "第{$params['periodNum']}期挂网失败,原因:".Form::formatErrorsForApi($formModel->getErrors()), false);
  128. }
  129. if(!$handleResult){
  130. echo "第{$params['periodNum']}期挂网失败,原因:".Form::formatErrorsForApi($formModel->getErrors());
  131. // Log::async([
  132. // 'type' => LogAsync::TYPE_BONUS,
  133. // 'route' => \Yii::$app->controller->id.'/'.\Yii::$app->controller->action->id,
  134. // 'title' => "第{$params['periodNum']}期挂网失败",
  135. // 'detail' => "第{$params['periodNum']}期挂网失败,原因:".Form::formatErrorsForApi($formModel->getErrors()),
  136. // 'status' => 0,
  137. // ]);
  138. }
  139. }
  140. }