MemberWealController.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace hd\controllers;
  3. use bizHd\member\classes\MemberWealClass;
  4. use bizHd\shop\classes\ShopClass;
  5. use common\components\dict;
  6. use common\components\util;
  7. use Yii;
  8. class MemberWealController extends BaseController
  9. {
  10. public $guestAccess = [];
  11. //获取初始数据
  12. public function actionGetInitData()
  13. {
  14. $map = dict::getDict('memberLevelMap');
  15. $shop = $this->shop;
  16. $reduceDay = $shop->reduceDay ?? 30;
  17. $member = [];
  18. foreach ($map as $key => $val) {
  19. $name = $val['name'] ?? '普通会员';
  20. $levelSn = $val['levelSn'] ?? 'general';
  21. $level = $val['level'] ?? 1;
  22. $discount = $val['discount'] ?? 0.95;
  23. $it = [
  24. 'name' => $name,
  25. 'levelSn' => $levelSn,
  26. 'level' => $level,
  27. 'discount' => $discount,
  28. ];
  29. $member[] = $it;
  30. }
  31. $shopId = $this->shopId;
  32. $list = MemberWealClass::getAllByCondition(['shopId' => $shopId], null, '*', null);
  33. if(!empty($list)){
  34. }
  35. print_r($list);die;
  36. util::success(['member' => $member, 'reduceDay' => $reduceDay]);
  37. }
  38. public function actionModify()
  39. {
  40. $post = Yii::$app->request->post();
  41. $shopId = $this->shopId;
  42. $mainId = $this->mainId;
  43. $has = MemberWealClass::getByCondition(['shopId' => $shopId], true);
  44. if (!empty($has)) {
  45. util::fail('已经设置过,不能再修改');
  46. }
  47. $connection = Yii::$app->db;
  48. $transaction = $connection->beginTransaction();
  49. try {
  50. $reduceDay = $post['reduceDay'] ?? 0;
  51. ShopClass::updateById($shopId, ['reduceDay' => $reduceDay]);
  52. $data = $post['data'] ?? [];
  53. if (empty($data)) {
  54. util::fail('没有折扣数据');
  55. }
  56. foreach ($data as $k => $v) {
  57. $discount = $v['discount'] ?? 0.95;
  58. $levelSn = $v['levelSn'] ?? 'general';
  59. $level = $v['level'] ?? 1;
  60. $it = [
  61. 'mainId' => $mainId,
  62. 'shopId' => $shopId,
  63. 'level' => $level,
  64. 'levelSn' => $levelSn,
  65. 'discount' => $discount,
  66. ];
  67. MemberWealClass::add($it, true);
  68. }
  69. $transaction->commit();
  70. util::complete('设置成功');
  71. } catch (\Exception $e) {
  72. $transaction->rollBack();
  73. Yii::info("失败原因:" . $e->getMessage());
  74. util::fail('设置失败');
  75. }
  76. }
  77. }