From a891693107c06daff7fe42446ce44ba11786d832 Mon Sep 17 00:00:00 2001 From: "674780036@qq.com" <674780036@qq.com> Date: Mon, 26 Feb 2024 11:43:10 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=88=86=E9=94=80=E5=95=86-=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=98=AF=E5=90=A6=E6=98=AF=E5=88=86=E9=94=80=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/Dealer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/controller/Dealer.php b/app/api/controller/Dealer.php index acba9bf7..04732554 100644 --- a/app/api/controller/Dealer.php +++ b/app/api/controller/Dealer.php @@ -61,7 +61,7 @@ class Dealer extends Controller */ public function center(): Json { - $dealer = $this->dealer->toArray(); + $dealer = isset($this->dealer) ? $this->dealer->toArray() : null; $dealer['update_time'] = date("Y-m-d", strtotime($dealer['update_time'])); From 054a5b96ba3aab8cf7f04b82c947ba1f28df4b3d Mon Sep 17 00:00:00 2001 From: lqmac Date: Mon, 26 Feb 2024 17:44:10 +0800 Subject: [PATCH 02/11] 1 --- app/api/controller/User.php | 13 +++++++++++++ app/store/model/User.php | 1 + 2 files changed, 14 insertions(+) diff --git a/app/api/controller/User.php b/app/api/controller/User.php index 5a752f33..5b772187 100644 --- a/app/api/controller/User.php +++ b/app/api/controller/User.php @@ -14,6 +14,7 @@ namespace app\api\controller; use app\api\model\Agreement as AgreementModel; use app\api\model\User as UserModel; +use app\store\model\User as StoreUserModel; use app\api\model\user\BalanceLog; use app\api\model\user\GoodSource as GoodsSourceModel; use app\api\model\user\InvoiceOrder; @@ -315,5 +316,17 @@ class User extends Controller $Qrcode = new InviteUser($userInfo, 'MP-WEIXIN'); return $this->renderSuccess(['imageUrl' => $Qrcode->getImage()]); } + /** + * 用户列表 + * @return Json + * @throws \think\db\exception\DbException + */ + public function list(): Json + { + // 用户列表 + $model = new StoreUserModel; + $list = $model->getList($this->request->param()); + return $this->renderSuccess(compact('list')); + } } diff --git a/app/store/model/User.php b/app/store/model/User.php index de2f1920..9da86f22 100644 --- a/app/store/model/User.php +++ b/app/store/model/User.php @@ -111,6 +111,7 @@ class User extends UserModel $filter = []; // 会员昵称 !empty($params['search']) && $filter[] = ['nick_name|mobile', 'like', "%{$params['search']}%"]; + !empty($params['user_type']) && $filter[] = ['user_type', 'in', explode(",", $params['user_type'])]; // 用户性别 $params['gender'] > -1 && $filter[] = ['gender', '=', (int)$params['gender']]; // 用户等级 From dffb33b703e0fb17db8168d7a19f75e846193cdc Mon Sep 17 00:00:00 2001 From: ztt <835303992@qq.com> Date: Mon, 26 Feb 2024 17:54:27 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=B8=8B=E5=8F=91=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/model/OrderRefund.php | 13 +++++++++++++ app/store/model/OrderRefund.php | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/common/model/OrderRefund.php b/app/common/model/OrderRefund.php index f43abb32..1e92e4ff 100644 --- a/app/common/model/OrderRefund.php +++ b/app/common/model/OrderRefund.php @@ -12,6 +12,7 @@ declare (strict_types=1); namespace app\common\model; +use app\common\enum\order\refund\RefundType; use cores\BaseModel; use think\model\relation\BelongsTo; use think\model\relation\HasMany; @@ -30,6 +31,13 @@ class OrderRefund extends BaseModel // 定义主键 protected $pk = 'order_refund_id'; + /** + * 追加字段 + */ + protected $append = [ + 'refund_type_text' + ]; + /** * 关联用户表 * @return BelongsTo @@ -113,4 +121,9 @@ class OrderRefund extends BaseModel { return static::get($where, $with); } + + public function getRefundTypeTextAttr($value, $data): string + { + return !empty(RefundType::data()[$data['type']]) ? RefundType::data()[$data['type']]['name'] : ''; + } } \ No newline at end of file diff --git a/app/store/model/OrderRefund.php b/app/store/model/OrderRefund.php index 26b44995..198f79b4 100644 --- a/app/store/model/OrderRefund.php +++ b/app/store/model/OrderRefund.php @@ -104,7 +104,7 @@ class OrderRefund extends OrderRefundModel $list = $query->order(['refund.create_time' => 'desc', 'refund.' . $this->getPk()]) ->paginate(10); // 加载关联订单数据 - $list = static::preload($list, ['goods.image', 'orderData', 'user.avatar'], true); + $list = static::preload($list, ['goods.image', 'orderData', 'user.avatar','images.file'], true); foreach ($list['data'] as $key => $row) { $row['orderData']['pay_method_text'] = Method::data()[$row['orderData']['pay_method']]['name'];//支付方式 $row['orderData']['delivery_type_text'] = DeliveryType::data()[$row['orderData']['delivery_type']]['name'];//配送方式 From 82168322b17553e58288dec136d2372952dfcdca Mon Sep 17 00:00:00 2001 From: lqmac Date: Mon, 26 Feb 2024 21:11:41 +0800 Subject: [PATCH 04/11] 1 --- app/api/controller/User.php | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/app/api/controller/User.php b/app/api/controller/User.php index 5b772187..71572f14 100644 --- a/app/api/controller/User.php +++ b/app/api/controller/User.php @@ -14,6 +14,7 @@ namespace app\api\controller; use app\api\model\Agreement as AgreementModel; use app\api\model\User as UserModel; +use app\api\model\Invite\InviteLog; use app\store\model\User as StoreUserModel; use app\api\model\user\BalanceLog; use app\api\model\user\GoodSource as GoodsSourceModel; @@ -326,7 +327,46 @@ class User extends Controller // 用户列表 $model = new StoreUserModel; $list = $model->getList($this->request->param()); + if (!$list) { + return $this->renderSuccess(compact('list')); + } + $list = $list->toArray(); + // echo "
";
+        // print_r($list);
+        // exit();
+        foreach ($list['data'] as $key => &$value) {
+            $log = InviteLog::where('invitee_user_id', $value['user_id'])->find();
+            $user = UserModel::where('user_id', $log['user_id'] ?? 0)->field('user_id,nick_name,mobile')->find();
+            $value['inviter'] = $user;
+        }
+        
         return $this->renderSuccess(compact('list'));
     }
