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(); } /** * @apiVersion 1.0.0 * @apiDescription 获取清算明细表列表 * @api {GET} Liquidated/list 获取清算明细表列表 * @apiGroup Finance * @apiName Liquidated/list * @apiParam {Number} [distribution_channel_id] 渠道id.(可不传,获取所有渠道) * @apiParam {String} [distribution_channel_name] 渠道名称.(可不传,获取所有渠道) * @apiParam {String} [pay_merchant_source] 支付通道渠道(可不传,获取所有通道) * @apiParam {String} [search_name] 搜索名称(可不传) * @apiParam {String} [start_time] 开始时间(可不传) * @apiParam {String} [end_time] 结束时间(可不传) * @apiSuccess {Number} id 清算ID * @apiSuccess {Number} channel_id 渠道ID * @apiSuccess {String} channel_name 渠道名称 * @apiSuccess {String} pay_merchant_source 渠道支付通道 * @apiSuccess {String} pay_merchant_source_name 渠道支付通道 * @apiSuccess {Number} amount 清算金额. * @apiSuccess {Number} payment_id 打款ID * @apiSuccess {String} date 清算时间 * @apiSuccess {String} remark 清算备注 * @apiSuccess {String} phone 渠道联系 * @apiSuccess {String} created_time * @apiSuccess {String} pay_merchant_id * @apiSuccess {String} nickname * @apiSuccess {String} person_in_charge_name 渠道负责人 * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data": * [ * { * "id": 21, * "channel_id": 11, * "channel_name": "weixiao", * "pay_merchant_source": "ALIPAY", * "pay_merchant_source_name": "通联支付", * "amount": "11.0000", * "payment_id": 0, * "date": "2017-12-07 00:00:00", * "remark": "每日结算", * "phone": "13732291699", * "created_time": "2017-12-07 18:22:29", * "pay_merchant_id": 0, * "nickname": "是的方式", * "person_in_charge_name": "大波哥" * } * ] * } */ 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); } /** * @apiVersion 1.0.0 * @apiDescription 获取清算明细表列表导出 * @api {GET} Liquidated/listExport 获取清算明细表列表导出 * @apiGroup Finance * @apiName Liquidated/listExport * @apiParam {Number} [distribution_channel_id] 渠道id.(可不传,获取所有渠道) * @apiParam {String} [distribution_channel_name] 渠道名称.(可不传,获取所有渠道) * @apiParam {String} [pay_merchant_source] 支付通道渠道(可不传,获取所有通道) * @apiParam {String} [search_name] 搜索名称(可不传) * @apiParam {String} [start_time] 开始时间(可不传) * @apiParam {String} [end_time] 结束时间(可不传) * */ 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(); } }