RechargeSqController.php 3.4 KB

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