BalanceRechargeRecordsController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. /****************************************************************
  3. * Author: libaojia
  4. * Date: 2017/12/13 下午2:25
  5. * Email: livsyitian@163.com
  6. * QQ: 995265288
  7. * User: 芸众商城 www.yunzshop.com
  8. ****************************************************************/
  9. namespace app\backend\modules\finance\controllers;
  10. use app\backend\modules\member\models\MemberGroup;
  11. use app\backend\modules\member\models\MemberLevel;
  12. use app\backend\modules\finance\models\BalanceRechargeRecords;
  13. use app\common\components\BaseController;
  14. use app\common\facades\Setting;
  15. use app\common\helpers\PaginationHelper;
  16. class BalanceRechargeRecordsController extends BaseController
  17. {
  18. public function index()
  19. {
  20. return view('finance.balance.rechargeRecord')->render();
  21. }
  22. public function getData()
  23. {
  24. $records = BalanceRechargeRecords::records();
  25. $search = \YunShop::request()->search;
  26. if ($search) {
  27. $records = $records->search($search);
  28. }
  29. $amount = $records->sum('money');
  30. $recordList = $records->orderBy('created_at', 'desc')->paginate()->toArray();
  31. $shopSet = Setting::get('shop.member');
  32. foreach ($recordList['data'] as &$item) {
  33. if ($item['member']) {
  34. $item['member']['avatar'] = $item['member']['avatar'] ? tomedia($item['member']['avatar']) : tomedia($shopSet['headimg']);
  35. $item['member']['nickname'] = $item['member']['nickname'] ?:
  36. ($item['member']['mobile'] ? substr($item['member']['mobile'], 0, 2) . '******' . substr($item['member']['mobile'], -2, 2) : '无昵称会员');
  37. $item['member']['yz_member']['level'] = $item['member']['yz_member']['level'] ?: '';
  38. $item['member']['yz_member']['group'] = $item['member']['yz_member']['group'] ?: '';
  39. } else {
  40. $item['member'] = [
  41. 'avatar' => tomedia($shopSet['headimg']),
  42. 'nickname' => '该会员已被删除或者已注销',
  43. 'yz_member' => [
  44. 'level' => '',
  45. 'group' => ''
  46. ]
  47. ];
  48. }
  49. }
  50. //支付类型:1后台支付,2 微信支付 3 支付宝, 4 其他支付
  51. return $this->successJson('ok', [
  52. 'shopSet' => $shopSet,
  53. 'recordList' => $recordList,
  54. 'memberGroup' => MemberGroup::getMemberGroupList(),
  55. 'memberLevel' => MemberLevel::getMemberLevelList(),
  56. 'payType' => BalanceRechargeRecords::$typeComment,
  57. 'search' => $search,
  58. 'amount' => $amount,
  59. ]);
  60. }
  61. public function export()
  62. {
  63. $file_name = date('Ymdhis', time()) . '余额充值记录导出';
  64. $records = BalanceRechargeRecords::records();
  65. $search = \YunShop::request()->search;
  66. if ($search) {
  67. if (isset($search['time'])) {
  68. $search['time'] = explode(',', $search['time']);
  69. $search['time'] = [
  70. 'start' => $search['time'][0],
  71. 'end' => $search['time'][1]
  72. ];
  73. }
  74. $records = $records->search($search);
  75. }
  76. $list = $records->orderBy('created_at', 'desc')->get();
  77. $export_data[0] = ['充值单号', '粉丝', '会员ID','会员手机号', '会员等级', '会员分组', '充值时间', '充值方式', '充值金额', '状态', '备注信息'];
  78. foreach ($list as $key => $item) {
  79. switch ($item->status) {
  80. case 1:
  81. $item->status = '充值成功';
  82. break;
  83. case -1:
  84. $item->status = '充值失败';
  85. break;
  86. default:
  87. $item->status = '申请中';
  88. break;
  89. }
  90. $export_data[$key + 1] = [
  91. $item->ordersn,
  92. $item->member->nickname,
  93. $item->member->uid,
  94. $item->member->mobile,
  95. $item->member->yzMember->level->level_name,
  96. $item->member->yzMember->group->group_name,
  97. $item->created_at,
  98. $item->type_name,
  99. $item->money,
  100. $item->status,
  101. $item->remark,
  102. ];
  103. }
  104. \app\exports\ExcelService::fromArrayExport($export_data, $file_name.'.xlsx');
  105. // 商城更新,无法使用
  106. // \Excel::create($file_name, function ($excel) use ($export_data) {
  107. // // Set the title
  108. // $excel->setTitle('Office 2005 XLSX Document');
  109. //
  110. // // Chain the setters
  111. // $excel->setCreator('芸众商城')
  112. // ->setLastModifiedBy("芸众商城")
  113. // ->setSubject("Office 2005 XLSX Test Document")
  114. // ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.")
  115. // ->setKeywords("office 2005 openxml php")
  116. // ->setCategory("report file");
  117. //
  118. // $excel->sheet('info', function ($sheet) use ($export_data) {
  119. // $sheet->rows($export_data);
  120. // });
  121. //
  122. //
  123. // })->export('xls');
  124. }
  125. }