model = new Model(); $this->pay_model = new PayModel($this->payConfig()); } /** * @author chenniang * @DataTime: 2021-03-15 14:43 * @功能说明:列表 */ public function farmerList(){ // $a = 'a:26:{s:10:"gmt_create";s:19:"2022-08-19 11:53:51";s:7:"charset";s:5:"UTF-8";s:12:"seller_email";s:16:"860200049@qq.com";s:7:"subject";s:11:"claim_order";s:4:"sign";s:344:"JeRSkvK1AE/MEbS1l6/djz0HbYiMQ1A7Twt3NcYiLHtwvQiT2n2W6ZDldB4ip9Je35/YqrHkyioLOWgCvUKT11bbIBI6O+wEJzvPJSncXk60CX49G+OVYLjZPNy9379XH7AUfKq+6W2E7CbgjRZTbp/shgXbskJxD7h6sMASsU/NGEDxLLzx5L/+BFOpQrIYJX68dhIiSnXFFSoaCKcuzJ2sXNkwhmPbW1BXTw0uRhfS/t9+PUBPMIH0yUgCD5UP01RaOyMWMRX2uTTLxj7khaEgAVLtJybeKK90UxbWTStn6KZZi+9O/LqjVczg4HOIovjNWGaChlNlf/hjnqtxig==";s:8:"buyer_id";s:16:"2088802696250503";s:14:"invoice_amount";s:4:"0.01";s:9:"notify_id";s:34:"2022081900222115352050501423546615";s:14:"fund_bill_list";s:49:"[{"amount":"0.01","fundChannel":"ALIPAYACCOUNT"}]";s:11:"notify_type";s:17:"trade_status_sync";s:12:"trade_status";s:13:"TRADE_SUCCESS";s:14:"receipt_amount";s:4:"0.01";s:6:"app_id";s:16:"2021003144604274";s:16:"buyer_pay_amount";s:4:"0.01";s:9:"sign_type";s:4:"RSA2";s:9:"seller_id";s:16:"2088441813624801";s:11:"gmt_payment";s:19:"2022-08-19 11:53:52";s:11:"notify_time";s:19:"2022-08-19 11:53:52";s:7:"version";s:3:"1.0";s:12:"out_trade_no";s:25:"2022081911534305900000059";s:12:"total_amount";s:4:"0.01";s:8:"trade_no";s:28:"2022081922001450501410705206";s:11:"auth_app_id";s:16:"2021003144604274";s:14:"buyer_logon_id";s:11:"182****4093";s:12:"point_amount";s:4:"0.00";s:4:"flag";b:1;}'; // // // // $jsApiParameters = $this->pay_model->aliPay('20220722151244011900000119',1,'SchoolShop'); // $jsApiParameters = $this->pay_model->aliRefund('2022082222001450501413499954',0.01); // // $jsApiParameters = object_array($jsApiParameters); // // dump($jsApiParameters);exit; // $a = new PushMsgModel($this->_uniacid); // // $data = ['registration_id'=>['170976fa8a62f84b1ff']]; // // // $data = json_encode($data); // // // $n = $a->send_pub('1wwww1',$data); // // dump($n);exit; $input = $this->_param; $dis[] = ['a.uniacid','=',$this->_uniacid]; $type = !empty($input['type'])?$input['type']:1; $dis[] = ['a.type','=',$type]; if(!empty($input['status'])){ $dis[] = ['a.status','=',$input['status']]; }else{ $dis[] = ['a.status','>',-1]; } if(!empty($input['title'])){ $dis[] = ['a.user_name','like','%'.$input['title'].'%']; } if(!empty($input['store_name'])){ $dis[] = ['a.title','like','%'.$input['store_name'].'%']; } if(!empty($input['start_time'])&&!empty($input['end_time'])){ $start_time = $input['start_time']; $end_time = $input['end_time']; $dis[] = ['a.create_time','between',"$start_time,$end_time"]; } $where = []; if(!empty($input['name'])){ $where[] = ['a.user_name','like','%'.$input['name'].'%']; $where[] = ['a.phone','like','%'.$input['name'].'%']; } $data = $this->model->adminDataList($dis,$input['limit'],$where); $list = [ 0=>'all', 1=>'ing', 2=>'pass', 4=>'nopass' ]; foreach ($list as $k=> $value){ $dis_s = []; $dis_s[] =['uniacid','=',$this->_uniacid]; $dis_s[] = ['type','=',$type]; if(!empty($k)){ $dis_s[] = ['status','=',$k]; }else{ $dis_s[] = ['status','>',-1]; } $data[$value] = $this->model->where($dis_s)->count(); } return $this->success($data); } /** * @author chenniang * @DataTime: 2021-03-22 13:35 * @功能说明:申请认证农场主 */ public function farmerAdd(){ $input = $this->_input; $farmer_model = new Farmer(); $input['uniacid'] = $this->_uniacid; $input['status'] = 2; $input['is_admin']= 1; $input['imgs'] = !empty($input['imgs'])?implode(',',$input['imgs']):''; $input['idcard_imgs'] = !empty($input['idcard_imgs'])?implode(',',$input['idcard_imgs']):''; $res = $farmer_model->dataAdd($input); return $this->success($res); } /** * @author chenniang * @DataTime: 2021-03-15 14:58 * @功能说明:车手详情 */ public function farmerInfo(){ $input = $this->_param; $dis = [ 'id' => $input['id'] ]; $data = $this->model->dataInfo($dis); $user_model = new User(); $data['nickName'] = $user_model->where(['id'=>$data['user_id']])->value('nickName'); return $this->success($data); } /** * @author chenniang * @DataTime: 2021-07-03 00:15 * @功能说明:审核(2通过,3取消,4拒绝) */ public function farmerUpdate(){ $input = $this->_input; $dis = [ 'id' => $input['id'] ]; $water_model = new FinanceWater(); $water_model->cashArrival($input['id']); $info = $this->model->dataInfo($dis); if(!empty($input['status'])&&in_array($input['status'],[2,4,-1])){ $input['sh_time'] = time(); if($input['status']==2){ $this->model->initLandLord($info,$info['uniacid']); } if($input['status']==-1){ if($info['cash']>0){ $this->errorMsg('农场主还有余额未提现'); } $where[] = ['farmer_id','=',$info['id']]; $where[] = ['pay_type','in',[2,3,4,5,6]]; $arr = [ 'land_order' => new LandOrder(), 'claim_order'=> new ClaimOrder(), 'send_order' => new SendOrder() ]; foreach ($arr as $value){ $find = $value->where($where)->find(); if(!empty($find)){ $this->errorMsg('农场主还有订单未处理'); } } $wallet_model = new Wallet(); $wallet = $wallet_model->dataInfo(['farmer_id'=>$info['id'],'status'=>1]); if(!empty($wallet)){ $this->errorMsg('农场主还有提现未处理'); } // $diss = [ 'farmer_id' => $input['id'], 'cash_status'=> 1, 'role_type' => 1 ]; $water = $water_model->where($diss)->sum('price'); if(!empty($water)&&$water>0){ $this->errorMsg('农场主还有冻结金额'); } } } $data = $this->model->dataUpdate($dis,$input); return $this->success($data); } /** * @author chenniang * @DataTime: 2021-12-30 15:21 * @功能说明: */ public function farmerSelectList(){ $input = $this->_param; $type = isset($input['type'])?$input['type']:1; $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','=',2]; $dis[] = ['type','=',$type]; if(!empty($input['cate_id'])){ if($input['cate_type']==3){ $store_goods_model = new StoreGoods(); $list = $store_goods_model->where(['type'=>2])->where('goods_id','in',$input['cate_id'])->column('store_id'); }else{ $cate_text = new LandCateText(); $list = $cate_text->where(['type'=>$input['cate_type']])->where('cate_id','in',$input['cate_id'])->column('farmer_id'); } if (!empty($list)){ $dis[] = ['id','in',$list]; } } $farmer_model = new Farmer(); $data = $farmer_model->where($dis)->select()->toArray(); return $this->success($data); } /** * @author chenniang * @DataTime: 2021-12-30 17:09 * @功能说明:农场主提现列表 */ public function walletList(){ $input = $this->_param; $dis[] = ['is_show','=',1]; $dis[] = ['uniacid','=',$this->_uniacid]; if(!empty($input['status'])){ $dis[] = ['status','=',$input['status']]; } if(!empty($input['type'])){ $dis[] = ['type','=',$input['type']]; } if(!empty($input['order_code'])){ $dis[] = ['order_code','like','%'.$input['order_code'].'%']; } $wallet_model = new Wallet(); $data = $wallet_model->dataList($dis,$input['limit']); if(!empty($data['data'])){ $user_model = new User(); foreach ($data['data'] as &$v){ $v['nickName'] = $user_model->where(['id'=>$v['user_id']])->value('nickName'); } } return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-09 17:29 * @功能说明:同意提现打款 */ public function walletPass(){ $input = $this->_input; $dis = [ 'id' => $input['id'] ]; $wallet_model = new Wallet(); $data = $wallet_model->dataInfo($dis); if(empty($data)){ $this->errorMsg('记录未找到'); } if($data['status']!=1){ $this->errorMsg('记录状态错误'); } $update = [ 'sh_time' => time(), 'status' => 2, 'online' => $input['online'], ]; Db::startTrans(); $res = $wallet_model->dataUpdate(['id'=>$input['id'],'status'=>1],$update); if($res!=1){ Db::rollback(); $this->errorMsg('打款失败'); } //线上转账 if($input['online']==1){ $user_model = new User(); $openid = $user_model->where(['id'=>$data['user_id']])->value('openid'); if(empty($openid)){ return $this->error('用户信息错误,未获取到openid'); } //微信相关模型 $wx_pay = new WxPay($this->_uniacid); //微信提现 $res = $wx_pay->crteateMchPay($this->payConfig(),$openid,$data['true_price']); if($res['result_code']=='SUCCESS'&&$res['return_code']=='SUCCESS'){ if(!empty($res['payment_no'])){ $wallet_model->dataUpdate(['id'=>$input['id']],['payment_no'=>$res['payment_no']]); } }else{ Db::rollback(); return $this->error(!empty($res['err_code_des'])?$res['err_code_des']:'你还未该权限'); } } Db::commit(); $sys_model = new PushMsgModel($data['uniacid']); $sys_model->sendMsg($data,1); return $this->success($res); } /** * @author chenniang * @DataTime: 2022-02-09 17:43 * @功能说明:拒绝退款 */ public function walletNoPass(){ $input = $this->_input; $dis = [ 'id' => $input['id'] ]; $wallet_model = new Wallet(); $data = $wallet_model->dataInfo($dis); if(empty($data)){ $this->errorMsg('记录未找到'); } if($data['status']!=1){ $this->errorMsg('记录状态错误'); } Db::startTrans(); $update = [ 'sh_time' => time(), 'status' => 3, ]; $res = $wallet_model->dataUpdate(['id'=>$input['id'],'status'=>1],$update); if($res!=1){ Db::rollback(); $this->errorMsg('拒绝失败'); } if($data['type']!=3){ $water_model = new FinanceWater(); //添加拒绝提现记录 $res = $water_model->addWater($data['id'],12,$data['type'],1); if($res==0){ Db::rollback(); $this->errorMsg('拒绝失败'); } if($data['type']==1){ $res = $water_model->cashArrival($data['farmer_id']); }else{ $res = $water_model->cashArrival(0,$data['store_id']); } if($res==0){ Db::rollback(); $this->errorMsg('拒绝失败'); } }else{ $user_model = new User(); $cash = $data['pay_price']; $res = $user_model->where(['id'=>$data['user_id']])->update(['fx_cash'=>Db::Raw("fx_cash+$cash")]); } Db::commit(); $sys_model = new PushMsgModel($data['uniacid']); $sys_model->sendMsg($data,2); return $this->success($res); } /** * @author chenniang * @DataTime: 2022-01-12 15:20 * @功能说明:农场主财务流水 */ public function fincanceWaterList(){ $input = $this->_param; $dis[] = ['status','in',[2,3]]; $dis[] = ['type','=',$input['type']]; $dis[] = ['uniacid','=',$this->_uniacid]; if(!empty($input['store_name'])){ $dis[] = ['title','like','%'.$input['store_name'].'%']; } $start_time = !empty($input['start_time'])?$input['start_time']:''; $end_time = !empty($input['end_time'])?$input['end_time']:''; $data = $this->model->dataList($dis,$input['limit']); $water_model = new FinanceWater(); $water_model->cashArrival(); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ $water_data = $water_model->getDayCash($v['id'],$v['type'],'',$start_time,$end_time,2); //当前余额 $v['cash'] = $water_data['cash']; //当前收入 $v['income_cash'] = $water_data['income_cash']; //当前提现 $v['wallet_cash'] = $water_data['wallet_cash']; } } return $this->success($data); } /** * @author chenniang * @DataTime: 2022-01-12 16:12 * @功能说明:农场主财务流水详情 */ public function fincanceWaterInfo(){ $input = $this->_param; $water_model = new FinanceWater(); $water_model->cashArrival(); if($input['type']==1){ $where[] = ['farmer_id','=',$input['farmer_id']]; }else{ $where[] = ['store_id','=',$input['farmer_id']]; } if(!empty($input['start_time'])&&!empty($input['end_time'])){ $where[] = ['create_time','between',"{$input['start_time']},{$input['end_time']}"]; } $data = $water_model->where($where)->field('create_date')->group('create_date')->paginate($input['limit'])->toArray(); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ //查询各个类型的单日的流水除去余额 $date_water = $water_model->getDateList($input['farmer_id'],$v['create_date'],$input['type']); $v = array_merge($v,$date_water); //查询当前余额 $day_water = $water_model->getDayCash($input['farmer_id'],$input['type'],$v['create_date']); $v['cash'] = $day_water['cash']; } } $farmer_model = new Farmer(); $data['farmer_name'] = $farmer_model->where(['id'=>$input['farmer_id']])->value('title'); if(!empty($input['start_time'])){ $data['start_time'] = $input['start_time']; $data['end_time'] = $input['end_time']; }else{ $data['start_time'] = $water_model->where($where)->order('id')->value('create_date'); $data['start_time'] = strtotime($data['start_time']); $data['end_time'] = $water_model->where($where)->order('id desc')->value('create_date'); $data['end_time'] = strtotime($data['end_time']); } return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-18 10:07 * @功能说明:平台统计详情 */ public function statisticsCash(){ $input = $this->_param; $water_model = new FinanceWater(); $dis[] = ['uniacid','=',$this->_uniacid]; if(!empty($input['start_time'])&&!empty($input['end_time'])){ $dis[] = ['create_time','between',"{$input['start_time']},{$input['end_time']}"]; } //总收入 $data['cash']['total_cash'] = $water_model->where($dis)->where(['add'=>1])->where('type','not in',[12])->sum('price'); //商城收入 $data['cash']['shop_cash'] = $water_model->where($dis)->where('type','in',[8,16])->sum('price'); //土地收入 $data['cash']['land_cash'] = $water_model->where($dis)->where(['type'=>3])->sum('price'); //认养收入 $data['cash']['claim_cash'] = $water_model->where($dis)->where(['type'=>1])->sum('price'); //养殖收入 $data['cash']['breed_cash'] = $water_model->where($dis)->where(['type'=>6])->sum('price'); //配送订单 $data['cash']['send_cash'] = $water_model->where($dis)->where('type','in',[14,10])->sum('price'); //退款 $data['cash']['refund_cash']= $water_model->where($dis)->where('type','in',[2,4,9,11,13,17])->sum('price'); $total = ($input['end_time']-$input['start_time'])/86400; $total = ceil($total); $day = 0; $arr = [ '1' => 'claim_cash', '3' => 'land_cash', '8' => 'shop_cash', //商城订单运费 '16'=> 'shop_car_cash', ]; //每页条数 $list['per_page'] = 30; //当前页 $list['current_page'] = $input['page']; //总条数 $list['total'] = $total; //最后一页 $list['last_page'] = ceil($total/$list['per_page']); $total -= $list['per_page']*($list['current_page']-1); $all = $total>$list['per_page']?$list['per_page']:$total; while ($day<$all){ $date = $input['start_time']+$day*86400+$list['per_page']*($list['current_page']-1)*86400; foreach ($arr as $ks=>$vs){ $where = [ 'create_date' => date('Y-m-d',$date), 'type' => $ks ]; $list['data'][$day][$vs] = $water_model->where($where)->sum('price'); } $list['data'][$day]['shop_cash']+= $list['data'][$day]['shop_car_cash']; $list['data'][$day]['date'] = date('m-d',$date); $day ++; } $data['list'] = $list; return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-18 11:03 * @功能说明:用户统计详情 */ public function statisticsUser(){ $input = $this->_param; $user_model = new User(); $dis[] = ['uniacid','=',$this->_uniacid]; //用户总数量 $data['total_count'] = $user_model->where($dis)->count(); $year = date('Y'); $last_year = $year-1; $where['year'] = $last_year; $now_where['year'] = $year; switch ($input['date']){ case 1: $time = 'today'; $last_time = 'yesterday'; //去年今日 $where['create_date'] = date('Y-m-d',strtotime("-1 year")); $now_where['create_date'] = date('Y-m-d',time()); break; case 2: $time = 'week'; $last_time = 'last week'; $where['week'] = date('W'); $now_where['week'] = date('W'); break; case 3: $time = 'month'; $last_time = 'last month'; $where['month'] = date('m'); $now_where['month'] = date('m'); break; case 4: $time = 'year'; $last_time = 'last year'; break; } if(!empty($input['start_time'])&&!empty($input['end_time'])){ $dis[] = ['create_time','between',"{$input['start_time']},{$input['end_time']}"]; } //新增人数 $data['new_count'] = $user_model->where($dis)->count(); //去年当日/当周/当月用户数量 $last_time_count = $user_model->where($where)->count(); $now_time_count = $user_model->where($now_where)->count(); //同比 $data['t_balance'] = $last_time_count>0?round(($now_time_count-$last_time_count)/$last_time_count*100,2):0; $last_count = $user_model->whereTime('create_time',$last_time)->count(); $now_count = $user_model->whereTime('create_time',$time)->count(); // dump($last_count,$now_count);exit; //环比 $data['h_balance'] = $last_count>0?round(($now_count-$last_count)/$last_count*100,2):0; $total = ($input['end_time']-$input['start_time'])/86400; $day = 0; //每页条数 $list['per_page'] = 30; //当前页 $list['current_page'] = $input['page']; //总条数 $list['total'] = $total; //最后一页 $list['last_page'] = ceil($total/$list['per_page']); $total -= $list['per_page']*($list['current_page']-1); $all = $total>$list['per_page']?$list['per_page']:$total; while ($day<$all){ $date = $input['start_time']+$day*86400+$list['per_page']*($list['current_page']-1)*86400; $list['data'][$day]['week'] = changeWeek(date('w',$date)); $where = [ 'create_date' => date('Y-m-d',$date), ]; $list['data'][$day]['count'] = $user_model->where($where)->count(); $list['data'][$day]['date'] = date('m-d',$date);; $day++; } $data['list'] = $list; return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-21 11:00 * @功能说明:仪器列表 */ public function machineList(){ $input = $this->_param; $mac_model = new Machine(); $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','>',-1]; if(!empty($input['farmer_id'])){ $dis[] = ['farmer_id','=',$input['farmer_id']]; } if(!empty($input['title'])){ $dis[] = ['title','like','%'.$input['title'].'%']; } $data = $mac_model->dataList($dis,$input['limit']); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-21 11:00 * @功能说明:仪器列表 */ public function machineSelect(){ $input = $this->_param; $mac_model = new Machine(); $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','=',1]; if(!empty($input['farmer_id'])){ $dis[] = ['farmer_id','=',$input['farmer_id']]; } if(!empty($input['title'])){ $dis[] = ['title','like','%'.$input['title'].'%']; } $data = $mac_model->where($dis)->order('status desc,id desc')->select()->toArray(); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-21 11:00 * @功能说明:仪器详情 */ public function machineInfo(){ $input = $this->_param; $mac_model = new Machine(); $dis = [ 'id' => $input['id'] ]; $data = $mac_model->dataInfo($dis); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-21 11:00 * @功能说明:添加仪器 */ public function machineAdd(){ $input = $this->_input; $mac_model = new Machine(); $input['uniacid'] = $this->_uniacid; $data = $mac_model->dataAdd($input); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-02-21 11:00 * @功能说明:编辑仪器 */ public function machineUpdate(){ $input = $this->_input; $mac_model = new Machine(); $dis = [ 'id' => $input['id'] ]; $data = $mac_model->dataUpdate($dis,$input); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-03-07 17:40 * @功能说明:店铺下拉框 */ public function storeSelect(){ $input = $this->_param; $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','=',2]; $dis[] = ['type','=',2]; if(!empty($input['goods_id'])){ $goods_store_model = new StoreGoods(); $store_id = $goods_store_model->where(['goods_id'=>$input['goods_id']])->column('store_id'); $dis[] = ['id','in',$store_id]; } $farmer_model = new Farmer(); $data = $farmer_model->where($dis)->order('id desc')->select()->toArray(); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-04-11 14:22 * @功能说明:监控列表 */ public function monitorList(){ $input = $this->_param; $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','>',-1]; if(!empty($input['title'])){ $dis[] = ['title','like','%'.$input['title'].'%']; } if(!empty($input['farmer_id'])){ $dis[] = ['farmer_id','=',$input['farmer_id']]; } $monitor_model = new Monitor(); $data = $monitor_model->dataList($dis,$input['limit']); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ $v['farmer_name'] = $this->model->where(['id'=>$v['farmer_id']])->value('title'); } } return $this->success($data); } /** * @author chenniang * @DataTime: 2022-04-11 14:22 * @功能说明:监控列表 */ public function monitorSelect(){ $input = $this->_param; $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','=',1]; if(!empty($input['title'])){ $dis[] = ['title','like','%'.$input['title'].'%']; } if(!empty($input['farmer_id'])){ $dis[] = ['farmer_id','=',$input['farmer_id']]; } $monitor_model = new Monitor(); $data = $monitor_model->where($dis)->order('id desc')->select()->toArray(); return $this->success($data); } /** * @author chenniang * @DataTime: 2022-04-11 14:25 * @功能说明:添加监控 */ public function monitorAdd(){ $input = $this->_input; $input['uniacid'] = $this->_uniacid; $monitor_model = new Monitor(); $res = $monitor_model->dataAdd($input); return $this->success($res); } /** * @author chenniang * @DataTime: 2022-04-11 14:25 * @功能说明:添加监控 */ public function monitorInfo(){ $input = $this->_param; $dis = [ 'id' => $input['id'] ]; $monitor_model = new Monitor(); $res = $monitor_model->dataInfo($dis); return $this->success($res); } /** * @author chenniang * @DataTime: 2022-04-11 14:25 * @功能说明:添加监控 */ public function monitorUpdate(){ $input = $this->_input; $dis = [ 'id' => $input['id'] ]; $monitor_model = new Monitor(); $res = $monitor_model->dataUpdate($dis,$input); return $this->success($res); } }