WIN-2308041133\Administrator 4 månader sedan
förälder
incheckning
6e76436e47

+ 31 - 9
app/admin/controller/order/StoreOrder.php

@@ -12,16 +12,14 @@ use app\admin\model\order\StoreOrderCartInfo;
 use app\admin\model\system\Express;
 use crmeb\repositories\OrderRepository;
 use crmeb\repositories\ShortLetterRepositories;
-use crmeb\services\{
-    ExpressService,
+use crmeb\services\{ExpressService,
     JsonService,
+    JsonService as Json,
     MiniProgramService,
     WechatService,
     FormBuilder as Form,
     CacheService,
-    UtilService as Util,
-    JsonService as Json
-};
+    UtilService as Util};
 use app\admin\model\order\StoreOrderStatus;
 use app\admin\model\ump\StorePink;
 use app\admin\model\user\{
@@ -790,6 +788,29 @@ class StoreOrder extends AuthController
         }
     }
 
+//    /**
+//     * 修改积分和金额
+//     * @param $id
+//     * @return mixed|\think\response\Json|void
+//     */
+//    public function integral_back($id)
+//    {
+//        if (!$id) return $this->failed('数据不存在');
+//        $product = StoreOrderModel::get($id);
+//        if (!$product) return Json::fail('数据不存在!');
+//        if ($product['paid'] == 1) {
+//            $f[] = Form::input('order_id', '退款单号', $product->getData('order_id'))->disabled(1);
+//            $f[] = Form::number('use_integral', '使用的积分', $product->getData('use_integral'))->min(0)->disabled(1);
+//            $f[] = Form::number('use_integrals', '已退积分', $product->getData('back_integral'))->min(0)->disabled(1);
+//            $f[] = Form::number('back_integral', '可退积分', bcsub($product->getData('use_integral'), $product->getData('use_integral')))->min(0);
+//            $form = Form::make_post_form('退积分', $f, Url::buildUrl('updateIntegralBack', array('id' => $id)), 7);
+//            $this->assign(compact('form'));
+//            return $this->fetch('public/form-builder');
+//        } else {
+//            return Json::fail('参数错误!');
+//        }
+//        return $this->fetch('public/form-builder');
+//    }
     /**
      * 修改积分和金额
      * @param $id
@@ -802,10 +823,10 @@ class StoreOrder extends AuthController
         if (!$product) return Json::fail('数据不存在!');
         if ($product['paid'] == 1) {
             $f[] = Form::input('order_id', '退款单号', $product->getData('order_id'))->disabled(1);
-            $f[] = Form::number('use_integral', '使用的积分', $product->getData('use_integral'))->min(0)->disabled(1);
-            $f[] = Form::number('use_integrals', '已退积分', $product->getData('back_integral'))->min(0)->disabled(1);
-            $f[] = Form::number('back_integral', '可退积分', bcsub($product->getData('use_integral'), $product->getData('use_integral')))->min(0);
-            $form = Form::make_post_form('退积分', $f, Url::buildUrl('updateIntegralBack', array('id' => $id)), 7);
+            $f[] = Form::number('use_integral', '使用的健康豆或健康币', $product->getData('use_integral'))->min(0)->disabled(1);
+            $f[] = Form::number('use_integrals', '已退的健康豆或健康币', $product->getData('back_integral'))->min(0)->disabled(1);
+            $f[] = Form::number('back_integral', '可退健康豆或健康币', bcsub($product->getData('use_integral'), $product->getData('use_integral')))->min(0);
+            $form = Form::make_post_form('退健康豆或健康币', $f, Url::buildUrl('updateIntegralBack', array('id' => $id)), 7);
             $this->assign(compact('form'));
             return $this->fetch('public/form-builder');
         } else {
@@ -820,6 +841,7 @@ class StoreOrder extends AuthController
      */
     public function updateIntegralBack($id)
     {
+        @file_put_contents('quanju.txt',   "-这里的退积分会用到吗\r\n", 8);
         $data = Util::postMore([
             'back_integral',
         ]);

+ 38 - 18
app/admin/controller/order/combinationOrder.php

@@ -568,7 +568,7 @@ class CombinationOrder extends AuthController
         if (!$product) return Json::fail('数据不存在!');
         if ($product['paid'] == 1) {
             $this->assign([
-                'title' => '退积分', 'rules' => $this->readIntegralBack($id)->getContent(),
+                'title' => '退健康豆或健康币', 'rules' => $this->readIntegralBack($id)->getContent(),
                 'action' => Url::buildUrl('updateIntegralBack', array('id' => $id))
             ]);
         } else {
@@ -595,28 +595,48 @@ class CombinationOrder extends AuthController
         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) . '积分到用户积分');
