Browse Source

provider.recharge

xiaoyu 3 years ago
parent
commit
f0a6b6b4fd

+ 37 - 1
admin/control/control.php

@@ -447,4 +447,40 @@ class SystemControl
         return $items;
         return $items;
     }
     }
 
 
-}
+    protected function credit_save_money($money, $operatetype, $member_id, $bz = '')
+    {
+        $obj_member = Model('member');
+        $member_id = intval($member_id);
+        $member_info = $obj_member->getMemberInfo(['member_id' => $member_id], '*', true);
+        $admininfo = $this->getAdminInfo();
+        $bz = $bz == '' ? '管理员更改客户授信' : $bz;
+        switch ($operatetype) {
+            case 'add':
+                $admin_act = "sys_add_money";
+                $log_msg = "管理员【{$admininfo['name']}】操作会员{$member_id}余额:【{$member_info['member_name']}】,预存款【增加】,金额为{$money}。备注:{$bz}。";
+                break;
+            case 'del':
+                $admin_act = "sys_del_money";
+                $log_msg = "管理员【{$admininfo['name']}】操作会员{$member_id}余额:【{$member_info['member_name']}】,预存款【减少】,金额为{$money}。备注:{$bz}。";
+                break;
+            default:
+                return [false, '调节类型错误'];
+        }
+        $model_pd = Model('predeposit');
+        //调节预存款
+        $data = [];
+        $data['member_id'] = $member_info['member_id'];
+        $data['member_name'] = $member_info['member_name'];
+        $data['amount'] = $money;
+        $data['order_sn'] = '';
+        $data['admin_name'] = $admininfo['name'];
+        $data['pdr_sn'] = '';
+        $data['lg_desc'] = $bz;
+
+        $isRefill = $model_pd->isRefill($data['member_id']);
+        $model_pd->changePd($admin_act, $data,$isRefill);
+
+        $this->log($log_msg, 1);
+        return [true, 'success'];
+    }
+}

+ 0 - 37
admin/control/merchant.php

@@ -203,43 +203,6 @@ class merchantControl extends SystemControl
         Tpl::showpage('merchant.edit');
         Tpl::showpage('merchant.edit');
     }
     }
 
 
