1557492053 hace 3 años
padre
commit
84b24af03f

+ 9 - 9
app/admin/controller/Customer.php

@@ -5,9 +5,9 @@ namespace app\admin\controller;
 
 
 use app\BaseController;
+use app\common\model\AdminModel;
 use app\common\model\CustomerModel;
 use app\common\model\StoreModel;
-use app\common\model\UserModel;
 use think\App;
 use think\facade\View;
 use think\Request;
@@ -16,14 +16,14 @@ class Customer extends BaseController
 {
     private $customerModel;
     private $storeModel;
-    private $userModel;
+    private $adminModel;
 
     public function __construct(App $app)
     {
         parent::__construct($app);
         $this->customerModel = new CustomerModel();
         $this->storeModel = new StoreModel();
-        $this->userModel = new UserModel();
+        $this->adminModel = new AdminModel();
     }
 
     /**
@@ -58,12 +58,12 @@ class Customer extends BaseController
             $isExist = $this->customerModel->doesItExist($params['mobile']);
             if ($isExist)
                 return $this->fail(lang("Fail to add. Data duplication"));
-            $user = $this->userModel->findById($params['follow_user_id']);
-            if (!$user)
+            $admin = $this->adminModel->findById($params['follow_user_id']);
+            if (!$admin)
                 return $this->fail(lang("The employees dont exist"));
-            $params['follow_username'] = $user->username;
-            $params['store_id'] = $user->store_id;
-            $params['store_abbr'] = $user->store_abbr;
+            $params['follow_username'] = $admin->nickname;
+            $params['store_id'] = explode(",", $admin->store_ids ?? '-1')[0];
+            $params['store_abbr'] = $admin->store_abbr;
             $this->customerModel->save($params);
             return $this->ok(true);
         } else {
@@ -87,7 +87,7 @@ class Customer extends BaseController
         if(!$customer)
             return $this->fail(lang('"The customer doesn t exist"'));
         if ($request->isAjax()) {
-            $user = $this->userModel->findById($params['follow_user_id']);
+            $user = $this->adminModel->findById($params['follow_user_id']);
             if (!$user)
                 return $this->fail(lang("The employees dont exist"));
             $params['follow_username'] = $user->username;

+ 42 - 0
app/admin/controller/ZueCoin.php

@@ -0,0 +1,42 @@
+<?php
+
+
+namespace app\admin\controller;
+
+
+use app\BaseController;
+use app\common\model\CustomerZueCoinModel;
+use think\App;
+use think\facade\View;
+
+class ZueCoin extends BaseController
+{
+
+    private $model;
+
+    public function __construct(App $app)
+    {
+        $this->model = new CustomerZueCoinModel();
+        parent::__construct($app);
+    }
+
+    public function index() {
+        $params = $this->request->param();
+        $format_params = [
+            'customer' => format_string($params['customer'] ?? null),
+        ];
+        $list = $this->model->findByPaginate($format_params);
+        View::assign([
+            'list' => $list,
+            'params' => $format_params,
+        ]);
+        return view();
+    }
+
+    public function select($id = null) {
+        View::assign('value',$this->model->findById($id ?? -1));
+        return view();
+    }
+
+
+}

+ 4 - 0
app/admin/lang/zh-cn.php

@@ -175,6 +175,10 @@ return [
     "Zue Coin Setting" => "御龙币设置",
     "Credit Card Setting" => "信用卡设置",
     "Parameter invalid" =>  "参数非法",
+    "Customer" => "客户",
+    "Zue Coin" => "御龙币",
+    "Lose time" => "过期时间",
+    "Detail"    => "明细",
 ];
 
 

+ 100 - 0
app/admin/view/zue_coin/index.html

@@ -0,0 +1,100 @@
+{include file='common/_js_css'}
+
+<link href="__CSS__/common.css" rel="stylesheet">
+<div class="container-fluid">
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="card" id="select_card_caviar"  style="display: none">
+                <div class="card-header">{$Think.lang.condition}</div>
+                <div class="card-body">
+                    <form action="{:url('admin/zue_coin/index')}" method="post" class="form-horizontal form-search">
+                        <div class="row">
+                            <div class="col-md-4">
+                                <div class="form-group">
+                                    <label class="w-120 pull-left control-label">{:lang("Customer")}</label>
+                                    <div class="pull-left w-120-calc">
+                                        <input type="text" class="form-control pull-left" name="customer" value="{$params.customer}" placeholder='{:lang("Customer")}' />
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="col-md-4">
+                                <div class="form-group">
+                                    <label class="w-120 pull-left control-label"></label>
+                                    <div class="pull-left w-120-calc">
+                                        <button class="btn btn-success m-r-5" id="caviar_send_btn" type="submit" href="#">{:lang('search')}</button>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+
+                    </form>
+                </div>
+            </div>
+            <div class="card">
+                <div class="card-toolbar clearfix">
+                    <div class="toolbar-btn-action">
+                        <a class="btn btn-success m-r-5" id="caviar_search_btn" href="#!" onclick="select_card_switch()">{$Think.lang.unfold_search}</a>
+<!--                        <a class="btn btn-primary m-r-5" href="#!" onclick="add('{:url(\'admin/company/add\')}')"><i class="mdi mdi-plus"></i> {:lang('add')}</a>-->
+<!--                        <a class="btn btn-danger" href="#!" onclick="-->
+<!--                            caviar_checkbox_delete('{:url(\'admin/company/delete\')}', ['{:lang(\'Check at least one box\')}','{:lang(\'Succeed\')}'],'{:lang(\'Warn\')}','{:lang(\'Are you sure you want to delete the selected data\')}',['{:lang(\'Confirm\')}'])"-->
+<!--                        ><i class="mdi mdi-window-close"></i> {:lang('delete')}</a>-->
+                    </div>
+                </div>
+                <div class="card-body">
+                    <div class="table-responsive">
+                        <table class="table table-bordered">
+                            <thead>
+                            <tr>
+                                <th>
+                                    <label class="lyear-checkbox checkbox-primary">
+                                        <input type="checkbox" id="check-all" onclick="checkbox()"><span></span>
+                                    </label>
+                                </th>
+                                <th>{:lang("ID")}</th>
+                                <th>{:lang('Customer')}</th>
+                                <th>{:lang('Zue Coin')}</th>
+                                <th>{:lang('Lose time')}</th>
+                                <th>{:lang('update_time')}</th>
+                                <th>{:lang('operation')}</th>
+                            </tr>
+                            </thead>
+                            <tbody>
+                            {volist name="list" id="item"}
+                            <tr>
+                                <td>
+                                    <label class="lyear-checkbox checkbox-primary">
+                                        <input class="checkbox_caviar" type="checkbox" name="ids[]" value="{$item.id}"><span></span>
+                                    </label>
+                                </td>
+                                <td>{$item.id}</td>
+                                <td>【{$item.customer_id}】{$item.customer.name_zh}</td>
+                                <td>{$item.zue_coin}</td>
+                                <td>{:date("Y-m-d H:i",$item.lose_time)}</td>
+                                <td>{$item.update_time}</td>
+                                <td>
+                                    <div class="btn-group">
+                                        <a class="btn btn-xs btn-default" href="#!" title="{:lang('select')}" data-toggle="tooltip" onclick='view("/admin/zue_coin/select?id={$item.id}", "{:lang(\"Info\")}")'><i class="mdi mdi-eye"></i></a>
+                                    </div>
+                                </td>
+                            </tr>
+                            {/volist}
+                            </tbody>
+                        </table>
+                    </div>
+                    {$list|raw}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<style>
+
+</style>
+
+<script type="text/javascript">
+    if(check_params(["{$params.customer}"]))
+        $('#select_card_caviar').css('display','block');
+</script>
+
+

+ 64 - 0
app/admin/view/zue_coin/select.html

@@ -0,0 +1,64 @@
+{include file='common/_js_css'}
+<div class="lyear-layout-web">
+    <div class="lyear-layout-container">
+        <main>
+            <div class="container-fluid">
+                <div class="row">
+                    <div class="col-lg-12">
+                        <div class="card">
+                            <div class="card-body">
+                                <form class="layui-form">
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">{:lang("ID")}</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" value="{$value.id}" class="layui-input" disabled>
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">{:lang("Customer")}</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" value="【{$value.customer_id}】{$value.customer.name_zh}" class="layui-input" disabled>
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">{:lang("Zue coin")}</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" value="{$value.zue_coin}" class="layui-input" disabled>
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">{:lang("Lose time")}</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" value='{:date("Y-m-d H:i", $value.lose_time)}' class="layui-input" disabled>
+                                        </div>
+                                    </div>
+                                </form>
+                                <div class="layui-form">
+                                    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+                                        <legend>{:lang("Detail")}</legend>
+                                    </fieldset>
+                                    <ul class="layui-timeline">
+                                        {volist name="$value.record" id='record'}
+                                        <li class="layui-timeline-item">
+                                            <i class="layui-icon layui-timeline-axis"></i>
+                                            <div class="layui-timeline-content layui-text">
+                                                <h3 class="layui-timeline-title">{$record.create_time}</h3>
+                                                <p>
+                                                    Origin: {$record.origin}<br />
+                                                    Change: {$record.change}<br />
+                                                    After : {$record.after}<br />
+                                                    Reason: {if $record.reason == 1}购买商品{/if}<br />
+                                                </p>
+                                            </div>
+                                        </li>
+                                        {/volist}
+                                    </ul>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</div>

+ 76 - 0
app/common/model/CustomerZueCoinModel.php

@@ -0,0 +1,76 @@
+<?php
+
+
+namespace app\common\model;
+
+
+class CustomerZueCoinModel extends BaseModel
+{
+
+    protected $table = 'erp_customer_zue_coin';
+
+    protected function genSchema(array $schema)
+    {
+        // TODO: Implement genSchema() method.
+    }
+
+    /**
+     * @return \think\model\relation\HasOne
+     */
+    public function customer()
+    {
+        return self::hasOne(CustomerModel::class,'id','customer_id')->where('is_delete',0);
+    }
+
+    public function record() {
+        return self::hasMany(ZueCoinRecordModel::class,'zue_coin_id','id')->where('is_delete',0)->order('create_time', 'desc');
+    }
+
+    /**
+     * @param array $params
+     * @return \think\Paginator
+     * @throws \think\db\exception\DbException
+     */
+    public function findByPaginate(array $params) {
+        $where = [];
+        if ($params['customer']) {
+            $where =  [['id|name_zh|name_en', 'like', '%'.$params['customer'].'%']];
+        }
+        return $this->where('erp_customer_zue_coin.is_delete',0)
+            ->with('customer')
+            ->hasWhere('customer', $where)
+            ->paginate(['list_rows'=>10, "query" => $params]);
+    }
+
+    public function findById($id) {
+        return $this->where([
+            ['id' ,'=', $id],
+            ['is_delete', '=', 0]
+        ])->with(['customer', 'record'])->find();
+    }
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 17 - 0
app/common/model/ZueCoinRecordModel.php

@@ -0,0 +1,17 @@
+<?php
+
+
+namespace app\common\model;
+
+
+class ZueCoinRecordModel extends BaseModel
+{
+
+     protected $table = 'erp_zue_coin_record';
+
+    protected function genSchema(array $schema)
+    {
+        // TODO: Implement genSchema() method.
+    }
+
+}

+ 2 - 7
task.text

@@ -1,15 +1,10 @@
 2022.12.22周会议纪要
 
-4.后台收款渠道管理 御龙币需要配置兑换比例和单个订单消费比例
-5.后台收款渠道管理  需要增加字段是否需要记录付款编号  前端需要知道哪个付款方式需要填写编号
-6.后台收款渠道管理  Visa/Master和 DINERS支付方式 需要设置信用卡分期数的费用比例,需要增加的字段参考支付方式文档
-
-zue_coin_exchange_rate
-zue_coin_consume_rate
+7.御龙币可先建数据表,可以展示数据
 
 3.订单列表 增加导出功能 可供财务计算员工业绩
 8.整理财务报表需求
-7.御龙币可先建数据表,可以展示数据
+