wesmiler 2 mesi fa
parent
commit
3b348b4ad8
3 ha cambiato i file con 22 aggiunte e 288 eliminazioni
  1. 3 26
      app/Models/StoreModel.php
  2. 19 235
      app/Services/Common/StoreService.php
  3. 0 27
      routes/web.php

+ 3 - 26
app/Models/StoreModel.php

@@ -20,16 +20,16 @@ namespace App\Models;
 class StoreModel extends BaseModel
 {
     // 设置数据表
-    protected $table = 'stores';
+    protected $table = 'user';
 
     // 封面图
-    public function getLogoAttribute($value)
+    public function getAvatarAttribute($value)
     {
         $value = $value ? get_image_url($value) : '';
         return $value;
     }
 
-    public function setLogoAttribute($value)
+    public function setAvatarAttribute($value)
     {
 
         return $value ? get_image_path($value) : '';
@@ -43,19 +43,6 @@ class StoreModel extends BaseModel
     }
 
 
-    // 其他证件
-    public function getOtherPhotoAttribute($value)
-    {
-        $value = $value ? get_image_url($value) : '';
-        return $value;
-    }
-
-    public function user()
-    {
-        return $this->hasOne(UserModel::class, 'id', 'user_id')
-            ->select(['id', 'realname', 'nickname', 'status']);
-    }
-
     public function member()
     {
         return $this->hasOne(MemberModel::class, 'id', 'user_id')
@@ -75,16 +62,6 @@ class StoreModel extends BaseModel
             ->orderBy('id','desc');
     }
 
-    /**
-     * 关联商家分类
-     */
-    public function category()
-    {
-        return $this->hasOne(StoreCategoryModel::class, 'id', 'category_id')
-            ->select(['id', 'name', 'status']);
-    }
-
-
     public function getInfoByUserId($userId)
     {
         return $this->where(['user_id' => $userId, 'mark' => 1])->first();

+ 19 - 235
app/Services/Common/StoreService.php

@@ -11,7 +11,6 @@
 
 namespace App\Services\Common;
 
-use App\Models\GoodsModel;
 use App\Models\StoreModel;
 use App\Models\UserModel;
 use App\Models\MemberModel;
@@ -36,7 +35,7 @@ class StoreService extends BaseService
      */
     public function __construct()
     {
-        $this->model = new StoreModel();
+        $this->model = new UserModel();
     }
 
     /**
@@ -49,38 +48,17 @@ class StoreService extends BaseService
     {
         // 分页查询
         $list = $this->model
-            ->where('mark', 1)
+            ->where(['type'=>2,'mark'=>1])
             ->where(function ($query) use ($params) {
-                // 商家ID筛选
-                if (isset($params['store_id']) && $params['store_id'] > 0) {
-                    $query->where('id', $params['store_id']);
-                }
+
                 // 状态筛选
                 if (isset($params['status']) && $params['status'] > 0) {
                     $query->where('status', $params['status']);
                 }
-                // 分类筛选
-                if (isset($params['category_id']) && $params['category_id'] > 0) {
-                    $query->where('category_id', $params['category_id']);
-                }
-                // 用户状态筛选
-                if (isset($params['user_status']) && $params['user_status'] > 0) {
-                    $query->whereHas('member', function ($q) use ($params) {
-                        $q->where('status', $params['user_status'])->where('mark', 1);
-                    });
-                }
-                // 管理员状态筛选
-                if (isset($params['admin_status']) && $params['admin_status'] > 0) {
-                    $query->whereHas('user', function ($q) use ($params) {
-                        $q->where('status', $params['admin_status'])->where('mark', 1);
-                    });
-                }
-                // 店铺名称搜索
+
+                // 名称搜索
                 if (isset($params['name']) && $params['name']) {
-                    $query->where(function ($q) use ($params) {
-                        $q->where('name', 'like', "%{$params['name']}%")
-                            ->orWhere('phone', 'like', "%{$params['name']}%");
-                    });
+                    $query->where('nickname', 'like', "%{$params['name']}%");
                 }
                 // 联系电话搜索
                 if (isset($params['phone']) && $params['phone']) {
@@ -91,7 +69,6 @@ class StoreService extends BaseService
                     $query->where('real_name', 'like', "%{$params['real_name']}%");
                 }
             })
-            ->with(['user', 'member', 'category'])
             ->orderBy('create_time', 'desc')
             ->orderBy('id', 'desc')
             ->paginate($pageSize > 0 ? $pageSize : 9999999);
@@ -103,12 +80,9 @@ class StoreService extends BaseService
             foreach ($list['data'] as &$item) {
                 $item['create_time'] = $item['create_time'] ? datetime($item['create_time'], 'Y-m-d H:i:s') : '';
                 $item['status_text'] = $this->getStatusText($item['status']);
-                $item['user_status'] = isset($item['user']['status']) ? $item['user']['status'] : 1;
-                $item['member_status'] = isset($item['member']['status']) ? $item['member']['status'] : 1;
-                $item['category_name'] = isset($item['category']['name']) ? $item['category']['name'] : '未分类';
                 // 处理门头照图片
-                if (isset($item['logo']) && $item['logo']) {
-                    $item['logo'] = get_image_url($item['logo']);
+                if (isset($item['avatar']) && $item['avatar']) {
+                    $item['avatar'] = get_image_url($item['avatar']);
                 }
                 // 添加余额信息
                 $item['balance'] = isset($item['member']['balance']) ? $item['member']['balance'] : 0;
@@ -153,42 +127,16 @@ class StoreService extends BaseService
             $where['status'] = $status;
         }
 
-        // 分类筛选
-        $categoryId = isset($params['category_id']) ? intval($params['category_id']) : 0;
-        if ($categoryId > 0) {
-            $where['category_id'] = $categoryId;
-        }
-
-        // 用户状态筛选(member表)
-        $userStatus = isset($params['user_status']) ? intval($params['user_status']) : 0;
-        // 管理员状态筛选(user表)
-        $adminStatus = isset($params['admin_status']) ? intval($params['admin_status']) : 0;
-
         $model = $this->model
-            ->with(['user', 'member', 'category'])
-            ->select('stores.*')
+            ->select('user.*')
             ->where($where);
 
-        // 如果筛选用户状态,使用 whereHas 关联 member 表
-        if ($userStatus > 0) {
-            $model->whereHas('member', function ($query) use ($userStatus) {
-                $query->where('status', $userStatus)->where('mark', 1);
-            });
-        }
-
-        // 如果筛选管理员状态,使用 whereHas 关联 user 表
-        if ($adminStatus > 0) {
-            $model->whereHas('user', function ($query) use ($adminStatus) {
-                $query->where('status', $adminStatus)->where('mark', 1);
-            });
-        }
-
         // 搜索条件
         $model->where(function ($query) use ($params) {
             // 店铺名称搜索
             $name = isset($params['name']) ? trim($params['name']) : '';
             if ($name) {
-                $query->where('name', 'like', "%{$name}%");
+                $query->where('nickname', 'like', "%{$name}%");
             }
 
             // 联系电话搜索
@@ -218,192 +166,28 @@ class StoreService extends BaseService
     {
         $data = request()->all();
         // 图片处理
-        if (isset($data['logo'])) {
-            $data['logo'] = get_image_path($data['logo']);
+            if (isset($data['avatar'])) {
+            $data['avatar'] = get_image_path($data['avatar']);
+        }
+
+        if (empty($data['nickname'])) {
+            return  message('请填写企业名称', false);
         }
 
-        if (empty($data['name'])) {
-            return  message('请填写店铺名称', false);
+        if (empty($data['phone'])) {
+            return  message('请填写企业账号(联系电话)', false);
         }
+
         if (empty($data['address'])) {
             $data['address'] = '';
         }
 
         $result = parent::edit($data);
 
-        // 编辑成功后清除商家缓存
-        if ($result['code'] == 0) {
-            RedisService::keyDel("caches:storeId:id*");
-        }
-
         return $result;
     }
 
     /**
-     * 审核商家
-     * @param int $userId 操作人ID
-     * @param array $params 审核参数
-     * @return array
-     */
-    public function confirm($userId, $params)
-    {
-        $id = isset($params['id']) ? intval($params['id']) : 0;
-        $status = isset($params['status']) ? intval($params['status']) : 0;
-        $remark = isset($params['remark']) ? trim($params['remark']) : '';
-
-        if (!$id) {
-            $this->error = '商家ID不能为空';
-            return false;
-        }
-
-        $storesModel = $this->model->where(['id' => $id, 'mark' => 1])->first();
-        if (!$storesModel) {
-            $this->error = '商家信息不存在';
-            return false;
-        }
-
-
-        // 审核通过
-        if ($status == 1) {
-            // 使用事务确保数据一致性
-            DB::beginTransaction();
-            try {
-                // 密码使用手机号后6位
-                $password = substr($storesModel->phone, -6);
-
-                // 使用商家手机号作为管理账号用户名
-                $username = $this->generateUsername($storesModel);
-
-                // 保存原始的member ID(shop.user_id应该指向member.id)
-                $memberId = $storesModel->user_id;
-
-                // 检查是否已存在相同手机号的管理员账号
-                $existingUser = UserModel::where('mobile', $storesModel->phone)
-                    ->where('mark', 1)
-                    ->first();
-
-                if ($existingUser) {
-                    // 如果存在相同手机号的账号,更新该账号
-                    $adminUserId = $existingUser->id;
-                    UserModel::where('id', $adminUserId)->update([
-                        'user_id' => $memberId, // 确保user.user_id指向member.id
-                        'username' => $username,
-                        'password' => get_password($password . $username),
-                        'realname' => $storesModel->real_name,
-                        'mobile' => $storesModel->phone,
-                        'status' => 1,
-                        'update_user' => $userId,
-                        'update_time' => time()
-                    ]);
-                } else {
-                    // 创建新的管理账户
-                    $userData = [
-                        'user_id' => $memberId, // 绑定会员ID(member表的ID)
-                        'username' => $username,
-                        'nickname' => $username,
-                        'password' => get_password($password . $username),
-                        'realname' => $storesModel->real_name,
-                        'mobile' => $storesModel->phone,
-                        'status' => 1,
-                        'create_user' => $userId,
-                        'create_time' => time(),
-                        'update_user' => $userId,
-                        'update_time' => time(),
-                        'mark' => 1
-                    ];
-
-                    $adminUserId = UserModel::insertGetId($userData);
-                }
-
-                // 删除已存在的用户角色关系
-                DB::table('user_role')->where('user_id', $adminUserId)->delete();
-
-                // 创建用户角色关系(role_id = 6,商家角色)
-                DB::table('user_role')->insert([
-                    'user_id' => $adminUserId,
-                    'role_id' => 6
-                ]);
-
-                // 更新商家状态为已审核,保持user_id为member ID
-                $updateData = [
-                    'status' => 1,
-                    'user_id' => $memberId, // 保持shop.user_id指向member.id
-                    'confirm_remark' => $remark ?: '审核通过',
-                    'update_time' => time()
-                ];
-
-                $this->model->where('id', $id)->update($updateData);
-
-                // 清除商家缓存
-                RedisService::keyDel("caches:storeId:id*");
-
-                DB::commit();
-
-                // 清除绑定显示商家参数,从而重新获取
-                RedisService::keyDel("caches:storeId:id*");
-
-                $this->error = '审核通过,管理账号:' . $username . ',密码:' . $password;
-                return true;
-            } catch (\Exception $e) {
-                DB::rollBack();
-                Log::error('商家审核失败,创建管理员账号出错:' . $e->getMessage(), [
-                    'store_id' => $id,
-                    'store_name' => $storesModel->name,
-                    'phone' => $storesModel->phone,
-                    'exception' => $e->getTraceAsString()
-                ]);
-                $this->error = '审核失败,创建管理员账号失败:' . $e->getMessage();
-                return false;
-            }
-        }
-        // 审核驳回
-        elseif ($status == 3) {
-            if (empty($remark)) {
-                $this->error = '驳回理由不能为空';
-                return false;
-            }
-
-            $this->model->where('id', $id)->update([
-                'status' => 3,
-                'confirm_remark' => $remark,
-                'update_time' => time()
-            ]);
-
-            $this->error = '审核驳回成功';
-            return true;
-        } else {
-            $this->error = '审核状态参数错误';
-            return false;
-        }
-    }
-
-    /**
-     * 生成随机密码
-     * @param int $length 密码长度
-     * @return string
-     */
-    private function generatePassword($length = 8)
-    {
-        $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
-        $password = '';
-        for ($i = 0; $i < $length; $i++) {
-            $password .= $chars[mt_rand(0, strlen($chars) - 1)];
-        }
-        return $password;
-    }
-
-    /**
-     * 生成管理账号用户名(使用商家手机号)
-     * @param object $storeInfo 商家信息
-     * @return string
-     */
-    private function generateUsername($storeInfo)
-    {
-        // 直接使用手机号作为用户名
-        return $storeInfo->phone;
-    }
-
-    /**
      * 获取当前登录商家信息
      * @return array
      */

+ 0 - 27
routes/web.php

@@ -16,9 +16,7 @@ use App\Http\Controllers\Admin\SocialCirclesController;
 use App\Http\Controllers\Admin\ConfigController;
 use App\Http\Controllers\Admin\ConfigGroupController;
 use App\Http\Controllers\Admin\IndexController;
-use App\Http\Controllers\Admin\LoginLogController;
 use App\Http\Controllers\Admin\MemberController;
-use App\Http\Controllers\Admin\MemberLevelController;
 use App\Http\Controllers\Admin\MenuController;
 use App\Http\Controllers\Admin\NoticeController;
 use App\Http\Controllers\Admin\RoleController;
@@ -147,14 +145,6 @@ Route::post('/order/agreeRefund', [\App\Http\Controllers\Admin\OrderController::
 Route::post('/order/confirmRefund', [\App\Http\Controllers\Admin\OrderController::class, 'confirmRefund']);
 Route::post('/order/rejectRefund', [\App\Http\Controllers\Admin\OrderController::class, 'rejectRefund']);
 
-// 代理管理
-Route::get('/agent/index', [\App\Http\Controllers\Admin\AgentController::class, 'index']);
-Route::get('/agent/info', [\App\Http\Controllers\Admin\AgentController::class, 'info']);
-Route::post('/agent/delete', [\App\Http\Controllers\Admin\AgentController::class, 'delete']);
-Route::post('/agent/status', [\App\Http\Controllers\Admin\AgentController::class, 'status']);
-Route::post('/agent/audit', [\App\Http\Controllers\Admin\AgentController::class, 'audit']);
-Route::post('/agent/freeze', [\App\Http\Controllers\Admin\AgentController::class, 'freeze']);
-
 // 财务管理
 Route::get('/financial/statistics', [\App\Http\Controllers\Admin\FinancialController::class, 'statistics']);
 Route::get('/financial/list', [\App\Http\Controllers\Admin\FinancialController::class, 'getList']);
@@ -182,13 +172,6 @@ Route::post('/ad/edit', [AdController::class, 'edit']);
 Route::post('/ad/status', [AdController::class, 'status']);
 Route::post('/ad/delete', [AdController::class, 'delete']);
 
-// 生活圈推荐应用管理
-Route::get('/socialCircles/index', [SocialCirclesController::class, 'index']);
-Route::get('/socialCircles/info', [SocialCirclesController::class, 'info']);
-Route::post('/socialCircles/edit', [SocialCirclesController::class, 'edit']);
-Route::post('/socialCircles/status', [SocialCirclesController::class, 'status']);
-Route::post('/socialCircles/delete', [SocialCirclesController::class, 'delete']);
-
 // 会员管理
 Route::get('/member/index', [MemberController::class, 'index']);
 Route::get('/member/search', [MemberController::class, 'search']);
@@ -239,16 +222,6 @@ Route::post('/account/status', [\App\Http\Controllers\Admin\AccountController::c
 Route::post('/account/delete', [\App\Http\Controllers\Admin\AccountController::class, 'delete']);
 Route::post('/account/count', [\App\Http\Controllers\Admin\AccountController::class, 'count']);
 
-// 登录日志
-Route::get('/loginlog/index', [LoginLogController::class, 'index']);
-Route::post('/loginlog/delete', [LoginLogController::class, 'delete']);
-
-// 登录日志
-Route::post('/message/index', [\App\Http\Controllers\Admin\MessageController::class, 'index']);
-Route::post('/message/history', [\App\Http\Controllers\Admin\MessageController::class, 'history']);
-Route::post('/message/chatList', [\App\Http\Controllers\Admin\MessageController::class, 'chatList']);
-Route::post('/message/count', [\App\Http\Controllers\Admin\MessageController::class, 'count']);
-
 
 // 操作日志
 Route::get('/actionlog/index', [ActionLogController::class, 'index']);