diff --git a/niucloud/app/api/controller/apiController/Common.php b/niucloud/app/api/controller/apiController/Common.php index 27a570ee..9011ea0e 100644 --- a/niucloud/app/api/controller/apiController/Common.php +++ b/niucloud/app/api/controller/apiController/Common.php @@ -35,4 +35,30 @@ class Common extends BaseApiService } return success($res); } + + //忘记密码-通过短信验证码进行密码重置(学生/员工通用) + public function forgetPassword(Request $request) + { + $phone = $request->param('phone', '');//手机号 + $code = $request->param('code', '');//短信验证码 + $code_type = $request->param('code_type', '');//短信验证码类型(发送/验证 短信验证码的类型)|修改密码=editPassword + $password = $request->param('password', '');//新密码 + $user_type = $request->param('user_type', '');//用户类型|customer=学生|personnel=员工(销售/教师) + + if (empty($phone) || empty($code) || empty($code_type) || empty($password) || empty($user_type)) { + return fail('缺少必填参数'); + } + + //@todo 验证短信验证码是否正确(等发送短信验证码接入后在写) + //... + + + //重置密码 + $res = (new CommonService())->forgetPassword($phone, $password, $user_type); + if(!$res['code']){ + return fail($res['msg']); + } + return success([]); + + } } diff --git a/niucloud/app/api/controller/apiController/CustomerResources.php b/niucloud/app/api/controller/apiController/CustomerResources.php index 16fc4e53..3112f01c 100644 --- a/niucloud/app/api/controller/apiController/CustomerResources.php +++ b/niucloud/app/api/controller/apiController/CustomerResources.php @@ -23,11 +23,41 @@ use core\base\BaseApiService; class CustomerResources extends BaseApiService { + + //获取全部客户资源 + public function getAll(Request $request){ + + $name = $request->param('name', '');//客户姓名 + if(empty($name)){ + return fail("缺少客户姓名"); + } + + $where = [ + 'name'=>$name + ]; + $res = (new CustomerResourcesService())->getAll($where); + if(!$res['code']){ + return fail($res['msg']); + } + return success($res['data']); + } + //客户资源添加 public function add(Request $request){ $date = date('Y-m-d'); + $promised_visit_time = $request->param('promised_visit_time', ''); + if($promised_visit_time){ + $promised_visit_time = date('Y-m-d H:i:s',strtotime($promised_visit_time)); + } + + + $optional_class_time = $request->param('optional_class_time', ''); + if($optional_class_time){ + $optional_class_time = date('Y-m-d H:i:s',strtotime($optional_class_time)); + } + $customer_resources_data = [ "create_year_month"=>date('Y-m'), "create_date"=>date('Y-m-d'), @@ -44,15 +74,15 @@ class CustomerResources extends BaseApiService "status" => $request->param('status', ''), "purchasing_power" => $request->param('purchasing_power', ''), "cognitive_idea" => $request->param('cognitive_idea', ''), - "optional_class_time" => $request->param('optional_class_time', ''), + "optional_class_time" => $optional_class_time, "distance" => $request->param('distance', ''), ]; $six_speed_data = [ "purchase_power" => $request->param('purchasing_power', ''), "concept_awareness" => $request->param('cognitive_idea', ''), - "promised_visit_time" => $request->param('promised_visit_time', ''),//承诺到访时间 - "preferred_class_time" => $request->param('optional_class_time', ''),//可选上课时间 + "promised_visit_time" => $promised_visit_time,//承诺到访时间 + "preferred_class_time" => $optional_class_time,//可选上课时间 "distance" => $request->param('distance', ''),//距离 "communication" => $request->param('communication', ''),//沟通备注 "staff_id" => $request->param('staff_id', ''),//人员ID diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index 26d47356..f3100743 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -176,8 +176,8 @@ Route::group(function () { Route::post('personnelLogin', 'login.Login/personnelLogin'); //获取字典 Route::get('common/getDictionary', 'apiController.Common/getDictionary'); - //员工端-修改密码操作 - Route::post('personnel/edidPassword', 'apiController.Personnel/edidPassword'); + //忘记密码-通过短信验证码进行密码重置(学生/员工通用) + Route::post('common/forgetPassword', 'apiController.Common/forgetPassword'); @@ -209,6 +209,8 @@ Route::group(function () { Route::post('personnel/edit', 'apiController.Personnel/edit'); //员工端-验证旧密码是否正确 Route::post('personnel/checkOldPwd', 'apiController.Personnel/checkOldPwd'); + //员工端-修改密码操作(通过旧密码修改新密码) + Route::post('personnel/edidPassword', 'apiController.Personnel/edidPassword'); //员工端-获取全部人员列表 @@ -219,6 +221,8 @@ Route::group(function () { Route::post('customerResources/edit', 'apiController.CustomerResources/edit'); //客户资源-修改记录列表 Route::get('customerResources/getEditLogList', 'apiController.CustomerResources/getEditLogList'); + //客户资源-获取全部客户资源列表 + Route::get('customerResources/getAll', 'apiController.CustomerResources/getAll'); //资源共享-列表 diff --git a/niucloud/app/model/customer_resources/CustomerResources.php b/niucloud/app/model/customer_resources/CustomerResources.php index c6e16bd1..218f156d 100644 --- a/niucloud/app/model/customer_resources/CustomerResources.php +++ b/niucloud/app/model/customer_resources/CustomerResources.php @@ -156,6 +156,15 @@ class CustomerResources extends BaseModel return $this->hasOne(SixSpeed::class, 'resource_id', 'id'); } + //一对多关联"资源共享表" + public function resourceSharingHasMany() + { + return $this->hasMany(ResourceSharing::class, 'resource_id', 'id'); + } + + + + /** * 获取客户初步意向度类型名称 * @param $value diff --git a/niucloud/app/service/api/apiService/CommonService.php b/niucloud/app/service/api/apiService/CommonService.php index 26654fd4..5a41285a 100644 --- a/niucloud/app/service/api/apiService/CommonService.php +++ b/niucloud/app/service/api/apiService/CommonService.php @@ -12,6 +12,8 @@ namespace app\service\api\apiService; use app\model\dict\Dict; +use app\model\member\Member; +use app\model\sys\SysUser; use core\base\BaseApiService; /** @@ -43,6 +45,58 @@ class CommonService extends BaseApiService } + /** + * 忘记密码功能 - 根据用户类型重置密码 + * @param string $phone 用户手机号 + * @param string $new_password 用户新密码 + * @param string $user_type 用户类型|customer=学生|personnel=员工(销售/教师) + */ + public function forgetPassword($phone, $new_password, $user_type){ + if($user_type == 'personnel'){ + //重置员工(销售/教师)密码 + $update = SysUser::where('username', $phone)->update([ + 'password' => create_password($new_password),//创建密码 + 'update_time' => time(), + ]); + if (!$update) { + $res = [ + 'code' => 0, + 'msg' => '操作失败', + 'data' => [] + ]; + } else { + $res = [ + 'code' => 1, + 'msg' => '操作成功', + 'data' => [] + ]; + } + return $res; + }else{ + //重置用户(学生)密码 + $update = Member::where('username', $phone)->update([ + 'password' => create_password($new_password),//创建密码 + 'update_time' => time(), + ]); + if (!$update) { + $res = [ + 'code' => 0, + 'msg' => '操作失败', + 'data' => [] + ]; + } else { + $res = [ + 'code' => 1, + 'msg' => '操作成功', + 'data' => [] + ]; + } + return $res; + } + + + } + /** * 对比新旧数据改变 * @param array $old_data 旧数据 diff --git a/niucloud/app/service/api/apiService/CustomerResourcesService.php b/niucloud/app/service/api/apiService/CustomerResourcesService.php index d8e99818..7c3e77a9 100644 --- a/niucloud/app/service/api/apiService/CustomerResourcesService.php +++ b/niucloud/app/service/api/apiService/CustomerResourcesService.php @@ -35,6 +35,42 @@ class CustomerResourcesService extends BaseApiService parent::__construct(); } + //获取全部客户资源数据 + public function getAll(array $where,string $field = '*') + { + $res = [ + 'code' => 0, + 'msg' => '操作失败', + 'data' => [] + ]; + if(!$where){ + $res['msg'] = '查询条件不能为空'; + return $res; + } + $model = new CustomerResources(); + if(!empty($where['name'])){ + $model = $model->where('name', 'like', "%{$where['name']}%"); + } + $data = $model->field($field) + ->with([ + 'resourceSharingHasMany' + ]) + ->append([ + 'initial_intent_name' + ]) + ->select()->toArray(); + if (!$data) { + $res['msg'] = '暂无数据'; + return $res; + } + $res['code'] = 1; + $res['msg'] = '操作成功'; + $res['data'] = $data; + return $res; + + + } + //添加数据 public function addData(array $customer_resources_data, array $six_speed_data) { diff --git a/niucloud/app/service/api/login/LoginService.php b/niucloud/app/service/api/login/LoginService.php index cff79559..3ce056fa 100644 --- a/niucloud/app/service/api/login/LoginService.php +++ b/niucloud/app/service/api/login/LoginService.php @@ -354,6 +354,9 @@ class LoginService extends BaseApiService { //查询员工信息 $member_info = (new Personnel())->where('phone', $params['phone'])->find(); + if(!$member_info){ + throw new ApiException('账号不存在'); + } if ($member_info->status != 2) throw new ApiException('账号状态异常禁止登录'); $user = (new SysUser())->where('username', $params['phone'])->find();