| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | <?phpnamespace App\Http\Controllers\Web\Organization;use Aix\Sms\Contracts\Smser;use App\Http\Controllers\Web\WebBaseController;use App\Models\Category;use App\Repositories\MemberLogRepository;use App\Services\Common\EmailService;use App\Services\Common\SmsService;use App\Services\Company\DispensingService;use App\Services\Organization\OrganizationService;use App\Services\Organization\ServiceService;use App\Validators\OrganizationValidatorRequest;use Illuminate\Http\Request;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\DB;use App\Services\Auth\RegisterService;use App\Services\Common\MembersSetmealService;class OrganizationController  extends WebBaseController{    protected $organizationService;    protected $serviceService;    protected $smsService;    protected $memberLogRepository;    protected $emailService;    protected $dispensingService;    private $registerService;    private $membersSetmealService;    public function __construct(OrganizationService $organizationService,ServiceService $serviceService,SmsService $smsService,MemberLogRepository $memberLogRepository,EmailService $emailService,DispensingService $dispensingService, RegisterService $registerService, MembersSetmealService $membersSetmealService)    {        $this->organizationService = $organizationService;        $this->serviceService = $serviceService;        $this->smsService = $smsService;        $this->memberLogRepository = $memberLogRepository;        $this->emailService = $emailService;        $this->dispensingService = $dispensingService;        $this->registerService = $registerService;        $this->membersSetmealService = $membersSetmealService;    }    public function index()    {        $user = auth('web-organization')->user();        $service_list = $this->serviceService->list($user);        $service_total = $this->serviceService->total($user->id);        $trade = Category::categoryType('AIX_trade');        return view('app.organization.index',['service_list'=>$service_list,'service_total'=>$service_total,'trade'=>$trade]);    }    /**     * 机构信息     */    public function organizationInfo()    {        $user = auth('web-organization')->user();        $organizationInfo = $this->organizationService->organizationInfo($user);        return view('app.organization.company_info', $organizationInfo);    }    public function serviceAdd(Request $request)    {        if(request()->method()=='POST'){            $data = $request->except('_method', '_token');            return $this->serviceService->save($data,auth('web-organization')->user());        }else{            return view('app.organization.service_add');        }    }    public function serviceEdit(Request $request){        if(request()->method()=='POST'){            $data = $request->except('_method', '_token');            return $this->serviceService->save($data,auth('web-organization')->user());        }else{            $id = $request->input('id');            $user = auth('web-organization')->user();            $where['id'] = $id;            $where['uid'] = $user->id;            $serviceInfo = $this->serviceService->serviceInfo($where);            if(!$serviceInfo){                return $this->showMessage('没有这个需求!', route('org.index'), true);            }            $trade = Category::categoryType('AIX_trade');            return view('app.organization.service_edit',['serviceInfo'=>$serviceInfo,'trade'=>$trade]);        }    }    public function serviceDel(Request $request)    {        $id = $request->id;        $user = auth('web-organization')->user();        return $this->serviceService->serviceDel($id, $user);    }    public function orgSecurity()    {        $user = auth('web-organization')->user();        $orgInfo = $this->organizationService->orgSecurity($user);        return view('app.organization.org_security', $orgInfo);    }    public function loginLog()    {        $user = auth('web-organization')->user();        $loginLog = $this->organizationService->orgLoginLog($user);        $orgInfo = $user;        $orgInfo['loginLog'] = $loginLog;        return view('app.organization.login_log', ['organizationInfo'=>$orgInfo]);    }    public function modifyPwd()    {        return view('app.organization.ajax.ajax_modify_pwd');    }    public function savePwd(OrganizationValidatorRequest $request)    {        $user = auth('web-organization')->user();        if (!$this->organizationService->savePwd($user, $request->oldpassword, $request->password, $request->password1)) {            return $this->sendErrorResponse('密码修改失败!');        }        if ($user->mobile) {            $this->smsService->sendSms($user->mobile, Smser::TEMPLATE_SMS_EDITPWD, ['sitename'=>subsite_config('aix.system.site.site.site_name'),'newpassword'=>$request->password]);        }        return $this->sendSuccessResponse('密码修改成功!');    }    public function authEmail()    {        $user = auth('web-organization')->user();        if (!$email = $this->organizationService->authEmail($user)) {            return response()->json(['status'=>0,'msg'=>'参数错误!']);        }        return response()->json(['status'=>1,'msg'=>'查询成功!','data'=>view('app.organization.ajax.ajax_auth_email', $email)->render()]);    }    public function emailSend(OrganizationValidatorRequest $request)    {        $email = $request->email;        $id = $request->id;        if (!$this->organizationService->checkEmailAudit($id, $email)->isEmpty()) {            return response()->json(['status'=>0, 'msg'=>'email已验证!']);        }        $user = auth('web-organization')->user();        $this->memberLogRepository->createLog($user,8001,"");        $this->emailService->setAuthTag('organization')            ->setCallback('App\Services\Organization\OrganizationService', 'sendAuthEmailHook', [$email, auth('web-organization')->user()])            ->sendAuthMail($email, EmailService::TEMPLATE_VALIDATION);        return response()->json(['status'=>1]);    }    public function dispensingList()    {        $dispensingList = $this->dispensingService->list();        return view('app.organization.org_dispensingList',['dispensing'=>$dispensingList]);    }    public function transfer()    {        $list = DB::table('organization')->whereRaw('id>9')->get()->toArray();        $list = json_decode(json_encode($list), true);        foreach ($list as $k => $v){            $info = DB::table('companys')->where('companyname',$v['orgname'])->first();            if(!$info){                $company=$this->registerService->registerCompany1($v);                $this->membersSetmealService->addMemberSetmeal($company, config('aix.companyset.setmeal_com.setmeal_com_set.reg_service'));            }        }    }}
 |