MemberWealController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. }
  37. print_r($list);die;
  38. util::success(['member' => $member, 'reduceDay' => $reduceDay]);
  39. }
  40. public function actionModify()
  41. {
  42. $post = Yii::$app->request->post();
  43. $shopId = $this->shopId;
  44. $mainId = $this->mainId;
  45. $has = MemberWealClass::getByCondition(['shopId' => $shopId], true);
  46. if (!empty($has)) {
  47. util::fail('已经设置过,不能再修改');
  48. }
  49. $connection = Yii::$app->db;
  50. $transaction = $connection->beginTransaction();
  51. try {
  52. $reduceDay = $post['reduceDay'] ?? 0;
  53. ShopClass::updateById($shopId, ['reduceDay' => $reduceDay]);
  54. $data = $post['data'] ?? [];
  55. if (empty($data)) {
  56. util::fail('没有折扣数据');
  57. }
  58. foreach ($data as $k => $v) {
  59. $discount = $v['discount'] ?? 0.95;
  60. $levelSn = $v['levelSn'] ?? 'general';
  61. $level = $v['level'] ?? 1;
  62. $it = [
  63. 'mainId' => $mainId,
  64. 'shopId' => $shopId,
  65. 'level' => $level,
  66. 'levelSn' => $levelSn,
  67. 'discount' => $discount,
  68. ];
  69. MemberWealClass::add($it, true);
  70. }
  71. $transaction->commit();
  72. util::complete('设置成功');
  73. } catch (\Exception $e) {
  74. $transaction->rollBack();
  75. Yii::info("失败原因:" . $e->getMessage());
  76. util::fail('设置失败');
  77. }
  78. }
  79. }