123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- <?php
- namespace App\Http\Controllers\Manage\Finance;
- use App\Http\Controllers\Manage\Finance\Transformers\LiquidationTransformer;
- use App\Modules\Channel\Services\ChannelService;
- use App\Modules\Finance\Services\LiquidatedStatService;
- use App\Modules\Finance\Services\LiquidationService;
- use App\Modules\Trade\Services\PayMerchantService;
- use Illuminate\Http\Request;
- class LiquidationController extends BaseController
- {
-
-
- function add_liquidated(Request $request) {
- $pay_merchant_source = $request->has('pay_merchant_source') ? $request->input('pay_merchant_source') : '';
- if(empty($pay_merchant_source)) {
- return response()->error("PARAM_ERROR");
- }
- $amount = $request->has('amount') ? $request->input('amount') : '';
- if(!is_numeric($amount) || (float)$amount <= 0) {
- return response()->error("PARAM_ERROR");
- }
- $remark = $request->has('remark') ? $request->input('remark') : '';
- $remark = "[支付渠道清算]{".$remark."}";
- $liquidatedStat = LiquidatedStatService::getLiquidatedStatSingleBySource($pay_merchant_source);
- if(empty($liquidatedStat)) {
- return response()->error("PARAM_ERROR");
- }
- if($liquidatedStat['amount'] < $amount) {
- return response()->error("LIQUIDATED_STAT_AMOUNT_WITHOUT");
- }
-
- LiquidationService::addLiquidation(0, $pay_merchant_source, -$amount, 0, $remark);
-
- LiquidatedStatService::createOrUpdate($pay_merchant_source, -$amount);
- return response()->success();
- }
-
- function get_list(Request $request) {
- $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
- $distribution_channel_name = $request->has('distribution_channel_name') ? $request->input('distribution_channel_name') : '';
- $pay_merchant_source = $request->has('pay_merchant_source') ? $request->input('pay_merchant_source') : '';
- $start_time = $request->has('start_time') && !empty($request->input('start_time')) ? date('Ymd',strtotime($request->input('start_time'))) : '';
- $end_time = $request->has('end_time') && !empty($request->input('end_time')) ? date('Ymd',strtotime($request->input('end_time'))) : '';
- $end_time = self::getMaxDay($end_time);
- $search_name = $request->has('search_name') ? $request->input('search_name') : '';
- $params = [
- 'channel_id'=>$distribution_channel_id,
- 'channel_name'=>$distribution_channel_name,
- 'pay_merchant_source'=>$pay_merchant_source,
- 'start_date'=>$start_time,
- 'end_date'=>$end_time,
- 'search_name'=>$search_name,
- ];
- $result = LiquidationService::getLiquidationList($params);
- return response()->pagination(new LiquidationTransformer(), $result);
- }
-
- function get_list_export(Request $request) {
- $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
- $distribution_channel_name = $request->has('distribution_channel_name') ? $request->input('distribution_channel_name') : '';
- $pay_merchant_source = $request->has('pay_merchant_source') ? $request->input('pay_merchant_source') : '';
- $start_time = $request->has('start_time') && !empty($request->input('start_time')) ? date('Ymd',strtotime($request->input('start_time'))) : '';
- $end_time = $request->has('end_time') && !empty($request->input('end_time')) ? date('Ymd',strtotime($request->input('end_time'))) : '';
- $end_time = self::getMaxDay($end_time);
- $search_name = $request->has('search_name') ? $request->input('search_name') : '';
- $params = [
- 'channel_id'=>$distribution_channel_id,
- 'channel_name'=>$distribution_channel_name,
- 'pay_merchant_source'=>$pay_merchant_source,
- 'start_date'=>$start_time,
- 'end_date'=>$end_time,
- 'search_name'=>$search_name,
- ];
- $result = LiquidationService::getLiquidationList($params, true);
- header("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:attachment;filename=" . "清算明细" . date("YmdHis") . ".csv");
- echo iconv("UTF-8","GBK","\"操作日期\",\"渠道ID\",\"渠道名称\",\"支付通道\",\"清算金额(元)\",\"备注\"\r\n");
- if($result)
- {
- foreach($result as $item)
- {
- echo("\"" . iconv("UTF-8","GBK",date('Y-m-d H:i:s',strtotime($item->date))) . "\",");
- echo("\"" . $item->distribution_channel_id . "\",");
- echo("\"" . iconv("UTF-8","GBK",$item->distribution_channel_name) . "\",");
- echo("\"" . iconv("UTF-8","GBK",ChannelService::getSourceName(isset($item->pay_merchant_source) ? $item->pay_merchant_source : "")) . "\",");
- echo("\"" . ($item->amount) . "\",");
- echo("\"" . iconv("UTF-8","GBK",$item->remark) . "\"\r\n");
- }
- }
- exit();
- }
- }
|