MemberWealController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. $member = dict::getDict('memberLevelMap');
  15. $shop = $this->shop;
  16. util::success(['member' => $member, 'shop' => $shop]);
  17. }
  18. public function actionModify()
  19. {
  20. $post = Yii::$app->request->post();
  21. $shopId = $this->shopId;
  22. $mainId = $this->mainId;
  23. $has = MemberWealClass::getByCondition(['shopId' => $shopId], true);
  24. if (!empty($has)) {
  25. util::fail('已经设置过,不能再修改');
  26. }
  27. $connection = Yii::$app->db;
  28. $transaction = $connection->beginTransaction();
  29. try {
  30. $reduceDay = $post['reduceDay'] ?? 0;
  31. ShopClass::updateById($shopId, ['reduceDay' => $reduceDay]);
  32. $data = $post['data'] ?? [];
  33. if (empty($data)) {
  34. util::fail('没有折扣数据');
  35. }
  36. foreach ($data as $k => $v) {
  37. $discount = $v['discount'] ?? 0.95;
  38. $levelSn = $v['key'] ?? 'general';
  39. $level = $v['level'] ?? 1;
  40. $it = [
  41. 'mainId' => $mainId,
  42. 'shopId' => $shopId,
  43. 'level' => $level,
  44. 'levelSn' => $levelSn,
  45. 'discount' => $discount,
  46. ];
  47. MemberWealClass::add($it, true);
  48. }
  49. $transaction->commit();
  50. util::complete('设置成功');
  51. } catch (\Exception $e) {
  52. $transaction->rollBack();
  53. Yii::info("失败原因:" . $e->getMessage());
  54. util::fail('设置失败');
  55. }
  56. }
  57. }