PointInfoController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2017/4/12
  6. * Time: 下午4:00
  7. */
  8. namespace app\frontend\modules\finance\controllers;
  9. use app\common\components\ApiController;
  10. use app\common\facades\Setting;
  11. use app\common\models\finance\PointTransfer;
  12. use app\common\models\Member;
  13. use app\common\services\finance\PointService;
  14. use app\frontend\modules\finance\models\PointLog;
  15. class PointInfoController extends ApiController
  16. {
  17. public function index()
  18. {
  19. $pointModel = new PointLog();
  20. $member_id = \YunShop::app()->getMemberId();
  21. $type = \YunShop::request()->status;
  22. $mode = \YunShop::request()->mode;
  23. $month = \YunShop::request()->month;
  24. $set = Setting::get('point.set');
  25. if (!versionCompare('1.1.138') || !miniVersionCompare('1.1.138')) {
  26. $result = $pointModel->getPointLogList($member_id, $type);
  27. if ($set['show_transferor'] == 1) {
  28. $result['record_list'] = $this->oldHandleList($result);
  29. }
  30. $result=['list'=>$result];
  31. }else{
  32. $result = $pointModel->getPointRecord($member_id, $type, $mode, $month);
  33. if ($set['show_transferor'] == 1) {
  34. $result['record_list'] = $this->handleList($result['record_list']);
  35. }
  36. }
  37. return $this->successJson('成功',$result);
  38. }
  39. public function detail()
  40. {
  41. $log_id = \YunShop::request()->log_id;
  42. $data = PointLog::select('id','member_id','point','point_mode','before_point','after_point','remark','created_at')
  43. ->find($log_id);
  44. $point_name = \Setting::get('shop.shop.credit1') ?: '积分';
  45. $data['remark'] = str_replace('积分',$point_name,$data['remark']);
  46. $data['remark'] = str_replace($point_name . '通', '积分通', $data['remark']);
  47. return $this->successJson('成功',$data);
  48. }
  49. private function oldHandleList($list)
  50. {
  51. $listModels = $list;
  52. $listModels['data'] = collect($listModels['data'])->map(function ($item) {
  53. $mark = false;
  54. if($item['point_mode'] == PointService::POINT_MODE_TRANSFER)//转出
  55. {
  56. if($item['relation_id'])
  57. {
  58. $log = PointTransfer::uniacid()->find($item['relation_id']);
  59. if($log)
  60. {
  61. $member = Member::find($log->recipient);
  62. $arr = [
  63. 'type' => '受让人',
  64. 'id' => $log->recipient,
  65. 'name' => $member->nickname
  66. ];
  67. $mark = true;
  68. }
  69. }
  70. }elseif ($item['point_mode'] == PointService::POINT_MODE_RECIPIENT){
  71. $log = PointTransfer::uniacid()->find($item['relation_id']);
  72. if($log)
  73. {
  74. $member = Member::find($log->transferor);
  75. $arr = [
  76. 'type' => '转让人',
  77. 'id' => $log->transferor,
  78. 'name' => $member->nickname
  79. ];
  80. $mark = true;
  81. }
  82. }
  83. if($mark)
  84. {
  85. return collect($item)->put('transfer_info',$arr);
  86. }else{
  87. return collect($item);
  88. }
  89. });
  90. return collect($listModels);
  91. }
  92. private function handleList($list)
  93. {
  94. $listModels = $list;
  95. $listModels['data'] = collect($listModels['data'])->map(function ($item) {
  96. $item=collect($item)->map(function($items){
  97. $mark = false;
  98. if($items['point_mode'] == PointService::POINT_MODE_TRANSFER)//转出
  99. {
  100. if($items['relation_id'])
  101. {
  102. $log = PointTransfer::uniacid()->find($items['relation_id']);
  103. if($log)
  104. {
  105. $member = Member::find($log->recipient);
  106. $arr = [
  107. 'type' => '受让人',
  108. 'id' => $log->recipient,
  109. 'name' => $member->nickname
  110. ];
  111. $mark = true;
  112. }
  113. }
  114. }elseif ($items['point_mode'] == PointService::POINT_MODE_RECIPIENT){
  115. $log = PointTransfer::uniacid()->find($items['relation_id']);
  116. if($log)
  117. {
  118. $member = Member::find($log->transferor);
  119. $arr = [
  120. 'type' => '转让人',
  121. 'id' => $log->transferor,
  122. 'name' => $member->nickname
  123. ];
  124. $mark = true;
  125. }
  126. }
  127. if($mark)
  128. {
  129. return collect($items)->put('transfer_info',$arr);
  130. }else{
  131. return collect($items);
  132. }
  133. });
  134. return collect($item);
  135. });
  136. return collect($listModels);
  137. }
  138. }