From aec30d64738a92e080c260fcbfdd640d2ea96b0c Mon Sep 17 00:00:00 2001 From: ll <2149573631@qq.com> Date: Fri, 21 Apr 2023 15:27:39 +0800 Subject: [PATCH] =?UTF-8?q?file:=E5=A2=9E=E5=8A=A0=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E5=92=8C=E7=94=A8=E6=88=B7=E7=95=99=E8=A8=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ContactUs/ContactInfo.php | 65 +++++++ .../controller/ContactUs/LeaveMessage.php | 160 ++++++++++++++++++ .../controller/ContactInfo/ContactInfo.php | 41 +++++ .../controller/LeaveMessage/LeaveMessage.php | 69 ++++++++ app/common/model/ContactUs/ContactInfo.php | 91 ++++++++++ app/common/model/ContactUs/LeaveMessage.php | 116 +++++++++++++ 6 files changed, 542 insertions(+) create mode 100644 app/admin/controller/ContactUs/ContactInfo.php create mode 100644 app/admin/controller/ContactUs/LeaveMessage.php create mode 100644 app/api/controller/ContactInfo/ContactInfo.php create mode 100644 app/api/controller/LeaveMessage/LeaveMessage.php create mode 100644 app/common/model/ContactUs/ContactInfo.php create mode 100644 app/common/model/ContactUs/LeaveMessage.php diff --git a/app/admin/controller/ContactUs/ContactInfo.php b/app/admin/controller/ContactUs/ContactInfo.php new file mode 100644 index 0000000..d015c58 --- /dev/null +++ b/app/admin/controller/ContactUs/ContactInfo.php @@ -0,0 +1,65 @@ +param(); + + $query = ModelContactInfo::field([ + 'contact_info_id', + 'contact_info_guid', + 'contact_info_location', + 'latitude', + 'longitude', + 'customer_service_wx', + 'contact_info_phone', + 'join_apply_content' + ])->where(1)->find(); + + return [ + 'code' => 0, + 'data' => $query, + 'msg' => 'ok' + ]; + } + + /** + * 编辑联系方式 + */ + public function editContactInfo(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'contact_info_location|定位' => 'require', + 'customer_service_wx|客户微信' => 'require', + 'contact_info_phone|联系电话' => 'require', + 'join_apply_content|加盟简介' => 'require' + ]); + $model = ModelContactInfo::where('contact_info_id',1)->find(); + $model->allowField([ + 'contact_info_update_user_guid', + 'contact_info_location', + 'latitude', + 'longitude', + 'customer_service_wx', + 'contact_info_phone', + 'join_apply_content' + ])->save($params); + return msg('编辑成功!'); + } +} diff --git a/app/admin/controller/ContactUs/LeaveMessage.php b/app/admin/controller/ContactUs/LeaveMessage.php new file mode 100644 index 0000000..fe30007 --- /dev/null +++ b/app/admin/controller/ContactUs/LeaveMessage.php @@ -0,0 +1,160 @@ +param(); + $con = []; + + $con = Tool::getOptionalQuery(); + + $query = ModelLeaveMessage::where($con) + ->field([ + 'leave_message_id', + 'leave_message_guid', + 'leave_message_content', + 'leave_message_status', + 'leave_message_user_name', + 'leave_message_user_phone' + ]) + ->order('leave_message_update_time', 'desc'); + + return msg("获取用户留言列表成功!", $query); + } + + /** + * 编辑用户留言 + */ + public function editLeaveMessage(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'leave_message_content|留言内容' => 'require', + 'leave_message_status|留言受理状态' => 'require', + 'leave_message_user_name|留言人名称' => 'require', + 'leave_message_user_phone|留言人手机号码' => 'require' + ]); + $model = ModelLeaveMessage::where('leave_message_guid', $params['leave_message_guid'])->find(); + if (!$model) throwErrorMsg("该用户留言不存在", 1); + $model->allowField([ + 'leave_message_update_user_guid', + 'leave_message_content', + 'leave_message_status', + 'leave_message_user_name', + 'leave_message_user_phone' + ])->save($params); + return msg('编辑成功!'); + } + + /** + * 添加用户留言 + */ + public function addLeaveMessage(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'leave_message_content|留言内容' => 'require', + 'leave_message_status|留言受理状态' => 'require', + 'leave_message_user_name|留言人名称' => 'require', + 'leave_message_user_phone|留言人手机号码' => 'require' + ]); + $model = ModelLeaveMessage::create($params, [ + 'leave_message_guid', + 'leave_message_create_user_guid', + 'leave_message_update_user_guid', + 'leave_message_content', + 'leave_message_status', + 'leave_message_user_name', + 'leave_message_user_phone' + ]); + return msg('添加成功!'); + } + + /** + * 删除用户留言 + */ + public function deleteLeaveMessage(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'leave_message_guid' => 'require', + ]); + $leave_message = ModelLeaveMessage::where([ + 'leave_message_guid' => explode(',', $params['leave_message_guid']) + ])->select(); + $leave_message->delete(); + return msg('删除成功!'); + } + + /** + * 导出Excel + */ + public function exportExcel(Request $request) + { + $params = $request->param(); + $select = ModelLeaveMessage::field([ + 'leave_message_content', + 'leave_message_status', + 'leave_message_user_name', + 'leave_message_user_phone' + ]) + ->order('leave_message_update_time', 'desc') + ->select(); + return ModelLeaveMessage::exportExcel($select); + } + + /** + * 用户留言受理接口 + * + * @param Request request + * @return array + * @date 2023-04-20 + * @author xjh + * @since 1.0.0 + */ + public function handleleave_messageStatus(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'leave_message_guid|在线报名guid' => 'require', + ]); + $msg_data = []; + $leave_message_guids = explode(',', $params['leave_message_guid']); + $leave_message_guids_count = count($leave_message_guids); + foreach ($leave_message_guids as $line => $leave_message_guid) { + $prefix_text = ($leave_message_guids_count != 1) ? "第" . ($line + 1) . "行-> " : null; + try { + $leave_message = ModelLeaveMessage::where('leave_message_guid', $leave_message_guid)->find(); + if (!$leave_message) throwErrorMsg('该在线报名数据不存在!'); + if ($leave_message->leave_message_status == 1) throwErrorMsg('该在线报名数据已处理!'); + $leave_message->leave_message_status = 1; + $leave_message->save(); + $msg_data[] = $prefix_text . "用户名称【{$leave_message->leave_message_user_name}】: 受理成功!"; + } catch (\Throwable $th) { + $msg_data[] = $prefix_text . "用户名称:【{$leave_message->leave_message_user_name}】: {$th->getMessage()}"; + } + }; + return msg(0, implode('
', $msg_data)); + } + + +} diff --git a/app/api/controller/ContactInfo/ContactInfo.php b/app/api/controller/ContactInfo/ContactInfo.php new file mode 100644 index 0000000..ba7eaf4 --- /dev/null +++ b/app/api/controller/ContactInfo/ContactInfo.php @@ -0,0 +1,41 @@ +param(); + + $query = ModelContactInfo::field([ +'contact_info_id', +'contact_info_guid', +'contact_info_location', +'latitude', +'longitude', +'customer_service_wx', +'contact_info_phone', +'join_apply_content' +])->where(1)->find(); + + return [ + 'code' => 0, + 'data' => $query, + 'msg' => 'ok' + ]; + } + +} diff --git a/app/api/controller/LeaveMessage/LeaveMessage.php b/app/api/controller/LeaveMessage/LeaveMessage.php new file mode 100644 index 0000000..6b2e209 --- /dev/null +++ b/app/api/controller/LeaveMessage/LeaveMessage.php @@ -0,0 +1,69 @@ +param(); + $con = []; + + $con = Tool::getOptionalQuery(); + + $query = ModelLeaveMessage::where($con) + ->field([ +'leave_message_id', +'leave_message_guid', +'leave_message_content', +'leave_message_status', +'leave_message_user_name', +'leave_message_user_phone' +]) + ->order('leave_message_update_time', 'desc'); + + + + return msg("获取用户留言列表成功!",$query); + } + + /** + * 获取用户留言详情 + */ + public function getLeaveMessageInfo(Request $request): array + { + $params = $request->param(); + + $this->validate($params, ['leave_message_guid' => 'require']); + + $find = ModelLeaveMessage::field([ +'leave_message_id', +'leave_message_guid', +'leave_message_content', +'leave_message_status', +'leave_message_user_name', +'leave_message_user_phone' +]) + ->where('leave_message_guid',$params['leave_message_guid']) + ->find(); + + return msg(0,'获取用户留言详情成功!',['data' => $find]); + } + +} diff --git a/app/common/model/ContactUs/ContactInfo.php b/app/common/model/ContactUs/ContactInfo.php new file mode 100644 index 0000000..9683e70 --- /dev/null +++ b/app/common/model/ContactUs/ContactInfo.php @@ -0,0 +1,91 @@ + "int", + + "contact_info_guid" => "string", + + "contact_info_location" => "string", + + "latitude" => "string", + + "longitude" => "string", + + "customer_service_wx" => "string", + + "contact_info_phone" => "int", + + "join_apply_content" => "string", + + "contact_info_create_time" => "datetime", + + "contact_info_create_user_guid" => "string", + + "contact_info_update_time" => "datetime", + + "contact_info_update_user_guid" => "string", + + "contact_info_delete_time" => "datetime", + + "contact_info_delete_user_guid" => "string", + + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'contact_info_create_time'; + // 修改时间 + protected $updateTime = 'contact_info_update_time'; + + + + + /** + * 新增前 + */ + public static function onBeforeInsert(self $model): void + { + // self::checkRepeatData($model); + $model->completeCreateField(); + } + + /** + * 更新前 + */ + public static function onBeforeUpdate(self $model): void + { + // self::checkRepeatData($model); + $model->completeUpdateField(); + } + + /** + * 删除前 + */ + public static function onBeforeDelete(self $model): void + { + $model->completeDeleteField(); + } +} diff --git a/app/common/model/ContactUs/LeaveMessage.php b/app/common/model/ContactUs/LeaveMessage.php new file mode 100644 index 0000000..ad7198c --- /dev/null +++ b/app/common/model/ContactUs/LeaveMessage.php @@ -0,0 +1,116 @@ + "int", + + "leave_message_guid" => "string", + + "leave_message_content" => "string", + + "leave_message_status" => "int", + + "leave_message_user_name" => "string", + + "leave_message_user_phone" => "int", + + "leave_message_create_time" => "datetime", + + "leave_message_create_user_guid" => "string", + + "leave_message_update_time" => "datetime", + + "leave_message_update_user_guid" => "string", + + "leave_message_delete_time" => "datetime", + + "leave_message_delete_user_guid" => "string", + + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'leave_message_create_time'; + // 修改时间 + protected $updateTime = 'leave_message_update_time'; + + + + + /** + * 新增前 + */ + public static function onBeforeInsert(self $model): void + { + // self::checkRepeatData($model); + $model->completeCreateField(); + } + + /** + * 更新前 + */ + public static function onBeforeUpdate(self $model): void + { + // self::checkRepeatData($model); + $model->completeUpdateField(); + } + + /** + * 删除前 + */ + public static function onBeforeDelete(self $model): void + { + $model->completeDeleteField(); + } + + /** +* 导出Excel +*/ + public static function exportExcel($select) + { + $data = [[ +'留言内容', +'留言受理状态', +'留言人名称', +'留言人手机号码' +]]; + foreach ($select as $key => $val) { + $data[] = [ +$val['leave_message_content'], +$val['leave_message_status'], +$val['leave_message_user_name'], +$val['leave_message_user_phone'], +]; + } + $excel = (new Excel())->exporTsheet($data); + $excel->save('用户留言.xlsx'); + } + + + + + + +}