SettingController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace addons\ScoreBonus\backend\controllers;
  3. use addons\ScoreBonus\common\enums\ScoreBonusEnums;
  4. use common\helpers\DateHelper;
  5. use common\models\common\MallSetting;
  6. use common\models\user\UserLevel;
  7. use Yii;
  8. use addons\ScoreBonus\common\listeners\OrderRefundFinishListener;
  9. use addons\ScoreBonus\common\services\ScoreBonusSettleService;
  10. use addons\ScoreBonus\common\models\ScoreBonusErrorLogModel;
  11. use addons\ScoreBonus\common\models\ScoreBonusRewardLogModel;
  12. class SettingController extends BaseController
  13. {
  14. /**
  15. * 基本设置
  16. * @return string
  17. */
  18. public function actionIndex()
  19. {
  20. if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {
  21. $params = Yii::$app->request->post();
  22. $res = Yii::$app->services->validate->validate($params, [
  23. [[ 'is_enable', 'settle_circle', 'bonus_pre', 'settle_type', 'user_score', 'is_show_at_center', 'is_all_reward', 'settle_method', 'recommend_user_num', 'recommend_user_weight', 'recommend_user_level', ], 'safe'],
  24. ]);
  25. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  26. try {
  27. $data = [
  28. 'basic' => $params
  29. ];
  30. Yii::$app->services->setting->addons->set($this->mall_id, ScoreBonusEnums::ADDONS_NAME, $data);
  31. } catch (\Exception $e) {
  32. return $this->error($e->getMessage());
  33. }
  34. return $this->success('操作成功', $data);
  35. } else {
  36. $H5Url = \Yii::$app->services->setting->platform->get('system.h5_url');
  37. return $this->render('index',['H5Url' => $H5Url]);
  38. }
  39. }
  40. /**
  41. * 获取设置详情
  42. */
  43. public function actionDetail()
  44. {
  45. if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {
  46. $config = Yii::$app->services->setting->addons->get($this->mall_id, ScoreBonusEnums::ADDONS_NAME, 'basic');
  47. $is_null = empty($config) ? 1 : 0;
  48. if (empty($config['is_all_reward'])) $config['is_all_reward'] = 1;
  49. if (empty($config['settle_method'])) $config['settle_method'] = 0;
  50. //用户等级配置获取
  51. $user_level_list = UserLevel::getUserLevel([['mall_id' => $this->mall_id]], [], 1);
  52. array_unshift($user_level_list, ['id' => 0, 'level' => 0, 'name' => MallSetting::getDefaultLevelName($this->mall_id)]);
  53. return $this->success('操作成功', compact('config', 'is_null', 'user_level_list'));
  54. }
  55. }
  56. public function actionTestListener()
  57. {
  58. // $params = [
  59. // 'id' => '1259',
  60. // 'source_table' => 'order_detail',
  61. // 'source_table_id' => 41767,
  62. // 'step_status' => 6,
  63. // ];
  64. $mall_id = 5;
  65. $config = Yii::$app->services->setting->addons->get($mall_id, ScoreBonusEnums::ADDONS_NAME, 'basic',true);
  66. // print_r($config);exit;
  67. $service = new ScoreBonusSettleService();
  68. $res = $service->scoreBonusSettle($mall_id, $config);
  69. // $error_log = [
  70. // 'mall_id' => $mall_id,
  71. // 'bid' => 10,
  72. // 'date_time' => 20240626,
  73. // 'error_log' => 'ceshi',
  74. // 'json_data' => json_encode($config),
  75. // ];
  76. // $res = ScoreBonusErrorLogModel::setData($error_log);
  77. // $params = [
  78. // 'mall_id' => 5,
  79. // 'user_id' => 483574,
  80. // 'addons_name' => 'ScoreBonus'
  81. // ];
  82. // $res = ScoreBonusRewardLogModel::getIncomeInfo($params);
  83. print_r($res);exit;
  84. }
  85. }