-    private function credit_save_money($money, $operatetype, $member_id, $bz = '')
-    {
-        $obj_member = Model('member');
-        $member_id = intval($member_id);
-        $member_info = $obj_member->getMemberInfo(['member_id' => $member_id], '*', true);
-        $admininfo = $this->getAdminInfo();
-        $bz = $bz == '' ? '管理员更改客户授信' : $bz;
-        switch ($operatetype) {
-            case 'add':
-                $admin_act = "sys_add_money";
-                $log_msg = "管理员【{$admininfo['name']}】操作会员{$member_id}授信:【{$member_info['member_name']}】,预存款【增加】,金额为{$money}。备注:{$bz}。";
-                break;
-            case 'del':
-                $admin_act = "sys_del_money";
-                $log_msg = "管理员【{$admininfo['name']}】操作会员{$member_id}授信:【{$member_info['member_name']}】,预存款【减少】,金额为{$money}。备注:{$bz}。";
-                break;
-            default:
-                return [false, '调节类型错误'];
-        }
-        $model_pd = Model('predeposit');
-        //调节预存款
-        $data = [];
-        $data['member_id'] = $member_info['member_id'];
-        $data['member_name'] = $member_info['member_name'];
-        $data['amount'] = $money;
-        $data['order_sn'] = '';
-        $data['admin_name'] = $admininfo['name'];
-        $data['pdr_sn'] = '';
-        $data['lg_desc'] = $bz;
-
-        $isRefill = $model_pd->isRefill($data['member_id']);
-        $model_pd->changePd($admin_act, $data,$isRefill);
-
-        $this->log($log_msg, 1);
-        return [true, 'success'];
-    }
-
     public function priceOp()
     public function priceOp()
     {
     {
         $quality = $_GET['quality'] ?? 1;
         $quality = $_GET['quality'] ?? 1;

+ 54 - 6
admin/control/provider.php

@@ -84,23 +84,71 @@ class providerControl extends SystemControl
 
 
     public function recharge_manualOp()
     public function recharge_manualOp()
     {
     {
+        $provider_id = $_GET['provider_id'] ?? $_POST['provider_id'];
+        $provider_model = Model('refill_provider');
+        $provider_info = $provider_model->getProviderInfo(['provider_id' => $provider_id]);
+        if (empty($provider_info)) {
+            showMessage('通道信息有误');
+        }
+
         if (chksubmit())
         if (chksubmit())
         {
         {
+            $obj_validate = new Validator();
+            $obj_validate->validateparam = [
+                ["input" => $_POST["operation"], "require" => "true", "message" => '操作人姓名不能为空'],
+                ["input" => $_POST["pointsnum"], "require" => "true", "message" => '预存金额不能为空']
+            ];
+            $operatetype = $_POST['operatetype'];
+            $pointsnum   = $_POST['pointsnum'];
+            $money = abs($pointsnum);
+            if ($money == 0) {
+                showMessage('金额错误');
+            }
 
 
+            try {
+                $model_merchant = Model('merchant');
+                $trans = new trans_wapper($model_merchant, __METHOD__);
+                $member_id = $provider_info['account_id'];
+                if ($operatetype == 'add') {
+                    $bz = "管理员调款操作,手动增加通道余额";
+                    $this->credit_save_money($money, 'add', $member_id, $bz);
+                    $_POST['pointsnum'] = $money;
+                } elseif ($operatetype == 'del') {
+                    $bz = "管理员调款操作,手动减少通道余额";
+                    $this->credit_save_money($money, 'del', $member_id, $bz);
+                    $_POST['pointsnum'] = -($money);
+                } else {
+                    showMessage('预存类型错误');
+                }
+                $result = $this->ct_provider_amount($_POST, $provider_info);
+                if (!$result) {
+                    $trans->rollback();
+                    showMessage('操作失败');
+                }
+                $trans->commit();
+                showMessage('操作成功', 'index.php?act=provider&op=index');
+            } catch (Exception $e) {
+                $trans->rollback();
+                showMessage('操作失败');
+            }
         }
         }
         else
         else
         {
         {
-            $provider_id = $_GET['provider_id'] ?? $_POST['provider_id'];
-            $provider_model = Model('refill_provider');
-            $provider_info = $provider_model->getProviderInfo(['provider_id' => $provider_id]);
-            if (empty($merchant)) {
-                showMessage('通道信息有误');
-            }
             Tpl::output('provider', $provider_info);
             Tpl::output('provider', $provider_info);
             Tpl::showpage('provider.recharge');
             Tpl::showpage('provider.recharge');
         }
         }
     }
     }
 
 
+    private function ct_provider_amount($params, $provider_info)
+    {
+        $input['provider_id'] = $provider_info['provider_id'];
+        $input['memeber_id'] = $provider_info['account_id'];
+        $input['amount'] = $params['pointsnum'];
+        $input['operation'] = $params['operation'];
+
+        return Model('')->table('provider_amount')->insert($input);
+    }
+
     public function sync_cfgs()
     public function sync_cfgs()
     {
     {
         $name_val = function ($items) {
         $name_val = function ($items) {

+ 4 - 4
admin/templates/default/provider.index.php

@@ -106,7 +106,7 @@
                 <th>店铺ID</th>
                 <th>店铺ID</th>
                 <th>会员ID</th>
                 <th>会员ID</th>
                 <th>通道余额</th>
                 <th>通道余额</th>
-<!--                <th>调款操作</th>-->
+                <th>调款操作</th>
                 <th>通道类型</th>
                 <th>通道类型</th>
                 <th class="align-center">通道状态</th>
                 <th class="align-center">通道状态</th>
                 <th>接口余额</th>
                 <th>接口余额</th>
@@ -122,9 +122,9 @@
                         <td><?php echo $v['store_id']; ?></td>
                         <td><?php echo $v['store_id']; ?></td>
                         <td><?php echo $v['account_id']; ?></td>
                         <td><?php echo $v['account_id']; ?></td>
                         <td><?php echo $v['available_predeposit']; ?></td>
                         <td><?php echo $v['available_predeposit']; ?></td>
-<!--                        <td>-->
-<!--                            <a href="index.php?act=provider&op=recharge_manual&type=edit&provider_id=--><?php //echo $v['provider_id'] ?><!--">调款</a>-->
-<!--                        </td>-->
+                        <td>
+                            <a href="index.php?act=provider&op=recharge_manual&type=edit&provider_id=<?php echo $v['provider_id'] ?>">调款</a>
+                        </td>
                         <td><?php echo $output['type_text'][$v['type']-1]; ?></td>
                         <td><?php echo $output['type_text'][$v['type']-1]; ?></td>
 
 
                         <td class="align-center">
                         <td class="align-center">

+ 180 - 0
admin/templates/default/provider.recharge.php

@@ -0,0 +1,180 @@
+<?php defined('InShopNC') or exit('Access Invalid!'); ?>
+<!--//zmr>v20-->
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3>通道调款</h3>
+            <ul class="tab-base">
+                <li><a href="index.php?act=provider&op=index"><span><?php echo $lang['nc_manage'] ?></span></a></li>
+                <li><a href="JavaScript:void(0);" class="current"><span>调款</span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form id="points_form" method="post" name="form1" enctype="multipart/form-data">
+        <input type="hidden" name="form_submit" value="ok"/>
+        <table class="table tb-type2 nobdb">
+            <tbody>
+            <tr class="noborder">
+                <td colspan="2" class="required"><label class="validation">通道名称:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <?php echo $output['provider']['name']; ?>
+                <td class="vatop tips"></td>
+            </tr>
+            <tr class="noborder">
+                <td colspan="2" class="required"><label class="validation">操作人姓名:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <input type="text" name="operation" id="operation" class="txt" value="">
+                <td class="vatop tips"></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop" style="width: 370px">
+                <label class="validation">金额:</label>
+                    <select name="operatetype">
+                        <option value="add">增加</option>
+                        <option value="del">减少</option>
+                    </select>
+                    <input type="text" id="pointsnum" name="pointsnum" class="txt">
+                    <div id="money" style="color:red; display: inline-block"></div>
+                </td>
+                <td class="vatop tips"></td>
+            </tr>
+            </tbody>
+            <tfoot>
+            <tr class="tfoot">
+                <td colspan="2"><a href="JavaScript:void(0);" class="btn"
+                                   onclick="document.form1.submit()"><span><?php echo $lang['nc_submit']; ?></span></a>
+                </td>
+            </tr>
+            </tfoot>
+        </table>
+    </form>
+</div>
+<script type="text/javascript">
+    $(function () {
+        $("#voucher").change(function () {
+            $("#textfield1").val($(this).val());
+        });
+        $('#points_form').validate({
+            rules: {
+                apply_id: {
+                    required: true
+                },
+                pointsnum: {
+                    required: true,
+                }
+            },
+            messages: {
+                apply_id: {
+                    required: '请输入申请编号'
+                },
+                pointsnum: {
+                    required: '请添加预存款'
+                }
+            }
+        });
+        function cnMoneyFormat(money) {
+        var number_data = money;
+        number_data = parseInt(number_data);
+
+        let yi = 0; //亿
+        let wan = 0; //万
+        let qian = 0; //千
+        let bai = 0; //百
+
+        let bai_s = 100; //百
+        let qian_s = 1000; //千
+        let wan_s = 10000; //万
+        let yi_s = 100000000; //亿
+
+        //取整
+        function qz(data) {
+          data = Math.floor(data);
+          return data;
+        }
+        //为0判断输出
+        function data_if(data, amount) {
+          if (data == 0) {
+            return '';
+          } else {
+            return data + amount;
+          }
+        }
+        //亿
+        function yi_f(data) {
+          yi = qz(data / 100000000);
+          data = data - (yi * yi_s);
+          let data_json = {
+            data1: data_if(yi, '亿'),
+            data2: data,
+          }
+          return data_json;
+        }
+        //万
+        function wan_f(data) {
+          wan = qz(data / 10000);
+          data = data - (wan * wan_s);
+          let data_json = {
+            data1: data_if(wan, '万'),
+            data2: data,
+          }
+          return data_json;
+        }
+        //千
+        function qian_f(data) {
+          qian = qz(data / 1000);
+          data = data - (qian * qian_s);
+          let data_json = {
+            data1: data_if(qian, '千'),
+            data2: data,
+          }
+          return data_json;
+        }
+        // 百
+        function bai_f(data) {
+          bai = qz(data / 100);
+          data = data - (bai * bai_s);
+          let data_json = {
+            data1: bai,
+            data2: data,
+          }
+          return data_json;
+        }
+    
+        yi = yi_f(number_data);
+        number_data = yi.data2;
+        wan = wan_f(number_data);
+        number_data = wan.data2;
+
+        qian = qian_f(number_data);
+        number_data = qian.data2;
+
+        bai = bai_f(number_data);
+        number_data = bai.data2;
+        
+      
+        let result = yi.data1 + wan.data1 + qian.data1 + bai.data1 +  + number_data;
+        let resultvalue = result.substr(0, 1)
+
+        if (resultvalue == 0) {
+          result = result.substr(1, result.length)
+        }
+        let resultvali = result.substr(0, 3);
+
+        if(resultvali == 'NaN') {
+        $("#money").text('')
+        }else {
+        $("#money").text(result)
+        }       
+    
+    }
+  $('#pointsnum').change(function () {
+    let val =($(this).val())
+     $('#money').text(cnMoneyFormat(val))
+  })         
+    });
+</script>