-        try {
-            OrderRepository::storeOrderIntegralBack($product, $back_integral);
-        } catch (\Exception $e) {
-            BaseModel::rollbackTrans();
-            return Json::fail($e->getMessage());
+        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');
+            $res2 = UserBill::income('商品退健康币', $product['uid'], 'brokerage_price', 'pay_product_brokerage_price_back', $back_integral, $product['id'], bcadd($brokerage_price, $back_integral, 2), '订单退健康币' . floatval($back_integral) . '积分到用户健康币');
+            try {
+                OrderRepository::storeOrderBrokeragePriceBack($product, $back_integral);
+            } catch (\Exception $e) {
+                BaseModel::rollbackTrans();
+                return Json::fail($e->getMessage());
+            }
+            $res = $res1 && $res2;
+            BaseModel::checkTrans($res);
+            if (!$res) return Json::fail('退健康币失败!');
+            StoreOrderModel::edit($data, $id);
+            StoreOrderStatus::setStatus($id, 'brokerage_price_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) . '积分到用户健康豆');
+            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('退健康豆失败!');
+            StoreOrderModel::edit($data, $id);
+            StoreOrderStatus::setStatus($id, 'integral_back', '商品退健康豆:' . $data['back_integral']);
+            return Json::successful('退健康豆成功!');
         }
-        $res = $res1 && $res2;
-        BaseModel::checkTrans($res);
-        if (!$res) return Json::fail('退积分失败!');
-        StoreOrderModel::edit($data, $id);
-        StoreOrderStatus::setStatus($id, 'integral_back', '商品退积分:' . $data['back_integral']);
-        return Json::successful('退积分成功!');
+
+
     }
 
     public function remark()

+ 10 - 10
app/admin/view/order/store_order/index.php

@@ -321,8 +321,8 @@
                             {{# }else if(d.use_integral > 0 && d.use_integral >= d.back_integral){ }}
                             <li>
                                 <a href="javascript:void(0);"
-                                   onclick="$eb.createModalFrame('退积分','{:Url('integral_back')}?id={{d.id}}')">
-                                    <i class="fa fa-history"></i> 退积分
+                                   onclick="$eb.createModalFrame('退健康币或健康豆','{:Url('integral_back')}?id={{d.id}}')">
+                                    <i class="fa fa-history"></i> 退健康币或健康豆
                                 </a>
                             </li>
                             {{# } ;}}
@@ -362,8 +362,8 @@
                             </li>
                             <li>
                                 <a href="javascript:void(0);"
-                                   onclick="$eb.createModalFrame('退积分','{:Url('integral_back')}?id={{d.id}}',{w:400,h:300})">
-                                    <i class="fa fa-history"></i> 退积分
+                                   onclick="$eb.createModalFrame('退健康币或健康豆','{:Url('integral_back')}?id={{d.id}}',{w:400,h:300})">
+                                    <i class="fa fa-history"></i> 退健康币或健康豆
                                 </a>
                             </li>
                             {{# };}}
@@ -428,8 +428,8 @@
                             parseFloat(d.back_integral)){ }}
                             <li>
                                 <a href="javascript:void(0);"
-                                   onclick="$eb.createModalFrame('退积分','{:Url('integral_back')}?id={{d.id}}')">
-                                    <i class="fa fa-history"></i> 退积分
+                                   onclick="$eb.createModalFrame('退健康币或健康豆','{:Url('integral_back')}?id={{d.id}}')">
+                                    <i class="fa fa-history"></i> 退健康币或健康豆
                                 </a>
                             </li>
                             {{# } }}
@@ -471,8 +471,8 @@
                             parseFloat(d.back_integral)){ }}
                             <li>
                                 <a href="javascript:void(0);"
-                                   onclick="$eb.createModalFrame('退积分','{:Url('integral_back')}?id={{d.id}}')">
-                                    <i class="fa fa-history"></i> 退积分
+                                   onclick="$eb.createModalFrame('退健康币或健康豆','{:Url('integral_back')}?id={{d.id}}')">
+                                    <i class="fa fa-history"></i> 退健康币或健康豆
                                 </a>
                             </li>
                             {{# } }}
@@ -514,8 +514,8 @@
                             parseFloat(d.back_integral)){ }}
                             <li>
                                 <a href="javascript:void(0);"
-                                   onclick="$eb.createModalFrame('退积分','{:Url('integral_back')}?id={{d.id}}')">
-                                    <i class="fa fa-history"></i> 退积分
+                                   onclick="$eb.createModalFrame('退健康币或健康豆','{:Url('integral_back')}?id={{d.id}}')">
+                                    <i class="fa fa-history"></i> 退健康币或健康豆
                                 </a>
                             </li>
                             {{# } }}

+ 8 - 0
crmeb/repositories/OrderRepository.php

@@ -182,5 +182,13 @@ class OrderRepository
     {
 
     }
+    /**
+     * 订单退佣金
+     * @param $product $product 商品信息
+     * @param $back_integral $back_integral 退多少佣金
+     */
+    public static function storeOrderBrokeragePriceBack($product, $back_integral)
+    {
 
+    }
 }