WIN-2308041133\Administrator há 2 dias atrás
pai
commit
f0a40e7e10
2 ficheiros alterados com 26 adições e 77 exclusões
  1. 22 74
      app/api/controller/Shop.php
  2. 4 3
      app/model/api/UserScoreDetail.php

+ 22 - 74
app/api/controller/Shop.php

@@ -10,7 +10,6 @@ use app\model\api\StoreCart;
 use app\model\api\PayTrade;
 use app\model\api\UserAddress;
 use app\model\api\StoreProductAttrValue;
-use app\model\api\UserScoreDetail;
 use app\Request;
 use library\services\UtilService;
 use think\facade\Db;
@@ -94,7 +93,7 @@ class Shop extends BaseController
                     'price' => $price,
                     'total_price' => $productMoney,
                 ], JSON_UNESCAPED_UNICODE),
-                'unique' => $cart['product_attr_unique'] ?: uniqid('cart_', true),
+                'unique' => $cart['product_attr_unique'] ?? '',
             ];
         }
 
@@ -105,12 +104,6 @@ class Shop extends BaseController
         // 生成订单号
         $orderId = makeOrderId($request->user['uid'], 'SO');
 
-        // 检查用户积分是否足够
-        $userScore = Db::name('user')->where('uid', $request->user['uid'])->value('score') ?? 0;
-        if ($userScore < $payMoney) {
-            return app('json')->fail('积分不足,当前积分:' . $userScore . ',需要:' . $payMoney);
-        }
-
         // 开启事务
         Db::startTrans();
         try {
@@ -120,6 +113,9 @@ class Shop extends BaseController
                 'uid' => $request->user['uid'],
                 'real_name' => $address['real_name'],
                 'user_phone' => $address['phone'],
+//                'province' => $address['province'],
+//                'city' => $address['city'],
+//                'district' => $address['district'],
                 'user_address' => $address['detail'],
                 'total_price' => $totalMoney,
                 'total_num' => $totalNum,
@@ -140,43 +136,23 @@ class Shop extends BaseController
             }
             Db::name('store_order_cart_info')->insertAll($cartInfo);
 
-            // 扣除用户积分
-            $scoreDetail = new UserScoreDetail();
-            $scoreResult = $scoreDetail->payScore(
-                $request->user['uid'],
-                $payMoney,
-                'outcome_score',
-                '商城订单:' . $orderId,
-                ['o_id' => $orderIdDb],
-                '',
-                '商城购买积分抵扣支出,支出' . $payMoney . '积分'
-            );
-
-            if (!$scoreResult) {
-                Db::rollback();
-                return app('json')->fail('积分扣除失败');
-            }
-
             // 创建支付流水
-            $payTrade = new PayTrade();
-            $payTrade->credentials(
-                'score',
-                $request->user['uid'],
-                'shop_order',
-                $payMoney,
-                '商城订单积分支付',
-                $orderId,
-                ['order_id' => $orderId],
-                0,
-                'shop_score',
-                $orderIdDb
-            );
-
-            // 更新订单为已支付状态(积分支付直接完成)
-            Db::name('store_order')->where('id', $orderIdDb)->update([
-                'paid' => 1,
-                'pay_time' => time()
-            ]);
+//            $payTrade = new PayTrade();
+//            $payNo = $payTrade->credentials(
+//                'score',
+//                $request->user['uid'],
+//                'shop_order',
+//                $payMoney,
+//                '商城订单支付',
+//                $orderId,
+//                ['order_id' => $orderId],
+//                0
+//            );
+//
+//            // 更新支付流水的o_id
+//            if ($payNo) {
+//                Db::name('pay_trade')->where('pay_no', $payNo)->update(['o_id' => $orderIdDb]);
+//            }
 
             // 清除购物车
             Db::name('store_cart')->whereIn('id', $cartIds)->delete();
@@ -271,37 +247,9 @@ class Shop extends BaseController
             return app('json')->fail('订单不存在或已取消');
         }
 
-        Db::startTrans();
-        try {
-            // 退还用户积分(如果是积分支付且已支付)
-            if ($order['paid'] == 1) {
-                $userScore = new UserScoreDetail();
-                $result = $userScore->incomeScore(
-                    $request->user['uid'],
-                    $order['pay_price'],
-                    $order['order_id'],
-                    'score_refund',
-                    [],
-                    $order['id'],
-                    '积分退款',
-                    '商城订单取消退还积分:' . $order['order_id']
-                );
-
-                if (!$result) {
-                    Db::rollback();
-                    return app('json')->fail('积分退还失败');
-                }
-            }
-
-            Db::name('store_order')->where('id', $order['id'])->update(['status' => -1]);
-            Db::commit();
+        Db::name('store_order')->where('id', $order['id'])->update(['status' => -1]);
 
-            return app('json')->success('订单已取消,积分已退还');
-        } catch (\Exception $e) {
-            Db::rollback();
-            @file_put_contents('quanju.txt', date('Y-m-d H:i:s') . ' [cancelOrder Error] ' . $e->getMessage() . "\r\n", 8);
-            return app('json')->fail('取消订单失败');
-        }
+        return app('json')->success('订单已取消');
     }
 
     /**

+ 4 - 3
app/model/api/UserScoreDetail.php

@@ -141,13 +141,13 @@ class UserScoreDetail extends BaseModel
      * @param type $money
      * @param type $mono
      */
-    public function payScore($uid,$money,$code,$mono,$parms=array()){
+    public function payScore($uid,$money,$code,$mono,$parms=array(),$title="",$content=""){
         try {
-            $content         = $this->TplParam($this->config[$code]['content'],compact('money', 'mono'));
+//            $content         = $this->TplParam($this->config[$code]['content'],compact('money', 'mono'));
             $post['uid']     = $uid;
             $post['v']       = $money;
             $post['code']    = $code;
-            $post['title']   = $this->config[$code]['code'];
+//            $post['title']   = $this->config[$code]['code'];
             $post['content'] = $content;
             $post['type']    = -1;
             $post['time']    = time();
@@ -161,6 +161,7 @@ class UserScoreDetail extends BaseModel
                 return false;
             }
         } catch (DbException $db) {
+
             return false;
         }
     }