MemberWealController.php 4.0 KB

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