| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- namespace App\Http\Controllers\Manager\Personnel;
- use App\Http\Controllers\Controller;
- use App\Http\Requests\Manager\Personnel\NoticeConfig as Request;
- use App\Models\Manager\Personnel\NoticeConfig as NoticeConfigModel;
- /**
- * 人员管理-消息通知配置-控制器
- * @author 唐远望
- * @version 1.0
- * @date 2026-04-10
- */
- class NoticeConfig extends Controller
- {
- /**
- * 详情
- * @author 唐远望
- * @version 1.0
- * @date 2026-04-10
- */
- public function detail(Request $request, NoticeConfigModel $NoticeConfigModel)
- {
- $request->scene('detail')->validate();
- $admin_company_id = request('admin_company_id', '0');
- $company_id = request('access_token.company_id', '0');
- $is_admin = request('access_token.is_admin', '0');
- // 权限判断
- if ($is_admin != 1 && $company_id != 0) {
- $map['company_id'] = $company_id;
- } else {
- $map['company_id'] = $admin_company_id;
- }
- $notice_week_config = [
- 'week_1' => '1', //状态 0=开启 1=关闭
- 'week_2' => '1', //状态 0=开启 1=关闭
- 'week_3' => '1', //状态 0=开启 1=关闭
- 'week_4' => '1', //状态 0=开启 1=关闭
- 'week_5' => '1', //状态 0=开启 1=关闭
- 'week_6' => '1', //状态 0=开启 1=关闭
- 'week_7' => '1', //状态 0=开启 1=关闭
- ];
- $data = $NoticeConfigModel->where($map)->first();
- if (!$data) {
- //计算开启天数
- $open_day = 0;
- foreach ($notice_week_config as $key => $value) {
- if ($value == '0') {
- $open_day++;
- }
- }
- //自动创建
- $insert_data = [
- 'company_id' => $map['company_id'],
- 'open_day' => $open_day,
- 'notice_week_config' => json_encode($notice_week_config),
- 'insert_time' => time(),
- ];
- $NoticeConfigModel->insert($insert_data);
- $data = $NoticeConfigModel->where($map)->first();
- }
- $data->notice_week_config = json_decode($data->notice_week_config, true);
- // 加载模板
- return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]);
- }
- /**
- * 修改
- * @author 唐远望
- * @version 1.0
- * @date 2026-04-10
- *
- */
- public function update(Request $request, NoticeConfigModel $NoticeConfigModel)
- {
- $request->scene('update')->validate();
- $admin_company_id = request('admin_company_id', '0');
- $company_id = request('access_token.company_id', '0');
- $is_admin = request('access_token.is_admin', '0');
- //接收参数
- $week_config = request('week_config', '');
- $push_time = trim(request('push_time', ''));
- // 权限判断
- if ($is_admin != 1 && $company_id != 0) {
- $map['company_id'] = $company_id;
- } else {
- $map['company_id'] = $admin_company_id;
- }
- $notice_week_config = [
- 'week_1' => isset($week_config['week_1']) ? $week_config['week_1'] : '1', //状态 0=开启 1=关闭
- 'week_2' => isset($week_config['week_2']) ? $week_config['week_2'] : '1', //状态 0=开启 1=关闭
- 'week_3' => isset($week_config['week_3']) ? $week_config['week_3'] : '1', //状态 0=开启 1=关闭
- 'week_4' => isset($week_config['week_4']) ? $week_config['week_4'] : '1', //状态 0=开启 1=关闭
- 'week_5' => isset($week_config['week_5']) ? $week_config['week_5'] : '1', //状态 0=开启 1=关闭
- 'week_6' => isset($week_config['week_6']) ? $week_config['week_6'] : '1', //状态 0=开启 1=关闭
- 'week_7' => isset($week_config['week_7']) ? $week_config['week_7'] : '1', //状态 0=开启 1=关闭
- ];
- //计算开启天数
- $open_day = 0;
- foreach ($notice_week_config as $key => $value) {
- if ($value == '0') {
- $open_day++;
- }
- }
- if($open_day > 0 && empty($push_time)){
- return json_send(['code' => 'error', 'msg' => '请设置推送时间', 'data' => '']);
- }
- $data = $NoticeConfigModel->where($map)->first();
- if (!$data) {
- //自动创建
- $insert_data = [
- 'company_id' => $map['company_id'],
- 'open_day' => $open_day,
- 'notice_week_config' => json_encode($notice_week_config),
- 'push_time' => $push_time,
- 'insert_time' => time(),
- ];
- $NoticeConfigModel->insert($insert_data);
- $data = $NoticeConfigModel->where($map)->first();
- } else {
- $data->notice_week_config = json_encode($notice_week_config);
- $data->open_day = $open_day;
- $data->push_time = $push_time;
- $data->update_time = time();
- $data->save();
- }
- // 加载模板
- return json_send(['code' => 'success', 'msg' => '操作成功', 'data' => '']);
- }
- }
|