diff --git a/app/admin/controller/ContactUs/JoinApply.php b/app/admin/controller/ContactUs/JoinApply.php new file mode 100644 index 0000000..82584cd --- /dev/null +++ b/app/admin/controller/ContactUs/JoinApply.php @@ -0,0 +1,172 @@ +param(); + $con = []; + + $con = Tool::getOptionalQuery(['join_apply_user_name', 'LIKE'], ['join_apply_user_phone', 'LIKE'], ['join_apply_user_position', '='], ['join_apply_status', '='],); + + $query = ModelJoinApply::where($con) + ->field([ + 'join_apply_id', + 'join_apply_guid', + 'join_apply_user_name', + 'join_apply_user_phone', + 'join_apply_user_position', + 'join_apply_user_area', + 'join_apply_user_org', + 'join_apply_status' + ]) + ->order('join_apply_update_time', 'desc'); + + return msg("获取加盟申请列表成功!", $query); + } + + /** + * 编辑加盟申请 + */ + public function editJoinApply(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'join_apply_user_name|加盟申请用户名字' => 'require', + 'join_apply_user_phone|加盟申请用户电话' => 'require', + 'join_apply_user_position|加盟申请用户职位' => 'require', + 'join_apply_user_area|加盟申请用户所在地区' => 'require', + 'join_apply_user_org|加盟申请用户所属机构名称' => 'require', + 'join_apply_status|加盟申请受理状态' => 'require' + ]); + $model = ModelJoinApply::where('join_apply_guid', $params['join_apply_guid'])->find(); + if (!$model) throwErrorMsg("该加盟申请不存在", 1); + $model->allowField([ + 'join_apply_update_user_guid', + 'join_apply_user_name', + 'join_apply_user_phone', + 'join_apply_user_position', + 'join_apply_user_area', + 'join_apply_user_org', + 'join_apply_status' + ])->save($params); + return msg('编辑成功!'); + } + + /** + * 添加加盟申请 + */ + public function addJoinApply(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'join_apply_user_name|加盟申请用户名字' => 'require', + 'join_apply_user_phone|加盟申请用户电话' => 'require', + 'join_apply_user_position|加盟申请用户职位' => 'require', + 'join_apply_user_area|加盟申请用户所在地区' => 'require', + 'join_apply_user_org|加盟申请用户所属机构名称' => 'require', + 'join_apply_status|加盟申请受理状态' => 'require' + ]); + $model = ModelJoinApply::create($params, [ + 'join_apply_guid', + 'join_apply_create_user_guid', + 'join_apply_update_user_guid', + 'join_apply_user_name', + 'join_apply_user_phone', + 'join_apply_user_position', + 'join_apply_user_area', + 'join_apply_user_org', + 'join_apply_status' + ]); + return msg('添加成功!'); + } + + /** + * 删除加盟申请 + */ + public function deleteJoinApply(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'join_apply_guid' => 'require', + ]); + $join_apply = ModelJoinApply::where([ + 'join_apply_guid' => explode(',', $params['join_apply_guid']) + ])->select(); + $join_apply->delete(); + return msg('删除成功!'); + } + + /** + * 导出Excel + */ + public function exportExcel(Request $request) + { + $params = $request->param(); + $select = ModelJoinApply::field([ + 'join_apply_user_name', + 'join_apply_user_phone', + 'join_apply_user_position', + 'join_apply_user_area', + 'join_apply_user_org', + 'join_apply_status' + ]) + ->order('join_apply_update_time', 'desc') + ->select(); + return ModelJoinApply::exportExcel($select); + } + /** + * 合作加盟申请受理接口 + * + * @param Request request + * @return array + * @date 2023-04-20 + * @author xjh + * @since 1.0.0 + */ + public function handlejoin_applyStatus(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'join_apply_guid|在线报名guid' => 'require', + ]); + $msg_data = []; + $join_apply_guids = explode(',', $params['join_apply_guid']); + $join_apply_guids_count = count($join_apply_guids); + foreach ($join_apply_guids as $line => $join_apply_guid) { + $prefix_text = ($join_apply_guids_count != 1) ? "第" . ($line + 1) . "行-> " : null; + try { + $join_apply = ModelJoinApply::where('join_apply_guid', $join_apply_guid)->find(); + if (!$join_apply) throwErrorMsg('该在线报名数据不存在!'); + if ($join_apply->join_apply_status == 1) throwErrorMsg('该在线报名数据已处理!'); + $join_apply->join_apply_status = 1; + $join_apply->save(); + $msg_data[] = $prefix_text . "用户名称【{$join_apply->join_apply_user_name}】: 受理成功!"; + } catch (\Throwable $th) { + $msg_data[] = $prefix_text . "用户名称:【{$join_apply->join_apply_user_name}】: {$th->getMessage()}"; + } + }; + return msg(0, implode('
', $msg_data)); + } + + +} + diff --git a/app/api/controller/JoinApply/JoinApply.php b/app/api/controller/JoinApply/JoinApply.php new file mode 100644 index 0000000..47b7939 --- /dev/null +++ b/app/api/controller/JoinApply/JoinApply.php @@ -0,0 +1,73 @@ +param(); + $con = []; + + $con = Tool::getOptionalQuery(['join_apply_user_name','LIKE'],['join_apply_user_phone','LIKE'],['join_apply_user_position','='],['join_apply_status','='],); + + $query = ModelJoinApply::where($con) + ->field([ +'join_apply_id', +'join_apply_guid', +'join_apply_user_name', +'join_apply_user_phone', +'join_apply_user_position', +'join_apply_user_area', +'join_apply_user_org', +'join_apply_status' +]) + ->order('join_apply_update_time', 'desc'); + + + + return msg("获取加盟申请列表成功!",$query); + } + + /** + * 获取加盟申请详情 + */ + public function getJoinApplyInfo(Request $request): array + { + $params = $request->param(); + + $this->validate($params, ['join_apply_guid' => 'require']); + + $find = ModelJoinApply::field([ +'join_apply_id', +'join_apply_guid', +'join_apply_user_name', +'join_apply_user_phone', +'join_apply_user_position', +'join_apply_user_area', +'join_apply_user_org', +'join_apply_status' +]) + ->where('join_apply_guid',$params['join_apply_guid']) + ->find(); + + return msg(0,'获取加盟申请详情成功!',['data' => $find]); + } + +} diff --git a/app/common/model/ContactUs/JoinApply.php b/app/common/model/ContactUs/JoinApply.php new file mode 100644 index 0000000..b14b3d7 --- /dev/null +++ b/app/common/model/ContactUs/JoinApply.php @@ -0,0 +1,124 @@ + "int", + + "join_apply_guid" => "string", + + "join_apply_user_name" => "string", + + "join_apply_user_phone" => "int", + + "join_apply_user_position" => "int", + + "join_apply_user_area" => "string", + + "join_apply_user_org" => "string", + + "join_apply_status" => "int", + + "join_apply_create_time" => "datetime", + + "join_apply_create_user_guid" => "string", + + "join_apply_update_time" => "datetime", + + "join_apply_update_user_guid" => "string", + + "join_apply_delete_time" => "datetime", + + "join_apply_delete_user_guid" => "string", + + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'join_apply_create_time'; + // 修改时间 + protected $updateTime = 'join_apply_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['join_apply_user_name'], +$val['join_apply_user_phone'], +$val['join_apply_user_position'], +$val['join_apply_user_area'], +$val['join_apply_user_org'], +$val['join_apply_status'], +]; + } + $excel = (new Excel())->exporTsheet($data); + $excel->save('加盟申请.xlsx'); + } + + + + + + +}