|
@@ -13,6 +13,7 @@ use think\facade\Validate;
|
|
|
use think\helper\Str;
|
|
|
class Trade extends Base{
|
|
|
public function __construct(App $app) {
|
|
|
+ $this->noLogin=["*"];
|
|
|
parent::__construct($app);
|
|
|
$this->model = new \app\cxinv\model\Trade();
|
|
|
}
|
|
@@ -103,6 +104,7 @@ class Trade extends Base{
|
|
|
$log = TradePool::where(["logNo"=>$params['logNo'],"is_del"=>0])->findOrEmpty();
|
|
|
if($log->isEmpty()) return error("资金认领信息不存在");
|
|
|
if($log->status==$params['status']) return error("当前状态与修改状态一致");
|
|
|
+ if($log->tag_type==1) return error('平台衍生资金认领不允许操作');
|
|
|
$trade = $this->model->where(["tradNo"=>$log->tradNo,"is_del"=>0])->findOrEmpty();
|
|
|
if($trade->isEmpty()) return error("资金流水信息不存在");
|
|
|
$this->model->startTrans();
|
|
@@ -112,7 +114,7 @@ class Trade extends Base{
|
|
|
$save=$log->save();
|
|
|
if(!$save) throw new \Exception("资金认领状态更新失败");
|
|
|
Assoc::CheckTrad($log->logNo,$params['status']);
|
|
|
- if($params['status']==3){
|
|
|
+ if($params['status']==3|| $params['status']==5){
|
|
|
if($trade->used_fee<$log->total_fee) throw new \Exception("资金流水已使用金额不足");
|
|
|
$trade->balance+=$log->total_fee;
|
|
|
$trade->used_fee-=$log->total_fee;
|
|
@@ -130,7 +132,7 @@ class Trade extends Base{
|
|
|
|
|
|
public function list(){
|
|
|
$params = $this->request->param(["tradNo"=>"","status"=>[],"name"=>"","bank"=>"","start"=>"","end"=>"","companyNo"=>"",'poCode'=>'',
|
|
|
- "page"=>1,"size"=>20,'used_lower'=>"",'used_upper'=>'','total_lower'=>'','total_upper'=>'',"relaComNo"=>""],"post","trim");
|
|
|
+ "page"=>1,"size"=>20,'used_lower'=>"",'used_upper'=>'','total_lower'=>'','total_upper'=>'',"relaComNo"=>"","trade_type"=>""],"post","trim");
|
|
|
$where=[["is_del","=",0]];
|
|
|
if($params['tradNo']!=="")$where[]=["tradNo","like","%".$params['tradNo']."%"];
|
|
|
if(!empty($params['status']))$where[]=["status","in",$params['status']];
|
|
@@ -145,7 +147,8 @@ class Trade extends Base{
|
|
|
if($params['total_lower']!=="") $where[]=["total_fee",">=",$params['total_lower']];
|
|
|
if($params['total_upper']!=="") $where[]=["total_fee","<=",$params['total_upper']];
|
|
|
if($params['poCode']!=="") $where[]=["poCode","like","%".$params['poCode']."%"];
|
|
|
- $list = $this->model->with(["company"])->where($where)->order("id desc")->paginate(["list_rows"=>$params['size'],"page"=>$params['page']]);
|
|
|
+ if($params['trade_type']!=="") $where[]=["trade_type","=",$params['trade_type']];
|
|
|
+ $list = $this->model->with(["company",'Lib'])->withJoin("Lib","left")->where($where)->order("id desc")->paginate(["list_rows"=>$params['size'],"page"=>$params['page']]);
|
|
|
return success("成功",['list'=>$list->items(),'count'=>$list->total()]);
|
|
|
}
|
|
|
|
|
@@ -170,7 +173,8 @@ class Trade extends Base{
|
|
|
|
|
|
public function PoolList(){
|
|
|
$params=$this->request->param(["logNo"=>"","status"=>"","name"=>"","bank"=>"","start"=>"","end"=>"","companyNo"=>"",
|
|
|
- "page"=>1,"size"=>20,'apply_id'=>"",'orderCode'=>'','platform_type'=>'',"relaComNo"=>"",'cxCode'=>''],"post","trim");
|
|
|
+ "page"=>1,"size"=>20,'apply_id'=>"",'orderCode'=>'','platform_type'=>'',"relaComNo"=>"",'cxCode'=>'',"pcCode"=>"",
|
|
|
+ "trade_type"=>"","tag_type"=>""],"post","trim");
|
|
|
$where=[["a.is_del","=",0],["b.is_del","=",0]];
|
|
|
if($params['logNo']!=="")$where[]=["a.logNo","like","%".$params['logNo']."%"];
|
|
|
if($params['apply_id']!=="")$where[]=["a.apply_id","like","%".$params['apply_id']."%"];
|
|
@@ -184,15 +188,31 @@ class Trade extends Base{
|
|
|
if($params['companyNo']!=="")$where[]=["a.companyNo","like","%".$params['companyNo']."%"];
|
|
|
if($params['relaComNo']!=="")$where[]=["a.companyNo","like","%".$params['relaComNo']."%"];
|
|
|
if($params['cxCode']!=="")$where[]=["c.cxCode","like","%".$params['cxCode']."%"];
|
|
|
+ $pcData=['totalPrice'=>0,'usedPrice'=>0,'balancePrce'=>0,'tradPrice'=>0];// 统计数据
|
|
|
+
|
|
|
+ if($params['pcCode']!==""){
|
|
|
+ $where[]=['e.pcCode','like','%'.$params['pcCode'].'%'];
|
|
|
+ $pc= $this->model->with(["lib"])->withJoin("Lib","left")->where('pcCode',$params['pcCode'])
|
|
|
+ ->select();
|
|
|
+ if(!$pc->isEmpty()){
|
|
|
+ $pcData['totalPrice'] = array_sum(array_column($pc->toArray(),"total_fee"));
|
|
|
+ $pcData["usedPrice"]= TradePool::where(["tradNo"=>array_column($pc->toArray(),'tradNo'),"status"=>2,"is_del"=>0,'tag_type'=>0])->sum("total_fee");
|
|
|
+ $pcData['tradPrice']= TradePool::where(['tradNo'=>array_column($pc->toArray(),'tradNo'),'status'=>1,'is_del'=>0,'tag_type'=>0])->sum('total_fee');
|
|
|
+ $pcData["balancePrce"] = array_sum(array_column($pc->toArray(),'balance'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if($params['trade_type']!=="") $where[]=["b.trade_type","=",$params['trade_type']];
|
|
|
+ if($params['tag_type']!=="") $where[]=["a.tag_type","=",$params['tag_type']];
|
|
|
$list = TradePool::alias("a")
|
|
|
+ ->leftjoin('trade_lib e','a.tradNo=e.tradNo')
|
|
|
->leftJoin('trade b','a.tradNo=b.tradNo')
|
|
|
->leftJoin('assoc d','a.logNo=d.viceCode AND d.type = 2')
|
|
|
->leftJoin('qrd_info c','d.orderCode=c.sequenceNo')
|
|
|
->where($where)
|
|
|
->field('a.*,b.trade_bank,b.trade_account,b.trade_out,b.total_fee as btotal_fee,b.used_fee,b.balance,c.customerName,c.customerNo,
|
|
|
- d.orderCode,c.qrdSource,c.cxCode,c.goodNo,c.goodName,c.qrdType,c.ownerName,c.ownerid,c.department,c.poCode,c.platName,c.totalPrice,d.cancel_fee')
|
|
|
- ->order("a.id desc")->paginate(["list_rows"=>$params['size'],"page"=>$params['page']]);
|
|
|
- return success("成功",['list'=>$list->items(),'count'=>$list->total()]);
|
|
|
+ d.orderCode,c.qrdSource,c.cxCode,c.goodNo,c.goodName,c.qrdType,c.ownerName,c.ownerid,c.department,c.poCode,c.platName,c.totalPrice,d.cancel_fee,
|
|
|
+ e.pcCode,e.palt_po')->order("a.id desc")->paginate(["list_rows"=>$params['size'],"page"=>$params['page']]);
|
|
|
+ return success("成功",['list'=>$list->items(),'count'=>$list->total(),"pcData"=>$pcData]);
|
|
|
}
|
|
|
|
|
|
public function PoolQuery(){
|
|
@@ -205,14 +225,16 @@ class Trade extends Base{
|
|
|
if($params['companyNo']!=="")$where[]=["companyNo","like","%".$params['companyNo']."%"];
|
|
|
if($params['relaComNo']!=="")$where[]=["companyNo","like","%".$params['relaComNo']."%"];
|
|
|
if($params['platform_type']!=="") $where[]=["platform_type","=",$params['platform_type']];
|
|
|
- $list = TradePool::where($where)->order("id desc")->select();
|
|
|
+ $list = TradePool::with(["Lib"])->where($where)->order("id desc")->select();
|
|
|
return success("成功",$list);
|
|
|
}
|
|
|
|
|
|
public function PoolInfo(){
|
|
|
$logNo = $this->request->post("logNo","","trim");
|
|
|
if($logNo=="") return error("参数错误");
|
|
|
- $info = TradePool::with(["trade"=>"company"])->where(["logNo"=>$logNo,"is_del"=>0])->findOrEmpty();
|
|
|
+ $info = TradePool::with(["Trade"=>["company"],"Lib"])
|
|
|
+ ->where(["logNo"=>$logNo,"is_del"=>0])
|
|
|
+ ->findOrEmpty();
|
|
|
if($info->isEmpty()) return error("资金认领信息不存在");
|
|
|
$info['orderinfo']= Assoc::alias("a")
|
|
|
->leftJoin('qrd_info b','a.orderCode=b.sequenceNo')
|
|
@@ -271,6 +293,7 @@ class Trade extends Base{
|
|
|
$info = TradePool::where(["logNo"=>$params['logNo'],"is_del"=>0])->findOrEmpty();
|
|
|
if($info->isEmpty()) return error("资金认领信息不存在");
|
|
|
if($info->status!=2) return error("资金认领当前状态不允许退回");
|
|
|
+ if($info->tag_type==1) return error("平台衍生资金认领不允许退回");
|
|
|
$isT = TradeReturn::where(["logNo"=>$params['logNo'],"status"=>[0,1]])->findOrEmpty();
|
|
|
if(!$isT->isEmpty()) return error("当前资金认领已申请退款,请勿重复申请");
|
|
|
$data = [
|
|
@@ -316,7 +339,7 @@ class Trade extends Base{
|
|
|
public function BackInfo(){
|
|
|
$returnCode = $this->request->post("returnCode","","trim");
|
|
|
if($returnCode=="") return error("参数错误");
|
|
|
- $info = TradeReturn::with(["trade"=>"company","pool"])->where(["returnCode"=>$returnCode,"is_del"=>0])->findOrEmpty();
|
|
|
+ $info = TradeReturn::with(["trade"=>["company"],"pool"])->where(["returnCode"=>$returnCode,"is_del"=>0])->findOrEmpty();
|
|
|
if($info->isEmpty()) return error("退款申请数据未找到");
|
|
|
$info['log_total_fee']= $info->pool->total_fee;
|
|
|
$info['log_apply_id']= $info->pool->apply_id;
|
|
@@ -350,7 +373,7 @@ class Trade extends Base{
|
|
|
$save=$info->save();
|
|
|
if ($save===false) throw new \Exception("操作失败");
|
|
|
if($params['status']==1){
|
|
|
- $loginfo->status= $info->type==1?5:4;
|
|
|
+ $loginfo->status= 4;
|
|
|
$logsave=$loginfo->save();
|
|
|
if ($logsave===false) throw new \Exception("操作失败");
|
|
|
Assoc::CheckTrad($info['logNo'],$loginfo->status);
|