userModel.php
<?php
/**
* Created by PhpStorm.
* User: WangLei
* Date: 2018/7/12
* Time: 17:43
*/
namespace app\shop\model;
use think\Model;
class UserModel extends Model
{
protected $name='user';
protected $autoWriteTimestamp ='timestamp';
protected $createTime = 'created_at';
protected $updateTime = 'updated_at';
public function add($data){
$this->updateTime=false;
$this->createTime=true;
$id=$this->allowField(true)->insertGetId($data);
return $id;
}
public function edit($data){
$this->createTime=false;
$this->updateTime=true;
return $this->allowField(true)->where('id',$data['user_id'])->save($data);
}
}Shop.php<?php
/**
* Created by PhpStorm.
* User: wl
* Date: 2017/11/25
* Time: 9:49
*/
namespace app\shop\controller;
use app\shop\model\ShopModel;
use app\shop\model\UserModel;
use think\Db;
use think\Request;
class Shop extends Common
{
public function _initialize()
{
parent::_initialize(); // TODO: Change the autogenerated stub
if (!session('shop.type')) {
$this->redirect("/shop/Index/login");
}
$this->model = model("ActivityModel");
}
/*
* 商家后台管理-活动管理
* */
public function activity()
{
if (Request::instance()->isPost()) {
}
else {
$db=db('company_activity');
/*查询列表时对活动的时间是否过期做检测,如过期,则更改其活动状态,暂时先这样处理,后期做相应的优化*/
$db->where('company_id','eq',session('shop.id'))->chunk(100,function ($data)use($db){
foreach ($data as &$v){
if(strtotime($v['end_time'])<time() && $v['status']!=2){
$db->where('id','eq',$v['id'])->setField('status',2);
}
else{
continue;
}
}
});
$keyword = input("keyword");
if ($keyword) {
$where["title|content"] = array("like", "%{$keyword}%");
}
$where['company_id'] = session("shop.id");
$count = $db->where($where)->count();
$data = $db->where($where)->paginate(10, $count)->each(function ($v) {
$v['company_id'] = db('company')->where(['id' => $v['company_id']])->value('fullname');
$v['type_id'] = db('company_type')->where(['id' => $v['type_id']])->value('name');
if ($v['status'] == 0) {
$v['status'] = "正常";
} elseif ($v['status'] == 1) {
$v['status'] = "取消";
}
elseif ($v{'status'}==2){
$v['status'] = "已过期";
}
return $v;
});
$page = $data->render();
$this->assign("page", $page);
$this->assign("data", $data);
}
return view();
}
public function activity_edit(){
$action = input("action");
$id=input('id',0,"int");
$cid=session('shop.id');//companyid
$this->assign('action',$action);
$line_list=db('company_special_line')->where('company_id','eq',$cid)->field('id,from_province_name,from_city_name,from_area_name,to_provice_name,to_city_name,to_area_name')->select();
foreach ($line_list as &$v){
$v['fraddress']=$v['from_province_name'].$v['from_city_name'].$v['from_area_name'];
$v['toaddress']=$v['to_provice_name'].$v['to_city_name'].$v['to_area_name'];
}
$this->assign("list", $line_list);//专线列表,不管是添加还是修改,都要有专线列表
if ($action == "add") {
$data = input("post.");
if($data){
if(is_array($data['line_id'])){
$data['line_id']=implode(',',$data['line_id']);
}
$data['begin_date']=strtotime($data['begin_date']);
$data['end_date']=strtotime($data['end_date']);
if ($this->model->check_title($data['title'])) {
$this->error("活动标题已存在");
}
$data['company_id'] = $cid;
$data['type_id'] = session("shop.type");
$result = $this->model->add($data);
if ($result) {
$this->success("添加成功");
} else {
$this->error("添加失败");
}
}
else{
return view();
}
}
elseif ($action == "edit") {
$data=input('post.');
if($data){
foreach ($data as $key=>$val){
if($val==''){
unset($data[$key]);
}
}
if(is_array($data['line_id'])){
$data['line_id']=implode(',',$data['line_id']);
$data['begin_date']=strtotime($data['begin_date']);
$data['end_date']=strtotime($data['end_date']);
}
$data['company_id']=$cid;
$result = $this->model->edit($data);
if ($result) {
$this->success("修改成功");
} else {
$this->error("修改失败");
}
}
else{
$info = $this->model->get_activity($id);
if ($info) {
$this->assign("info", $info);
}
return view();
}
}
}
public function ajax_activity_delete()
{
$this->model = model("ActivityModel");
$id = empty($_POST['id']) ? 0 : $_POST['id'];
if (is_array($id)) {
$id = input("post.id/a", "");
} else {
$id = input("post.id", 0, "int");
}
$result = $this->model->delete_activity($id);
if ($result) {
return json(['code' => 200, 'msg' => '删除成功']);
} else {
return json(['code' => 220, 'msg' => '删除失败']);
}
}
public function ajax_change_activity_status()
{
$this->model = model("ActivityModel");
$data['id'] = input("post.id", 0);
$data['status'] = input("post.status", "");
$result = $this->model->change_status($data);
if ($result) {
return json(['code' => 200, 'msg' => '修改成功']);
} else {
return json(['code' => 220, 'msg' => '修改失败']);
}
}
public function test_oss()
{
if (Request::instance()->isPost()) {
try {
$file = request()->file('image');
if (empty($file)) {
die('请选择上传的文件');
}
$allow_max_size = 2 * pow(1024, 2);
$allow_upload_ext = ['gif', 'jpg', 'jpeg', 'bmp', 'png', 'wbmp'];
$path = ROOT_PATH . 'public' . DS . 'uploads';
$info = $file->validate(['size' => $allow_max_size, 'ext' => $allow_upload_ext])->move($path);
if (!$info) {
var_dump($file->getError());
die();
}
$ext = "." . substr($info->getSaveName(), strrpos($info->getSaveName(), '.') + 1);
$fileName = 'uploads/' . date("Ymd", time()) . "/" . mt_rand(10000, 999999) . $ext;
$ossClient = Oss::getInstance();
$bucket = Oss::getBucketName();
$data = $ossClient->uploadFile($bucket, $fileName, $info->getPathname());
if ($data) {
if ($data['info']['http_code'] == 200) {
$osspath = $data['info']['url'];
echo $osspath;
}
}
} catch (OssException $e) {
return $e->getMessage();
}
} else {
return view();
}
}
public function test_upload()
{
if (Request::instance()->isPost()) {
$size = $this->getFileSize('img');
dump($size);
} else {
return view();
}
}
public function baseinfo()
{
$provice_list = db('user_provice_city_area')->where(['parent_id' => 0])->order('first_letter asc')->select();
$company_type_list = db('company_type')->where(['pid' => 0])->select();
$this->assign("provice_list", $provice_list);
$this->assign("company_type_list", $company_type_list);
$keyword = input("post.keyword");
if ($keyword) {
$where["fullname|phone|second_phone"] = array("like", "%{$keyword}%");
}
$where['id'] = session("shop.id");
$count = db('company')->where($where)->count();
$data = db('company')->where($where)->field('password', true)->paginate(10, $count)->each(function ($v) {
$v['type_name'] = db('company_type')->where(['id' => $v['type']])->value('name');
return $v;
});
if($data[0]['qualification_image']){
$qualificationImages = json_decode($data[0]['qualification_image']);
$this->assign('qualificationImages',$qualificationImages);
}
//荣誉图片
if($data[0]['honor_image']){
$honorImages = json_decode($data[0]['honor_image']);;
$this->assign('honorImages',$honorImages);
}
//实景图片
if($data[0]['real_image']){
$realImages = json_decode($data[0]['real_image']);
$this->assign('realImages',$realImages);
}
$page = $data->render();
$this->assign('list',$data[0]);
$this->assign("page", $page);
$this->assign("data", $data);
//dump($data);
return view();
}
/*
* 如果不传递图片的话,现在实现的是不修改图片的数据下进行数据的提交
* */
public function baseinfo_update()
{
if (Request::instance()->isPost()) {
$data = Request::instance()->post();
/*判断公司类型是否是海运,如果是海运,则把相应的字段替换*/
$type=db('company')->where('id','eq',session("shop.id"))->value('type');
if($type==25){
$data['line']=$data['lines'];
}
$qualification_image = $data['qualification_image'];
if(!empty($qualification_image[0])){
foreach ($qualification_image as $key =>$v){
if(empty($qualification_image[$key])){
unset($qualification_image[$key]);
}
}
$adddata['qualification_image'] = json_encode($qualification_image);
}
else{
$adddata['qualification_image']="[]";
}
$honor_image =$data['honor_image'];
if(!empty($honor_image[0])){
foreach ($honor_image as $key =>$v){
if(empty($honor_image[$key])){
unset($honor_image[$key]);
}
}
$adddata['honor_image'] = json_encode($honor_image);
}
else{
$adddata['honor_image']="[]";
}
$real_image = $data['real_image'];
if(!empty($real_image[0])){
foreach ($real_image as $key =>$v){
if(empty($real_image[$key])){
unset($real_image[$key]);
}
}
$adddata['real_image'] = json_encode($real_image);
}
else{
$adddata['real_image']="[]";
}
$logo = input("post.logo","");
if (!empty($logo)) {
$adddata['logo'] = $logo;
} else {
$adddata['logo']="";
}
$contact_headimage = input("post.contact_headimage","");
if (!empty($contact_headimage)) {
$adddata['contact_headimage']=$contact_headimage;
} else {
$adddata['contact_headimage']="";
}
if (!empty($data['line'])){
$adddata['line'] = $data['line'];
}
if(!empty($data['short_name'])){
$adddata['short_name']=$data['short_name'];
}
$adddata['id'] = $data['id'];
$adddata['fullname'] = $data['name'];
$adddata['contact'] = $data['contact'];
$adddata['duty'] = $data['duty'];
$adddata['provice_id'] = $data['provice'];
$adddata['city_id'] = $data['city'];
$adddata['area_id'] = $data['area'];
$adddata['provice_name'] = $data['provice_name'];
$adddata['city_name'] = $data['city_name'];
$adddata['area_name'] = $data['area_name'];
$adddata['phone'] = $data['phone'];
$adddata['second_phone'] = $data['second_phone'];
$adddata['kefu_tel'] = $data['kefu_tel'];
$adddata['tousu_tel'] = $data['tousu_tel'];
$adddata['address'] = $data['address'];
if (!empty($data['business_tel'])) {
$adddata['business_tel'] = $data['business_tel'];
}
$adddata['scope'] = $data['scope'];//经营范围
if (!empty($data['recommend'])) {
$adddata['recommend'] = $data['recommend'];
}//推荐人
if (!empty($data['effect'])) {
$adddata['effect'] = $data['effect'];
} //时效
$adddata['lng'] = $data['lng'];
$adddata['lat'] = $data['lat'];
$adddata['tel'] = $data['tel'];
$adddata['wechat'] = $data['wechat'];
$adddata['introduce'] = $data['introduce'];
$adddata['email'] = $data['email'];
$adddata['updated_at'] = time();
$model = new ShopModel();
$user_model=new UserModel();
$user_data=$adddata;
$user_data['user_id']=session('shop.user_id');
$user_result=$user_model->edit($user_data);
$result = $model->edit($adddata);
if ($result && $user_result) {
$this->success("修改资料成功", url("/shop/Shop/baseinfo"));
} else {
$this->error("修改资料失败");
}
} else {
return "非法请求";
}
}
public function detail(){
$detail_id=input("id/d");
$data=db('company')->where('id','eq',$detail_id)->find();
if($data){
$data['types']=db('company_type')->where('id','eq',$data['type'])->value('name');
$data['full_address']=$data['provice_name'].$data['city_name'].$data['area_name'];
if(is_json($data['qualification_image'])){
$data['qualification_image']=json_decode($data['qualification_image'],true);
}
else{
$data['qualification_image']="暂无图片";
}
if(is_json($data['honor_image'])){
$data['honor_image']=json_decode($data['honor_image'],true);
}
else{
$data['honor_image']="暂无图片";
}
if(is_json($data['real_image'])){
$data['real_image']=json_decode($data['real_image'],true);
}
else{
$data['real_image']="暂无图片";
}
if(is_json($data['line'])){
$data['line']=json_decode($data['line'],true);
$str = "";
foreach ($data['line'] as $item) {
$str .= $item['name'] . ",";
}
$str = substr($str, 0, -1);
$data['line'] = $str;
}
$this->assign("data",$data);
return view();
}
else{
return "数据格式错误";
}
}
public function test(){
return view();
}
}ba怎么解决,什么原因导致的
最佳答案