|
@@ -307,7 +307,86 @@ class WithdrawalListController extends Curd
|
|
|
Db::rollBack();
|
|
|
return json_fail("修改状态失败");
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Desc 提现导出
|
|
|
+ * @Author Gorden
|
|
|
+ * @Date 2024/11/1 17:12
|
|
|
+ *
|
|
|
+ * @param Request $request
|
|
|
+ * @return Response
|
|
|
+ */
|
|
|
+ public function export(Request $request)
|
|
|
+ {
|
|
|
+ $memberAccountListAddtimes = $request->get('member_account_list_addtimes');
|
|
|
+ $memberId = $request->get('join_member_account_list_member_id');
|
|
|
+ $memberAccountListStatus = $request->get('member_account_list_status');
|
|
|
+ $memberAccountListIds = $request->get('member_account_list_ids');
|
|
|
+ $withdrawal = MemberAccountList::with([
|
|
|
+ 'member' => function ($query) {
|
|
|
+ $query->select('member_id', 'member_mobile');
|
|
|
+ },
|
|
|
+ 'memberCert' => function ($query) {
|
|
|
+ $query->select('join_cert_member_id', 'member_cert_name');
|
|
|
+ }
|
|
|
+ ])->where('member_account_list_attr', 'OUT');
|
|
|
+ if (!empty($memberId)) {
|
|
|
+ $withdrawal = $withdrawal->where('join_member_account_list_member_id', $memberId);
|
|
|
+ }
|
|
|
+ if (!empty($memberAccountListStatus)) {
|
|
|
+ $withdrawal = $withdrawal->where('member_account_list_status', $memberAccountListStatus);
|
|
|
+ }
|
|
|
+ if (!empty($memberAccountListAddtimes)) {
|
|
|
+ $memberAccountListAddtimes[0] = strtotime($memberAccountListAddtimes[0]);
|
|
|
+ $memberAccountListAddtimes[1] = strtotime($memberAccountListAddtimes[1]);
|
|
|
+ $withdrawal = $withdrawal->whereBetween('member_account_list_addtimes', $memberAccountListAddtimes);
|
|
|
+ }
|
|
|
+ if (!empty($memberAccountListIds)) {
|
|
|
+ $withdrawal = $withdrawal->whereIn('member_account_list_id', $memberAccountListIds);
|
|
|
+ }
|
|
|
+ $withdrawal = $withdrawal->orderBy("member_account_list_addtimes", 'DESC')->get()->toArray();
|
|
|
+
|
|
|
+ $data = [];
|
|
|
+ foreach ($withdrawal as $item) {
|
|
|
+ $mobile = !empty($item['member']) ? $item['member']['member_mobile'] : '';
|
|
|
+ $certName = !empty($item['member_cert']) ? $item['member_cert']['member_cert_name'] : '';
|
|
|
+ $rateAmount = 0;
|
|
|
+ if (!empty($item['member_account_list_json'])) {
|
|
|
+ $memberAccountListJson = json_decode($item['member_account_list_json'], true);
|
|
|
+ if (isset($memberAccountListJson['out_rate'])) {
|
|
|
+ $item['out_rate'] = ($memberAccountListJson['out_rate'] / 10);
|
|
|
+ $rateAmount = round($item['member_account_list_amount'] * $item['out_rate'] / 100, 2);
|
|
|
+ $item['out_rate'] = $item['out_rate'] . '%';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $item['to_account'] = sprintf('%.2f', $item['member_account_list_amount'] - $rateAmount);
|
|
|
+ if (!empty($item['member_account_list_extend_json']) && $item['member_account_list_status'] == 'CANCEL') {
|
|
|
+ $extendJson = json_decode($item['member_account_list_extend_json'], true);
|
|
|
+ if (!empty($extendJson['reason'])) {
|
|
|
+ $item['member_account_list_status'] = 'REJECT';
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ $data[] = [
|
|
|
+ 'member_account_list_addtimes' => $item['member_account_list_addtimes'],
|
|
|
+ 'member_name' => MemberService::getMemberCertName($mobile, $certName, ''),
|
|
|
+ 'member_account_list_category' => $item['member_account_list_category'],
|
|
|
+ 'member_account_list_amount' => $item['member_account_list_amount'],
|
|
|
+ 'out_rate' => $item['out_rate'] ?? '0',
|
|
|
+ 'to_account' => $item['to_account'],
|
|
|
+ 'member_account_list_status' => self::$status[$item['member_account_list_status']]
|
|
|
+ ];
|
|
|
+ }
|
|
|
|
|
|
+ return json_success('success', $data);
|
|
|
}
|
|
|
+
|
|
|
+ public static $status = [
|
|
|
+ 'PENDING' => '待处理',
|
|
|
+ 'WAITING' => '处理中',
|
|
|
+ 'ACTIVED' => '已完成',
|
|
|
+ 'REJECT' => '已驳回',
|
|
|
+ 'CANCEL' => '已取消'
|
|
|
+ ];
|
|
|
}
|