DiscountController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. namespace addons\Store\client\controllers;
  3. use addons\Coupon\common\enums\AddonsCouponEnum;
  4. use addons\Coupon\common\models\AddonsCoupon;
  5. use addons\Store\common\models\Store;
  6. use addons\Store\common\models\StoreCashierExtra;
  7. use addons\Store\common\models\StoreCashierOrder;
  8. use addons\Store\common\models\StoreCoupon;
  9. use addons\Store\common\models\StoreExtra;
  10. use addons\Store\common\models\StoreStatistics;
  11. use addons\Store\common\models\StoreWithdrawLog;
  12. use common\components\export\CsvTool;
  13. use common\enums\AddonsEnum;
  14. use common\enums\DownloadEnum;
  15. use common\enums\StatusEnum;
  16. use common\helpers\csv\CsvExportHelper;
  17. use common\models\common\CapitalLog;
  18. use common\models\mall\MallAddons;
  19. use common\models\order\OrderDetail;
  20. use common\models\user\User;
  21. use common\models\user\UserLevel;
  22. use yii\db\Expression;
  23. class DiscountController extends BaseController
  24. {
  25. /**
  26. * 收银台首页
  27. * @Author bing
  28. * @DateTime 2022-04-26 18:03:16
  29. * @return void
  30. * @copyright: Copyright (c) 2022 广东七件事集团
  31. */
  32. public function actionIndex()
  33. {
  34. if (\Yii::$app->request->isAjax) {
  35. if (\Yii::$app->request->isGet) {
  36. $extra = StoreExtra::findOne(['store_id'=>$this->store_id]);
  37. $data = ['give_setting'=>'','deduct_setting'=>'','coupon_list1'=>[],'coupon_list2'=>[]];
  38. if($extra){
  39. $give_setting = json_decode($extra['give_setting'],true);
  40. $deduct_setting = json_decode($extra['deduct_setting'],true);
  41. $data['give_setting'] ='';
  42. //为了兼容之前前端由 el-radio换成el-checkbox
  43. if(!empty($give_setting)){
  44. if(!empty($give_setting['coupon_give']['give_type1'])&&in_array($give_setting['coupon_give']['give_type1'],['true',1])){
  45. $give_setting['coupon_give']['give_type1'] = true;
  46. }else{
  47. $give_setting['coupon_give']['give_type1'] = false;
  48. }
  49. if(!empty($give_setting['coupon_give']['give_type2'])&&in_array($give_setting['coupon_give']['give_type2'],['true',1])){
  50. $give_setting['coupon_give']['give_type2'] = true;
  51. }else{
  52. $give_setting['coupon_give']['give_type2'] = false;
  53. }
  54. }
  55. $data['give_setting'] = $give_setting;
  56. $data['deduct_setting'] = !empty($deduct_setting)?$deduct_setting:'';
  57. }
  58. $store_id = $this->store_id;
  59. $coupon_list = StoreCoupon::lists([
  60. 'where'=>[
  61. new Expression("FIND_IN_SET({$store_id},store_id)"),
  62. ['mall_id'=>$this->mall_id],
  63. ['status'=>StatusEnum::ENABLED],
  64. ['coupon_status'=>AddonsCouponEnum::STATUS_RECEIVING],
  65. ],
  66. 'select'=>'id,name,type'
  67. ]);
  68. foreach ($coupon_list as $item){
  69. $item['name'] = '门店:'.$item['name'];
  70. $item['from_type'] = 2;
  71. switch ($item['type']){
  72. case 1:
  73. $data['coupon_list1'][]=$item;
  74. break;
  75. case 2:
  76. $data['coupon_list2'][]=$item;
  77. break;
  78. }
  79. }
  80. $is_install = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_COUPON);
  81. if($is_install){
  82. $coupon_list = AddonsCoupon::lists([
  83. 'where'=>[
  84. new Expression("FIND_IN_SET({$store_id},store_id)"),
  85. ['mall_id'=>$this->mall_id],
  86. ['status'=>StatusEnum::ENABLED],
  87. ['coupon_status'=>AddonsCouponEnum::STATUS_RECEIVING],
  88. ],
  89. 'select'=>'id,name,type,store_id'
  90. ]);
  91. foreach ($coupon_list as $item){
  92. $item['name'] = '平台:'.$item['name'];
  93. $item['from_type'] = 1;
  94. switch ($item['type']){
  95. case 1:
  96. $data['coupon_list1'][]=$item;
  97. break;
  98. case 2:
  99. $data['coupon_list2'][]=$item;
  100. break;
  101. }
  102. }
  103. }
  104. return $this->success('ok', $data);
  105. } else {
  106. $params = \Yii::$app->request->post('form');
  107. $params['mall_id'] = $this->mall_id;
  108. $params['store_id'] = $this->store_id;
  109. //为了兼容之前前端由 el-radio换成el-checkbox
  110. if(!empty($params['give_setting']['coupon_give']['give_type1'])&&$params['give_setting']['coupon_give']['give_type1']=='true'){
  111. $params['give_setting']['coupon_give']['give_type1'] = true;
  112. }else{
  113. $params['give_setting']['coupon_give']['give_type1'] = false;
  114. }
  115. if(!empty($params['give_setting']['coupon_give']['give_type2']&&$params['give_setting']['coupon_give']['give_type2']=='true')){
  116. $params['give_setting']['coupon_give']['give_type2'] = true;
  117. }else{
  118. $params['give_setting']['coupon_give']['give_type2'] = false;
  119. }
  120. $res = StoreExtra::setData($params);
  121. if ($res == false) return $this->error(StoreExtra::getStaticError());
  122. return $this->success('操作成功');
  123. }
  124. }
  125. return $this->render($this->action->id);
  126. }
  127. }