request->params([ [ 'username', '' ], [ 'password', '' ], ]); $result = ( new LoginService() )->account($data[ 'username' ], $data[ 'password' ]); if (!$result) { //账号密码错误, 重置验证码 return fail('ACCOUNT_OR_PASSWORD_ERROR'); } return success($result); } /** * 登出 * @return Response */ public function logout() { ( new LoginService )->logout(); return success('MEMBER_LOGOUT'); } /** * 创建验证码 * @return Response */ public function captcha() { return success(( new CaptchaService() )->create()); } /** * 发送手机验证码 * @param $type * @return Response * @throws Exception */ public function sendMobileCode($type) { $data = $this->request->params([ [ 'mobile', '' ], ]); return success(( new LoginService() )->sendMobileCode($data[ 'mobile' ], $type)); } /** * 手机号登录 * @return Response */ public function mobile() { $data = $this->request->params([ [ 'mobile', '' ], [ 'nickname', '' ], [ 'headimg', '' ], [ 'mobile', '' ] ]); //校验登录注册配置 ( new ConfigService() )->checkLoginConfig(MemberLoginTypeDict::MOBILE); return success(( new LoginService() )->mobile($data)); } /** * 重置密码 * @return Response */ public function resetPassword() { $data = $this->request->params([ [ 'mobile', '' ], [ 'password', '' ] ]); //参数验证 $this->validate($data, 'app\validate\member\Member.reset_password'); ( new LoginService() )->resetPassword($data[ 'mobile' ], $data[ 'password' ]); return success('PASSWORD_RESET_SUCCESS'); } public function checkMobileCode(){ $data = $this->request->params([ [ 'mobile', '' ] ]); return success( ( new LoginService() )->checkMobileCode($data['mobile'])); } //定时任务 public function follow_warn(){ $reminders = new FollowUpReminders(); $staffMessage = new StaffMessage(); $list = $reminders->where([ ['reminder_time','<',date("Y-m-d H:i:s",time())], ['task_status','=',1] ])->select(); if($list){ $list = $list->toArray(); foreach ($list as $k=>$v){ $staffMessage->insert([ 'hair_staff_id' => 0, 'closed_staff_id' => $v['follow_staff_id'], 'content' => $v['follow_content'], 'create_time' => date("Y-m-d H:i:s") ]); $reminders->where(['id' => $v['id']])->update(['task_status' => 2]); } } } //定时任务 每日考勤 public function clocking(){ $staff = new Staff(); $schedules = new Schedules(); $list = $staff->where([ ['type','in','1,2'] ])->select(); foreach ($list as $k=>$v){ $is_clocking = Db::name("staff_clocking")->where(['staff_id' => $v['id'],'create_time' => date("Y-m-d")])->find(); if($v['type'] == 1){ //教练 if(!$is_clocking){ $schedules_list = $schedules->where(['date_time' => date("Y-m-d"),'staff_id' => $v['id']])->select(); foreach ($schedules_list as $k1=>$v1){ $time_slot = explode(",",$v1['time_slot']); Db::name("staff_clocking")->insert([ 'staff_id' => $v['id'], 'status' => 1, 'create_time' => date("Y-m-d"), 'add_time' => date("Y-m-d").' '.$time_slot[0].':00', 'end_time' => date("Y-m-d").' '.$time_slot[1].':00', 'courses_id' => $v1['courses_id'], 'type' => 2 ]); } } }else{ //销售 if(!$is_clocking){ Db::name("staff_clocking")->insert([ 'staff_id' => $v['id'], 'status' => 1, 'create_time' => date("Y-m-d"), 'add_time' => date("Y-m-d").' 00:00:00', 'end_time' => date("Y-m-d").' 23:59:59', 'type' => 1 ]); } } } } }