WIN-2308041133\Administrator 5 bulan lalu
induk
melakukan
8816d7f6ca

+ 45 - 22
app/admin/controller/order/StoreOrder.php

@@ -841,39 +841,62 @@ class StoreOrder extends AuthController
      */
     public function updateIntegralBack($id)
     {
-        @file_put_contents('quanju.txt',   "-这里的退积分会用到吗\r\n", 8);
+
         $data = Util::postMore([
             'back_integral',
         ]);
         if (!$id) return $this->failed('数据不存在');
         $product = StoreOrderModel::get($id);
         if (!$product) return Json::fail('数据不存在!');
-        if ($data['back_integral'] <= 0) return Json::fail('请输入积分');
-        if ($product['use_integral'] == $product['back_integral']) return Json::fail('已退完积分!不能再积分了');
+        if ($data['back_integral'] <= 0) return Json::fail('请输入退还数额');
+        if ($product['use_integral'] == $product['back_integral']) return Json::fail('已全部退完!不能再退了');
         $back_integral = $data['back_integral'];
         $data['back_integral'] = bcadd($data['back_integral'], $product['back_integral'], 2);
         $bj = bccomp((float)$product['use_integral'], (float)$data['back_integral'], 2);
-        if ($bj < 0) return Json::fail('退积分大于支付积分,请修改退积分');
+        if ($bj < 0) return Json::fail('退健康币或健康豆大于支付部分,请修改数额');
         BaseModel::beginTrans();
-        $integral = User::where('uid', $product['uid'])->value('integral');
-        $res1 = User::bcInc($product['uid'], 'integral', $back_integral, 'uid');
-        $res2 = UserBill::income('商品退积分', $product['uid'], 'integral', 'pay_product_integral_back', $back_integral, $product['id'], bcadd($integral, $back_integral, 2), '订单退积分' . floatval($back_integral) . '积分到用户积分');
-        event('StoreOrderIntegralBack', [$product, $back_integral]);
-        try {
-            OrderRepository::storeOrderIntegralBack($product, $back_integral);
-        } catch (\Exception $e) {
-            BaseModel::rollbackTrans();
-            return Json::fail($e->getMessage());
-        }
-        $res = $res1 && $res2;
-        BaseModel::checkTrans($res);
-        if (!$res) return Json::fail('退积分失败!');
-        if ($product['pay_price'] == 0 && $bj == 0) {
-            $data['refund_status'] = 2;
+        if ($product['is_brokerage']==1){
+            $integral = User::where('uid', $product['uid'])->value('brokerage_price');
+            $res1 = User::bcInc($product['uid'], 'brokerage_price', $back_integral, 'uid');
+            $res2 = UserBill::income('商品退健康币', $product['uid'], 'brokerage_price', 'pay_product_brokerage_price_back', $back_integral, $product['id'], bcadd($integral, $back_integral, 2), '订单退健康币' . floatval($back_integral) . '积分到用户健康币');
+            event('storeOrderBrokeragePriceBack', [$product, $back_integral]);
+            try {
+                OrderRepository::storeOrderIntegralBack($product, $back_integral);
+            } catch (\Exception $e) {
+                BaseModel::rollbackTrans();
+                return Json::fail($e->getMessage());
+            }
+            $res = $res1 && $res2;
+            BaseModel::checkTrans($res);
+            if (!$res) return Json::fail('退健康币失败!');
+            if ($product['pay_price'] == 0 && $bj == 0) {
+                $data['refund_status'] = 2;
+            }
+            StoreOrderModel::edit($data, $id);
+            StoreOrderStatus::setStatus($id, 'integral_back', '商品退健康币:' . $data['back_integral']);
+            return Json::successful('退健康币成功!');
+        }else{
+            $integral = User::where('uid', $product['uid'])->value('integral');
+            $res1 = User::bcInc($product['uid'], 'integral', $back_integral, 'uid');
+            $res2 = UserBill::income('商品退健康豆', $product['uid'], 'integral', 'pay_product_integral_back', $back_integral, $product['id'], bcadd($integral, $back_integral, 2), '订单退健康豆' . floatval($back_integral) . '健康豆到用户健康豆');
+            event('StoreOrderIntegralBack', [$product, $back_integral]);
+            try {
+                OrderRepository::storeOrderIntegralBack($product, $back_integral);
+            } catch (\Exception $e) {
+                BaseModel::rollbackTrans();
+                return Json::fail($e->getMessage());
+            }
+            $res = $res1 && $res2;
+            BaseModel::checkTrans($res);
+            if (!$res) return Json::fail('退健康豆失败!');
+            if ($product['pay_price'] == 0 && $bj == 0) {
+                $data['refund_status'] = 2;
+            }
+            StoreOrderModel::edit($data, $id);
+            StoreOrderStatus::setStatus($id, 'integral_back', '商品退健康豆:' . $data['back_integral']);
+            return Json::successful('退健康豆成功!');
         }
-        StoreOrderModel::edit($data, $id);
-        StoreOrderStatus::setStatus($id, 'integral_back', '商品退积分:' . $data['back_integral']);
-        return Json::successful('退积分成功!');
+
     }
 
     public function remark()

+ 2 - 0
app/admin/controller/order/combinationOrder.php

@@ -589,6 +589,7 @@ class CombinationOrder extends AuthController
 
     public function updateIntegralBack($id)
     {
+        @file_put_contents('quanju.txt',   "-这里的退积分会用到吗\r\n", 8);
         $data = Util::postMore([
             'back_integral',
         ]);
@@ -602,6 +603,7 @@ class CombinationOrder extends AuthController
         $bj = bccomp((float)$product['use_integral'], (float)$data['back_integral'], 2);
         if ($bj < 0) return Json::fail('退健康币或健康豆大于支付部分,请修改数额');
         BaseModel::beginTrans();
+
         if ($product['is_brokerage']==1){
             $brokerage_price = User::where('uid', $product['uid'])->value('brokerage_price');
             $res1 = User::bcInc($product['uid'], 'brokerage_price', $back_integral, 'uid');