提交 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>
......
<?php
namespace app\service;
use think\Db;
use app\service\ResourcesService;
/**
* 支付宝生活号服务层
* @author Devil
......@@ -40,7 +43,7 @@ class AlipayLifeService
// 开始处理业务
$status = false;
$m = db('AlipayLifeMessage');
$m = Db::name('AlipayLifeMessage');
if(empty($params['id']))
{
$data['add_time'] = time();
......@@ -105,7 +108,7 @@ class AlipayLifeService
$data['image_url'] = $ret['data']['url'];
// 图片上传至支付宝
$alipay_life_message = db('AlipayLifeMessage')->find($data['alipay_life_message_id']);
$alipay_life_message = Db::name('AlipayLifeMessage')->find($data['alipay_life_message_id']);
if(!empty($alipay_life_message))
{
if($alipay_life_message['send_type'] == 1 && !empty($alipay_life_message['alipay_life_ids']))
......@@ -113,14 +116,14 @@ class AlipayLifeService
$alipay_life_ids = json_decode($alipay_life_message['alipay_life_ids'], true);
$alipay_life_id = isset($alipay_life_ids[0]) ? $alipay_life_ids[0] : '';
} else {
$alipay_life_id = db('AlipayLifeUser')->where(['id'=>$alipay_life_message['alipay_life_user_id']])->value('alipay_life_id');
$alipay_life_id = Db::name('AlipayLifeUser')->where(['id'=>$alipay_life_message['alipay_life_user_id']])->value('alipay_life_id');
}
} else {
return DataReturn('消息主数据有误', -5);
}
if(!empty($alipay_life_id))
{
$obj = new \Library\AlipayLife(['life_data'=>db('AlipayLife')->find($alipay_life_id)]);
$obj = new \Library\AlipayLife(['life_data'=>Db::name('AlipayLife')->find($alipay_life_id)]);
$res = $obj->UploadImage(['file'=>ROOT_PATH.substr($data['image_url'], 1)]);
if($res['status'] != 0)
{
......@@ -135,7 +138,7 @@ class AlipayLifeService
// 开始处理业务
$status = false;
$m = db('AlipayLifeMessageContent');
$m = Db::name('AlipayLifeMessageContent');
if(empty($params['id']))
{
$data['add_time'] = time();
......@@ -257,7 +260,7 @@ class AlipayLifeService
}
// 主数据
$message = db('AlipayLifeMessage')->find($params['message_id']);
$message = Db::name('AlipayLifeMessage')->find($params['message_id']);
if(empty($message))
{
return DataReturn('消息数据不存在', -1);
......@@ -311,7 +314,7 @@ class AlipayLifeService
{
if(!empty($params['appid']))
{
return db('AlipayLife')->where(['appid'=>$params['appid']])->find();
return Db::name('AlipayLife')->where(['appid'=>$params['appid']])->find();
}
return null;
}
......@@ -331,10 +334,10 @@ class AlipayLifeService
if(!empty($params['alipay_openid']))
{
$life = self::AppidLifeRow($params);
$user = db('User')->where(['alipay_openid'=>$params['alipay_openid']])->find();
$user = Db::name('User')->where(['alipay_openid'=>$params['alipay_openid']])->find();
if(!empty($life) && !empty($user))
{
return db('AlipayLifeUser')->where(['user_id'=>$user['id'], 'alipay_life_id'=>$life['id']])->delete() !== false;
return Db::name('AlipayLifeUser')->where(['user_id'=>$user['id'], 'alipay_life_id'=>$life['id']])->delete() !== false;
}
}
return false;
......@@ -355,7 +358,7 @@ class AlipayLifeService
$life = self::AppidLifeRow($params);
if(!empty($params['alipay_openid']) && !empty($life))
{
$user = db('User')->where(['alipay_openid'=>$params['alipay_openid']])->find();
$user = Db::name('User')->where(['alipay_openid'=>$params['alipay_openid']])->find();
if(empty($user))
{
$data = [
......@@ -363,7 +366,7 @@ class AlipayLifeService
'nickname' => isset($params['user_name']) ? $params['user_name'] : '',
'add_time' => time(),
];
$user_id = db('User')->insertGetId($data);
$user_id = Db::name('User')->insertGetId($data);
} else {
$user_id = $user['id'];
}
......@@ -373,13 +376,13 @@ class AlipayLifeService
'user_id' => $user_id,
'alipay_life_id'=> $life['id'],
];
$life_user = db('AlipayLifeUser')->where($life_user_data)->find();
$life_user = Db::name('AlipayLifeUser')->where($life_user_data)->find();
if(empty($life_user))
{
$life_user_data['add_time'] = time();
return db('AlipayLifeUser')->insertGetId($life_user_data) > 0;
return Db::name('AlipayLifeUser')->insertGetId($life_user_data) > 0;
} else {
return db('AlipayLifeUser')->where($life_user_data)->update(['enter_count'=>$life_user['enter_count']+1, 'upd_time'=>time()]) !== false;
return Db::name('AlipayLifeUser')->where($life_user_data)->update(['enter_count'=>$life_user['enter_count']+1, 'upd_time'=>time()]) !== false;
}
}
}
......@@ -412,7 +415,7 @@ class AlipayLifeService
}
// 获取数据
$m = db('AlipayLifeMessage');
$m = Db::name('AlipayLifeMessage');
$data = $m->find(intval($params['id']));
if(empty($data))
{
......@@ -425,7 +428,7 @@ class AlipayLifeService
}
// 获取数据内容
$content_count = (int) db('AlipayLifeMessageContent')->where(['alipay_life_message_id'=>$data['id']])->count();
$content_count = (int) Db::name('AlipayLifeMessageContent')->where(['alipay_life_message_id'=>$data['id']])->count();
if(empty($content_count))
{
return DataReturn('消息内容不能为空', -1);
......@@ -461,12 +464,12 @@ class AlipayLifeService
];
}
} else {
$alipay_openid = db('User')->where(['id'=>$data['user_id']])->value('alipay_openid');
$alipay_openid = Db::name('User')->where(['id'=>$data['user_id']])->value('alipay_openid');
if(!empty($alipay_openid))
{
$detail[] = [
'user_id' => $data['user_id'],
'alipay_life_id' => db('AlipayLifeUser')->where(['id'=>$data['alipay_life_user_id']])->value('alipay_life_id'),
'alipay_life_id' => Db::name('AlipayLifeUser')->where(['id'=>$data['alipay_life_user_id']])->value('alipay_life_id'),
'alipay_life_user_id' => $data['alipay_life_user_id'],
'alipay_openid' => $alipay_openid,
'alipay_life_message_id'=> $data['id'],
......@@ -477,7 +480,7 @@ class AlipayLifeService
// 入库详情表
$m->startTrans();
if(db('AlipayLifeMessageDetail')->addAll($detail) !== false)
if(Db::name('AlipayLifeMessageDetail')->addAll($detail) !== false)
{
if($m->where(['id'=>$data['id']])->update(['status'=>1, 'startup_time'=>time(), 'upd_time'=>time()]) !== false)
{
......@@ -527,7 +530,7 @@ class AlipayLifeService
echo '[data:'.$params['message_id']."]\n";
// 开始处理
$m = db('AlipayLifeMessage');
$m = Db::name('AlipayLifeMessage');
$data = $m->find($params['message_id']);
if(empty($data))
{
......@@ -543,25 +546,25 @@ class AlipayLifeService
{
$alipay_life_all = json_decode($data['alipay_life_ids'], true);
} else {
$alipay_life_all = [db('AlipayLifeUser')->where(['id'=>$data['alipay_life_user_id']])->value('alipay_life_id')];
$alipay_life_all = [Db::name('AlipayLifeUser')->where(['id'=>$data['alipay_life_user_id']])->value('alipay_life_id')];
}
// 消息内容
$data['content'] = db('AlipayLifeMessageContent')->field('id,title,content,out_image_url,url,action_name')->where(['alipay_life_message_id'=>$data['id']])->select();
$data['content'] = Db::name('AlipayLifeMessageContent')->field('id,title,content,out_image_url,url,action_name')->where(['alipay_life_message_id'=>$data['id']])->select();
if(empty($data['content']))
{
die('[time:'.date('Y-m-d H:i:s')."][msg:{$data['id']}消息内容为空]\n\n");
}
// 获取消息详情
$detail_m = db('AlipayLifeMessageDetail');
$detail_m = Db::name('AlipayLifeMessageDetail');
$detail = $detail_m->where(['alipay_life_message_id'=>$data['id'], 'status'=>0])->limit(30)->select();
if(!empty($detail))
{
foreach($detail as $v)
{
// 生活号
$life = db('AlipayLife')->find($v['alipay_life_id']);
$life = Db::name('AlipayLife')->find($v['alipay_life_id']);
$obj = new \Library\AlipayLife(['life_data'=>$life]);
// 群发
......@@ -631,7 +634,7 @@ class AlipayLifeService
}
// 查询数据
$data = db('AlipayLife')->alias('l')->join(' INNER JOIN __ALIPAY_LIFE_CATEGORY_JOIN__ AS lc ON l.id=lc.alipay_life_id')->field('l.id,l.name')->group('l.id')->where($where)->select();
$data = Db::name('AlipayLife')->alias('l')->join(' INNER JOIN __ALIPAY_LIFE_CATEGORY_JOIN__ AS lc ON l.id=lc.alipay_life_id')->field('l.id,l.name')->group('l.id')->where($where)->select();
if(empty($data))
{
......@@ -662,7 +665,7 @@ class AlipayLifeService
$where = ['alipay_life_message_id' => intval($params['message_id'])];
// 列表
$data = db('AlipayLifeMessageDetail')->where($where)->order('id desc')->select();
$data = Db::name('AlipayLifeMessageDetail')->where($where)->order('id desc')->select();
if(!empty($data))
{
$common_send_status_list = lang('common_send_status_list');
......@@ -672,10 +675,10 @@ class AlipayLifeService
$v['status_name'] = $common_send_status_list[$v['status']]['name'];
// 生活号
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : db('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : Db::name('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
// 用户
$v['alipay_openid'] = empty($v['user_id']) ? '' : db('User')->where(['id'=>$v['user_id']])->value('alipay_openid');
$v['alipay_openid'] = empty($v['user_id']) ? '' : Db::name('User')->where(['id'=>$v['user_id']])->value('alipay_openid');
// 时间
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
......@@ -718,11 +721,10 @@ class AlipayLifeService
}
// 数据更新
$m = db('AlipayLife');
$m->startTrans();
if($m->where(array('id'=>$params['alipay_life_id']))->update(array('is_shelves'=>$params['status'], 'upd_time'=>time())))
Db::startTrans();
if(Db::name('AlipayLife')->where(['id'=>$params['alipay_life_id']])->update(['is_shelves'=>$params['status'], 'upd_time'=>time()]))
{
$obj = new \Library\AlipayLife(['life_data'=>$m->find($params['alipay_life_id'])]);
$obj = new \base\AlipayLife(['life_data'=>Db::name('AlipayLife')->find($params['alipay_life_id'])]);
if($params['status'] == 1)
{
$ret = $obj->LifeAboard();
......@@ -731,15 +733,15 @@ class AlipayLifeService
}
if($ret['status'] == 0)
{
$m->commit();
Db::commit();
return DataReturn('编辑成功', 0);
} else {
$m->rollback();
Db::rollback();
return DataReturn($ret['msg'], -100);
}
}
$m->rollback();
Db::rollback();
return DataReturn('编辑失败或数据未改变', -100);
}
......@@ -793,7 +795,7 @@ class AlipayLifeService
// 开始处理业务
$status = false;
$m = db('AlipayLifeMenu');
$m = Db::name('AlipayLifeMenu');
if(empty($params['id']))
{
$data['add_time'] = time();
......@@ -859,7 +861,7 @@ class AlipayLifeService
$data['icon'] = $ret['data']['url'];
// 图片上传至支付宝
$alipay_life_menu = db('AlipayLifeMenu')->find($data['alipay_life_menu_id']);
$alipay_life_menu = Db::name('AlipayLifeMenu')->find($data['alipay_life_menu_id']);
if(!empty($alipay_life_menu))
{
if(!empty($alipay_life_menu['alipay_life_ids']))
......@@ -867,7 +869,7 @@ class AlipayLifeService
$alipay_life_ids = json_decode($alipay_life_menu['alipay_life_ids'], true);
$alipay_life_id = isset($alipay_life_ids[0]) ? $alipay_life_ids[0] : '';
$obj = new \Library\AlipayLife(['life_data'=>db('AlipayLife')->find($alipay_life_id)]);
$obj = new \Library\AlipayLife(['life_data'=>Db::name('AlipayLife')->find($alipay_life_id)]);
$res = $obj->UploadImage(['file'=>ROOT_PATH.substr($data['icon'], 1)]);
if($res['status'] != 0)
{
......@@ -885,7 +887,7 @@ class AlipayLifeService
// 开始处理业务
$status = false;
$m = db('AlipayLifeMenuContent');
$m = Db::name('AlipayLifeMenuContent');
if(empty($params['id']))
{
$data['add_time'] = time();
......@@ -952,7 +954,7 @@ class AlipayLifeService
}
// 主数据
$menu = db('AlipayLifeMenu')->find($params['menu_id']);
$menu = Db::name('AlipayLifeMenu')->find($params['menu_id']);
if(empty($menu))
{
return DataReturn('消息数据不存在', -1);
......@@ -1018,7 +1020,7 @@ class AlipayLifeService
}
// 获取数据
$m = db('AlipayLifeMenu');
$m = Db::name('AlipayLifeMenu');
$data = $m->find(intval($params['id']));
if(empty($data))
{
......@@ -1031,7 +1033,7 @@ class AlipayLifeService
}
// 获取数据内容
$content_list = db('AlipayLifeMenuContent')->field('id,name')->where(['alipay_life_menu_id'=>$data['id'], 'pid'=>0])->select();
$content_list = Db::name('AlipayLifeMenuContent')->field('id,name')->where(['alipay_life_menu_id'=>$data['id'], 'pid'=>0])->select();
if(empty($content_list))
{
return DataReturn('菜单数据不能为空', -1);
......@@ -1049,7 +1051,7 @@ class AlipayLifeService
// 子集校验
foreach($content_list as $v)
{
$temp_count = db('AlipayLifeMenuContent')->where(['pid'=>$v['id']])->count();
$temp_count = Db::name('AlipayLifeMenuContent')->where(['pid'=>$v['id']])->count();
if($temp_count > 5)
{
return DataReturn('['.$v['name'].']二级菜单不能超过5个', -1);
......@@ -1079,14 +1081,14 @@ class AlipayLifeService
// 入库详情表
$m->startTrans();
if(db('AlipayLifeMenuDetail')->addAll($detail) !== false)
if(Db::name('AlipayLifeMenuDetail')->addAll($detail) !== false)
{
$upd_data = [
'status' => 1,
'startup_time' => time(),
'upd_time' => time()
];
$status = db('AlipayLifeMenu')->where(['id'=>$data['id']])->update($upd_data);
$status = Db::name('AlipayLifeMenu')->where(['id'=>$data['id']])->update($upd_data);
if($status !== false)
{
$m->commit();
......@@ -1119,7 +1121,7 @@ class AlipayLifeService
echo '[data:'.$params['menu_id']."]\n";
// 开始处理
$m = db('AlipayLifeMenu');
$m = Db::name('AlipayLifeMenu');
$data = $m->find($params['menu_id']);
if(empty($data))
{
......@@ -1132,7 +1134,7 @@ class AlipayLifeService
// 消息内容
$field = 'id,pid,name,action_type,action_value,out_icon';
$data['content'] = db('AlipayLifeMenuContent')->field($field)->where(['alipay_life_menu_id'=>$data['id'], 'pid'=>0])->order('sort asc')->select();
$data['content'] = Db::name('AlipayLifeMenuContent')->field($field)->where(['alipay_life_menu_id'=>$data['id'], 'pid'=>0])->order('sort asc')->select();
if(empty($data['content']))
{
die('[time:'.date('Y-m-d H:i:s')."][msg:{$data['id']}菜单内容为空]\n\n");
......@@ -1148,7 +1150,7 @@ class AlipayLifeService
// 是否需要读取子集
if($data['type'] == 0)
{
$items = db('AlipayLifeMenuContent')->field($field)->where(['pid'=>$v['id']])->order('sort asc')->select();
$items = Db::name('AlipayLifeMenuContent')->field($field)->where(['pid'=>$v['id']])->order('sort asc')->select();
if(!empty($items))
{
foreach($items as &$vs)
......@@ -1162,14 +1164,14 @@ class AlipayLifeService
}
// 生活号循环处理
$detail_m = db('AlipayLifeMenuDetail');
$detail_m = Db::name('AlipayLifeMenuDetail');
$detail = $detail_m->where(['alipay_life_menu_id'=>$data['id'], 'status'=>0])->limit(10)->select();
if(!empty($detail))
{
foreach($detail as $d)
{
// 生活号
$life = db('AlipayLife')->find($d['alipay_life_id']);
$life = Db::name('AlipayLife')->find($d['alipay_life_id']);
// 请求接口处理
$obj = new \Library\AlipayLife(['life_data'=>$life]);
......@@ -1220,7 +1222,7 @@ class AlipayLifeService
$where = ['alipay_life_menu_id' => intval($params['menu_id'])];
// 列表
$data = db('AlipayLifeMenuDetail')->where($where)->order('id desc')->select();
$data = Db::name('AlipayLifeMenuDetail')->where($where)->order('id desc')->select();
if(!empty($data))
{
$common_release_status_list = lang('common_release_status_list');
......@@ -1230,7 +1232,7 @@ class AlipayLifeService
$v['status_name'] = $common_release_status_list[$v['status']]['name'];
// 生活号
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : db('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : Db::name('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
// 时间
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
......@@ -1292,7 +1294,7 @@ class AlipayLifeService
// 开始处理业务
$status = false;
$m = db('AlipayLifeStatus');
$m = Db::name('AlipayLifeStatus');
if(empty($params['id']))
{
$data['add_time'] = time();
......@@ -1343,7 +1345,7 @@ class AlipayLifeService
}
// 获取数据
$m = db('AlipayLifeStatus');
$m = Db::name('AlipayLifeStatus');
$data = $m->find(intval($params['id']));
if(empty($data))
{
......@@ -1369,7 +1371,7 @@ class AlipayLifeService
// 入库详情表
$m->startTrans();
if(db('AlipayLifeStatusDetail')->addAll($detail) !== false)
if(Db::name('AlipayLifeStatusDetail')->addAll($detail) !== false)
{
$upd_data = [
'status' => 1,
......@@ -1409,7 +1411,7 @@ class AlipayLifeService
echo '[menu:'.$params['status_id']."]\n";
// 开始处理
$m = db('AlipayLifeStatus');
$m = Db::name('AlipayLifeStatus');
$data = $m->find($params['status_id']);
if(empty($data))
{
......@@ -1421,9 +1423,9 @@ class AlipayLifeService
}
// 生活号循环处理
$detail_m = db('AlipayLifeStatusDetail');
$detail_m = Db::name('AlipayLifeStatusDetail');
$detail = $detail_m->where(['alipay_life_status_id'=>$data['id'], 'status'=>0])->limit(10)->select();
$life_m = db('AlipayLife');
$life_m = Db::name('AlipayLife');
if(!empty($detail))
{
foreach($detail as $v)
......@@ -1496,7 +1498,7 @@ class AlipayLifeService
$where = ['alipay_life_status_id' => intval($params['status_id'])];
// 列表
$data = db('AlipayLifeStatusDetail')->where($where)->order('id desc')->select();
$data = Db::name('AlipayLifeStatusDetail')->where($where)->order('id desc')->select();
if(!empty($data))
{
$common_handle_status_list = lang('common_handle_status_list');
......@@ -1506,7 +1508,7 @@ class AlipayLifeService
$v['status_name'] = $common_handle_status_list[$v['status']]['name'];
// 生活号
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : db('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
$v['alipay_life_name'] = empty($v['alipay_life_id']) ? '' : Db::name('AlipayLife')->where(['id'=>$v['alipay_life_id']])->value('name');
// 时间
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
......@@ -1516,5 +1518,339 @@ class AlipayLifeService
}
return $data;
}
/**
* 生活号列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public static function AlipayLifeList($params = [])
{
$where = empty($params['where']) ? [] : $params['where'];
$field = empty($params['field']) ? 'a.*' : $params['field'];
$order_by = empty($params['order_by']) ? 'a.id desc' : trim($params['order_by']);
$m = isset($params['m']) ? intval($params['m']) : 0;
$n = isset($params['n']) ? intval($params['n']) : 10;
// 获取品牌列表
$data = Db::name('AlipayLife')->alias('a')->field($field)->join(['__ALIPAY_LIFE_CATEGORY_JOIN__'=>'cj'], 'a.id=cj.alipay_life_id')->where($where)->limit($m, $n)->order($order_by)->group('a.id')->select();
if(!empty($data))
{
$common_is_enable_tips = lang('common_is_enable_tips');
$image_host = config('IMAGE_HOST');
foreach($data as &$v)
{
// 是否启用
if(isset($v['is_enable']))
{
$v['is_enable_text'] = $common_is_enable_tips[$v['is_enable']]['name'];
}
// 分类名称
$category_ids = Db::name('AlipayLifeCategoryJoin')->where(['alipay_life_id'=>$v['id']])->column('alipay_life_category_id');
$v['alipay_life_category_text'] = Db::name('AlipayLifeCategory')->where(['id'=>$category_ids])->column('name');
// logo
if(isset($v['logo']))
{
$v['logo_old'] = $v['logo'];
$v['logo'] = empty($v['logo']) ? '' : $image_host.$v['logo'];
}
// 时间
if(isset($v['add_time']))
{
$v['add_time_time'] = date('Y-m-d H:i:s', $v['add_time']);
$v['add_time_date'] = date('Y-m-d', $v['add_time']);
}
if(isset($v['upd_time']))
{
$v['upd_time_time'] = date('Y-m-d H:i:s', $v['upd_time']);
$v['upd_time_date'] = date('Y-m-d', $v['upd_time']);
}
}
}
return DataReturn('处理成功', 0, $data);
}
/**
* 生活号总数
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
* @param [array] $where [条件]
*/
public static function AlipayLifeTotal($where)
{
return (int) Db::name('AlipayLife')->alias('a')->join(['__ALIPAY_LIFE_CATEGORY_JOIN__'=>'cj'], 'a.id=cj.alipay_life_id')->where($where)->count();
}
/**
* 生活号列表条件
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function AlipayLifeListWhere($params = [])
{
$where = [];
if(!empty($params['keywords']))
{
$where[] = ['a.name', 'like', '%'.$params['keywords'].'%'];
}
// 是否更多条件
if(isset($params['is_more']) && $params['is_more'] == 1)
{
// 等值
if(isset($params['is_shelves']) && $params['is_shelves'] > -1)
{
$where[] = ['a.is_shelves', '=', intval($params['is_shelves'])];
}
if(isset($params['alipay_life_category_id']) && $params['alipay_life_category_id'] > -1)
{
$where[] = ['cj.alipay_life_category_id', '=', intval($params['alipay_life_category_id'])];
}
if(!empty($params['time_start']))
{
$where[] = ['a.add_time', '>', strtotime($params['time_start'])];
}
if(!empty($params['time_end']))
{
$where[] = ['a.add_time', '<', strtotime($params['time_end'])];
}
}
return $where;
}
/**
* 生活号保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public static function AlipayLifeSave($params = [])
{
// 请求类型
$p = [
[
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,30',
'error_msg' => '名称格式 2~30 个字符',
],
[
'checked_type' => 'empty',
'key_name' => 'alipay_life_category_id',
'error_msg' => '请选择生活号分类',
],
[
'checked_type' => 'length',
'key_name' => 'appid',
'checked_data' => '1,60',
'error_msg' => 'appid格式 1~60 个字符',
],
[
'checked_type' => 'length',
'key_name' => 'out_rsa_public',
'checked_data' => '1,2000',
'error_msg' => '应用公钥格式 1~2000 个字符',
],
[
'checked_type' => 'length',
'key_name' => 'rsa_private',
'checked_data' => '1,2000',
'error_msg' => '应用私钥格式 1~2000 个字符',
],
[
'checked_type' => 'length',
'key_name' => 'out_rsa_public',
'checked_data' => '1,2000',
'error_msg' => '支付宝公钥格式 1~2000 个字符',
],
];
$ret = params_checked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 附件
$data_fields = ['logo'];
$attachment = ResourcesService::AttachmentParams($params, $data_fields);
// 数据
$data = [
'name' => $params['name'],
'appid' => $params['appid'],
'logo' => $attachment['data']['logo'],
'rsa_public' => empty($params['rsa_public']) ? '' : $params['rsa_public'],
'rsa_private' => empty($params['rsa_private']) ? '' : $params['rsa_private'],
'out_rsa_public' => empty($params['out_rsa_public']) ? '' : $params['out_rsa_public'],
];
// 开启事务
Db::startTrans();
if(empty($params['id']))
{
$data['add_time'] = time();
$alipay_life_id = Db::name('AlipayLife')->insertGetId($data);
if($alipay_life_id > 0)
{
$ret = self::AlipayLifeCategoryInsert($params, $alipay_life_id);
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
}
Db::commit();
return DataReturn('添加成功', 0);
}
Db::rollback();
return DataReturn('添加失败', -100);
} else {
$data['upd_time'] = time();
if(Db::name('AlipayLife')->where(['id'=>intval($params['id'])])->update($data))
{
$ret = self::AlipayLifeCategoryInsert($params, intval($params['id']));
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
}
Db::commit();
return DataReturn('编辑成功', 0);
}
Db::rollback();
return DataReturn('编辑失败', -100);
}
}
/**
* 生活号分类添加
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-21
* @desc description
* @param [array] $params [输入参数]
* @param [array] $alipay_life_id [生活号id]
*/
private static function AlipayLifeCategoryInsert($params = [], $alipay_life_id)
{
// 删除关联分类
Db::name('AlipayLifeCategoryJoin')->where(['alipay_life_id'=>intval($params['id'])])->delete();
// 开始添加
if(!empty($params['alipay_life_category_id']))
{
$data = [];
foreach(explode(',', $params['alipay_life_category_id']) as $v)
{
$data[] = [
'alipay_life_id' => $alipay_life_id,
'alipay_life_category_id' => $v,
'add_time' => time(),
];
}
if(Db::name('AlipayLifeCategoryJoin')->insertAll($data) < count($data))
{
return DataReturn('生活号分类添加失败', -10);
}
}
return DataReturn('生活号分类添加成功', 0);
}
/**
* 生活号删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public static function AlipayLifeDelete($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '操作id有误',
],
];
$ret = params_checked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 删除操作
Db::startTrans();
if(Db::name('AlipayLife')->where(['id'=>intval($params['id'])])->delete() && Db::name('AlipayLifeCategoryJoin')->where(['alipay_life_id'=>intval($params['id'])])->delete() !== false)
{
Db::commit();
return DataReturn('删除成功');
}
Db::rollback();
return DataReturn('删除失败或资源不存在', -100);
}
/**
* 生活号分类
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-08-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function AlipayLifeCategoryList($params = [])
{
$where = empty($params['where']) ? ['is_enable'=>1] : $params['where'];
$field = empty($params['field']) ? '*' : $params['field'];
$order_by = empty($params['order_by']) ? 'sort asc' : trim($params['order_by']);
$data = Db::name('AlipayLifeCategory')->where($where)->field($field)->order($order_by)->select();
return DataReturn('处理成功', 0, $data);
}
/**
* 生活号分类id
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-08-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function AlipayLifeCategoryIds($params = [])
{
$where = empty($params['where']) ? [] : $params['where'];
$field = empty($params['alipay_life_category_id']) ? 'alipay_life_category_id' : $params['field'];
$data = Db::name('AlipayLifeCategoryJoin')->where($where)->column($field);
return DataReturn('处理成功', 0, $data);
}
}
?>
\ No newline at end of file
......@@ -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.
先完成此消息的编辑!
想要评论请 注册