Browse Source

线下支付,邀请码改数字

lizhen_gitee 1 year ago
parent
commit
9a14920330

+ 37 - 0
application/admin/controller/unishop/Order.php

@@ -304,6 +304,43 @@ class Order extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 线下确认支付
+     */
+    public function confirmpay($ids = null)
+    {
+        $row = $this->model->get($ids);
+        if (!$row) {
+            $this->error(__('No Results were found'));
+        }
+
+        if ($this->request->isPost()){
+            //逻辑开始
+            Db::startTrans();
+            $nowtime = strtotime(input('have_paid',time()));
+
+            $update = [
+                'have_paid'=>$nowtime,
+            ];
+            $rs_order = Db::name('unishop_order')->where('id',$ids)->update($update);
+            if($rs_order === false){
+                Db::rollback();
+                $this->error('提交失败');
+            }
+
+            //修改用户活跃,自动滑落用
+            Db::name('user')->where('id',$row['user_id'])->update(['last_paytime'=>$nowtime]);
+            //逻辑结束
+
+            Db::commit();
+            $this->success('提交成功');
+
+        }
+
+        $this->view->assign("row", $row);
+        return $this->view->fetch();
+    }
+
 
     /**
      * 物流管理

+ 1 - 1
application/admin/controller/user/User.php

@@ -156,7 +156,7 @@ class User extends Backend
      */
     function getUinqueNo($length = 8, $nos = [])
     {
-        $newid = Random::build("alnum", $length);
+        $newid = Random::build("numeric", $length);
         if (in_array($newid, $nos)) {
             $newid = $this->getUinqueNo($length, $nos);
         }

+ 1 - 1
application/admin/lang/zh-cn/unishop/order.php

@@ -9,7 +9,7 @@ return [
     'Total_price'      => '实付价格',
     'Pay_type'         => '付款方式',
     'Online'           => '在线支付',
-    'Offline'          => '到货付款',
+    'Offline'          => '线下支付',
     'wxPay'            => '微信付款',
     'aliPay'           => '支付宝付',
     'Ip'               => '下单ip',

+ 69 - 0
application/admin/view/unishop/order/confirmpay.html

@@ -0,0 +1,69 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <input type="hidden" name="updatetime" value="{$row.updatetime}" />
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-user_id" disabled data-rule="required" data-source="user/user/index" data-field="username" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Out_trade_no')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-out_trade_no" disabled class="form-control" name="row[out_trade_no]" type="text" value="{$row.out_trade_no}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Order_price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-order_price" disabled class="form-control" step="0.01" name="row[order_price]" type="number" value="{$row.order_price}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Discount_price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-discount_price" disabled class="form-control" step="0.01" name="row[discount_price]" type="number" value="{$row.discount_price}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Delivery_price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-delivery_price" disabled class="form-control" step="0.01" name="row[delivery_price]" type="number" value="{$row.delivery_price}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Total_price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-total_price" disabled class="form-control" step="0.01" name="row[total_price]" type="number" value="{$row.total_price}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+
+            <select  id="c-pay_type" disabled data-rule="required" class="form-control selectpicker" name="row[pay_type]">
+                {foreach name="payTypeList" item="vo"}
+                    <option value="{$key}" {in name="key" value="$row.pay_type"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
+        </div>
+    </div>
+
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-have_paid" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="have_paid" type="text" value="{:$row.have_paid?datetime($row.have_paid):''}">
+        </div>
+    </div>
+
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 1 - 0
application/admin/view/unishop/order/index.html

@@ -37,6 +37,7 @@
                            data-operate-product="{:$auth->check('unishop/order/product')}"
                            data-operate-edit="{:$auth->check('unishop/order/edit')}"
                            data-operate-del="{:$auth->check('unishop/order/del')}"
+                           data-operate-confirmpay="{:$auth->check('unishop/order/confirmpay')}"
                            width="100%">
                     </table>
                 </div>

+ 1 - 0
application/api/controller/Baseconfig.php

@@ -17,6 +17,7 @@ class Baseconfig extends Api
 
         $config = [
             'contactus'     => config('site.contactus'),//联系客服
+            'bankcardpaynum'=> config('site.bankcardpaynum'),//银行卡支付
         ];
 
         $this->success('success',$config);

+ 6 - 0
application/api/controller/Pay.php

@@ -40,6 +40,12 @@ class Pay extends Api
             $this->error('请刷新重试');
         }
 
+        //银行卡特殊处理
+        if($pay_type == 'bank'){
+            Db::name('unishop_order')->where('id',$orderid)->update(['pay_type'=>2,'updatetime'=>time()]);
+            $this->success('请从银行卡打款');
+        }
+
         //创建订单
         $data['user_id'] = $uid;
         $data['out_trade_no'] = createUniqueNo('P',$uid); // 数据库订单号加密

+ 1 - 1
application/common/library/Auth.php

@@ -55,7 +55,7 @@ class Auth
      */
     function getUinqueNo($length = 8, $nos = [])
     {
-        $newid = Random::build("alnum", $length);
+        $newid = Random::build("numeric", $length);
         if (in_array($newid, $nos)) {
             $newid = $this->getUinqueNo($length, $nos);
         }

+ 1 - 0
application/extra/site.php

@@ -43,4 +43,5 @@ return array (
   'contactus' => '400123456',
   'orderpaid_zhitui_bili' => '5',
   'oneuser_ordernum_limit' => '3',
+  'bankcardpaynum' => '卡号:622848123123123,工商银行,张三',
 );

+ 20 - 0
public/assets/js/backend/unishop/order.js

@@ -31,6 +31,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     delivere_url: 'unishop/order/delivery',
                     product_url: 'unishop/order/product',
                     refund_url: 'unishop/order/refund',
+                    confirmpay_url: 'unishop/order/confirmpay',
+
                     table: 'unishop_order',
                 }
             });
@@ -145,6 +147,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                     extend: 'data-toggle="tooltip"',
                                     classname: 'btn btn-xs btn-success btn-editone',
                                     url: $.fn.bootstrapTable.defaults.extend.edit_url
+                                },
+                                {
+                                    name: 'confirmpay',
+                                    icon: 'fa fa-pencil',
+                                    text: '线下支付',
+                                    title: '线下支付',
+                                    extend: 'data-toggle="tooltip"',
+                                    classname: 'btn btn-xs btn-info btn-dialog',
+                                    url: 'unishop/order/confirmpay/ids/{ids}?dialog=1',
+                                    hidden:function(row){
+                                        if(row.status == 1 && row.pay_type == 2 && row.have_paid == 0){
+                                            return false;
+                                        }
+                                        return true;
+                                    }
                                 }
                             ]
                         }
@@ -238,6 +255,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         add: function () {
             Controller.api.bindevent();
         },
+        confirmpay: function () {
+            Controller.api.bindevent();
+        },
         edit: function () {
             Controller.api.bindevent();
         },