CouponActivity.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types = 1);
  12. namespace app\store\controller;
  13. use app\store\model\coupon\CouponActivity as CouponActivityModel;
  14. use app\store\model\coupon\CouponActivityStatistics as CouponActivityStatisticsModel;
  15. /**
  16. * 裂变活动管理
  17. * Class Files
  18. * @package app\store\controller
  19. */
  20. class CouponActivity extends Controller
  21. {
  22. /**
  23. * 裂变活动列表
  24. * @return array
  25. * @author: zjwhust
  26. * @Time: 2022/1/21 16:49
  27. */
  28. public function list(){
  29. $model = new CouponActivityModel;
  30. $list = $model->getList($this->request->param());
  31. return $this->renderSuccess(compact('list'));
  32. }
  33. /**
  34. * 新增裂变活动
  35. * @return array
  36. * @author: zjwhust
  37. * @Time: 2022/1/22 11:01
  38. */
  39. public function add()
  40. {
  41. $model = new CouponActivityModel;
  42. $param = $this->request->param();
  43. $param['audit_user'] = $this->store['user']['real_name'];
  44. $param['audit_admin_id'] = $this->store['user']['store_user_id'];
  45. $param['admin_id'] = $this->store['user']['store_user_id'];
  46. $param['code'] = $model->makeCodeNo(); // 生成活动编号
  47. $activity_time = between_time_format($param['activity_time']); // 生成活动编号
  48. $param['start_time'] = date("Y-m-d H:i:s",$activity_time['start_time']);
  49. $param['end_time'] = date("Y-m-d H:i:s",$activity_time['end_time']);
  50. if (isset($param['role']) && $param['role'] == 1){
  51. $param['status'] = 1;
  52. $param['audit_time'] = Date("Y-m-d H:i:s",time());
  53. $param['audit_status'] = 1;
  54. }else{
  55. $param['audit_status'] = 0;
  56. }
  57. if ($model->addOne($param)) {
  58. return $this->renderSuccess('添加成功');
  59. }
  60. return $this->renderError($model->getError() ?: '添加失败');
  61. }
  62. /**
  63. * 修改裂变活动
  64. * @param int $id
  65. * @return array
  66. * @author: zjwhust
  67. * @Time: 2022/1/22 11:04
  68. */
  69. public function update()
  70. {
  71. $param = $this->request->param();
  72. $model = CouponActivityModel::detail($param['id']);
  73. $param['audit_user'] = $this->store['user']['real_name'];
  74. $param['audit_admin_id'] = $this->store['user']['store_user_id'];
  75. $activity_time = between_time_format($param['activity_time']); // 生成活动编号
  76. $param['start_time'] = date("Y-m-d H:i:s",$activity_time['start_time']);
  77. $param['end_time'] = date("Y-m-d H:i:s",$activity_time['end_time']);
  78. $param['audit_status'] = 0;//重新修改为审核中
  79. $param['audit_time'] = null;//重新修改为没有审核时间
  80. $param['audit_reason'] = '';//重新修改为没有拒绝理由
  81. if (isset($param['role']) && $param['role'] == 1){
  82. $param['status'] = 1;
  83. $param['audit_time'] = Date("Y-m-d H:i:s",time());
  84. $param['audit_status'] = 1;
  85. }else{
  86. $param['audit_status'] = 0;
  87. }
  88. if ($model->updOne($param)) {
  89. return $this->renderSuccess('修改成功');
  90. }
  91. return $this->renderError($model->getError() ?: '修改失败');
  92. }
  93. /**
  94. * 裂变活动详情
  95. * @return array
  96. * @param int $id
  97. * @author: zjwhust
  98. * @Time: 2022/1/22 11:10
  99. */
  100. public function detail(int $id){
  101. $detail = CouponActivityModel::detail($id,['couponActivityCoupon'=>['coupon'],'couponActivityAction']);
  102. $shareList = $beSharedList = [];
  103. foreach ($detail['couponActivityCoupon'] as $key=>$coupon){
  104. if($coupon['type']==1){
  105. $shareList[] = $coupon;
  106. }else{
  107. $beSharedList[] = $coupon;
  108. }
  109. unset($detail['couponActivityCoupon'][$key]);
  110. }
  111. $detail['couponActivityCoupon']['shareList'] = $shareList;
  112. $detail['couponActivityCoupon']['beSharedList'] = $beSharedList;
  113. return $this->renderSuccess(compact('detail'));
  114. }
  115. /**
  116. * 裂变活动启用/禁用
  117. * @param int $id
  118. * @return array
  119. * @author: zjwhust
  120. * @Time: 2022/1/22 11:02
  121. */
  122. public function status(int $id){
  123. $model = CouponActivityModel::detail($id);
  124. $param = $this->request->param();
  125. $res ='操作成功';
  126. $status =$param['status'];
  127. if($status==1){
  128. $res = '已启用';
  129. }
  130. if($status==0){
  131. $res = '已禁用';
  132. }
  133. if ($model->status($param)) {
  134. return $this->renderSuccess($param,$res);
  135. }
  136. return $this->renderError($model->getError() ?: '操作失败');
  137. }
  138. /**
  139. * 裂变活动审核
  140. * @param int $id
  141. * @return array
  142. * @author: zjwhust
  143. * @Time: 2022/1/22 11:03
  144. */
  145. public function audit(int $id)
  146. {
  147. $model = CouponActivityModel::detail($id);
  148. if(empty($model)){
  149. return $this->renderError('找不到裂变活动');
  150. }
  151. // 确认审核
  152. $param = $this->request->param();
  153. $res ='操作成功';
  154. $audit_status =$param['audit_status'];
  155. if($audit_status==1){
  156. $res = '已审核通过';
  157. $param['status'] =1;//启用
  158. }
  159. if($audit_status==2){
  160. $res = '已审核不通过';
  161. $param['status'] = 0;//禁用
  162. }
  163. $param['audit_time'] = Date("Y-m-d H:i:s",time());
  164. $param['audit_user'] = $this->store['user']['real_name'];
  165. $param['audit_admin_id'] = $this->store['user']['store_user_id'];
  166. if ($model->audit($param)) {
  167. return $this->renderSuccess($param,$res);
  168. }
  169. return $this->renderError($model->getError() ?: '操作失败');
  170. }
  171. /**
  172. * 裂变数据统计列表
  173. * @return array
  174. * @throws \think\db\exception\DataNotFoundException
  175. * @throws \think\db\exception\DbException
  176. * @throws \think\db\exception\ModelNotFoundException
  177. * @author: zjwhust
  178. * @Time: 2022/1/22 17:38
  179. */
  180. public function statisticsList(){
  181. $model = new CouponActivityStatisticsModel;
  182. $list = $model->getList($this->request->param());
  183. return $this->renderSuccess(compact('list'));
  184. }
  185. }