|
@@ -11,6 +11,7 @@ use App\Models\Orders as Model;
|
|
|
use App\Models\Orders\Receipt;
|
|
|
use App\Models\OrdersAddr;
|
|
|
use App\Models\OrdersProduct;
|
|
|
+use App\Models\School;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Kra8\Snowflake\Snowflake;
|
|
|
use Intervention\Image\Facades\Image;
|
|
@@ -38,15 +39,16 @@ class Orders extends Auth{
|
|
|
public function index(Model $Model,OrdersProduct $OrdersProduct,Product $Product,Custom $Custom){
|
|
|
// 接受参数
|
|
|
$code = request('order_code','');
|
|
|
- $snowflake_id = request('snowflake_id','');
|
|
|
- $orders_other = request('orders_other',0);
|
|
|
$productCode = request('product_code','');
|
|
|
- $phone = request('phone','');
|
|
|
+ $snowflakeId = request('snowflake_id',0);
|
|
|
+ $orders_other = request('orders_other',0);
|
|
|
$customCode = request('custom_code','');
|
|
|
- $contact_area = request('contact_area','');
|
|
|
- $contact_school = request('contact_school','');
|
|
|
- $contact_grade = request('contact_grade','');
|
|
|
- $contact_class = request('contact_class','');
|
|
|
+ $productName = request('product_name','');
|
|
|
+ $phone = request('phone','');
|
|
|
+ $contact_area = request('contact_area','');
|
|
|
+ $contact_school = request('contact_school','');
|
|
|
+ $contact_grade = request('contact_grade','');
|
|
|
+ $contact_class = request('contact_class','');
|
|
|
$status = request('status',0);
|
|
|
$startTime = request('start_time','');
|
|
|
$endTime = request('end_time','');
|
|
@@ -57,37 +59,58 @@ class Orders extends Auth{
|
|
|
// 查询条件
|
|
|
$map = [];
|
|
|
// 编码ID
|
|
|
- if( $id ) $map[] = ['orders.id','=',$id];
|
|
|
- if( $snowflake_id ) $map[] = ['orders.snowflake_id','=',$snowflake_id];
|
|
|
+ if( $id ) $map[] = ['orders_product.order_id','=',$id];
|
|
|
+ if( $snowflakeId ) $map[] = ['orders.snowflake_id','=',$snowflakeId];
|
|
|
+ if( $uid ) $map[] = ['custom.uid','=',$uid];
|
|
|
// 编码ID
|
|
|
if( $orders_other ) $map[] = $orders_other == 1 ? ['orders_product.product_id','>',0] : ['orders_product.product_id','=',0];
|
|
|
- if( $uid ) $map[] = ['custom.uid','=',$uid];
|
|
|
+ if( $productId ) $map[] = ['orders_product.product_id','=',$productId];
|
|
|
+ if( $productName ) $map[] = ['orders_product.product_name','=',$productName];
|
|
|
if( $phone ) $map[] = ['orders_addr.contact_phone','=',$phone];
|
|
|
- if( $contact_area ) $map[] = ['orders_addr.contact_area','LIKE','%'.$contact_area.'%'];
|
|
|
- if( $contact_school ) $map[] = ['orders_addr.contact_school','LIKE','%'.$contact_school.'%'];
|
|
|
- if( $contact_grade ) $map[] = ['orders_addr.contact_grade','LIKE','%'.$contact_grade.'%'];
|
|
|
- if( $contact_class ) $map[] = ['orders_addr.contact_class','LIKE','%'.$contact_class.'%'];
|
|
|
- if( $startTime ) $map[] = ['orders.insert_time','>=',strtotime($startTime)];
|
|
|
- if( $endTime ) $map[] = ['orders.insert_time','<=',strtotime($endTime)];
|
|
|
- if( $status ) $map[] = ['orders.status','=',$status];
|
|
|
+ if( $contact_area ) $map[] = ['orders_addr.contact_area','LIKE','%'.$contact_area.'%'];
|
|
|
+ if( $contact_school ) $map[] = ['orders_addr.contact_school','LIKE','%'.$contact_school.'%'];
|
|
|
+ if( $contact_grade ) $map[] = ['orders_addr.contact_grade','LIKE','%'.$contact_grade.'%'];
|
|
|
+ if( $contact_class ) $map[] = ['orders_addr.contact_class','LIKE','%'.$contact_class.'%'];
|
|
|
+ if( $startTime ) $map[] = ['orders_product.insert_time','>=',strtotime($startTime)];
|
|
|
+ if( $endTime ) $map[] = ['orders_product.insert_time','<=',strtotime($endTime)];
|
|
|
+ if( $status ) $map[] = ['orders_product.status','=',$status];
|
|
|
// 查询数据
|
|
|
- $list = $Model->query()
|
|
|
- ->join('custom','orders.custom_uid','=','custom.uid')
|
|
|
- ->join('orders_addr','orders_addr.order_id','=','orders.id')
|
|
|
- ->where($map)
|
|
|
- ->orderByDesc('id')
|
|
|
- ->select(['orders.id as order_id',
|
|
|
- 'orders.*','custom.username as custom_name','orders.regiment_id as regiment_id',
|
|
|
- 'orders_addr.contact_area','orders_addr.contact_school','orders_addr.contact_grade','orders_addr.contact_class','orders_addr.contact_name','orders_addr.contact_phone',
|
|
|
- ])
|
|
|
- ->paginate(request('limit',config('page_num',10)))->appends(request()->all());
|
|
|
+ $list = $OrdersProduct->query()
|
|
|
+ ->join('custom','orders_product.custom_uid','=','custom.uid')
|
|
|
+ ->join('orders','orders.id','=','orders_product.order_id')
|
|
|
+ ->join('orders_addr','orders_addr.order_id','=','orders_product.order_id')
|
|
|
+ ->where($map)
|
|
|
+ ->orderByDesc('orders_product.id')
|
|
|
+ ->select([
|
|
|
+ 'orders_product.id as id',
|
|
|
+ 'orders.snowflake_id',
|
|
|
+ 'orders_product.order_id',
|
|
|
+ 'orders_product.product_id',
|
|
|
+ 'orders_product.product_name',
|
|
|
+ 'orders_product.sku_attr_names as product_spec',
|
|
|
+ 'orders_product.product_thumb',
|
|
|
+ 'orders_product.buy_num',
|
|
|
+ 'orders_product.price_total',
|
|
|
+ 'orders_product.coupon_total',
|
|
|
+ 'orders_product.pay_total',
|
|
|
+ 'orders_product.status',
|
|
|
+ 'orders_addr.contact_area',
|
|
|
+ 'orders_addr.contact_school',
|
|
|
+ 'orders_addr.contact_grade',
|
|
|
+ 'orders_addr.contact_class',
|
|
|
+ 'orders_addr.contact_name',
|
|
|
+ 'orders_addr.contact_phone',
|
|
|
+ 'custom.uid as custom_uid',
|
|
|
+ 'custom.username as custom_name',
|
|
|
+ 'custom.external_userid as external_userid',
|
|
|
+ 'orders_product.insert_time',
|
|
|
+ ])->paginate(request('limit',config('page_num',10)))->appends(request()->all());
|
|
|
// 循环处理数据
|
|
|
foreach ($list as $key => $value) {
|
|
|
// id转编号
|
|
|
- $value['order_code'] = $Model->idToCode($value['id']);
|
|
|
+ $value['order_code'] = $Model->idToCode($value['order_id']);
|
|
|
$value['custom_code'] = $Custom->idToCode($value['custom_uid']);
|
|
|
$value['state'] = $Model->getState($value['status'],'state');
|
|
|
- $value['product'] = $OrdersProduct->query()->where('order_id',$value['id'])->select(['product_name','buy_num'])->get()->toArray();
|
|
|
// 重组
|
|
|
$list[$key] = $value;
|
|
|
}
|
|
@@ -382,6 +405,7 @@ class Orders extends Auth{
|
|
|
// 接受参数
|
|
|
$code = request('order_code','');
|
|
|
$productCode = request('product_code','');
|
|
|
+ $snowflakeId = request('snowflake_id',0);
|
|
|
$orders_other = request('orders_other',0);
|
|
|
$customCode = request('custom_code','');
|
|
|
$productName = request('product_name','');
|
|
@@ -401,6 +425,7 @@ class Orders extends Auth{
|
|
|
$map = [];
|
|
|
// 编码ID
|
|
|
if( $id ) $map[] = ['orders_product.order_id','=',$id];
|
|
|
+ if( $snowflakeId ) $map[] = ['orders.snowflake_id','=',$snowflakeId];
|
|
|
if( $uid ) $map[] = ['custom.uid','=',$uid];
|
|
|
// 编码ID
|
|
|
if( $orders_other ) $map[] = $orders_other == 1 ? ['orders_product.product_id','>',0] : ['orders_product.product_id','=',0];
|
|
@@ -417,11 +442,13 @@ class Orders extends Auth{
|
|
|
// 查询数据
|
|
|
$data = $OrdersProduct->query()
|
|
|
->join('custom','orders_product.custom_uid','=','custom.uid')
|
|
|
+ ->join('orders','orders.id','=','orders_product.order_id')
|
|
|
->join('orders_addr','orders_addr.order_id','=','orders_product.order_id')
|
|
|
->where($map)
|
|
|
->orderByDesc('orders_product.id')
|
|
|
->select([
|
|
|
'orders_product.id as id',
|
|
|
+ 'orders.snowflake_id',
|
|
|
'orders_product.order_id',
|
|
|
'orders_product.product_id',
|
|
|
'orders_product.product_name',
|
|
@@ -446,7 +473,6 @@ class Orders extends Auth{
|
|
|
// 循环处理数据
|
|
|
foreach ($data as $key => $value) {
|
|
|
// id转编号
|
|
|
- $value['order_id'] = $Model->idToCode($value['order_id']);
|
|
|
$value['status'] = $Model->getState($value['status'],'state');
|
|
|
$value['custom_uid'] = $Custom->idToCode($value['custom_uid']);
|
|
|
$value['product_id'] = $value['product_id'] ? $Product->idToCode($value['product_id']) : '— —';
|
|
@@ -454,7 +480,8 @@ class Orders extends Auth{
|
|
|
$value['pay_price'] = $value['buy_num'] ? ($value['pay_total'] / $value['buy_num']) : $value['buy_num'];
|
|
|
// 重组
|
|
|
$data[$key] = [
|
|
|
- 'order_id' => $value['order_id'],
|
|
|
+ 'order_id' => $Model->idToCode($value['order_id']),
|
|
|
+ 'snowflake_id' => (string)$value['snowflake_id'],
|
|
|
'status' => $value['status'],
|
|
|
'contact_area' => $value['contact_area'],
|
|
|
'contact_school' => $value['contact_school'],
|
|
@@ -496,6 +523,7 @@ class Orders extends Auth{
|
|
|
$excel = new \Vtiful\Kernel\Excel($config);
|
|
|
$header = [
|
|
|
'订单ID',
|
|
|
+ '订单编号',
|
|
|
'订单状态',
|
|
|
'区域',
|
|
|
'学校',
|
|
@@ -605,7 +633,7 @@ class Orders extends Auth{
|
|
|
/**
|
|
|
* 设置订单地址
|
|
|
*/
|
|
|
- public function set_addr(Request $request,OrdersAddr $OrdersAddr){
|
|
|
+ public function set_addr(Request $request,OrdersAddr $OrdersAddr,School $School){
|
|
|
// 接收参数
|
|
|
$orderId = request('order_id','');
|
|
|
// 获取数据
|
|
@@ -628,10 +656,43 @@ class Orders extends Auth{
|
|
|
// 告知结果
|
|
|
return json_send(['code'=>'success','msg'=>'编辑成功','action'=>'edit']);
|
|
|
}
|
|
|
+ // 获取地址
|
|
|
+ $areaList = $School->getAreaList();
|
|
|
+ // 年级
|
|
|
+ $gradeList = $School->getGradeList();
|
|
|
+ // 班级
|
|
|
+ $classList = $School->getClassList();
|
|
|
+ // 学校
|
|
|
+ $schoolList = $School->query()->where([['area','=',request('contact_area',$oldData['contact_area'])]])->get(['id','name'])->toArray();
|
|
|
// 分配数据
|
|
|
$this->assign('oldData',$oldData);
|
|
|
+ $this->assign('areaList',$areaList);
|
|
|
+ $this->assign('gradeList',$gradeList);
|
|
|
+ $this->assign('classList',$classList);
|
|
|
+ $this->assign('schoolList',$schoolList);
|
|
|
$this->assign('crumbs','修改地址');
|
|
|
// 加载模板
|
|
|
return $this->fetch();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置订单地址
|
|
|
+ */
|
|
|
+ public function get_school(OrdersAddr $OrdersAddr,School $School){
|
|
|
+ // 接收参数
|
|
|
+ $orderId = request('order_id',0);
|
|
|
+ // 获取数据
|
|
|
+ $oldData = $OrdersAddr->getOneByOrderId($orderId);
|
|
|
+ // 接收参数
|
|
|
+ $contactArea = request('contact_area','');
|
|
|
+ // 学校
|
|
|
+ $schoolList = $School->query()->where([['area','=',$contactArea]])->get(['id','name'])->toArray();
|
|
|
+ // 分配数据
|
|
|
+ $this->assign('oldData',$oldData);
|
|
|
+ $this->assign('schoolList',$schoolList);
|
|
|
+ // 加载模板
|
|
|
+ return $this->fetch();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|