+    public function updateUser(): Json
+    {
+        $params = $this->request->param();
+        $user_id = $params['user_id'] ?? 0;
+        unset($params['user_id']);
+        UserModel::where('user_id', $user_id)->update($params);
+        return $this->renderSuccess('ok');
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 }

From aac5e719df71934cd8bbed6e73562aae828621bf Mon Sep 17 00:00:00 2001
From: ztt <835303992@qq.com>
Date: Mon, 26 Feb 2024 21:18:30 +0800
Subject: [PATCH 05/11] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=8E=A5=E5=8F=A3?=
 =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/api/service/order/Checkout.php |  3 +++
 app/common.php                     |  8 ++++++++
 app/common/model/Order.php         | 21 +++++++++++++++++++++
 app/store/model/OrderRefund.php    |  3 +--
 4 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/app/api/service/order/Checkout.php b/app/api/service/order/Checkout.php
index b6a28900..af78868e 100644
--- a/app/api/service/order/Checkout.php
+++ b/app/api/service/order/Checkout.php
@@ -850,6 +850,9 @@ class Checkout extends BaseService
             'order_status' => OrderStatusEnum::NORMAL,
             'platform' => getPlatform(),
             'store_id' => $this->storeId,
+            'expect_receive_time' => $this->param['expect_receive_time'],//期待收货时间
+            'is_street_take' => $this->param['is_street_take'],//是否街边1-在 0-不在
+            'to_store_time' => $this->param['to_store_time'],//预计到店时间
         ];
         if ($order['delivery'] == DeliveryTypeEnum::EXPRESS) {
             $data['express_price'] = $order['expressPrice'];
diff --git a/app/common.php b/app/common.php
index 85804676..9da1220b 100644
--- a/app/common.php
+++ b/app/common.php
@@ -458,3 +458,11 @@ function getUrl($value, $host = ''){
     return $value ? $host."/".$value : "";
 }
 
+
+function calc_time($startTime, $endTime) {
+    $diffTime = ($endTime - $startTime);
+    if ($diffTime > 3600) {
+        return "";
+    }
+    return date('i分钟s秒', (3600 - $diffTime));
+}
diff --git a/app/common/model/Order.php b/app/common/model/Order.php
index f7ff113f..a8082a41 100644
--- a/app/common/model/Order.php
+++ b/app/common/model/Order.php
@@ -57,6 +57,8 @@ class Order extends BaseModel
         'state_text',   // 售后单状态文字描述
         'pay_method_text', //订单支付方式文字描述
         'delivery_type_text', //配送方式文字描述
+        'time_text', //倒计时文字
+        'store_phone'//商家电话
     ];
 
     /**
@@ -406,4 +408,23 @@ class Order extends BaseModel
     {
         return !empty(DeliveryType::data()[$data['delivery_type']])? DeliveryType::data()[$data['delivery_type']]['name']: '';//配送方式
     }
+
+    public function getTimeTextAttr($value, $data) : int
+    {
+        $diffTime = 60*60*24;//24小时倒计时
+        // 付款状态
+        if ($data['pay_status'] == PayStatusEnum::PENDING) {
+            return (($data['create_time'] + $diffTime) - time()) * 1000;
+        }
+
+        // 收货状态
+        if ($data['receipt_status'] == ReceiptStatusEnum::NOT_RECEIVED) {
+            return (($data['delivery_time'] + $diffTime) - time()) * 1000;
+        }
+        return 0;
+    }
+
+    public function getStorePhoneAttr($value,$data) {
+        return Store::get($data['store_id'])->phone ?: '';
+    }
 }
diff --git a/app/store/model/OrderRefund.php b/app/store/model/OrderRefund.php
index 198f79b4..4a4aa5b5 100644
--- a/app/store/model/OrderRefund.php
+++ b/app/store/model/OrderRefund.php
@@ -108,8 +108,6 @@ class OrderRefund extends OrderRefundModel
         foreach ($list['data'] as $key => $row) {
             $row['orderData']['pay_method_text'] = Method::data()[$row['orderData']['pay_method']]['name'];//支付方式
             $row['orderData']['delivery_type_text'] = DeliveryType::data()[$row['orderData']['delivery_type']]['name'];//配送方式
-//            $row['orderData']['order_status'] = $row['orderData']['status'];
-//            unset($row['orderData']['status']);
             $newRow = array_merge($row, $row['orderData']);
             $list['data'][$key] = $newRow;
             unset($list['data'][$key]['orderData']);
@@ -160,6 +158,7 @@ class OrderRefund extends OrderRefundModel
         }
         // 起止时间
         if (!empty($params['betweenTime'])) {
+            $params['betweenTime'] = explode(',', $params['betweenTime']);
             $times = between_time($params['betweenTime']);
             $filter[] = ['refund.create_time', '>=', $times['start_time']];
             $filter[] = ['refund.create_time', '<', $times['end_time'] + 86400];

From 4ca768f2e09709b9859f8d4a60c64484dc8d7792 Mon Sep 17 00:00:00 2001
From: ztt <835303992@qq.com>
Date: Mon, 26 Feb 2024 21:51:15 +0800
Subject: [PATCH 06/11] 1

---
 app/store/model/Order.php | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/app/store/model/Order.php b/app/store/model/Order.php
index e0adc7dc..0549d70e 100644
--- a/app/store/model/Order.php
+++ b/app/store/model/Order.php
@@ -326,8 +326,7 @@ class Order extends OrderModel
      */
     public function updateDelivery(array $data): bool
     {
-        if ($this['pay_status'] != PayStatusEnum::SUCCESS
-            || $this['delivery_status'] == DeliveryStatusEnum::DELIVERED || $this['delivery_type'] != 10) {
+        if ($this['delivery_status'] == DeliveryStatusEnum::DELIVERED || $this['delivery_type'] != 10) {
             $this->error = "订单号[{$this['order_no']}]不满足修改条件!";
             return false;
         }

From cf1e787717dae3f64e5af5d4d2c9ac9d48247358 Mon Sep 17 00:00:00 2001
From: ztt <835303992@qq.com>
Date: Mon, 26 Feb 2024 23:01:19 +0800
Subject: [PATCH 07/11] =?UTF-8?q?=E6=99=AE=E9=80=9A=E4=BC=9A=E5=91=98?=
 =?UTF-8?q?=E5=92=8Cplus=E4=BC=9A=E5=91=98=E6=B7=BB=E5=8A=A0=E6=9F=A5?=
 =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/store/model/Order.php       | 7 +++++++
 app/store/model/OrderRefund.php | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/app/store/model/Order.php b/app/store/model/Order.php
index 0549d70e..e112180b 100644
--- a/app/store/model/Order.php
+++ b/app/store/model/Order.php
@@ -105,6 +105,13 @@ class Order extends OrderModel
          if(!UserService::isStore()) {
              $filter[] = ['user.user_id' ,'=', UserService::getCurrentLoginUserId() ];
          }
+         //普通会员和plus会员查询条件
+         if (!empty($param['user_id'])) {
+             $filter[] = ['user.user_id' ,'=', $param['user_id']];
+         }
+         if (!empty($param['delivery_type'])) {
+             $filter[] = ['order.delivery_type', '=', $param['delivery_type']];
+         }
         $filterOr = [];
         if (!empty($param['searchValue']) && $param['searchType'] == 'all') {
 //            $filterOr = [
diff --git a/app/store/model/OrderRefund.php b/app/store/model/OrderRefund.php
index 4a4aa5b5..d0f5d740 100644
--- a/app/store/model/OrderRefund.php
+++ b/app/store/model/OrderRefund.php
@@ -77,6 +77,13 @@ class OrderRefund extends OrderRefundModel
          if(!UserService::isStore()) {
              $filter[] = ['user.user_id' ,'=', UserService::getCurrentLoginUserId() ];
          }
+        //普通会员和plus会员查询条件
+        if (!empty($param['user_id'])) {
+            $filter[] = ['user.user_id' ,'=', $param['user_id']];
+        }
+        if (!empty($param['delivery_type'])) {
+            $filter[] = ['order.delivery_type', '=', $param['delivery_type']];
+        }
         $filterOr = [];
         if (!empty($param['searchValue']) && $param['searchType'] == 'all') {
 //            $filterOr = [

From 82ea25f1fe1a2ee965900a79005ad4a5a444e05f Mon Sep 17 00:00:00 2001
From: "674780036@qq.com" <674780036@qq.com>
Date: Mon, 26 Feb 2024 23:01:50 +0800
Subject: [PATCH 08/11] =?UTF-8?q?=E5=88=86=E9=94=80=E8=AE=A2=E5=8D=95-?=
 =?UTF-8?q?=E4=BD=A3=E9=87=91=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/api/controller/dealer/Capital.php | 39 +++++++++++++++++++++++++++
 app/api/model/dealer/Capital.php      | 21 +++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 app/api/controller/dealer/Capital.php

diff --git a/app/api/controller/dealer/Capital.php b/app/api/controller/dealer/Capital.php
new file mode 100644
index 00000000..97b825b8
--- /dev/null
+++ b/app/api/controller/dealer/Capital.php
@@ -0,0 +1,39 @@
+
+// +----------------------------------------------------------------------
+declare (strict_types=1);
+
+namespace app\api\controller\dealer;
+
+use think\response\Json;
+use app\api\controller\Controller;
+use app\api\model\dealer\Capital as CapitalModel;
+
+/**
+ * 分销商佣金
+ * Class Order
+ * @package app\api\controller\user\dealer
+ */
+class Capital extends Controller
+{
+    /**
+     * 分销商佣金列表
+     * @return Json
+     * @throws \cores\exception\BaseException
+     * @throws \think\db\exception\DbException
+     */
+    public function list(): Json
+    {
+        // 分销商订单列表
+        $model = new CapitalModel;
+        $list = $model->getList($this->request->param(),$this->request->storeId());
+        return $this->renderSuccess(compact('list'));
+    }
+}
\ No newline at end of file
diff --git a/app/api/model/dealer/Capital.php b/app/api/model/dealer/Capital.php
index 36005cad..051b1d17 100644
--- a/app/api/model/dealer/Capital.php
+++ b/app/api/model/dealer/Capital.php
@@ -13,6 +13,7 @@ declare (strict_types=1);
 namespace app\api\model\dealer;
 
 use app\common\model\dealer\Capital as CapitalModel;
+use app\api\service\User as UserService;
 
 /**
  * 分销商资金明细模型
@@ -29,4 +30,24 @@ class Capital extends CapitalModel
         'create_time',
         'update_time',
     ];
+
+        /**
+     * 获取分销商佣金列表
+     * @param array $param
+     * @return \think\Paginator
+     * @throws \cores\exception\BaseException
+     * @throws \think\db\exception\DbException
+     */
+    public function getList(array $param = [],int $storeId): \think\Paginator
+    {
+        // 当前用户ID
+        $userId = UserService::getCurrentLoginUserId();
+        // 获取分销商佣金列表
+        $list = $this->getNewQuery()
+            ->where('user_id',$userId)
+            ->where('store_id',$storeId)
+            ->order(['create_time' => 'desc'])
+            ->paginate(15);
+        return $list;
+    }
 }
\ No newline at end of file

From a4734f7415933e8becf922de8900677e9b57e232 Mon Sep 17 00:00:00 2001
From: "674780036@qq.com" <674780036@qq.com>
Date: Mon, 26 Feb 2024 23:41:21 +0800
Subject: [PATCH 09/11] =?UTF-8?q?=E5=88=86=E9=94=80=E8=AE=A2=E5=8D=95-?=
 =?UTF-8?q?=E5=88=86=E9=94=80=E6=97=B6=E9=97=B4=E5=88=B0=E6=9C=9F=E6=94=B9?=
 =?UTF-8?q?=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/command/CalDealerTime.php | 60 +++++++++++++++++++++++++++++++++++
 config/console.php            |  1 +
 2 files changed, 61 insertions(+)
 create mode 100644 app/command/CalDealerTime.php

diff --git a/app/command/CalDealerTime.php b/app/command/CalDealerTime.php
new file mode 100644
index 00000000..b345a5b8
--- /dev/null
+++ b/app/command/CalDealerTime.php
@@ -0,0 +1,60 @@
+setName('CalDealerTime')
+            ->setDescription('自动计算分销时间');
+    }
+
+    protected function execute(Input $input, Output $output)
+    {
+        //todo wmc这边代码需要优化
+        //$list = User::where('status', 1)
+        $list = User::where('user_type', 'in', [UserTypeEnum::MEMBER,UserTypeEnum::DEALER])
+            ->where('is_delete', '=', 0)
+            //->where('store_id',10001)
+            ->select();
+            // print '
';
+            // print_r($list->toArray());
+            // print '
'; + // die; + foreach ($list as $item) { + //如果分销商到期,改成会员 + if(strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d'))){ + User::where('user_id',$item['user_id'])->update([ + 'user_type'=>UserTypeEnum::MEMBER + ]); + } + //如果会员到期,但是分销商没到期,还是分销商;分销商到期了,改成普通用户 + if((strtotime($item['effective_time']) <= strtotime(date('Y-m-d'))) && (strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d')))){ + User::where('user_id',$item['user_id'])->update([ + 'user_type'=>UserTypeEnum::NORMAL + ]); + } + + } + + + } + + +} diff --git a/config/console.php b/config/console.php index dbaa6db4..ff096871 100644 --- a/config/console.php +++ b/config/console.php @@ -9,5 +9,6 @@ return [ 'timer' => \app\timer\command\Timer::class, //test脚本 'test' => 'app\command\test', + 'CalDealerTime' => 'app\command\CalDealerTime', ], ]; From e167dba8f46df03d523b433533a8e0ffb1a71d2d Mon Sep 17 00:00:00 2001 From: lqmac Date: Tue, 27 Feb 2024 00:32:09 +0800 Subject: [PATCH 10/11] 1 --- app/api/controller/Goods.php | 14 +++++++++++--- app/api/model/Goods.php | 13 +++++++------ app/api/model/Order.php | 6 +++--- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/api/controller/Goods.php b/app/api/controller/Goods.php index a0165ccc..a849c603 100644 --- a/app/api/controller/Goods.php +++ b/app/api/controller/Goods.php @@ -18,7 +18,8 @@ use app\common\service\qrcode\Goods as GoodsPoster; use cores\exception\BaseException; use think\facade\Cache; use think\response\Json; - +use app\common\model\GoodsImage as GoodsImageModel; +use app\common\model\UploadFile as UploadFileModel; /** * 商品控制器 * Class Goods @@ -99,8 +100,15 @@ class Goods extends Controller { $param = $this->request->param(); $model = new GoodsModel; - $list = $model->presaleList($param); - + $list = $model->presaleList($param)->toArray(); + if (!$list) { + return $this->renderSuccess(compact('list')); + } + foreach ($list['data'] as $key => &$value) { + $goods_image = GoodsImageModel::where('goods_id', $value['goods_id'])->find(); + $file_path = UploadFileModel::where('file_id', $goods_image['image_id'])->find(); + $value['image'] = getUrl($file_path['file_path'], $file_path['domain']); + } return $this->renderSuccess(compact('list')); } diff --git a/app/api/model/Goods.php b/app/api/model/Goods.php index 55e9a962..2ad33b6c 100644 --- a/app/api/model/Goods.php +++ b/app/api/model/Goods.php @@ -117,21 +117,22 @@ class Goods extends GoodsModel return $this->setGoodsListDataFromApi($list); } - public function presale() + public function presale($param) { $userId = UserService::getCurrentLoginUserId(true); $info = PreSaleLog::where([ 'user_id' => $userId, 'store_id' => request()->header()['storeid'], - 'goods_id' => $_POST['goods_id'], + 'goods_id' => $param['goods_id'] ?? 0, ])->find(); if (!$info) { PreSaleLog::insert([ 'user_id' => $userId, 'store_id' => request()->header()['storeid'], - 'goods_id' => $_POST['goods_id'], + 'pre_id' => $param['pre_id'] ?? 0, + 'goods_id' => $param['goods_id'] ?? 0, 'ctime' => date('Y-m-d H:i:s') ]); return true; @@ -224,7 +225,7 @@ class Goods extends GoodsModel ->where([ 'a.store_id' => request()->header()['storeid'], 'a.user_id' => $userId, - ])->field('c.goods_name,c.goods_price_min,a.id,b.p_time')->paginate(15); + ])->field('c.goods_name,c.goods_price_min,a.id,b.p_time,c.goods_id')->paginate(15); return $info; } @@ -302,11 +303,11 @@ class Goods extends GoodsModel return array_values($uniqueArray); } - public function canlpresale() + public function canlpresale($param) { $userId = UserService::getCurrentLoginUserId(true); $info = PreSaleLog::where([ - 'id' => $_POST['id'], + 'id' => $param['id'], 'user_id' => $userId ])->delete(); diff --git a/app/api/model/Order.php b/app/api/model/Order.php index c50d8081..5c7534ae 100644 --- a/app/api/model/Order.php +++ b/app/api/model/Order.php @@ -28,7 +28,7 @@ use app\common\enum\{OrderType, use app\api\service\Store as StoreService; use app\common\library\helper; use cores\exception\BaseException; - +use app\api\model\PreSaleLog; /** * 订单模型 * Class Order @@ -584,14 +584,14 @@ class Order extends OrderModel $userId = UserService::getCurrentLoginUserId(); return [ - 'reservation_number' => RecoveryOrder::getCount(), // 上门预约待服务订单总数 + 'reservation_number' => PreSaleLog::where('user_id', $userId)->count(), // 上门预约待服务订单总数 'view_number' => GoodsBrowseLog::getCount(), // 浏览记录 'send_number' => TransferRecord::getCount(), // 发货数量 'integral_number' => User::get($userId)->points, // 积分数量 'coupon_number' => UserCoupon::getCount(), // 优惠券 'goods_collect_number' => 0, // 商品采集数量 'cart_number' => Cart::getCount(), // 购物车数量 - 'take_goods_number' => 0, // 发货记录&提货记录 + 'take_goods_number' => OrderModel::where('user_id', $userId)->where('delivery_type',20)->count(), // 发货记录&提货记录 ]; } } From 55e11a59bff9a9e64ba55f59abdf30a28990ada1 Mon Sep 17 00:00:00 2001 From: "674780036@qq.com" <674780036@qq.com> Date: Tue, 27 Feb 2024 02:23:14 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E5=88=86=E9=94=80=E8=AE=A2=E5=8D=95-?= =?UTF-8?q?=E5=88=86=E9=94=80=E4=BC=9A=E5=91=98=E5=88=B0=E6=9C=9F=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=94=9F=E6=88=90=E5=88=86=E9=94=80=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=EF=BC=9B=E5=88=86=E9=94=80=E7=BB=AD=E6=9C=9F=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E5=8F=AA=E6=9B=B4=E6=96=B0=E5=88=86?= =?UTF-8?q?=E9=94=80=E4=BC=9A=E5=91=98=E6=97=B6=E9=97=B4=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=88=86=E9=94=80=E7=94=A8=E6=88=B7=EF=BC=9B?= =?UTF-8?q?=E8=B4=AD=E4=B9=B0=E5=88=86=E9=94=80=E4=BC=9A=E5=91=98=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?fx=5Feffective=5Ftime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/model/dealer/Order.php | 10 +++++ app/api/service/identity/PaySuccess.php | 2 + app/command/CalDealerTime.php | 50 ++++++++++++++++++++----- 3 files changed, 52 insertions(+), 10 deletions(-) diff --git a/app/api/model/dealer/Order.php b/app/api/model/dealer/Order.php index e7830882..1e9a5ca5 100644 --- a/app/api/model/dealer/Order.php +++ b/app/api/model/dealer/Order.php @@ -21,6 +21,8 @@ use app\api\model\Order as OrderApiModel; use app\common\enum\order\PayStatus as PayStatusEnum; use app\common\model\UserAddress as UserAddessModel; use cores\exception\BaseException; +use app\api\model\User as UserApiModel; +use app\common\enum\user\UserTypeEnum; /** @@ -123,6 +125,14 @@ class Order extends DealerOrderModel if (!$dealerUser['first_user_id']) { return false; } + //如果上级已经不是分销商 + if(!User::isDealerUser($dealerUser['first_user_id'])){ + return false; + } + //如果上级已经不是分销商 + if(!UserApiModel::where('user_id',$dealerUser['first_user_id'])->value('user_type') !== UserTypeEnum::DEALER){ + return false; + } // 计算订单分销佣金 $capital = static::getCapitalByOrder($order); // 保存分销订单记录 diff --git a/app/api/service/identity/PaySuccess.php b/app/api/service/identity/PaySuccess.php index b952704c..e86f9438 100644 --- a/app/api/service/identity/PaySuccess.php +++ b/app/api/service/identity/PaySuccess.php @@ -382,6 +382,7 @@ class PaySuccess extends BaseService if (!empty($userInfo['effective_time']) && strtotime($userInfo['effective_time']) > strtotime(date('Y-m-d'))) { $time = $userInfo['effective_time']; } + } if (!User::isDealerUser($userInfo['user_id'])) { // 新增分销商用户 @@ -392,6 +393,7 @@ class PaySuccess extends BaseService 'mobile' => $mobile, ]); } + $up['fx_effective_time'] = date("Y-m-d", strtotime("+{$orderInfo['month']} months", strtotime($time))); } $up['effective_time'] = date("Y-m-d", strtotime("+{$orderInfo['month']} months", strtotime($time))); $userModel->where(['user_id' => $userInfo['user_id']])->save($up); diff --git a/app/command/CalDealerTime.php b/app/command/CalDealerTime.php index b345a5b8..457245ff 100644 --- a/app/command/CalDealerTime.php +++ b/app/command/CalDealerTime.php @@ -6,6 +6,7 @@ namespace app\command; use think\facade\Db; use app\api\model\User; +use app\api\model\dealer\User as DealerUserModel; use think\console\Input; use think\console\Output; use app\api\model\PreSale; @@ -15,6 +16,7 @@ use app\api\model\PreSaleMessage; use app\api\model\{Goods as GoodsModel}; use app\common\enum\user\UserTypeEnum; + // /www/server/php/74/bin/php /server/wwwroot/yanzong/think CalDealerTime class CalDealerTime extends Command { @@ -37,21 +39,49 @@ class CalDealerTime extends Command // print_r($list->toArray()); // print '
'; // die; + $del_fx_user_ids = []; + $del_hy_user_ids = []; foreach ($list as $item) { - //如果分销商到期,改成会员 - if(strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d'))){ - User::where('user_id',$item['user_id'])->update([ - 'user_type'=>UserTypeEnum::MEMBER - ]); + //如果分销商到期,改成会员;并且删除分销商 + if(isset($item['fx_effective_time']) && strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d'))){ + $del_fx_user_ids[] = $item['user_id']; + // User::where('user_id',$item['user_id'])->update([ + // 'user_type'=>UserTypeEnum::MEMBER + // ]); + // //分销商表软删除 + // DealerUserModel::where('user_id',$item['user_id'])->update(['is_delete'=>1]); } - //如果会员到期,但是分销商没到期,还是分销商;分销商到期了,改成普通用户 - if((strtotime($item['effective_time']) <= strtotime(date('Y-m-d'))) && (strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d')))){ - User::where('user_id',$item['user_id'])->update([ - 'user_type'=>UserTypeEnum::NORMAL - ]); + //如果会员到期,分销商到期了,改成普通用户 + if((strtotime($item['effective_time']) <= strtotime(date('Y-m-d'))) && (isset($item['fx_effective_time']) && strtotime($item['fx_effective_time']) <= strtotime(date('Y-m-d')))){ + $del_hy_user_ids[] = $item['user_id']; + // User::where('user_id',$item['user_id'])->update([ + // 'user_type'=>UserTypeEnum::NORMAL + // ]); + } + //如果会员到期,分销商根本没有,改成普通用户 + if((strtotime($item['effective_time']) <= strtotime(date('Y-m-d'))) && !isset($item['fx_effective_time'])){ + $del_hy_user_ids[] = $item['user_id']; + // User::where('user_id',$item['user_id'])->update([ + // 'user_type'=>UserTypeEnum::NORMAL + // ]); } } + //var_dump([$del_fx_user_ids, $del_hy_user_ids]);die; + Db::transaction(function () use ($del_fx_user_ids, $del_hy_user_ids) { + //如果分销商到期,改成会员;并且删除分销商 + User::whereIn('user_id',$del_fx_user_ids)->update([ + 'user_type'=>UserTypeEnum::MEMBER + ]); + //分销商表软删除 + DealerUserModel::whereIn('user_id',$del_fx_user_ids)->update(['is_delete'=>1]); + + //如果会员到期,分销商到期了/根本没有,改成普通用户 + User::whereIn('user_id',$del_hy_user_ids)->update([ + 'user_type'=>UserTypeEnum::NORMAL + ]); + + }); }