MemberWealController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. //获取初始数据
  13. public function actionGetInitData()
  14. {
  15. $map = dict::getDict('memberLevelMap');
  16. $shop = $this->shop;
  17. $reduceDay = $shop->reduceDay ?? 30;
  18. $member = [];
  19. foreach ($map as $key => $val) {
  20. $name = $val['name'] ?? '普通会员';
  21. $levelSn = $val['levelSn'] ?? 'general';
  22. $level = $val['level'] ?? 1;
  23. $discount = $val['discount'] ?? 0.95;
  24. $it = [
  25. 'name' => $name,
  26. 'levelSn' => $levelSn,
  27. 'level' => $level,
  28. 'discount' => $discount,
  29. ];
  30. $member[] = $it;
  31. }
  32. $shopId = $this->shopId;
  33. $list = MemberWealClass::getAllByCondition(['shopId' => $shopId], null, '*', null);
  34. if (!empty($list)) {
  35. $list = arrayUtil::arraySort($list, 'level', SORT_ASC);
  36. $member = [];
  37. foreach ($list as $key => $val) {
  38. $name = $val['name'] ?? '普通会员';
  39. $levelSn = $val['levelSn'] ?? 'general';
  40. $level = $val['level'] ?? 1;
  41. $discount = $val['discount'] ?? 0.95;
  42. $it = [
  43. 'name' => $name,
  44. 'levelSn' => $levelSn,
  45. 'level' => $level,
  46. 'discount' => $discount,
  47. ];
  48. $member[] = $it;
  49. }
  50. }
  51. util::success(['member' => $member, 'reduceDay' => $reduceDay]);
  52. }
  53. public function actionModify()
  54. {
  55. $post = Yii::$app->request->post();
  56. $shopId = $this->shopId;
  57. $mainId = $this->mainId;
  58. $has = MemberWealClass::getByCondition(['shopId' => $shopId], true);
  59. if (!empty($has)) {
  60. util::fail('已经设置过,不能再修改');
  61. }
  62. $connection = Yii::$app->db;
  63. $transaction = $connection->beginTransaction();
  64. try {
  65. $reduceDay = $post['reduceDay'] ?? 0;
  66. ShopClass::updateById($shopId, ['reduceDay' => $reduceDay]);
  67. $data = $post['data'] ?? [];
  68. if (empty($data)) {
  69. util::fail('没有折扣数据');
  70. }
  71. foreach ($data as $k => $v) {
  72. $discount = $v['discount'] ?? 0.95;
  73. $levelSn = $v['levelSn'] ?? 'general';
  74. $level = $v['level'] ?? 1;
  75. $name = $v['name'] ?? '普通会员';
  76. $it = [
  77. 'mainId' => $mainId,
  78. 'shopId' => $shopId,
  79. 'level' => $level,
  80. 'levelSn' => $levelSn,
  81. 'discount' => $discount,
  82. 'name' => $name,
  83. ];
  84. MemberWealClass::add($it, true);
  85. }
  86. $transaction->commit();
  87. util::complete('设置成功');
  88. } catch (\Exception $e) {
  89. $transaction->rollBack();
  90. Yii::info("失败原因:" . $e->getMessage());
  91. util::fail('设置失败');
  92. }
  93. }
  94. }