admin/addon/futures/shop/controller/Futures.php

127 lines
5.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\futures\shop\controller;
use app\shop\controller\BaseShop;
use addon\futures\model\Futures as futuresModel;
class Futures extends BaseShop{
/**
* Common: 进入交易市场
* Author: wu-hui
* Time: 2023/02/23 14:38
* @return array|mixed
*/
public function index(){
if(request()->isAjax()){
// 参数获取
$page = input('page',1);
$pageSize = input('page_size',PAGE_LIST_ROWS);
$nickname = input('nickname','');
$status = (int)input('status',0);// 状态1=库存2=已上架3=已售出4=提货中5=提货完成6=待支付7=捡漏8=待上架)
$timeType = (string)input('time_type','created');
$startTime = (int)input('start_time',0);
$endTime = (int)input('end_time',0);
// 获取内容
$field = [
'seller.username as seller_username',
'seller.nickname as seller_nickname',
'seller.headimg as seller_headimg',
'g.goods_name',
'g.goods_image',
'a.id',
'a.total',
'a.unit_price',
'a.price',
'a.status',
'a.release_time',
'a.sell_time',
'a.created_time',
'a.take_time',
];
// 表关联
$join = [
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
];
// 条件生成
$condition = [
['a.site_id','=',$this->site_id]
];
if($nickname) $condition[] = ['seller.username|seller.nickname',"like","%{$nickname}%"];
if($status==8){
$condition[] = ['a.release_time',">=",strtotime(date('Y-m-d',strtotime('+1 day')))];
$condition[] = ['a.release_time',"<=",strtotime(date('Y-m-d',strtotime('+1 day')).'23:59:59')];
} elseif($status > 0){
$condition[] = ['a.status',"=",$status];
}
$timeField = [
'created' => 'a.created_time',
'release' => 'a.release_time',
'sell' => 'a.sell_time',
'take' => 'a.take_time',
];
if($startTime > 0) $condition[] = [$timeField[$timeType],">=",$startTime];
if($endTime > 0) $condition[] = [$timeField[$timeType],"<=",$endTime];
return (new futuresModel())->getPageList($condition, $page, $pageSize, 'a.created_time desc,a.id desc', $field, 'a', $join);
}
$where=[
['site_id','=',$this->site_id],
['release_time','BETWEEN',[strtotime(date('Y-m-d',strtotime('+1 day'))),strtotime(date('Y-m-d',strtotime('+1 day')).'23:59:59')]]
];
$where1=[
['site_id','=',$this->site_id],
['release_time','BETWEEN',[strtotime(date('Y-m-d')),strtotime(date('Y-m-d',strtotime('+1 day')))]]
];
$newCount=model('futures')->getSum($where1,'total');
$todayCount=model('futures')->getSum($where,'total');
$todayMoney=model('futures')->getSum($where,'price');
$history=model('futures')->getSum(['status'=>3,'site_id'=>$this->site_id],'price');
$this->assign("newCount",$newCount);
$this->assign("todayCount",$todayCount);
$this->assign("todayMoney",$todayMoney);
$this->assign("historyMoney",$history);
$this->forthMenu();
return $this->fetch('futures/index');
}
/**
* Common: 查看交易详情
* Author: wu-hui
* Time: 2023/02/23 18:04
* @return mixed
*/
public function seeDetail(){
// 参数获取
$id = input('id',0);
// 获取交易信息
$field = "id,seller_uid,order_id,member_id,goods_id,total,unit_price,price,status,release_time,sell_time,created_time,take_time,old_futures_id";
$data['info'] = (array)model('futures')->getInfo(['id' => $id],$field);
// 获取卖家信息 买家信息
$memberField = "username,nickname,headimg";
$data['seller'] = (array)model('member')->getInfo(['member_id' => $data['info']['seller_uid']],$memberField);
$data['buyer'] = (array)model('member')->getInfo(['member_id' => $data['info']['member_id']],$memberField);
// 获取订单信息
$orderField = "order_no";
$data['order'] = (array)model('order')->getInfo(['order_id' => $data['info']['order_id']],$orderField);
// 商品信息
$goodsField = "goods_name,goods_image";
$data['goods'] = (array)model('goods')->getInfo(['goods_id' => $data['info']['goods_id']],$goodsField);
$data['goods']['goods_image'] = explode(',',$data['goods']['goods_image'])[0];
return $this->fetch('futures/see',$data);
}
}