From 2ed54c3bb96dd2bf46aec392b5917204aa7e3d4f Mon Sep 17 00:00:00 2001 From: liqianjin <949671634@qq.com> Date: Thu, 20 Apr 2023 17:19:27 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91=E6=8B=86?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E9=87=8F=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/futures/api/controller/Futures.php | 11 +++-- addon/futures/model/Futures.php | 53 ++++++++++++++++------ addon/futures/shop/view/config/basics.html | 10 +++- 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/addon/futures/api/controller/Futures.php b/addon/futures/api/controller/Futures.php index e7a8295a..43f968eb 100644 --- a/addon/futures/api/controller/Futures.php +++ b/addon/futures/api/controller/Futures.php @@ -129,9 +129,9 @@ class Futures extends BaseApi{ } // 获取内容 $field = [ - 'seller.username as seller_username', - 'seller.nickname as seller_nickname', - 'seller.headimg as seller_headimg', + 'old_seller.username as seller_username', + 'old_seller.nickname as seller_nickname', + 'old_seller.headimg as seller_headimg', 'g.goods_name', 'g.goods_image', 'g.market_price', @@ -149,13 +149,16 @@ class Futures extends BaseApi{ 'o.adjust_money', 'o.pay_money', 'o.order_id', - 'o.name as buyer_name', + 'seller.nickname as buyer_name', + 'f.seller_uid as fseller_uid', ]; // 表关联 $join = [ ['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息 ['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息 ['order o', 'o.order_id = a.order_id', 'left'],// 获取商品信息 + ['futures f', 'f.id = a.old_futures_id', 'left'],// 获取旧订单信息 + ['member old_seller', 'old_seller.member_id = f.seller_uid', 'left'],// 获取旧卖家信息 ]; $futuresModel = new FuturesModel; $page = input('page', 1); diff --git a/addon/futures/model/Futures.php b/addon/futures/model/Futures.php index 7f781276..2c5d6fa1 100644 --- a/addon/futures/model/Futures.php +++ b/addon/futures/model/Futures.php @@ -43,7 +43,7 @@ class Futures extends BaseModel{ // 获取内容 $field = [ 'seller.username as seller_username', - 'seller.nickname as seller_nickname', + 'old_seller.nickname as seller_nickname', 'seller.headimg as seller_headimg', 'g.goods_name', 'g.goods_image', @@ -68,13 +68,16 @@ class Futures extends BaseModel{ 'a.take_time', 'o.order_no', 'o.buyer_message', - 'o.name as buyer_name', + 'buyer.nickname as buyer_name', ]; // 表关联 $join = [ ['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息 + ['member buyer', 'buyer.member_id = a.member_id', 'left'],// 获取买家信息 ['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息 ['order o', 'o.order_id = a.order_id', 'left'],// 获取商品信息 + ['futures f', 'f.id = a.old_futures_id', 'left'],// 获取旧订单信息 + ['member old_seller', 'old_seller.member_id = f.seller_uid', 'left'],// 获取旧卖家信息 ]; $detail = model('futures')->getInfo($condition, $field, 'a', $join); @@ -119,21 +122,23 @@ class Futures extends BaseModel{ if($price >= $futuresInfo['market_price'] * $futuresInfo['total']){ $futuresInfo['total'] *= 2; if($futuresInfo['total'] > pow(2,$basics['order_total_double_times'])){// 配置单订单商品最大裂变次数 - if($agree_split_order == 0){ - model('futures')->rollback(); - Cache::store('redis_concurrent')->set('addon_futures_stock_'.$id,'1'); - return error(-800, '订单价格达到订单拆分限制,是否同意订单拆分?'); - } + // if($agree_split_order == 0){ + // model('futures')->rollback(); + // Cache::store('redis_concurrent')->set('addon_futures_stock_'.$id,'1'); + // return error(-800, '订单价格达到订单拆分限制,是否同意订单拆分?'); + // } //拆单 $futuresInfo['status'] = 8; - for($i = 0;$i < $futuresInfo['total'];$i++){ + $splitOrderNum = $basics['split_order_num']; + // for($i = 0;$i < $futuresInfo['total'];$i++){ + for($i = 0; $i < $splitOrderNum; $i++){ $newSmallFuturesId = $this->add([ 'site_id' => $futuresInfo['site_id'], 'seller_uid' => $futuresInfo['seller_uid'], 'old_futures_id' => $id, 'goods_id' => $futuresInfo['goods_id'], - 'total' => 1, - 'unit_price' => $futuresInfo['unit_price'] / $futuresInfo['total'], + 'total' => $futuresInfo['total'] / $splitOrderNum, + 'unit_price' => $futuresInfo['unit_price'] / $splitOrderNum, 'status' => 1, 'order_id' => $futuresInfo['order_id'], 'created_time' => time() @@ -201,12 +206,34 @@ class Futures extends BaseModel{ if(empty($date) || $date['status'] !== 1){ return $this->error($date,'提货失败'); } + $member_address = input( 'member_address', []); + $member_address = isset($member_address) && !empty($member_address) ? json_decode($member_address, true) : []; + if(empty($member_address)){ + return $this->error($date,'提货失败-无收获地址'); + } if(!Cache::store('redis_concurrent')->delete('addon_futures_stock_'.$id)){ return $this->error('','提货失败'); } model('futures')->update([ 'status' => 5, ], [['id', '=', $id]]); + $order_info = [ + 'name' => $member_address[ 'name' ] ?? '', + 'mobile' => $member_address[ 'mobile' ] ?? '', + 'telephone' => $member_address[ 'telephone' ] ?? '', + 'province_id' => $member_address[ 'province_id' ] ?? '', + 'city_id' => $member_address[ 'city_id' ] ?? '', + 'district_id' => $member_address[ 'district_id' ] ?? '', + 'community_id' => $member_address[ 'community_id' ] ?? '', + 'address' => $member_address[ 'address' ] ?? '', + 'full_address' => $member_address[ 'full_address' ] ?? '', + 'longitude' => $member_address[ 'longitude' ] ?? '', + 'latitude' => $member_address[ 'latitude' ] ?? '', + 'promotion_type' => 'futures_tihuo', + ]; + + model('order')->update($order_info,[['order_id', '=', $date['order_id']]]); + $basics = $this->getBasicsConfig($date['site_id'])[ 'data' ][ 'value' ]; // 提货用来减少用户买入限制 Db::name('futures_user') @@ -227,9 +254,9 @@ class Futures extends BaseModel{ if(empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)){ return $this->error($date,'下单失败-1001'); } -// if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){ -// return $this->error('','下单失败-1002'); -// } + if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){ + return $this->error('','下单失败-1002'); + } model('futures')->update( [ 'status' => 6, diff --git a/addon/futures/shop/view/config/basics.html b/addon/futures/shop/view/config/basics.html index 75a0f9fc..f08a3932 100644 --- a/addon/futures/shop/view/config/basics.html +++ b/addon/futures/shop/view/config/basics.html @@ -208,6 +208,14 @@