First commit
This commit is contained in:
171
app/agent/controller/AritcleController.php
Executable file
171
app/agent/controller/AritcleController.php
Executable file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
namespace app\agent\controller;
|
||||
|
||||
use app\agent\service\AdminUserService;
|
||||
use think\App;
|
||||
use app\agent\model\Cardauth2ArticleModel;
|
||||
use app\AgentRest;
|
||||
use app\agent\validate\Cardauth2ArticleValidate;
|
||||
use think\facade\Db;
|
||||
|
||||
class AritcleController extends AgentRest
|
||||
{
|
||||
|
||||
public function __construct ( App $app ){
|
||||
parent::__construct( $app );
|
||||
if ($this->_user['role_name'] != 'admin') {
|
||||
echo json_encode(['code' => 401, 'error' => lang('Permission denied')]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
public function list()
|
||||
{
|
||||
$param = $this->_param;
|
||||
$m_article_auth2 = new Cardauth2ArticleModel();
|
||||
|
||||
//By.jingshuixian 2020年4月21日15:13:50
|
||||
//区分行业版数据
|
||||
|
||||
if($this->_is_weiqin){
|
||||
|
||||
$app_model_name = APP_MODEL_NAME;
|
||||
$list = $m_article_auth2->alias('a')
|
||||
->field(['a.id', 'a.modular_id', 'a.number', 'a. create_time', 'c.autograph', 'c.signature', 'c.mini_app_name'])
|
||||
->join('longbing_card_config c', 'a.modular_id = c.uniacid')
|
||||
->join('account' , 'a.modular_id = account.uniacid')
|
||||
->join('wxapp_versions v' , 'a.modular_id = v.uniacid')
|
||||
->group('a.modular_id')
|
||||
->where([['a.status', '=', 1] , ['account.type', '=', 4] ,['account.isdeleted', '=', 0] , ['v.modules', 'like', "%{$app_model_name}%"]])
|
||||
->paginate(['list_rows' => $param['page_count'] ? $param['page_count'] : 10, 'page' => $param['page'] ? $param['page'] : 1])->toArray();
|
||||
|
||||
}else{
|
||||
|
||||
$list = $m_article_auth2->alias('a')
|
||||
->field(['a.id', 'a.modular_id', 'a.number', 'a. create_time', 'c.autograph', 'c.signature', 'c.mini_app_name'])
|
||||
->join('longbing_card_config c', 'a.modular_id = c.uniacid')
|
||||
->where([['a.status', '=', 1]])
|
||||
->paginate(['list_rows' => $param['page_count'] ? $param['page_count'] : 10, 'page' => $param['page'] ? $param['page'] : 1])->toArray();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$wxapp_map = [];
|
||||
$wxapp = Db::name('account_wxapp')->field(['uniacid', 'name'])->select();
|
||||
foreach ($wxapp as $item) {
|
||||
$wxapp_map[$item['uniacid']] = $item['name'];
|
||||
}
|
||||
|
||||
foreach ($list['data'] as $k => $item) {
|
||||
$list['data'][$k]['used'] = $item['signature'];
|
||||
$list['data'][$k]['left'] = $item['number'] - $item['signature'];
|
||||
$list['data'][$k]['name'] = $wxapp_map[$item['modular_id']] ?? $item['mini_app_name'];
|
||||
unset($list['data'][$k]['signature'], $list['data'][$k]['autograph'], $list['data'][$k]['mini_app_name']);
|
||||
}
|
||||
//授权数量
|
||||
$list['total_article_number'] = AdminUserService::getSassNum('article',$this->_uniacid);
|
||||
//使用数量
|
||||
$list['total_article_used'] = (int)$m_article_auth2->where([['uniacid','in',$this->_uniacid_arr]])->sum('number');
|
||||
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
|
||||
public function create()
|
||||
{
|
||||
|
||||
$data = $this->_input;
|
||||
|
||||
$validate = new Cardauth2ArticleValidate();
|
||||
|
||||
$check = $validate->scene('create')->check($data);
|
||||
if ($check == false) {
|
||||
return $this->error($validate->getError());
|
||||
}
|
||||
|
||||
$time = time();
|
||||
$auth_article = Cardauth2ArticleModel::where([['modular_id', '=', $data['modular_id']]])->findOrEmpty();
|
||||
|
||||
if (!$auth_article->isEmpty()) {
|
||||
return $this->error('已存在此小程序');
|
||||
}
|
||||
|
||||
$total_article_number = AdminUserService::getSassNum('article',$this->_uniacid);
|
||||
|
||||
$total_article_used = (int)$auth_article->where([['uniacid','in',$this->_uniacid_arr]])->sum('number');
|
||||
|
||||
$remain = $total_article_number - $total_article_used - $data['number'];
|
||||
|
||||
if ($remain < 0) {
|
||||
return $this->error('分配的超过可用的总数');
|
||||
}
|
||||
|
||||
$rst = $auth_article->save([
|
||||
'modular_id' => $data[ 'modular_id' ],
|
||||
'number' => $data[ 'number' ],
|
||||
'create_time' => $time,
|
||||
'update_time' => $time,
|
||||
'uniacid' => $this->_uniacid,
|
||||
]);
|
||||
|
||||
$auth_article->cardConfig->save(['autograph' => $data['number'] + 80666]);
|
||||
|
||||
|
||||
if ($rst) {
|
||||
return $this->success('success');
|
||||
}
|
||||
|
||||
|
||||
return $this->error('fail');
|
||||
}
|
||||
|
||||
|
||||
public function update()
|
||||
{
|
||||
$data = $this->_input;
|
||||
|
||||
$validate = new Cardauth2ArticleValidate();
|
||||
$check = $validate->scene('create')->check($data);
|
||||
if ($check == false) {
|
||||
return $this->error($validate->getError());
|
||||
}
|
||||
|
||||
|
||||
$auth_article = Cardauth2ArticleModel::where([['modular_id', '=', $data['modular_id']]])->findOrEmpty();
|
||||
if ($auth_article->isEmpty()) {
|
||||
return $this->error('小程序不存在');
|
||||
}
|
||||
|
||||
|
||||
$old_number = $auth_article['number'];
|
||||
$new_numer = $data['number'];
|
||||
if ($old_number > $new_numer) {
|
||||
return $this->error('不能减少授权数量');
|
||||
}
|
||||
|
||||
|
||||
$total_article_number = AdminUserService::getSassNum('article',$this->_uniacid);
|
||||
|
||||
$total_article_used = (int)$auth_article->where([['uniacid','in',$this->_uniacid_arr]])->sum('number') - $old_number + $new_numer;
|
||||
$remain = $total_article_number - $total_article_used;
|
||||
if ($remain < 0) {
|
||||
return $this->error('分配的数量超过可用的总数');
|
||||
}
|
||||
|
||||
|
||||
$time = time();
|
||||
$rst = $auth_article->save([
|
||||
'number' => $new_numer,
|
||||
'update_time' => $time,
|
||||
]);
|
||||
$auth_article->cardConfig->save(['autograph' => $data['number'] + 80666]);
|
||||
|
||||
if ($rst) {
|
||||
return $this->success('success');
|
||||
}
|
||||
|
||||
|
||||
return $this->error('fail');
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user