提交 66a5b6a2 编写于 作者: D devil_gong

alipaylife

上级 392e8c05
<?php
namespace app\admin\controller;
use Service\AlipayLifeService;
use app\service\AlipayLifeService;
/**
* 生活号管理
......@@ -42,148 +41,98 @@ class AlipayLife extends Common
public function Index()
{
// 参数
$param = array_merge($_POST, $_GET);
$params = input();
// 模型对象
$m = db('AlipayLife');
// 分页
$number = MyC('admin_page_number', 10, true);
// 条件
$where = $this->GetIndexWhere();
$where = AlipayLifeService::AlipayLifeListWhere($params);
// 获取总数
$total = AlipayLifeService::AlipayLifeTotal($where);
// 分页
$number = MyC('admin_page_number');
$page_param = array(
$page_params = array(
'number' => $number,
'total' => $m->alias('a')->join('INNER JOIN __ALIPAY_LIFE_CATEGORY_JOIN__ AS cj ON a.id=cj.alipay_life_id')->where($where)->count('DISTINCT a.id'),
'where' => $param,
'url' => url('Admin/AlipayLife/Index'),
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => url('admin/alipaylife/index'),
);
$page = new \base\Page($page_param);
$page = new \base\Page($page_params);
$this->assign('page_html', $page->GetPageHtml());
// 获取列表
$list = $m->alias('a')->field('a.*')->join('INNER JOIN __ALIPAY_LIFE_CATEGORY_JOIN__ AS cj ON a.id=cj.alipay_life_id')->where($where)->limit($page->GetPageStarNumber(), $number)->order('a.id desc')->group('a.id')->select();
$list = $this->SetDataHandle($list);
// 参数
$this->assign('param', $param);
// 分页
$this->assign('page_html', $page->GetPageHtml());
$data_params = array(
'm' => $page->GetPageStarNumber(),
'n' => $number,
'where' => $where,
'field' => 'a.*',
);
$data = AlipayLifeService::AlipayLifeList($data_params);
$this->assign('data_list', $data['data']);
// 是否上下架
$this->assign('common_goods_is_shelves_list', lang('common_goods_is_shelves_list'));
// 生活号分类
$alipay_life_category = db('AlipayLifeCategory')->where(['is_enable'=>1])->field('id,name')->select();
$this->assign('alipay_life_category', $alipay_life_category);
// 数据列表
$this->assign('list', $list);
$this->display('Index');
}
/**
* [SetDataHandle 数据处理]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-29T21:27:15+0800
* @param [array] $data [轮播图片数据]
* @return [array] [处理好的数据]
*/
private function SetDataHandle($data)
{
if(!empty($data))
{
$common_is_enable_tips = lang('common_is_enable_tips');
foreach($data as &$v)
{
// 分类名称
$category_all = db('AlipayLifeCategoryJoin')->where(['alipay_life_id'=>$v['id']])->getField('alipay_life_category_id', true);
$v['alipay_life_category_text'] = db('AlipayLifeCategory')->where(['id'=>['in', $category_all]])->getField('name', true);
$alipay_life_category = AlipayLifeService::AlipayLifeCategoryList(['field'=>'id,name']);
$this->assign('alipay_life_category', $alipay_life_category['data']);
// logo
$v['logo'] = empty($v['logo']) ? '' : config('IMAGE_HOST').$v['logo'];
// 添加时间
$v['add_time_text'] = date('Y-m-d H:i:s', $v['add_time']);
// 更新时间
$v['upd_time_text'] = date('Y-m-d H:i:s', $v['upd_time']);
}
}
return $data;
// 参数
$this->assign('params', $params);
return $this->fetch();
}
/**
* [GetIndexWhere 列表条件]
* [SaveInfo 添加/编辑页面]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
* @datetime 2016-12-14T21:37:02+0800
*/
private function GetIndexWhere()
public function SaveInfo()
{
$where = array();
// 参数
$params = input();
// 模糊
if(!empty($_REQUEST['keyword']))
// 数据
if(!empty($params['id']))
{
$where['a.name'] = array('like', '%'.I('keyword').'%');
}
// 获取列表
$data_params = array(
'm' => 0,
'n' => 1,
'where' => ['a.id'=>intval($params['id'])],
'field' => 'a.*',
);
$data = AlipayLifeService::AlipayLifeList($data_params);
// 是否更多条件
if(I('is_more', 0) == 1)
{
if(I('is_shelves', -1) > -1)
if(!empty($data['data'][0]))
{
$where['a.is_shelves'] = intval(I('is_shelves', 0));
}
if(I('alipay_life_category_id', -1) > -1)
{
$where['cj.alipay_life_category_id'] = intval(I('alipay_life_category_id', 0));
}
// 获取分类关联数据
$category_ids = AlipayLifeService::AlipayLifeCategoryIds(['where'=>['alipay_life_id'=>$data['data'][0]['id']]]);
$data['data'][0]['category_ids'] = $category_ids['data'];
// 表达式
if(!empty($_REQUEST['time_start']))
{
$where['a.add_time'][] = array('gt', strtotime(I('time_start')));
}
if(!empty($_REQUEST['time_end']))
{
$where['a.add_time'][] = array('lt', strtotime(I('time_end')));
$this->assign('data', empty($data['data'][0]) ? [] : $data['data'][0]);
}
}
return $where;
}
/**
* [SaveInfo 添加/编辑页面]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-14T21:37:02+0800
*/
public function SaveInfo()
{
// 轮播图片信息
$data = empty($_REQUEST['id']) ? array() : db('AlipayLife')->find(I('id'));
// 获取分类关联数据
$data['category_all'] = db('AlipayLifeCategoryJoin')->where(['alipay_life_id'=>$data['id']])->getField('alipay_life_category_id', true);
$this->assign('data', $data);
// 是否上下架
$this->assign('common_goods_is_shelves_list', lang('common_goods_is_shelves_list'));
// 生活号分类
$alipay_life_category = db('AlipayLifeCategory')->where(['is_enable'=>1])->field('id,name')->select();
$this->assign('alipay_life_category', $alipay_life_category);
$alipay_life_category = AlipayLifeService::AlipayLifeCategoryList(['field'=>'id,name']);
$this->assign('alipay_life_category', $alipay_life_category['data']);
// 参数
$this->assign('param', array_merge($_POST, $_GET));
$this->assign('params', $params);
$this->display('SaveInfo');
// 编辑器文件存放地址
$this->assign('editor_path_type', 'alipay_life');
return $this->fetch();
}
/**
......@@ -198,95 +147,13 @@ class AlipayLife extends Common
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 图片
$this->FileSave('logo', 'file_logo', 'alipay_life');
// id为空则表示是新增
$m = D('AlipayLife');
// 开启事务
$m->startTrans();
// 分类
$category_m = db('AlipayLifeCategoryJoin');
if(empty($_POST['id']))
{
$type = 1;
} else {
$type = 2;
$category_m->where(['alipay_life_id'=>I('id')])->delete();
return $this->error('非法访问');
}
$status = false;
$msg = '';
$alipay_life_id = I('id', 0);
if($m->create($_POST, $type))
{
// 额外数据处理
$m->upd_time = time();
$m->name = I('name');
$m->appid = I('appid');
$m->rsa_public = I('rsa_public');
$m->rsa_private = I('rsa_private');
$m->out_rsa_public = I('out_rsa_public');
if($type == 1)
{
// 写入数据库
$m->add_time = time();
$alipay_life_id = $m->add();
if($alipay_life_id)
{
$status = true;
$msg = '新增成功';
} else {
$msg = '新增失败';
}
} else {
// 更新数据库
if($m->where(array('id'=>$alipay_life_id))->save())
{
$status = true;
$msg = '编辑成功';
} else {
$msg = '编辑失败或数据未改变';
}
}
} else {
$msg = $m->getError();
}
// 分类处理
if($status === true)
{
$count = 0;
$all = explode(',', I('alipay_life_category_id'));
foreach($all as $v)
{
if($category_m->add(['alipay_life_id'=>$alipay_life_id, 'alipay_life_category_id'=>$v, 'add_time'=>time()]))
{
$count++;
}
}
if($count < count($all))
{
// 回滚事务
$m->rollback();
$this->ajaxReturn('分类添加失败', -10);
}
} else {
// 回滚事务
$m->rollback();
$this->ajaxReturn($msg, -100);
}
// 回滚事务
$m->commit();
$this->ajaxReturn($msg, 0);
// 开始处理
$params = input();
$ret = AlipayLifeService::AlipayLifeSave($params);
return json($ret);
}
/**
......@@ -298,26 +165,17 @@ class AlipayLife extends Common
*/
public function Delete()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
return $this->error('非法访问');
}
$m = D('AlipayLife');
if($m->create($_POST, 5))
{
$id = I('id');
// 删除
if($m->delete($id))
{
$this->ajaxReturn('删除成功');
} else {
$this->ajaxReturn('删除失败或资源不存在', -100);
}
} else {
$this->ajaxReturn($m->getError(), -1);
}
// 开始处理
$params = input();
$params['user_type'] = 'admin';
$ret = AlipayLifeService::AlipayLifeDelete($params);
return json($ret);
}
/**
......@@ -332,18 +190,18 @@ class AlipayLife extends Common
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
return $this->error('非法访问');
}
// 开始处理
$params = $_POST;
$params = input();
$params['alipay_life_id'] = isset($params['id']) ? $params['id'] : 0;
if(isset($params['state']))
{
$params['status'] = $params['state'];
}
$ret = AlipayLifeService::LifeStatus($params);
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
return json($ret);
}
}
?>
\ No newline at end of file
......@@ -44,7 +44,7 @@ class AppHomeNav extends Common
$params = input();
// 分页
$number = MyC('admin_page_number', 10, true);;
$number = MyC('admin_page_number', 10, true);
// 条件
$where = AppNavService::AppHomeNavListWhere($params);
......
......@@ -44,7 +44,7 @@ class Brand extends Common
$params = input();
// 分页
$number = 10;
$number = MyC('admin_page_number', 10, true);
// 条件
$where = BrandService::BrandListWhere($params);
......
......@@ -6,38 +6,38 @@
<!-- tips start -->
<div class="am-alert am-alert-warning am-radius" data-am-alert>
<button type="button" class="am-close">&times;</button>
<p>接口异步通知地址:http://localhost/shopxo/alipay_life_notify.php</p>
<p>接口异步通知地址:{{$Think.__MY_URL__}}alipay_life_notify.php</p>
</div>
<!-- tips end -->
<!-- form start -->
<form class="am-form view-list" action="{{:url('Admin/AlipayLife/Index')}}" method="POST">
<form class="am-form view-list" action="{{:url('admin/alipaylife/index')}}" method="POST">
<div class="am-g">
<input type="text" class="am-radius form-keyword" placeholder="名称" name="keyword" <present name="param['keyword']"> value="{{$param.keyword}}"{{/if}} />
<input type="text" autocomplete="off" class="am-radius form-keyword" placeholder="名称" name="keywords" {{if !empty($params['keywords'])}} value="{{$params.keywords}}"{{/if}} />
<button type="submit" class="am-btn am-btn-secondary am-btn-sm am-radius form-submit">查询</button>
<label class="fs-12 m-l-5 c-p fw-100 more-submit">
更多筛选
<input type="checkbox" name="is_more" value="1" id="is_more" {{if isset($param['is_more']) and $param['is_more'] eq 1)}}checked{{/if}} />
<input type="checkbox" name="is_more" value="1" id="is_more" {{if isset($params['is_more']) and $params['is_more'] eq 1}}checked{{/if}} />
<i class="am-icon-angle-down"></i>
</label>
<div class="more-where {{if !isset($param['is_more']) or $param['is_more'] neq 1)}}none{{/if}}">
<div class="more-where {{if !isset($params['is_more']) or $params['is_more'] neq 1}}none{{/if}}">
<select name="is_shelves" class="am-radius c-p m-t-10 m-l-5 param-where">
<option value="-1)}}上下架</option>
<foreach name="common_goods_is_shelves_list" item="v">
<option value="{{$v.id}}" {{if isset($param['is_shelves']) and $param['is_shelves'] eq $v['id']">selected{{/if}}>{{$v.name}}</option>
<option value="-1">上下架</option>
{{foreach $common_goods_is_shelves_list as $v}}
<option value="{{$v.id}}" {{if isset($params['is_shelves']) and $params['is_shelves'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
<select name="alipay_life_category_id" class="am-radius c-p m-t-10 m-l-5 param-where">
<option value="">生活号分类</option>
<foreach name="alipay_life_category" item="v">
<option value="{{$v.id}}" {{if isset($param['alipay_life_category_id']) and $param['alipay_life_category_id'] eq $v['id']">selected{{/if}}>{{$v.name}}</option>
<option value="-1">生活号分类</option>
{{foreach $alipay_life_category as $v}}
<option value="{{$v.id}}" {{if isset($params['alipay_life_category_id']) and $params['alipay_life_category_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
<div class="param-date param-where m-l-5)}}
<input type="text" name="time_start" class="Wdate am-radius m-t-10" placeholder="起始时间" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($param['time_start'])}}value="{{$param.time_start}}"{{/if}}/>
<div class="param-date param-where m-l-5">
<input type="text" autocomplete="off" name="time_start" class="Wdate am-radius m-t-10" placeholder="起始时间" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_start'])}}value="{{$params.time_start}}"{{/if}}/>
<span>~</span>
<input type="text" class="Wdate am-radius m-t-10" placeholder="结束时间" name="time_end" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($param['time_end'])}}value="{{$param.time_end}}"{{/if}}/>
<input type="text" autocomplete="off" class="Wdate am-radius m-t-10" placeholder="结束时间" name="time_end" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_end'])}}value="{{$params.time_end}}"{{/if}}/>
</div>
</div>
</div>
......@@ -45,13 +45,13 @@
<!-- form end -->
<!-- operation start -->
<div class="am-g m-t-15)}}
<a href="{{:url('Admin/AlipayLife/SaveInfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
<div class="am-g m-t-15">
<a href="{{:url('admin/alipaylife/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
</div>
<!-- operation end -->
<!-- list start -->
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-10">
<thead>
<tr>
<th>名称</th>
......@@ -64,9 +64,9 @@
</tr>
</thead>
<tbody>
{{if !empty($list)}}
<foreach name="list" item="v">
<tr id="data-list-{{$v.id}}" {{if $v['is_shelves'] eq 0)}}class="am-active"{{/if}}>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr id="data-list-{{$v.id}}" {{if $v['is_shelves'] eq 0}}class="am-active"{{/if}}>
<td>{{$v.name}}</td>
<td class="am-hide-sm-only">
{{if !empty($v['logo'])}}
......@@ -80,14 +80,14 @@
<td>{{$v.appid}}</td>
<td class="am-hide-sm-only">{{:implode(',', $v['alipay_life_category_text'])}}</td>
<td>
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_shelves'] eq 1)}}am-success{{else /}}am-default{{/if}}" data-url="{{:url('Admin/AlipayLife/StatusUpdate')}}" data-id="{{$v.id}}" data-state="{{$v['is_shelves']}}" data-is-update-status="1)}}</a>
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_shelves'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:url('admin/alipaylife/statusupdate')}}" data-id="{{$v.id}}" data-state="{{$v['is_shelves']}}" data-is-update-status="1"></a>
</td>
<td class="am-hide-sm-only">{{$v.add_time_text}}</td>
<td class="am-hide-sm-only">{{$v.add_time_time}}</td>
<td class="view-operation">
<a href="{{:url('Admin/AlipayLife/SaveInfo', array('id'=>$v['id']))}}">
<a href="{{:url('admin/alipaylife/saveinfo', array_merge($params, ['id'=>$v['id']]))}}">
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
</a>
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('Admin/AlipayLife/Delete')}}" data-id="{{$v.id}}"> 删除</button>
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('admin/alipaylife/Delete')}}" data-id="{{$v.id}}"> 删除</button>
</td>
</tr>
{{/foreach}}
......@@ -99,8 +99,8 @@
<!-- list end -->
<!-- page start -->
{{if !empty($list)}}
{{$page_html}}
{{if !empty($data_list)}}
{{$page_html|raw}}
{{/if}}
<!-- page end -->
</div>
......
......@@ -4,61 +4,64 @@
<div class="content-right">
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:url('Admin/AlipayLife/Save')}}" method="POST" request-type="ajax-url" request-value="{{:url('Admin/AlipayLife/Index')}}" enctype="multipart/form-data">
<form class="am-form form-validation view-save" action="{{:url('admin/alipaylife/save')}}" method="POST" request-type="ajax-url" request-value="{{:url('admin/alipaylife/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16)}}
<span class="fs-16">
{{if empty($data['id'])}}
生活号添加
{{else /}}
生活号编辑
{{/if}}
</span>
<a href="{{:url('Admin/AlipayLife/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
<a href="{{:url('admin/alipaylife/index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
</legend>
<div class="am-form-group">
<label>名称</label>
<input type="text" name="name" placeholder="名称" minlength="2" maxlength="30" data-validation-message="名称格式 2~30 个字符" class="am-radius" <notempty name="data"> value="{{$data.name}}"{{/if}} required />
<input type="text" name="name" placeholder="名称" minlength="2" maxlength="30" data-validation-message="名称格式 2~30 个字符" class="am-radius" {{if !empty($data)}} value="{{$data.name}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>生活号分类</label>
<select name="alipay_life_category_id" class="am-radius c-p chosen-select" multiple="multiple" data-placeholder="可选择..." data-validation-message="请选择生活号分类" required>
<foreach name="alipay_life_category" item="v">
<option value="{{$v.id}}" {{if !empty($data['category_all']) and in_array($v['id'], $data['category_all'])}}selected{{/if}}>{{$v.name}}</option>
{{foreach $alipay_life_category as $v}}
<option value="{{$v.id}}" {{if !empty($data['category_ids']) and in_array($v['id'], $data['category_ids'])}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>appid</label>
<input type="text" name="appid" placeholder="appid" data-validation-message="appid格式 1~60 个字符" class="am-radius" minlength="1" maxlength="60" <notempty name="data"> value="{{$data.appid}}"{{/if}} required />
<input type="text" name="appid" placeholder="appid" data-validation-message="appid格式 1~60 个字符" class="am-radius" minlength="1" maxlength="60" {{if !empty($data)}} value="{{$data.appid}}"{{/if}} required />
</div>
<div class="am-form-group am-form-file">
<label class="block">LOGO</label>
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
<i class="am-icon-cloud-upload"></i> 选择图片</button>
<input type="text" name="logo" class="am-radius js-choice-one original-images-url original-icon-images-url" data-choice-one-to='input[name="file_logo"]' <notempty name="data"> value="{{$data.logo}}"{{/if}}" data-validation-message="请选择需要上传的图片" readonly="readonly" />
<i class="am-icon-trash-o am-icon-sm original-images-url-delete" data-input-tag="input.original-icon-images-url" data-image-tag="#form-img-icon" data-tips-tag="#form-icon-tips" data-file-tag="input.file_logo-tag"></i>
<input type="file" name="file_logo" multiple data-validation-message="请选择需要上传的图片" accept="image/gif,image/jpeg,image/jpg,image/png" class="js-choice-one images-file-event file_logo-tag" data-choice-one-to=".original-icon-images-url" data-tips-tag="#form-icon-tips" data-image-tag="#form-img-icon" />
<div id="form-icon-tips" class="m-t-5)}}</div>
<img src="{{if !empty($data['logo'])}}{{$image_host}}{{$data.logo}}{{else /}}{{$image_host}}/Public/Admin/Default/Images/default-images.png{{/if}}" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="100" height="100" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
<ul class="plug-file-upload-view brand-logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
{{if !empty($data['logo'])}}
<li>
<input type="text" name="logo" value="{{$data.logo}}" />
<img src="{{$data.logo}}" />
<i>×</i>
</li>
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.brand-logo-images-view">+上传图片</div>
</div>
<div class="am-form-group">
<label>应用公钥</label>
<textarea rows="5" name="rsa_public" class="am-radius" placeholder="应用公钥" data-validation-message="应用公钥格式 1~2000 个字符" required><present name="data">{{$data.rsa_public}}{{/if}}</textarea>
<textarea rows="5" name="rsa_public" class="am-radius" placeholder="应用公钥" data-validation-message="应用公钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.rsa_public}}{{/if}}</textarea>
</div>
<div class="am-form-group">
<label>应用私钥</label>
<textarea rows="5" name="rsa_private" class="am-radius" placeholder="应用私钥" data-validation-message="应用私钥格式 1~2000 个字符" required><present name="data">{{$data.rsa_private}}{{/if}}</textarea>
<textarea rows="5" name="rsa_private" class="am-radius" placeholder="应用私钥" data-validation-message="应用私钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.rsa_private}}{{/if}}</textarea>
</div>
<div class="am-form-group">
<label>支付宝公钥</label>
<textarea rows="5" name="out_rsa_public" class="am-radius" placeholder="支付宝公钥" data-validation-message="支付宝公钥格式 1~2000 个字符" required><present name="data">{{$data.out_rsa_public}}{{/if}}</textarea>
<textarea rows="5" name="out_rsa_public" class="am-radius" placeholder="支付宝公钥" data-validation-message="支付宝公钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.out_rsa_public}}{{/if}}</textarea>
</div>
<div class="am-form-group">
<input type="hidden" name="id" <notempty name="data"> value="{{$data.id}}"{{/if}} />
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
</div>
</form>
......
......@@ -2,6 +2,7 @@
namespace app\service;
use app\service\GoodsService;
use app\service\ResourcesService;
/**
* 品牌服务层
......@@ -235,7 +236,7 @@ class BrandService
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,30',
'error_msg' => '名称长度 2~30 个字符',
'error_msg' => '名称格式 2~30 个字符',
],
[
'checked_type' => 'empty',
......
......@@ -11,7 +11,7 @@
Target Server Version : 50722
File Encoding : utf-8
Date: 12/21/2018 15:03:29 PM
Date: 12/21/2018 18:42:21 PM
*/
SET NAMES utf8mb4;
......@@ -60,13 +60,13 @@ CREATE TABLE `s_alipay_life` (
`upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `is_shelves` (`is_shelves`)
) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='支付宝生活号';
) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='支付宝生活号';
-- ----------------------------
-- Records of `s_alipay_life`
-- ----------------------------
BEGIN;
INSERT INTO `s_alipay_life` VALUES ('93', '', '美容美发', '2018020102126321', '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', '1', '1540433367', '1543603836');
INSERT INTO `s_alipay_life` VALUES ('93', '', '美容美发', '2018020102126321', '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', '0', '1540433367', '1545388924');
COMMIT;
-- ----------------------------
......@@ -104,13 +104,13 @@ CREATE TABLE `s_alipay_life_category_join` (
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
PRIMARY KEY (`id`),
KEY `alipay_life_id` (`alipay_life_id`)
) ENGINE=InnoDB AUTO_INCREMENT=148 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='生活号于分类关联';
) ENGINE=InnoDB AUTO_INCREMENT=178 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='生活号于分类关联';
-- ----------------------------
-- Records of `s_alipay_life_category_join`
-- ----------------------------
BEGIN;
INSERT INTO `s_alipay_life_category_join` VALUES ('134', '92', '16', '1540460834'), ('135', '92', '17', '1540460834'), ('136', '92', '18', '1540460834'), ('137', '92', '24', '1540460834'), ('138', '92', '25', '1540460834'), ('139', '92', '26', '1540460834'), ('140', '92', '27', '1540460834'), ('141', '92', '28', '1540460834'), ('146', '94', '10', '1540868496'), ('147', '93', '7', '1540868501');
INSERT INTO `s_alipay_life_category_join` VALUES ('174', '93', '7', '1545388924'), ('175', '93', '16', '1545388924'), ('176', '93', '24', '1545388924'), ('177', '93', '26', '1545388924');
COMMIT;
-- ----------------------------
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册