316 lines
13 KiB
PHP
316 lines
13 KiB
PHP
<?php
|
||
|
||
namespace app\manystoreapi\controller;
|
||
|
||
use app\common\controller\ManystoreApiBase;
|
||
use app\common\library\Virtual;
|
||
use app\manystore\model\Manystore;
|
||
use app\manystore\model\ManystoreShop;
|
||
use app\manystoreapi\model\ManystoreApiLog;
|
||
use fast\Random;
|
||
use think\Session;
|
||
use think\Url;
|
||
use think\Validate;
|
||
|
||
|
||
/**
|
||
* 机构API后台:机构个人管理接口
|
||
*/
|
||
class Shop extends ManystoreApiBase
|
||
{
|
||
// protected $noNeedLogin = [];
|
||
// protected $noNeedRight = ['index'];
|
||
protected $layout = '';
|
||
protected $model = null;
|
||
protected $shopModel = null;
|
||
|
||
|
||
public function _initialize()
|
||
{
|
||
parent::_initialize();
|
||
//移除HTML标签
|
||
// $this->request->filter('trim,strip_tags,htmlspecialchars');
|
||
|
||
$this->model = Manystore::where(array('id'=>STORE_ID))->find();
|
||
$this->shopModel = ManystoreShop::where(array('id'=>SHOP_ID))->find();
|
||
|
||
}
|
||
|
||
/**
|
||
* 机构信息查询
|
||
*/
|
||
public function index(){
|
||
$res = [];
|
||
$res['statusList']=[0=>'待审核',1=>'审核通过',2=>'审核拒绝'];
|
||
$res['typeList']=$this->shopModel->getTypeList();
|
||
|
||
$res['shop_info']=$this->shopModel;
|
||
$res['manystore_info']=$this->model;
|
||
$res['check_full']=(new \app\common\model\dyqc\ManystoreShop)->checkFull(SHOP_ID);
|
||
$res['check_full_msg']=(new \app\common\model\dyqc\ManystoreShop)->checkFullMsg(SHOP_ID);
|
||
$res['now_city']= Virtual::getNowCity();
|
||
$res['miniqrcode_link']=Url::build("/manystoreapi/shop/miniqrcode", ["ids" => SHOP_ID]);
|
||
$this->apisuccess("查询成功!",$res);
|
||
}
|
||
|
||
|
||
/**
|
||
* 更新账号密码,邮件,头像信息
|
||
* @ApiMethod (POST)
|
||
* @ApiParams (name="email", type="string", required=true, description="邮件")
|
||
* @ApiParams (name="nickname", type="string", required=true, description="昵称")
|
||
* @ApiParams (name="avatar", type="string", required=true, description="头像")
|
||
* @ApiParams (name="password", type="string", required=false, description="密码(非必填)")
|
||
*/
|
||
public function update()
|
||
{
|
||
if ($this->request->isPost()) {
|
||
$this->token();
|
||
$params = $this->request->post();
|
||
$params = array_filter(array_intersect_key(
|
||
$params,
|
||
array_flip(array('email', 'nickname', 'password', 'avatar'))
|
||
));
|
||
unset($v);
|
||
if (!Validate::is($params['email'], "email")) {
|
||
$this->apierror(__("Please input correct email"));
|
||
}
|
||
// if (!Validate::is($params['nickname'], "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_-]+$/u")) {
|
||
// $this->error(__("Please input correct nickname"));
|
||
// }
|
||
if (isset($params['password'])) {
|
||
if (!Validate::is($params['password'], "/^[\S]{6,16}$/")) {
|
||
$this->apierror(__("Please input correct password"));
|
||
}
|
||
$params['salt'] = Random::alnum();
|
||
$params['password'] = md5(md5($params['password']) . $params['salt']);
|
||
}
|
||
$exist = Manystore::where('email', $params['email'])->where('id', '<>', $this->auth->id)->find();
|
||
if ($exist) {
|
||
$this->apierror(__("Email already exists"));
|
||
}
|
||
if ($params) {
|
||
$manystore = Manystore::get($this->auth->id);
|
||
$manystore->save($params);
|
||
|
||
Session::set("manystoreapi", $manystore->toArray());
|
||
|
||
|
||
$this->apisuccess();
|
||
}
|
||
$this->apierror();
|
||
}
|
||
return;
|
||
}
|
||
|
||
|
||
/** 编辑机构认证信息
|
||
* @ApiTitle( 编辑机构认证信息)
|
||
* @ApiSummary(编辑机构认证信息)
|
||
* @ApiMethod(POST)
|
||
* @ApiParams(name = "name", type = "string",required=true,description = "机构名称")
|
||
* @ApiParams(name = "logo", type = "string",required=true,description = "logo单图")
|
||
* @ApiParams(name = "image", type = "string",required=true,description = "封面单图")
|
||
* @ApiParams(name = "content", type = "string",required=true,description = "店铺详情")
|
||
* @ApiParams(name = "tel", type = "string",required=true,description = "服务电话(非必填)")
|
||
* @ApiParams(name = "desc", type = "string",required=false,description = "申请备注(非必填)")
|
||
* @ApiParams(name = "front_idcard_image", type = "string",required=true,description = "法人身份证正面")
|
||
* @ApiParams(name = "reverse_idcard_image", type = "string",required=true,description = "法人身份证反面")
|
||
* @ApiParams(name = "images", type = "string",required=true,description = "环境照片(多个逗号拼接)")
|
||
* @ApiParams(name = "yyzzdm", type = "string",required=true,description = "社会统一信用代码")
|
||
* @ApiParams(name = "yyzz_images", type = "string",required=true,description = "营业执照照片(多个逗号拼接)")
|
||
* @ApiParams(name = "address", type = "string",required=true,description = "店铺地址")
|
||
* @ApiParams(name = "address_detail", type = "string",required=true,description = "店铺详细地址")
|
||
* @ApiParams(name = "longitude", type = "string",required=true,description = "经度")
|
||
* @ApiParams(name = "latitude", type = "string",required=true,description = "纬度")
|
||
* @ApiParams(name = "province", type = "int",required=true,description = "省编号")
|
||
* @ApiParams(name = "city", type = "int",required=true,description = "市编号")
|
||
* @ApiParams(name = "district", type = "int",required=true,description = "县区编号")
|
||
* @ApiParams(name = "establish_time", type = "int",required=true,description = "成立时间10位秒级时间戳")
|
||
* @ApiParams(name = "people", type = "int",required=true,description = "员工人数")
|
||
* @ApiParams(name = "legal_entity", type = "string",required=true,description = "法人姓名")
|
||
* @ApiParams(name = "gender", type = "int",required=true,description = "法人性别:0=女,1=男")
|
||
* @ApiParams(name = "nation", type = "string",required=true,description = "法人民族")
|
||
* @ApiParams(name = "out_look", type = "string",required=true,description = "法人政治面貌")
|
||
* @ApiParams(name = "birthtime", type = "int",required=true,description = "法人出生日期10位秒级时间戳")
|
||
* @ApiParams(name = "native_place", type = "string",required=true,description = "法人籍贯")
|
||
* @ApiParams(name = "card_number", type = "string",required=true,description = "法人身份证号码")
|
||
* @ApiParams(name = "diploma", type = "string",required=true,description = "法人学历")
|
||
* @ApiParams(name = "post", type = "string",required=true,description = "法人职务")
|
||
* @ApiParams(name = "social_position", type = "string",required=true,description = "法人社会职务")
|
||
*
|
||
*
|
||
* @ApiReturn({
|
||
*
|
||
*})
|
||
*/
|
||
public function shop_update(){
|
||
$params=[];
|
||
$params["name"] = $this->request->post('name/s','');
|
||
$params["logo"] = $this->request->post('logo/s','');
|
||
$params["image"] = $this->request->post('image/s','');
|
||
$params["content"] = $this->request->post('content/s','');
|
||
|
||
$params["tel"] = $this->request->post('tel/s','');
|
||
$params["desc"] = $this->request->post('desc/s','');
|
||
$params["front_idcard_image"] = $this->request->post('front_idcard_image/s','');
|
||
$params["reverse_idcard_image"] = $this->request->post('reverse_idcard_image/s','');
|
||
|
||
$params["images"] = $this->request->post('images/s','');
|
||
$params["yyzz_images"] = $this->request->post('yyzz_images/s','');
|
||
$params["yyzzdm"] = $this->request->post('yyzzdm/s','');
|
||
|
||
|
||
$params["address"] = $this->request->post('address/s','');
|
||
$params["address_detail"] = $this->request->post('address_detail/s','');
|
||
$params["longitude"] = $this->request->post('longitude/s','');
|
||
$params["latitude"] = $this->request->post('latitude/s','');
|
||
|
||
|
||
|
||
|
||
$params["province"] = $this->request->post('province/d','');
|
||
$params["city"] = $this->request->post('city/d','');
|
||
$params["district"] = $this->request->post('district/d','');
|
||
|
||
|
||
|
||
$params["establish_time"] = $this->request->post('establish_time/d','');
|
||
$params["people"] = $this->request->post('people/d','');
|
||
$params["legal_entity"] = $this->request->post('legal_entity/s','');
|
||
$params["gender"] = $this->request->post('gender/d','');
|
||
$params["nation"] = $this->request->post('nation/s','');
|
||
$params["out_look"] = $this->request->post('out_look/s','');
|
||
$params["birthtime"] = $this->request->post('birthtime/d','');
|
||
$params["native_place"] = $this->request->post('native_place/s','');
|
||
$params["card_number"] = $this->request->post('card_number/s','');
|
||
$params["diploma"] = $this->request->post('diploma/s','');
|
||
$params["post"] = $this->request->post('post/s','');
|
||
$params["social_position"] = $this->request->post('social_position/s','');
|
||
|
||
|
||
|
||
|
||
// if(empty($id)){
|
||
// $this->error(__('缺少必要参数'));
|
||
// }
|
||
|
||
$user_id = 0;
|
||
$user = $this->auth->getUser();//登录用户
|
||
if($user)$user_id = $user['id'];
|
||
try {
|
||
$res = (new \app\common\model\dyqc\ManystoreShop)->updateData($user_id,$params,true,true);
|
||
} catch (\Exception $e){
|
||
// Log::log($e->getMessage());
|
||
$this->error($e->getMessage(),['errcode'=>$e->getCode()]);
|
||
}
|
||
$this->success('编辑成功', ['detail' => $res]);
|
||
}
|
||
|
||
|
||
|
||
|
||
/**
|
||
* @ApiTitle( 微信小程序码)
|
||
* @ApiSummary(微信小程序码)
|
||
* @ApiMethod(GET)
|
||
* @ApiParams(name = "ids", type = "int",required=true,description = "机构店铺id")
|
||
* @ApiReturn({
|
||
* 微信小程序码图片流
|
||
*})
|
||
*/
|
||
public function miniqrcode($ids = ''){
|
||
$param = $this->request->param();
|
||
try{
|
||
if(isset($param['ids']))$ids = $param['ids'];
|
||
//设置模拟资格
|
||
$url = \app\common\model\dyqc\ManystoreShop::getMiniQrcodeLink($ids);
|
||
|
||
}catch (\Exception $e){
|
||
$this->error($e->getMessage());
|
||
}
|
||
|
||
return $url["response"];
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/**
|
||
* @ApiTitle( 后台请求日志列表)
|
||
* @ApiSummary(后台请求日志列表)
|
||
* @ApiMethod(GET)
|
||
* @ApiParams(name = "keywords", type = "string",required=false,description = "搜索关键字")
|
||
* @ApiParams(name = "page", type = "string",required=true,description = "页数")
|
||
* @ApiParams(name = "limit", type = "string",required=true,description = "条数")
|
||
* @ApiParams(name = "shop_id", type = "string",required=false,description = "机构店铺id")
|
||
* @ApiParams(name = "store_id", type = "string",required=false,description = "机构账号ID")
|
||
* @ApiParams(name = "user_id", type = "string",required=false,description = "机构用户ID")
|
||
* @ApiParams(name = "ip", type = "string",required=false,description = "请求ip")
|
||
* @ApiParams(name = "time", type = "string",required=false,description = "操作时间查询:today今天,week本周,month本月,year本年,yesterday昨天,last year上一年,last week上周,last month上個月,lately7最近7天 , lately30最近30天,按开始时间区间查传值格式:Y/m/d H:M:S-Y/m/d H:M:S")
|
||
*
|
||
* @ApiReturn({
|
||
*
|
||
*})
|
||
*/
|
||
public function log_list()
|
||
{
|
||
$params = [];
|
||
$page = $this->request->get('page/d', 0); //页数
|
||
$limit = $this->request->get('limit/d', 0); //条数
|
||
$params["keywords"] = $this->request->get('keywords/s', ''); //搜索关键字
|
||
$params["shop_id"] = $this->request->get('shop_id/d', ''); //搜索关键字
|
||
$params["store_id"] = $this->request->get('store_id/d', ''); //搜索关键字
|
||
$params["user_id"] = $this->request->get('user_id/d', ''); //搜索关键字
|
||
$params["ip"] = $this->request->get('ip/d', ''); //时间
|
||
if($params["ip"]) $params["ip"] = ["LIKE","%".$params["ip"] ."%"];
|
||
$params["time"] = $this->request->get('time/s', ''); //时间
|
||
if(!$params["shop_id"]) $params["shop_id"] = $this->auth->shop_id;
|
||
if(!$params["store_id"]) $params["store_id"] = $this->auth->id;
|
||
try{
|
||
//当前申请状态
|
||
$res = ManystoreApiLog::logList($page, $limit,$params);
|
||
// if($user_id =='670153'){
|
||
// file_put_contents("ceshi66.txt",(new AppointmentOrder())->getLastSql());
|
||
// }
|
||
}catch (\Exception $e){
|
||
|
||
$this->apierror($e->getMessage());
|
||
}
|
||
$this->apisuccess('查询成功', $res);
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* @ApiTitle( 后台请求日志列表详情)
|
||
* @ApiSummary(后台请求日志列表详情)
|
||
* @ApiMethod(GET)
|
||
* @ApiParams(name = "id", type = "int",required=true,description = "后台请求日志id")
|
||
* @ApiReturn({
|
||
*
|
||
*})
|
||
*/
|
||
public function detail(){
|
||
$id = $this->request->get('id/d','');
|
||
|
||
if(empty($id)){
|
||
$this->apierror(__('缺少必要参数'));
|
||
}
|
||
|
||
try {
|
||
$res = ManystoreApiLog::detail($id);
|
||
} catch (\Exception $e){
|
||
// Log::log($e->getMessage());
|
||
$this->apierror($e->getMessage(),['errcode'=>$e->getCode()]);
|
||
}
|
||
$this->apisuccess('获取成功', ['detail' => $res]);
|
||
}
|
||
|
||
|
||
|
||
} |