GoodsController.php 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wniu
  5. * Date: 2022/3/23
  6. * Time: 11:27 上午
  7. */
  8. namespace addons\LuckyGroup\api\modules\v1\controllers;
  9. use addons\LuckyGroup\common\enums\LuckyGroupEnum;
  10. use addons\LuckyGroup\common\models\LuckyGroupActivity;
  11. use addons\LuckyGroup\common\models\LuckyGroupBanners;
  12. use addons\LuckyGroup\common\models\LuckyGroupCategory;
  13. use addons\LuckyGroup\common\models\LuckyGroupGoods;
  14. use addons\LuckyGroup\common\models\LuckyGroupOrder;
  15. use addons\LuckyGroup\common\models\LuckyGroupVisitLog;
  16. use api\controllers\OnAuthController;
  17. use common\enums\StatusEnum;
  18. use common\models\common\AddonsMarketingSetting;
  19. use common\models\goods\Goods;
  20. class GoodsController extends OnAuthController
  21. {
  22. public $modelClass = '';
  23. /**
  24. * 不用进行登录验证的方法
  25. *
  26. * 例如: ['index', 'update', 'create', 'view', 'delete']
  27. * 默认全部需要验证
  28. *
  29. * @var array
  30. */
  31. protected $authOptional = [];
  32. /**
  33. * 拼团商品列表
  34. *
  35. * @Author bing
  36. * @DateTime 2021-04-12 12:52:33
  37. * @return void
  38. * @copyright: Copyright (c) 2020 广东七件事集团
  39. */
  40. public function actionList()
  41. {
  42. $get = \Yii::$app->request->get();
  43. // 访客数量
  44. $user_id = $this->user_id;
  45. $mall_id = $this->mall_id;
  46. $params['visit_user_id'] = $user_id;
  47. $params['mall_id'] = $mall_id;
  48. $is_diy = false;
  49. LuckyGroupVisitLog::addLog($params);
  50. $list = AddonsMarketingSetting::getOne([['mall_id' => $this->mall_id], ['addons_name' => LuckyGroupEnum::ADDONS_NAME], ['status' => StatusEnum::ENABLED]]);
  51. if ($list) {
  52. $is_diy = true;
  53. $content = \GuzzleHttp\json_decode($list->content, true);
  54. if (isset($content[3]['data']['goods'])) {
  55. $balance_name = \Yii::$app->services->setting->mall->get($mall_id, 'balance.balance_name') ?? '余额';
  56. $score_name = \Yii::$app->services->setting->mall->get($mall_id, 'score.score_name') ?? '积分';
  57. $list = array_column($content[3]['data']['goods'], 'params');
  58. $ids = array_column($list,'id');
  59. // array_multisort($ids,SORT_DESC,$list);
  60. $goods_ids = array_column($list, 'goods_id');
  61. $activity_id = array_unique(array_column($list, 'activity_id'));
  62. $enable_goods = Goods::lists(['where' => [['in', 'id', $goods_ids], ['=', 'status', StatusEnum::ENABLED]], 'select' => 'id,original_price', 'index' => 'id']);
  63. $lucky_group_goods = LuckyGroupGoods::lists(['where' => [['in', 'goods_id', $goods_ids], ['=', 'status', StatusEnum::ENABLED]],'with'=>['goods'], 'select' => 'goods_id', 'index' => 'goods_id']);
  64. $lucky_group_activity = LuckyGroupActivity::getValidActivityIds($mall_id, 0, $activity_id);
  65. $lucky_group_activity_list = LuckyGroupActivity::lists([
  66. 'where'=>[
  67. ['id'=>$lucky_group_activity],
  68. ],
  69. 'index'=>'id'
  70. ]);
  71. $lucky_group_order_list = LuckyGroupOrder::lists([
  72. 'where'=>[
  73. ['activity_id'=>$activity_id],
  74. ['group_status'=>1]
  75. ],
  76. 'group'=>'goods_id',
  77. 'select'=>'goods_id,count(*) as counts',
  78. 'index'=>'goods_id'
  79. ]);
  80. foreach ($list as $k => &$v) {
  81. $progress = 0;
  82. if(!empty($lucky_group_activity_list[$v['activity_id']])){
  83. $lucky_group_activity = $lucky_group_activity_list[$v['activity_id']];
  84. $group_num = $lucky_group_activity['group_num'];
  85. $virtual_num = $lucky_group_activity['virtual_num'];
  86. if(isset($lucky_group_order_list[$v['goods_id']])){
  87. $virtual_num+= $lucky_group_order_list[$v['goods_id']]['counts'];
  88. }
  89. $progress = bcdiv($virtual_num,$group_num,2);
  90. $v['tips1'] = $lucky_group_activity['group_num'] . '人拼团,' . $lucky_group_activity['random_win_num'] . '人拼中';
  91. $v['title'] = $lucky_group_goods[$v['goods_id']]['goods']['goods_name'];
  92. $v['price'] = $lucky_group_goods[$v['goods_id']]['goods']['price'];
  93. $v['original_price'] = $lucky_group_goods[$v['goods_id']]['goods']['original_price'];
  94. $attend_award_setting = json_decode($lucky_group_activity['attend_award_setting'], true);
  95. $score_text = '';
  96. $balance_text = '';
  97. if ($attend_award_setting['score'] == 0) {
  98. unset($attend_award_setting['score']);
  99. } else {
  100. $score_text = $attend_award_setting['score'] . $score_name;
  101. }
  102. if ($attend_award_setting['balance'] == 0) {
  103. unset($attend_award_setting['balance']);
  104. } else {
  105. $balance_text = $attend_award_setting['balance'] . $balance_name;
  106. }
  107. if ($attend_award_setting) {
  108. switch ($lucky_group_activity['attend_user_type']) {
  109. case LuckyGroupEnum::ATTEND_USER_TYPE_ALL:
  110. $v['tips2'] = '参团立得' . $score_text . $balance_text;
  111. break;
  112. case LuckyGroupEnum::ATTEND_USER_TYPE_WIN:
  113. $v['tips2'] = '拼中立得' . $score_text . $balance_text;
  114. break;
  115. case LuckyGroupEnum::ATTEND_USER_TYPE_LOSS:
  116. $v['tips2'] = '拼不中立得' . $score_text . $balance_text;
  117. break;
  118. default:
  119. break;
  120. }
  121. }
  122. }
  123. $v['progress'] = $progress;
  124. $v['cover_pic'] = $v['img'];
  125. unset($v['subtitle']);
  126. unset($v['open_type']);
  127. unset($v['route']);
  128. unset($v['created_at']);
  129. unset($v['sales_num']);
  130. unset($v['sales_num']);
  131. unset($v['img']);
  132. if (!isset($enable_goods[$v['goods_id']])) {
  133. unset($list[$k]);
  134. }
  135. if (!isset($lucky_group_goods[$v['goods_id']])) {
  136. unset($list[$k]);
  137. }
  138. if (!in_array($v['activity_id'], $lucky_group_activity)) {
  139. unset($list[$k]);
  140. }
  141. $v['original_price'] = $enable_goods[$v['goods_id']]['original_price']??0;
  142. }
  143. }
  144. }
  145. if ($is_diy) {
  146. $list_page['list'] = $list;
  147. $list_page['page_count'] = 1;
  148. $list_page['count'] = count($list);
  149. } else {
  150. $activity_ids = LuckyGroupActivity::getValidActivityIds($mall_id);
  151. $data['with'] = ['activity', 'goods'];
  152. $data['where'] = [
  153. ['=', 'mall_id', $mall_id],
  154. ['=', 'status', StatusEnum::ENABLED],
  155. ['in', 'activity_id', $activity_ids],
  156. ];
  157. $data['select'] = 'id,activity_id,goods_id';
  158. $data['order'] = 'activity_id desc,id desc';
  159. $list_page = LuckyGroupGoods::listPage($data);
  160. if ($list_page === false) return $this->error(LuckyGroupGoods::getStaticError());
  161. if (!empty($list_page['list'])) {
  162. $balance_name = \Yii::$app->services->setting->mall->get($mall_id, 'balance.balance_name') ?? '余额';
  163. $score_name = \Yii::$app->services->setting->mall->get($mall_id, 'score.score_name') ?? '积分';
  164. foreach ($list_page['list'] as $key => &$goods) {
  165. $goods['cover_pic'] = $goods['goods']['cover_pic'];
  166. $goods['title'] = $goods['goods']['goods_name'];
  167. $goods['price'] = $goods['goods']['price'];
  168. $goods['original_price'] = $goods['goods']['original_price'];
  169. $goods['tips1'] = '';
  170. $activity = $goods['activity'] ?? null;
  171. $goods['tips2'] = '拼中立得奖品,未拼中退款';
  172. if ($activity) {
  173. $goods['tips1'] = $activity['group_num'] . '人拼团,' . $activity['random_win_num'] . '人拼中';
  174. $attend_award_setting = json_decode($activity['attend_award_setting'], true);
  175. $score_text = '';
  176. $balance_text = '';
  177. if ($attend_award_setting['score'] == 0) {
  178. unset($attend_award_setting['score']);
  179. } else {
  180. $score_text = $attend_award_setting['score'] . $score_name;
  181. }
  182. if ($attend_award_setting['balance'] == 0) {
  183. unset($attend_award_setting['balance']);
  184. } else {
  185. $balance_text = $attend_award_setting['balance'] . $balance_name;
  186. }
  187. if ($attend_award_setting) {
  188. switch ($activity['attend_user_type']) {
  189. case LuckyGroupEnum::ATTEND_USER_TYPE_ALL:
  190. $goods['tips2'] = '参团立得' . $score_text . $balance_text;
  191. break;
  192. case LuckyGroupEnum::ATTEND_USER_TYPE_WIN:
  193. $goods['tips2'] = '拼中立得' . $score_text . $balance_text;
  194. break;
  195. case LuckyGroupEnum::ATTEND_USER_TYPE_LOSS:
  196. $goods['tips2'] = '拼不中立得' . $score_text . $balance_text;
  197. break;
  198. default:
  199. break;
  200. }
  201. }
  202. }
  203. unset($list_page['list'][$key]['activity']);
  204. unset($list_page['list'][$key]['goods']);
  205. }
  206. }
  207. }
  208. // $carousel = [];
  209. // $category = [];
  210. // if (isset($get['page']) && $get['page'] == 1) {
  211. // //轮播图
  212. // $carousel = LuckyGroupBanners::lists(['where' => [['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'is_show' => LuckyGroupEnum::BANNER_IS_SHOW_1]], 'order' => 'sort desc', 'select' => 'id,title,pic_link,pic_path,bgcolor']);
  213. // //分类
  214. // $category = LuckyGroupCategory::lists(['where' => [['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED]], 'order' => 'sort asc', 'select' => 'id,title,pic_path,bgcolor']);
  215. // }
  216. // $list_page['carousel'] = $carousel;
  217. // $list_page['category'] = $category;
  218. return $this->success('ok', $list_page);
  219. }
  220. /**
  221. * 活动详情
  222. * 1,参团人数(虚拟+现实)
  223. * 2,拼中人员(虚拟+现实):现实拼中人员头像按拼中时间排序,虚拟头像随机排序
  224. * 3,拼不中人员(虚拟+现实):现实拼中人员头像按参团时间排序,虚拟头像随机排序
  225. * @Author pin
  226. * @DateTime 2021-04-25 22:48:47
  227. * @return void
  228. * @copyright: Copyright (c) 2020 广东七件事集团
  229. */
  230. public function actionDetails()
  231. {
  232. $get = \Yii::$app->request->get();
  233. $res = \Yii::$app->services->validate->validate($get, [
  234. [['goods_id', 'activity_id'], 'required'],
  235. ]);
  236. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  237. $return_data = [];
  238. $goods = Goods::getOne([['id' => $get['goods_id'], 'status' => StatusEnum::ENABLED]]);
  239. if (empty($goods)) return $this->error('商品不存在');
  240. $mall_id = $this->mall_id;
  241. // 获取虚拟人数
  242. $activity = LuckyGroupActivity::getOne([['id' => $get['activity_id']]], false, [], false, 'virtual_num');
  243. $virtual_people = $activity->virtual_num;
  244. $virtual_avatar = []; //虚拟头像数组
  245. $virtual_attend_money = 0;
  246. if ($virtual_people > 0) {
  247. // 随机虚拟用户头像数组
  248. $group_goods = LuckyGroupGoods::getOne([['goods_id' => $get['goods_id'], 'activity_id' => $get['activity_id']]]);
  249. if (empty($group_goods)) return $this->error('拼团商品不存在');
  250. for ($i = 0; $i < $virtual_people; $i++) {
  251. $no = ($i + $group_goods->join_num + $get['goods_id']) % 500;
  252. array_push($virtual_avatar, 'lucky_group/assets/head/' . $no . '.png');
  253. $virtual_attend_money += $goods->price;
  254. }
  255. }
  256. $params = [
  257. 'select' => 'user_id',
  258. 'order' => 'created_at desc',
  259. 'where' => [
  260. ['=', 'goods_id', $get['goods_id']],
  261. ['=', 'is_pay', LuckyGroupEnum::IS_PAY_1],
  262. ['=', 'activity_id', $get['activity_id']]
  263. ],
  264. 'group' => 'user_id',
  265. 'with' => 'user'
  266. ];
  267. $win_list = LuckyGroupOrder::lists($params);
  268. $win_user_id = []; //拼中用户id
  269. if (!empty($win_list)) {
  270. $users = array_column($win_list, 'user');
  271. $win_user_id = array_column($win_list, 'user_id');
  272. $win_list = array_column($users, 'avatar_url');
  273. }
  274. //参团中列表
  275. $params['where'] = [['=', 'goods_id', $get['goods_id']], ['=', 'group_status', LuckyGroupEnum::GROUP_JOINING], ['=', 'activity_id', $get['activity_id']]];
  276. $joining_list = LuckyGroupOrder::lists($params);
  277. $joining_user_id = []; //拼中用户id
  278. if (!empty($joining_list)) {
  279. $joining_user_id = array_column($joining_list, 'user_id');
  280. $joining_list = array_column($joining_list, 'avatar_url');
  281. }
  282. if (!empty($joining_list) && !empty($virtual_avatar)) {
  283. $joining_list = array_merge($joining_list, $virtual_avatar);
  284. } else if (empty($joining_list)) { //不存在直接用虚拟人数
  285. $joining_list = $virtual_avatar;
  286. }
  287. // 拼团预算
  288. $where = ['and', ['=', 'goods_id', $get['goods_id']], ['=', 'mall_id', $mall_id], ['=', 'activity_id', $get['activity_id']], ['=', 'is_pay', LuckyGroupEnum::IS_PAY_1]];
  289. $attend_money = LuckyGroupOrder::find()->where($where)->sum('money');
  290. // 算出拼团人数
  291. $attend_people = [];
  292. if (!empty($win_user_id) && !empty($joining_user_id)) {
  293. $attend_people = array_merge($win_user_id, $joining_user_id);
  294. } else if (!empty($win_user_id)) { //不存在直接用虚拟人数
  295. $attend_people = $win_user_id;
  296. } else if (!empty($joining_user_id)) { //不存在直接用虚拟人数
  297. $attend_people = $joining_user_id;
  298. }
  299. if (!empty($attend_pepole)) {
  300. $attend_people = array_unique($attend_people);
  301. }
  302. $return_data['win_list'] = $win_list; //拼中人员列表
  303. $return_data['win_count'] = count($win_list); //拼中人数
  304. $return_data['joining_list'] = $joining_list; //参团中人员列表
  305. $return_data['joining_count'] = count($joining_list); //参团中人数
  306. $return_data['attend_pepole'] = count($attend_people) + $virtual_people; //拼团人数
  307. $return_data['attend_money'] = $attend_money + $virtual_attend_money; //拼团预算
  308. return $this->success('success', $return_data);
  309. }
  310. /**
  311. * 获取参团人员和人数
  312. * @Author luoxurong
  313. * @DateTime 2021-4-27 22:29:32
  314. * @return void
  315. * @copyright: Copyright (c) 2020 广东七件事集团
  316. */
  317. public function actionJoinNum()
  318. {
  319. $param = \Yii::$app->request->get();
  320. $res = \Yii::$app->services->validate->validate($param, [
  321. [['id', 'activity_id'], 'required'],
  322. ]);
  323. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  324. $mall_id = $this->mall_id;
  325. $activity_id = $param['activity_id'];
  326. $goods_id = $param['id'];
  327. $goods_info = Goods::getOne([['id' => $goods_id]]);
  328. if (empty($goods_info)) return $this->error('商品不存在');
  329. $select = 'id,attend_user_type,attend_award_setting,group_num,random_win_num,virtual_num,start_time,end_time';
  330. $activity = LuckyGroupActivity::getOne([[
  331. 'id' => $activity_id, 'status' => StatusEnum::ENABLED, 'mall_id' => $mall_id
  332. ]], true, [], '', $select);
  333. if (empty($activity)) return $this->error('活动不存在');
  334. $group_goods = LuckyGroupGoods::getOne([['activity_id' => $activity_id, 'status' => StatusEnum::ENABLED, 'goods_id' => $goods_id]]);
  335. if (empty($group_goods)) return $this->error('活动商品不存在或已被删除');
  336. $virtual_num = $activity['virtual_num'] ?? 0;
  337. unset($activity['virtual_num']);
  338. $join_num = LuckyGroupOrder::count(['where' => [['=', 'activity_id', $group_goods->activity_id], ['=', 'goods_id', $group_goods->goods_id], ['=', 'status', StatusEnum::ENABLED],['>','pay_at',0]]]);
  339. $rowsUser = LuckyGroupOrder::lists([
  340. 'select' => 'user_id',
  341. 'where' => ['activity_id' => $activity_id,
  342. 'goods_id' => $group_goods->goods_id,
  343. 'is_pay' => LuckyGroupEnum::IS_PAY_1],
  344. 'limit' => 3,
  345. 'order' => 'id desc',
  346. 'with' => ['user']
  347. ]);
  348. $images = [];
  349. foreach ($rowsUser as $row) {
  350. $images[] = !empty($row['user']['avatar_url']) ? $row['user']['avatar_url'] : '';
  351. }
  352. $fail_attend_prize = 0;
  353. $fail_attend_prize_type = 'balance';
  354. if ($activity['attend_user_type'] != LuckyGroupEnum::ATTEND_USER_TYPE_WIN) {
  355. $attend_award_setting = json_decode($activity['attend_award_setting'], true);
  356. if (!empty($attend_award_setting)) {
  357. arsort($attend_award_setting);
  358. $fail_attend_prize_type = key($attend_award_setting);
  359. $fail_attend_prize = reset($attend_award_setting);
  360. }
  361. }
  362. $activity['fail_attend_prize'] = $fail_attend_prize;
  363. $activity['fail_attend_prize_type'] = $fail_attend_prize_type;
  364. $activity['not_win_num'] = $activity['group_num'] - $activity['random_win_num'];
  365. $activity['joinNum'] = $virtual_num + $join_num;
  366. $activity['images'] = $images;
  367. $activity['money_type_arr'] = ['balance' => '余额', 'score' => '积分'];
  368. $time = time();
  369. $date = date('Y-m-d', $time);
  370. $start_time = strtotime($date . ' ' . $activity['start_time']);
  371. $end_time = strtotime($date . ' ' . $activity['end_time']);
  372. // $start_time = strtotime($date . ' ' . '03:00');
  373. // $end_time = strtotime($date . ' ' . '06:00');
  374. $activity['is_open'] = 0;
  375. if ($time >= $start_time && $time <= $end_time) {
  376. $surplus_second = $end_time - $time;
  377. $activity['is_open'] = 1;
  378. } elseif ($time < $start_time && $time <= $end_time) {
  379. $surplus_second = $start_time - $time;
  380. } else {
  381. $new_start = strtotime(date("Y-m-d H:i:s", strtotime("+1 day", strtotime(date('Y-m-d H:s:i', $start_time)))));
  382. $surplus_second = $new_start - $time;
  383. }
  384. $activity['surplus_second'] = $surplus_second;
  385. $activity['open_times'] = !empty($group_goods['open_times']) ? $group_goods['open_times'] : 0;
  386. return $this->success('success', $activity);
  387. }
  388. /**
  389. * 拼团专区
  390. * @Author xiucun
  391. * @DateTime 2021-6-15 22:29:32
  392. * @return void
  393. * @copyright: Copyright (c) 2020 广东七件事集团
  394. */
  395. public function actionCategoryList()
  396. {
  397. $mall_id = $this->mall_id;
  398. $param = \Yii::$app->request->get();
  399. $category_id = $param['category_id'];
  400. $category = [];
  401. if (isset($param['page']) && $param['page'] == 1) {
  402. $category = LuckyGroupCategory::getOne([['id' => $category_id]], true, '', '', 'pic_adv,adv_link,bgcolor');
  403. }
  404. //分类
  405. //查询在时间范围内的活动
  406. $activity_ids = LuckyGroupActivity::getValidActivityIds($mall_id, $category_id);
  407. $lucky_group_activity_list = LuckyGroupActivity::lists([
  408. 'where' => [
  409. ['id' => $activity_ids],
  410. ],
  411. 'index' => 'id'
  412. ]);
  413. $data['with'] = ['activity', 'goods'];
  414. $data['where'] = [
  415. ['=', 'mall_id', $mall_id],
  416. ['=', 'status', StatusEnum::ENABLED],
  417. ['in', 'activity_id', $activity_ids],
  418. ];
  419. $data['select'] = 'id,activity_id,goods_id';
  420. $data['order'] = 'activity_id desc,id asc';
  421. $list_page = LuckyGroupGoods::listPage($data);
  422. if ($list_page === false) return $this->error(LuckyGroupGoods::getStaticError());
  423. $lucky_group_order_list = LuckyGroupOrder::lists([
  424. 'where' => [
  425. ['activity_id' => $activity_ids],
  426. ['group_status' => 1]
  427. ],
  428. 'group' => 'goods_id',
  429. 'select' => 'goods_id,count(*) as counts',
  430. 'index' => 'goods_id'
  431. ]);
  432. if (!empty($list_page['list'])) {
  433. foreach ($list_page['list'] as $key => &$goods) {
  434. // 下面七行,为平团进度条的计算,之前是没有的,一直缺失
  435. $lucky_group_activity = $lucky_group_activity_list[$goods['activity_id']];
  436. $group_num = $lucky_group_activity['group_num'];
  437. $virtual_num = $lucky_group_activity['virtual_num'];
  438. if (isset($lucky_group_order_list[$goods['goods_id']])) {
  439. $virtual_num += $lucky_group_order_list[$goods['goods_id']]['counts'];
  440. }
  441. $progress = bcdiv($virtual_num, $group_num, 2);
  442. $list_page['list'][$key]['progress'] = $progress;
  443. $goods['cover_pic'] = $goods['goods']['cover_pic'];
  444. $goods['title'] = $goods['goods']['goods_name'];
  445. $goods['price'] = $goods['goods']['price'];
  446. $goods['original_price'] = $goods['goods']['original_price'];
  447. $goods['tips1'] = '';
  448. $activity = $goods['activity'] ?? null;
  449. $goods['tips2'] = '拼中立得奖品,未拼中退款';
  450. if ($activity) {
  451. $goods['tips1'] = $activity['group_num'] . '人拼团,' . $activity['random_win_num'] . '人拼中';
  452. $attend_award_setting = json_decode($activity['attend_award_setting'], true);
  453. $score_text = '';
  454. $balance_text = '';
  455. if ($attend_award_setting['score'] == 0) {
  456. unset($attend_award_setting['score']);
  457. } else {
  458. $score_text = $attend_award_setting['score'] . '积分';
  459. }
  460. if ($attend_award_setting['balance'] == 0) {
  461. unset($attend_award_setting['balance']);
  462. } else {
  463. $balance_text = $attend_award_setting['balance'] . '元';
  464. }
  465. if ($attend_award_setting) {
  466. switch ($activity['attend_user_type']) {
  467. case LuckyGroupEnum::ATTEND_USER_TYPE_ALL:
  468. $goods['tips2'] = '参团立得' . $score_text . $balance_text;
  469. break;
  470. case LuckyGroupEnum::ATTEND_USER_TYPE_WIN:
  471. $goods['tips2'] = '拼中立得' . $score_text . $balance_text;
  472. break;
  473. case LuckyGroupEnum::ATTEND_USER_TYPE_LOSS:
  474. $goods['tips2'] = '拼不中立得' . $score_text . $balance_text;
  475. break;
  476. default:
  477. break;
  478. }
  479. }
  480. }
  481. unset($list_page['list'][$key]['activity']);
  482. unset($list_page['list'][$key]['goods']);
  483. }
  484. }
  485. $list_page['category'] = $category;
  486. // $currencys = Currency::getCurrencysKv($mall_id);
  487. // $list_page['money_type_arr'] = array_merge($currencys, LuckyGroupWalletLog::getMoneyType($mall_id));
  488. // $list_page['is_display_reward'] = ModuleConfig::conf($mall_id, ModuleConfig::MODULE_LUCKY_GROUP, 'basic.is_display_reward') ?? 1;
  489. $list_page['money_type_arr'] = ['balance' => '余额', 'score' => '积分'];
  490. return $this->success('获取成功!', $list_page);
  491. }
  492. }