RechargeSqController.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace hd\controllers;
  3. use bizHd\recharge\classes\RechargeSqClass;
  4. use common\components\util;
  5. use Yii;
  6. class RechargeSqController extends BaseController
  7. {
  8. public $guestAccess = [];
  9. //获取充值送钱的优惠政策 ssh 20250226
  10. public function actionGetWeal()
  11. {
  12. $shop = $this->shop;
  13. $shopId = $shop->id;
  14. $weal = RechargeSqClass::getAllByCondition(['shopId' => $shopId], null, '*', null);
  15. if (!empty($weal)) {
  16. foreach ($weal as $key => $value) {
  17. $recharge = $value['recharge'] ?? 0;
  18. $recharge = floatval($recharge);
  19. $give = $value['give'] ?? 0;
  20. $give = floatval($give);
  21. $weal[$key]['recharge'] = $recharge;
  22. $weal[$key]['give'] = $give;
  23. }
  24. }
  25. $rechargeWeal = $shop->rechargeWeal ?? 0;
  26. util::success(['weal' => $weal, 'rechargeWeal' => $rechargeWeal]);
  27. }
  28. public function actionGetRechargeData()
  29. {
  30. $mainId = $this->mainId;
  31. $arr = [];
  32. $weal = RechargeSqClass::getAllByCondition(['mainId' => $mainId], 'recharge asc', '*', null, true);
  33. if (!empty($weal)) {
  34. foreach ($weal as $key => $val) {
  35. $recharge = $val->recharge ?? 0;
  36. $recharge = floatval($recharge);
  37. $give = $val->give ?? 0;
  38. $give = floatval($give);
  39. $arr[] = ['recharge' => $recharge, 'give' => $give];
  40. }
  41. }
  42. util::success(['recharge' => $arr]);
  43. }
  44. public function actionModifyRecharge()
  45. {
  46. $post = Yii::$app->request->post();
  47. $data = $post['data'] ?? [];
  48. if (empty($data)) {
  49. util::fail('请填写内容');
  50. }
  51. $shopId = $this->shopId;
  52. $mainId = $this->mainId;
  53. $connection = Yii::$app->db;
  54. $transaction = $connection->beginTransaction();
  55. try {
  56. //验证recharge和give值递增
  57. $prevRecharge = -1;
  58. $prevGive = -1;
  59. foreach ($data as $key => $item) {
  60. $currentRecharge = floatval($item['recharge'] ?? 0);
  61. $currentGive = floatval($item['give'] ?? 0);
  62. if ($currentRecharge <= $prevRecharge) {
  63. util::fail('充值金额必须递增');
  64. }
  65. if ($currentGive <= $prevGive) {
  66. //util::fail('赠送金额必须递增');
  67. }
  68. $prevRecharge = $currentRecharge;
  69. $prevGive = $currentGive;
  70. $sn = $key + 1;
  71. $add = ['shopId' => $shopId, 'mainId' => $mainId, 'recharge' => $currentRecharge, 'give' => $currentGive, 'sn' => $sn];
  72. $has = RechargeSqClass::getByCondition(['mainId' => $mainId, 'sn' => $sn], true);
  73. if (!empty($has)) {
  74. $has->recharge = $currentRecharge;
  75. $has->give = $currentGive;
  76. $has->save();
  77. } else {
  78. RechargeSqClass::add($add, true);
  79. }
  80. }
  81. $transaction->commit();
  82. util::complete('设置成功');
  83. } catch (\Exception $e) {
  84. $transaction->rollBack();
  85. Yii::info("失败原因:" . $e->getMessage());
  86. util::fail('设置失败');
  87. }
  88. }
  89. }