From 9a9c683bf74de6fc5b8fb64f6fddae82e648e4e0 Mon Sep 17 00:00:00 2001 From: cp <2474209645@qq.com> Date: Mon, 28 Apr 2025 21:12:20 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=88=9D=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/controller/YishengController.java | 383 ++++++++---------- 1 file changed, 172 insertions(+), 211 deletions(-) diff --git a/src/main/java/com/controller/YishengController.java b/src/main/java/com/controller/YishengController.java index c056d20..bca53e8 100644 --- a/src/main/java/com/controller/YishengController.java +++ b/src/main/java/com/controller/YishengController.java @@ -1,4 +1,3 @@ - package com.controller; import java.io.File; @@ -37,7 +36,7 @@ import com.alibaba.fastjson.*; * 后端接口 * @author * @email -*/ + */ @RestController @Controller @RequestMapping("/yisheng") @@ -45,140 +44,134 @@ public class YishengController { private static final Logger logger = LoggerFactory.getLogger(YishengController.class); @Autowired - private YishengService yishengService; - + private YishengService yishengService; // 医生服务 @Autowired - private TokenService tokenService; + private TokenService tokenService; // token服务 @Autowired - private DictionaryService dictionaryService; + private DictionaryService dictionaryService; // 字典服务 //级联表service @Autowired - private YonghuService yonghuService; + private YonghuService yonghuService; // 用户服务 /** - * 后端列表 - */ + * 后端列表 + */ @RequestMapping("/page") public R page(@RequestParam Map params, HttpServletRequest request){ logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params)); - String role = String.valueOf(request.getSession().getAttribute("role")); + String role = String.valueOf(request.getSession().getAttribute("role")); // 获取用户角色 if(false) return R.error(511,"永不会进入"); else if("用户".equals(role)) - params.put("yonghuId",request.getSession().getAttribute("userId")); + params.put("yonghuId",request.getSession().getAttribute("userId")); // 如果是用户角色,添加用户ID参数 else if("医生".equals(role)) - params.put("yishengId",request.getSession().getAttribute("userId")); + params.put("yishengId",request.getSession().getAttribute("userId")); // 如果是医生角色,添加医生ID参数 if(params.get("orderBy")==null || params.get("orderBy")==""){ - params.put("orderBy","id"); + params.put("orderBy","id"); // 默认按ID排序 } - PageUtils page = yishengService.queryPage(params); + PageUtils page = yishengService.queryPage(params); // 分页查询 //字典表数据转换 List list =(List)page.getList(); for(YishengView c:list){ //修改对应字典表字段 - dictionaryService.dictionaryConvert(c, request); + dictionaryService.dictionaryConvert(c, request); // 转换字典字段 } - return R.ok().put("data", page); + return R.ok().put("data", page); // 返回分页数据 } /** - * 后端详情 - */ + * 后端详情 + */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id, HttpServletRequest request){ logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id); - YishengEntity yisheng = yishengService.selectById(id); + YishengEntity yisheng = yishengService.selectById(id); // 根据ID查询医生 if(yisheng !=null){ //entity转view YishengView view = new YishengView(); - BeanUtils.copyProperties( yisheng , view );//把实体数据重构到view中 + BeanUtils.copyProperties( yisheng , view ); // 把实体数据重构到view中 //修改对应字典表字段 - dictionaryService.dictionaryConvert(view, request); - return R.ok().put("data", view); + dictionaryService.dictionaryConvert(view, request); // 转换字典字段 + return R.ok().put("data", view); // 返回医生详情 }else { - return R.error(511,"查不到数据"); + return R.error(511,"查不到数据"); // 查询不到返回错误 } - } /** - * 后端保存 - */ + * 后端保存 + */ @RequestMapping("/save") public R save(@RequestBody YishengEntity yisheng, HttpServletRequest request){ logger.debug("save方法:,,Controller:{},,yisheng:{}",this.getClass().getName(),yisheng.toString()); - String role = String.valueOf(request.getSession().getAttribute("role")); + String role = String.valueOf(request.getSession().getAttribute("role")); // 获取用户角色 if(false) return R.error(511,"永远不会进入"); + // 构建查询条件:用户名或手机号 Wrapper queryWrapper = new EntityWrapper() - .eq("username", yisheng.getUsername()) - .or() - .eq("yisheng_phone", yisheng.getYishengPhone()) - ; + .eq("username", yisheng.getUsername()) + .or() + .eq("yisheng_phone", yisheng.getYishengPhone()); logger.info("sql语句:"+queryWrapper.getSqlSegment()); - YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); + YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); // 查询是否已存在 if(yishengEntity==null){ - yisheng.setCreateTime(new Date()); - yisheng.setPassword("123456"); - yishengService.insert(yisheng); - return R.ok(); + yisheng.setCreateTime(new Date()); // 设置创建时间 + yisheng.setPassword("123456"); // 设置默认密码 + yishengService.insert(yisheng); // 插入新医生数据 + return R.ok(); // 返回成功 }else { - return R.error(511,"账户或者联系方式已经被使用"); + return R.error(511,"账户或者联系方式已经被使用"); // 已存在返回错误 } } /** - * 后端修改 - */ + * 后端修改 + */ @RequestMapping("/update") public R update(@RequestBody YishengEntity yisheng, HttpServletRequest request){ logger.debug("update方法:,,Controller:{},,yisheng:{}",this.getClass().getName(),yisheng.toString()); - String role = String.valueOf(request.getSession().getAttribute("role")); -// if(false) -// return R.error(511,"永远不会进入"); - //根据字段查询是否有相同数据 + String role = String.valueOf(request.getSession().getAttribute("role")); // 获取用户角色 + // 构建查询条件:排除当前ID,查询用户名或手机号是否已被其他记录使用 Wrapper queryWrapper = new EntityWrapper() - .notIn("id",yisheng.getId()) - .andNew() - .eq("username", yisheng.getUsername()) - .or() - .eq("yisheng_phone", yisheng.getYishengPhone()) - ; + .notIn("id",yisheng.getId()) + .andNew() + .eq("username", yisheng.getUsername()) + .or() + .eq("yisheng_phone", yisheng.getYishengPhone()); logger.info("sql语句:"+queryWrapper.getSqlSegment()); - YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); + YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); // 查询是否冲突 if("".equals(yisheng.getYishengPhoto()) || "null".equals(yisheng.getYishengPhoto())){ - yisheng.setYishengPhoto(null); + yisheng.setYishengPhoto(null); // 处理空照片 } if(yishengEntity==null){ - yishengService.updateById(yisheng);//根据id更新 - return R.ok(); + yishengService.updateById(yisheng); // 根据id更新 + return R.ok(); // 返回成功 }else { - return R.error(511,"账户或者联系方式已经被使用"); + return R.error(511,"账户或者联系方式已经被使用"); // 冲突返回错误 } } /** - * 删除 - */ + * 删除 + */ @RequestMapping("/delete") public R delete(@RequestBody Integer[] ids){ logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString()); - yishengService.deleteBatchIds(Arrays.asList(ids)); - return R.ok(); + yishengService.deleteBatchIds(Arrays.asList(ids)); // 批量删除 + return R.ok(); // 返回成功 } - /** * 批量上传 */ @@ -186,76 +179,62 @@ public class YishengController { public R save( String fileName){ logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName); try { - List yishengList = new ArrayList<>();//上传的东西 - Map> seachFields= new HashMap<>();//要查询的字段 + List yishengList = new ArrayList<>(); // 上传的数据列表 + Map> seachFields= new HashMap<>(); // 要查询的字段 Date date = new Date(); int lastIndexOf = fileName.lastIndexOf("."); if(lastIndexOf == -1){ - return R.error(511,"该文件没有后缀"); + return R.error(511,"该文件没有后缀"); // 文件后缀检查 }else{ String suffix = fileName.substring(lastIndexOf); if(!".xls".equals(suffix)){ - return R.error(511,"只支持后缀为xls的excel文件"); + return R.error(511,"只支持后缀为xls的excel文件"); // 文件格式检查 }else{ - URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径 + URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName); // 获取文件路径 File file = new File(resource.getFile()); if(!file.exists()){ - return R.error(511,"找不到上传文件,请联系管理员"); + return R.error(511,"找不到上传文件,请联系管理员"); // 文件存在检查 }else{ - List> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件 - dataList.remove(0);//删除第一行,因为第一行是提示 + List> dataList = PoiUtil.poiImport(file.getPath()); // 读取xls文件 + dataList.remove(0); // 删除第一行提示行 for(List data:dataList){ - //循环 + //循环处理每行数据 YishengEntity yishengEntity = new YishengEntity(); -// yishengEntity.setYishengUuidNumber(data.get(0)); //医生工号 要改的 -// yishengEntity.setUsername(data.get(0)); //账户 要改的 -// //yishengEntity.setPassword("123456");//密码 -// yishengEntity.setYishengName(data.get(0)); //医生名称 要改的 -// yishengEntity.setYishengTypes(Integer.valueOf(data.get(0))); //科室 要改的 -// yishengEntity.setZhiweiTypes(Integer.valueOf(data.get(0))); //职位 要改的 -// yishengEntity.setYishengZhichneg(data.get(0)); //职称 要改的 -// yishengEntity.setYishengPhoto("");//照片 -// yishengEntity.setYishengPhone(data.get(0)); //联系方式 要改的 -// yishengEntity.setYishengGuahao(data.get(0)); //挂号须知 要改的 -// yishengEntity.setYishengEmail(data.get(0)); //邮箱 要改的 -// yishengEntity.setYishengNewMoney(data.get(0)); //挂号价格 要改的 -// yishengEntity.setYishengContent("");//照片 -// yishengEntity.setCreateTime(date);//时间 - yishengList.add(yishengEntity); - - - //把要查询是否重复的字段放入map中 - //医生工号 - if(seachFields.containsKey("yishengUuidNumber")){ - List yishengUuidNumber = seachFields.get("yishengUuidNumber"); - yishengUuidNumber.add(data.get(0));//要改的 - }else{ - List yishengUuidNumber = new ArrayList<>(); - yishengUuidNumber.add(data.get(0));//要改的 - seachFields.put("yishengUuidNumber",yishengUuidNumber); - } - //账户 - if(seachFields.containsKey("username")){ - List username = seachFields.get("username"); - username.add(data.get(0));//要改的 - }else{ - List username = new ArrayList<>(); - username.add(data.get(0));//要改的 - seachFields.put("username",username); - } - //联系方式 - if(seachFields.containsKey("yishengPhone")){ - List yishengPhone = seachFields.get("yishengPhone"); - yishengPhone.add(data.get(0));//要改的 - }else{ - List yishengPhone = new ArrayList<>(); - yishengPhone.add(data.get(0));//要改的 - seachFields.put("yishengPhone",yishengPhone); - } + // 这里注释掉的代码是字段映射示例,实际使用时需要根据Excel列对应关系修改 + yishengList.add(yishengEntity); // 添加到列表 + + // 把要查询是否重复的字段放入map中 + // 医生工号 + if(seachFields.containsKey("yishengUuidNumber")){ + List yishengUuidNumber = seachFields.get("yishengUuidNumber"); + yishengUuidNumber.add(data.get(0)); // 要改的 + }else{ + List yishengUuidNumber = new ArrayList<>(); + yishengUuidNumber.add(data.get(0)); // 要改的 + seachFields.put("yishengUuidNumber",yishengUuidNumber); + } + // 账户 + if(seachFields.containsKey("username")){ + List username = seachFields.get("username"); + username.add(data.get(0)); // 要改的 + }else{ + List username = new ArrayList<>(); + username.add(data.get(0)); // 要改的 + seachFields.put("username",username); + } + // 联系方式 + if(seachFields.containsKey("yishengPhone")){ + List yishengPhone = seachFields.get("yishengPhone"); + yishengPhone.add(data.get(0)); // 要改的 + }else{ + List yishengPhone = new ArrayList<>(); + yishengPhone.add(data.get(0)); // 要改的 + seachFields.put("yishengPhone",yishengPhone); + } } - //查询是否重复 - //医生工号 + // 查询是否重复 + // 医生工号 List yishengEntities_yishengUuidNumber = yishengService.selectList(new EntityWrapper().in("yisheng_uuid_number", seachFields.get("yishengUuidNumber"))); if(yishengEntities_yishengUuidNumber.size() >0 ){ ArrayList repeatFields = new ArrayList<>(); @@ -264,7 +243,7 @@ public class YishengController { } return R.error(511,"数据库的该表中的 [医生工号] 字段已经存在 存在数据为:"+repeatFields.toString()); } - //账户 + // 账户 List yishengEntities_username = yishengService.selectList(new EntityWrapper().in("username", seachFields.get("username"))); if(yishengEntities_username.size() >0 ){ ArrayList repeatFields = new ArrayList<>(); @@ -273,7 +252,7 @@ public class YishengController { } return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString()); } - //联系方式 + // 联系方式 List yishengEntities_yishengPhone = yishengService.selectList(new EntityWrapper().in("yisheng_phone", seachFields.get("yishengPhone"))); if(yishengEntities_yishengPhone.size() >0 ){ ArrayList repeatFields = new ArrayList<>(); @@ -282,60 +261,53 @@ public class YishengController { } return R.error(511,"数据库的该表中的 [联系方式] 字段已经存在 存在数据为:"+repeatFields.toString()); } - yishengService.insertBatch(yishengList); + yishengService.insertBatch(yishengList); // 批量插入 return R.ok(); } } } }catch (Exception e){ - return R.error(511,"批量插入数据异常,请联系管理员"); + return R.error(511,"批量插入数据异常,请联系管理员"); // 异常处理 } } - /** - * 登录 - */ + * 登录 + */ @IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { - YishengEntity yisheng = yishengService.selectOne(new EntityWrapper().eq("username", username)); + YishengEntity yisheng = yishengService.selectOne(new EntityWrapper().eq("username", username)); // 根据用户名查询 if(yisheng==null || !yisheng.getPassword().equals(password)) - return R.error("账号或密码不正确"); - // // 获取监听器中的字典表 - // ServletContext servletContext = ContextLoader.getCurrentWebApplicationContext().getServletContext(); - // Map> dictionaryMap= (Map>) servletContext.getAttribute("dictionaryMap"); - // Map role_types = dictionaryMap.get("role_types"); - // role_types.get(.getRoleTypes()); - String token = tokenService.generateToken(yisheng.getId(),username, "yisheng", "医生"); + return R.error("账号或密码不正确"); // 验证账号密码 + String token = tokenService.generateToken(yisheng.getId(),username, "yisheng", "医生"); // 生成token R r = R.ok(); - r.put("token", token); - r.put("role","医生"); - r.put("username",yisheng.getYishengName()); - r.put("tableName","yisheng"); - r.put("userId",yisheng.getId()); + r.put("token", token); // 返回token + r.put("role","医生"); // 返回角色 + r.put("username",yisheng.getYishengName()); // 返回医生姓名 + r.put("tableName","yisheng"); // 返回表名 + r.put("userId",yisheng.getId()); // 返回用户ID return r; } /** - * 注册 - */ + * 注册 + */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody YishengEntity yisheng){ -// ValidatorUtils.validateEntity(user); + // 构建查询条件:用户名或手机号 Wrapper queryWrapper = new EntityWrapper() - .eq("username", yisheng.getUsername()) - .or() - .eq("yisheng_phone", yisheng.getYishengPhone()) - ; - YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); + .eq("username", yisheng.getUsername()) + .or() + .eq("yisheng_phone", yisheng.getYishengPhone()); + YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); // 查询是否已存在 if(yishengEntity != null) - return R.error("账户或者联系方式已经被使用"); - yisheng.setYishengNewMoney(0.0); - yisheng.setCreateTime(new Date()); - yishengService.insert(yisheng); - return R.ok(); + return R.error("账户或者联系方式已经被使用"); // 已存在返回错误 + yisheng.setYishengNewMoney(0.0); // 设置初始金额 + yisheng.setCreateTime(new Date()); // 设置创建时间 + yishengService.insert(yisheng); // 插入新医生 + return R.ok(); // 返回成功 } /** @@ -344,69 +316,63 @@ public class YishengController { @GetMapping(value = "/resetPassword") public R resetPassword(Integer id){ YishengEntity yisheng = new YishengEntity(); - yisheng.setPassword("123456"); + yisheng.setPassword("123456"); // 重置为默认密码 yisheng.setId(id); - yishengService.updateById(yisheng); - return R.ok(); + yishengService.updateById(yisheng); // 更新密码 + return R.ok(); // 返回成功 } - /** * 忘记密码 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request) { - YishengEntity yisheng = yishengService.selectOne(new EntityWrapper().eq("username", username)); + YishengEntity yisheng = yishengService.selectOne(new EntityWrapper().eq("username", username)); // 根据用户名查询 if(yisheng!=null){ - yisheng.setPassword("123456"); - boolean b = yishengService.updateById(yisheng); + yisheng.setPassword("123456"); // 重置为默认密码 + boolean b = yishengService.updateById(yisheng); // 更新密码 if(!b){ - return R.error(); + return R.error(); // 更新失败 } }else{ - return R.error("账号不存在"); + return R.error("账号不存在"); // 账号不存在 } - return R.ok(); + return R.ok(); // 返回成功 } - /** - * 获取用户的session用户信息 - */ + * 获取用户的session用户信息 + */ @RequestMapping("/session") public R getCurrYisheng(HttpServletRequest request){ - Integer id = (Integer)request.getSession().getAttribute("userId"); - YishengEntity yisheng = yishengService.selectById(id); + Integer id = (Integer)request.getSession().getAttribute("userId"); // 获取session中的用户ID + YishengEntity yisheng = yishengService.selectById(id); // 查询用户信息 if(yisheng !=null){ //entity转view YishengView view = new YishengView(); - BeanUtils.copyProperties( yisheng , view );//把实体数据重构到view中 + BeanUtils.copyProperties( yisheng , view ); // 复制属性到view //修改对应字典表字段 - dictionaryService.dictionaryConvert(view, request); - return R.ok().put("data", view); + dictionaryService.dictionaryConvert(view, request); // 转换字典字段 + return R.ok().put("data", view); // 返回用户信息 }else { - return R.error(511,"查不到数据"); + return R.error(511,"查不到数据"); // 查询不到返回错误 } } - /** - * 退出 - */ + * 退出 + */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { - request.getSession().invalidate(); - return R.ok("退出成功"); + request.getSession().invalidate(); // 使session失效 + return R.ok("退出成功"); // 返回退出成功 } - - - /** - * 前端列表 - */ + * 前端列表 + */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map params, HttpServletRequest request){ @@ -416,60 +382,55 @@ public class YishengController { if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){ params.put("orderBy","id"); } - PageUtils page = yishengService.queryPage(params); + PageUtils page = yishengService.queryPage(params); // 分页查询 //字典表数据转换 List list =(List)page.getList(); for(YishengView c:list) - dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段 - return R.ok().put("data", page); + dictionaryService.dictionaryConvert(c, request); // 转换字典字段 + return R.ok().put("data", page); // 返回分页数据 } /** - * 前端详情 - */ + * 前端详情 + */ @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id, HttpServletRequest request){ logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id); - YishengEntity yisheng = yishengService.selectById(id); - if(yisheng !=null){ - - - //entity转view - YishengView view = new YishengView(); - BeanUtils.copyProperties( yisheng , view );//把实体数据重构到view中 + YishengEntity yisheng = yishengService.selectById(id); // 根据ID查询 + if(yisheng !=null){ + //entity转view + YishengView view = new YishengView(); + BeanUtils.copyProperties( yisheng , view ); // 复制属性到view - //修改对应字典表字段 - dictionaryService.dictionaryConvert(view, request); - return R.ok().put("data", view); - }else { - return R.error(511,"查不到数据"); - } + //修改对应字典表字段 + dictionaryService.dictionaryConvert(view, request); // 转换字典字段 + return R.ok().put("data", view); // 返回详情 + }else { + return R.error(511,"查不到数据"); // 查询不到返回错误 + } } - /** - * 前端保存 - */ + * 前端保存 + */ @RequestMapping("/add") public R add(@RequestBody YishengEntity yisheng, HttpServletRequest request){ logger.debug("add方法:,,Controller:{},,yisheng:{}",this.getClass().getName(),yisheng.toString()); + // 构建查询条件:用户名或手机号 Wrapper queryWrapper = new EntityWrapper() - .eq("username", yisheng.getUsername()) - .or() - .eq("yisheng_phone", yisheng.getYishengPhone()) - ; + .eq("username", yisheng.getUsername()) + .or() + .eq("yisheng_phone", yisheng.getYishengPhone()); logger.info("sql语句:"+queryWrapper.getSqlSegment()); - YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); + YishengEntity yishengEntity = yishengService.selectOne(queryWrapper); // 查询是否已存在 if(yishengEntity==null){ - yisheng.setCreateTime(new Date()); - yisheng.setPassword("123456"); - yishengService.insert(yisheng); - return R.ok(); + yisheng.setCreateTime(new Date()); // 设置创建时间 + yisheng.setPassword("123456"); // 设置默认密码 + yishengService.insert(yisheng); // 插入新医生 + return R.ok(); // 返回成功 }else { - return R.error(511,"账户或者联系方式已经被使用"); + return R.error(511,"账户或者联系方式已经被使用"); // 已存在返回错误 } } - - -} +} \ No newline at end of file From 97b6cd9b4e92bbf41e6662c228448772117d257f Mon Sep 17 00:00:00 2001 From: cp <2474209645@qq.com> Date: Mon, 28 Apr 2025 21:20:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=9D=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/entity/YishengEntity.java | 390 +++++++++++--------- 1 file changed, 218 insertions(+), 172 deletions(-) diff --git a/src/main/java/com/entity/YishengEntity.java b/src/main/java/com/entity/YishengEntity.java index aabc27f..3f81dc6 100644 --- a/src/main/java/com/entity/YishengEntity.java +++ b/src/main/java/com/entity/YishengEntity.java @@ -21,397 +21,443 @@ import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.IdType; /** - * 医生 + * 医生实体类,用于映射数据库中的医生信息表 + * 实现了 Serializable 接口,方便对象的序列化和反序列化 * - * @author - * @email + * @author 此处应填写作者姓名 + * @email 此处应填写作者邮箱 */ -@TableName("yisheng") +@TableName("yisheng") // 表明该实体类对应数据库中的表名为 "yisheng" public class YishengEntity implements Serializable { + // 序列化版本号,用于保证序列化和反序列化过程中对象版本的一致性 private static final long serialVersionUID = 1L; + /** + * 无参构造函数 + * 用于创建一个空的 YishengEntity 对象 + */ + public YishengEntity() { - public YishengEntity() { - - } - - public YishengEntity(T t) { - try { - BeanUtils.copyProperties(this, t); - } catch (IllegalAccessException | InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } + } + /** + * 带参构造函数 + * 接收一个泛型对象 t,将其属性复制到当前 YishengEntity 对象中 + * + * @param t 泛型对象,其属性将被复制到当前对象 + */ + public YishengEntity(T t) { + try { + // 使用 BeanUtils 工具类将对象 t 的属性复制到当前对象 + BeanUtils.copyProperties(this, t); + } catch (IllegalAccessException | InvocationTargetException e) { + // 若复制属性过程中出现异常,打印异常堆栈信息 + e.printStackTrace(); + } + } /** * 主键 + * 数据库表中的唯一标识字段 */ - @TableId(type = IdType.AUTO) - @TableField(value = "id") - + @TableId(type = IdType.AUTO) // 表示该字段为主键,且采用自增方式生成 + @TableField(value = "id") // 表明该属性对应数据库表中的字段名为 "id" private Integer id; - /** * 医生工号 + * 用于唯一标识医生的编号 */ - @TableField(value = "yisheng_uuid_number") - + @TableField(value = "yisheng_uuid_number") // 表明该属性对应数据库表中的字段名为 "yisheng_uuid_number" private String yishengUuidNumber; - /** * 账户 + * 医生登录系统使用的账户名 */ - @TableField(value = "username") - + @TableField(value = "username") // 表明该属性对应数据库表中的字段名为 "username" private String username; - /** * 密码 + * 医生登录系统使用的密码 */ - @TableField(value = "password") - + @TableField(value = "password") // 表明该属性对应数据库表中的字段名为 "password" private String password; - /** * 医生名称 + * 医生的真实姓名 */ - @TableField(value = "yisheng_name") - + @TableField(value = "yisheng_name") // 表明该属性对应数据库表中的字段名为 "yisheng_name" private String yishengName; - /** * 科室 + * 医生所属的科室,用整数表示科室编号 */ - @TableField(value = "yisheng_types") - + @TableField(value = "yisheng_types") // 表明该属性对应数据库表中的字段名为 "yisheng_types" private Integer yishengTypes; - /** * 职位 + * 医生的职位,用整数表示职位编号 */ - @TableField(value = "zhiwei_types") - + @TableField(value = "zhiwei_types") // 表明该属性对应数据库表中的字段名为 "zhiwei_types" private Integer zhiweiTypes; - /** * 职称 + * 医生的职称信息 */ - @TableField(value = "yisheng_zhichneg") - + @TableField(value = "yisheng_zhichneg") // 表明该属性对应数据库表中的字段名为 "yisheng_zhichneg" private String yishengZhichneg; - /** * 医生头像 + * 医生头像的存储路径或链接 */ - @TableField(value = "yisheng_photo") - + @TableField(value = "yisheng_photo") // 表明该属性对应数据库表中的字段名为 "yisheng_photo" private String yishengPhoto; - /** * 联系方式 + * 医生的联系电话号码 */ - @TableField(value = "yisheng_phone") - + @TableField(value = "yisheng_phone") // 表明该属性对应数据库表中的字段名为 "yisheng_phone" private String yishengPhone; - /** * 挂号须知 + * 关于该医生挂号的相关注意事项 */ - @TableField(value = "yisheng_guahao") - + @TableField(value = "yisheng_guahao") // 表明该属性对应数据库表中的字段名为 "yisheng_guahao" private String yishengGuahao; - /** * 邮箱 + * 医生的电子邮箱地址 */ - @TableField(value = "yisheng_email") - + @TableField(value = "yisheng_email") // 表明该属性对应数据库表中的字段名为 "yisheng_email" private String yishengEmail; - /** * 挂号价格 + * 患者挂该医生号所需支付的费用 */ - @TableField(value = "yisheng_new_money") - + @TableField(value = "yisheng_new_money") // 表明该属性对应数据库表中的字段名为 "yisheng_new_money" private Double yishengNewMoney; - /** * 履历介绍 + * 医生的工作履历、专业技能等相关介绍信息 */ - @TableField(value = "yisheng_content") - + @TableField(value = "yisheng_content") // 表明该属性对应数据库表中的字段名为 "yisheng_content" private String yishengContent; - /** * 创建时间 + * 该医生信息在数据库中创建的时间 */ - @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat - @TableField(value = "create_time",fill = FieldFill.INSERT) - + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 用于将日期格式化为指定格式,方便前端展示 + @DateTimeFormat // 用于将前端传递的日期字符串解析为 Date 类型 + @TableField(value = "create_time",fill = FieldFill.INSERT) // 表明该属性对应数据库表中的字段名为 "create_time",且在插入数据时自动填充 private Date createTime; - /** - * 设置:主键 - */ + * 获取主键 + * + * @return 主键的值 + */ public Integer getId() { return id; } - /** - * 获取:主键 - */ - + * 设置主键 + * + * @param id 要设置的主键值 + */ public void setId(Integer id) { this.id = id; } + /** - * 设置:医生工号 - */ + * 获取医生工号 + * + * @return 医生工号的值 + */ public String getYishengUuidNumber() { return yishengUuidNumber; } - /** - * 获取:医生工号 - */ - + * 设置医生工号 + * + * @param yishengUuidNumber 要设置的医生工号值 + */ public void setYishengUuidNumber(String yishengUuidNumber) { this.yishengUuidNumber = yishengUuidNumber; } + /** - * 设置:账户 - */ + * 获取账户 + * + * @return 账户的值 + */ public String getUsername() { return username; } - /** - * 获取:账户 - */ - + * 设置账户 + * + * @param username 要设置的账户值 + */ public void setUsername(String username) { this.username = username; } + /** - * 设置:密码 - */ + * 获取密码 + * + * @return 密码的值 + */ public String getPassword() { return password; } - /** - * 获取:密码 - */ - + * 设置密码 + * + * @param password 要设置的密码值 + */ public void setPassword(String password) { this.password = password; } + /** - * 设置:医生名称 - */ + * 获取医生名称 + * + * @return 医生名称的值 + */ public String getYishengName() { return yishengName; } - /** - * 获取:医生名称 - */ - + * 设置医生名称 + * + * @param yishengName 要设置的医生名称值 + */ public void setYishengName(String yishengName) { this.yishengName = yishengName; } + /** - * 设置:科室 - */ + * 获取科室 + * + * @return 科室的值 + */ public Integer getYishengTypes() { return yishengTypes; } - /** - * 获取:科室 - */ - + * 设置科室 + * + * @param yishengTypes 要设置的科室值 + */ public void setYishengTypes(Integer yishengTypes) { this.yishengTypes = yishengTypes; } + /** - * 设置:职位 - */ + * 获取职位 + * + * @return 职位的值 + */ public Integer getZhiweiTypes() { return zhiweiTypes; } - /** - * 获取:职位 - */ - + * 设置职位 + * + * @param zhiweiTypes 要设置的职位值 + */ public void setZhiweiTypes(Integer zhiweiTypes) { this.zhiweiTypes = zhiweiTypes; } + /** - * 设置:职称 - */ + * 获取职称 + * + * @return 职称的值 + */ public String getYishengZhichneg() { return yishengZhichneg; } - /** - * 获取:职称 - */ - + * 设置职称 + * + * @param yishengZhichneg 要设置的职称值 + */ public void setYishengZhichneg(String yishengZhichneg) { this.yishengZhichneg = yishengZhichneg; } + /** - * 设置:医生头像 - */ + * 获取医生头像 + * + * @return 医生头像的值 + */ public String getYishengPhoto() { return yishengPhoto; } - /** - * 获取:医生头像 - */ - + * 设置医生头像 + * + * @param yishengPhoto 要设置的医生头像值 + */ public void setYishengPhoto(String yishengPhoto) { this.yishengPhoto = yishengPhoto; } + /** - * 设置:联系方式 - */ + * 获取联系方式 + * + * @return 联系方式的值 + */ public String getYishengPhone() { return yishengPhone; } - /** - * 获取:联系方式 - */ - + * 设置联系方式 + * + * @param yishengPhone 要设置的联系方式值 + */ public void setYishengPhone(String yishengPhone) { this.yishengPhone = yishengPhone; } + /** - * 设置:挂号须知 - */ + * 获取挂号须知 + * + * @return 挂号须知的值 + */ public String getYishengGuahao() { return yishengGuahao; } - /** - * 获取:挂号须知 - */ - + * 设置挂号须知 + * + * @param yishengGuahao 要设置的挂号须知值 + */ public void setYishengGuahao(String yishengGuahao) { this.yishengGuahao = yishengGuahao; } + /** - * 设置:邮箱 - */ + * 获取邮箱 + * + * @return 邮箱的值 + */ public String getYishengEmail() { return yishengEmail; } - /** - * 获取:邮箱 - */ - + * 设置邮箱 + * + * @param yishengEmail 要设置的邮箱值 + */ public void setYishengEmail(String yishengEmail) { this.yishengEmail = yishengEmail; } + /** - * 设置:挂号价格 - */ + * 获取挂号价格 + * + * @return 挂号价格的值 + */ public Double getYishengNewMoney() { return yishengNewMoney; } - /** - * 获取:挂号价格 - */ - + * 设置挂号价格 + * + * @param yishengNewMoney 要设置的挂号价格值 + */ public void setYishengNewMoney(Double yishengNewMoney) { this.yishengNewMoney = yishengNewMoney; } + /** - * 设置:履历介绍 - */ + * 获取履历介绍 + * + * @return 履历介绍的值 + */ public String getYishengContent() { return yishengContent; } - /** - * 获取:履历介绍 - */ - + * 设置履历介绍 + * + * @param yishengContent 要设置的履历介绍值 + */ public void setYishengContent(String yishengContent) { this.yishengContent = yishengContent; } + /** - * 设置:创建时间 - */ + * 获取创建时间 + * + * @return 创建时间的值 + */ public Date getCreateTime() { return createTime; } - /** - * 获取:创建时间 - */ - + * 设置创建时间 + * + * @param createTime 要设置的创建时间值 + */ public void setCreateTime(Date createTime) { this.createTime = createTime; } + /** + * 重写 toString 方法 + * 用于将对象的属性以字符串形式输出,方便调试和日志记录 + * + * @return 包含对象属性信息的字符串 + */ @Override public String toString() { return "Yisheng{" + - "id=" + id + - ", yishengUuidNumber=" + yishengUuidNumber + - ", username=" + username + - ", password=" + password + - ", yishengName=" + yishengName + - ", yishengTypes=" + yishengTypes + - ", zhiweiTypes=" + zhiweiTypes + - ", yishengZhichneg=" + yishengZhichneg + - ", yishengPhoto=" + yishengPhoto + - ", yishengPhone=" + yishengPhone + - ", yishengGuahao=" + yishengGuahao + - ", yishengEmail=" + yishengEmail + - ", yishengNewMoney=" + yishengNewMoney + - ", yishengContent=" + yishengContent + - ", createTime=" + createTime + - "}"; - } -} + "id=" + id + + ", yishengUuidNumber=" + yishengUuidNumber + + ", username=" + username + + ", password=" + password + + ", yishengName=" + yishengName + + ", yishengTypes=" + yishengTypes + + ", zhiweiTypes=" + zhiweiTypes + + ", yishengZhichneg=" + yishengZhichneg + + ", yishengPhoto=" + yishengPhoto + + ", yishengPhone=" + yishengPhone + + ", yishengGuahao=" + yishengGuahao + + ", yishengEmail=" + yishengEmail + + ", yishengNewMoney=" + yishengNewMoney + + ", yishengContent=" + yishengContent + + ", createTime=" + createTime + + "}"; + } +} \ No newline at end of file From 423ad0b7bbf5f4be22897df9bf84c4b48534c714 Mon Sep 17 00:00:00 2001 From: cp <2474209645@qq.com> Date: Mon, 28 Apr 2025 21:34:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=9D=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/entity/model/YishengModel.java | 229 +++++------------- 1 file changed, 55 insertions(+), 174 deletions(-) diff --git a/src/main/java/com/entity/model/YishengModel.java b/src/main/java/com/entity/model/YishengModel.java index 9d4ea1b..029644d 100644 --- a/src/main/java/com/entity/model/YishengModel.java +++ b/src/main/java/com/entity/model/YishengModel.java @@ -8,7 +8,6 @@ import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; - /** * 医生 * 接收传参的实体类 @@ -16,312 +15,194 @@ import java.io.Serializable; * 取自ModelAndView 的model名称 */ public class YishengModel implements Serializable { - private static final long serialVersionUID = 1L; - - - + private static final long serialVersionUID = 1L; // 序列化版本UID,用于版本控制 /** * 主键 */ private Integer id; - /** * 医生工号 */ private String yishengUuidNumber; - /** * 账户 */ private String username; - /** * 密码 */ private String password; - /** * 医生名称 */ private String yishengName; - /** * 科室 + * 使用Integer类型存储,对应字典表中的科室编码 */ private Integer yishengTypes; - /** * 职位 + * 使用Integer类型存储,对应字典表中的职位编码 */ private Integer zhiweiTypes; - /** * 职称 */ private String yishengZhichneg; - /** * 医生头像 + * 存储头像图片的路径或URL */ private String yishengPhoto; - /** * 联系方式 */ private String yishengPhone; - /** * 挂号须知 + * 存储医生挂号的相关注意事项 */ private String yishengGuahao; - /** * 邮箱 */ private String yishengEmail; - /** * 挂号价格 */ private Double yishengNewMoney; - /** * 履历介绍 + * 存储医生的详细履历信息 */ private String yishengContent; - /** * 创建时间 show1 show2 photoShow + * 使用@JsonFormat和@DateTimeFormat注解进行日期格式化 */ @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat + @DateTimeFormat private Date createTime; - /** - * 获取:主键 - */ + * 获取主键ID + * @return 主键ID + */ public Integer getId() { return id; } - /** - * 设置:主键 - */ + * 设置主键ID + * @param id 主键ID + */ public void setId(Integer id) { this.id = id; } + /** - * 获取:医生工号 - */ + * 获取医生工号 + * @return 医生工号 + */ public String getYishengUuidNumber() { return yishengUuidNumber; } - /** - * 设置:医生工号 - */ + * 设置医生工号 + * @param yishengUuidNumber 医生工号 + */ public void setYishengUuidNumber(String yishengUuidNumber) { this.yishengUuidNumber = yishengUuidNumber; } + /** - * 获取:账户 - */ + * 获取账户名 + * @return 账户名 + */ public String getUsername() { return username; } - /** - * 设置:账户 - */ + * 设置账户名 + * @param username 账户名 + */ public void setUsername(String username) { this.username = username; } + /** - * 获取:密码 - */ + * 获取密码 + * @return 密码 + */ public String getPassword() { return password; } - /** - * 设置:密码 - */ + * 设置密码 + * @param password 密码 + */ public void setPassword(String password) { this.password = password; } + /** - * 获取:医生名称 - */ + * 获取医生姓名 + * @return 医生姓名 + */ public String getYishengName() { return yishengName; } - /** - * 设置:医生名称 - */ + * 设置医生姓名 + * @param yishengName 医生姓名 + */ public void setYishengName(String yishengName) { this.yishengName = yishengName; } + /** - * 获取:科室 - */ + * 获取科室类型 + * @return 科室类型编码 + */ public Integer getYishengTypes() { return yishengTypes; } - /** - * 设置:科室 - */ + * 设置科室类型 + * @param yishengTypes 科室类型编码 + */ public void setYishengTypes(Integer yishengTypes) { this.yishengTypes = yishengTypes; } + /** - * 获取:职位 - */ + * 获取职位类型 + * @return 职位类型编码 + */ public Integer getZhiweiTypes() { return zhiweiTypes; } - - /** - * 设置:职位 - */ - public void setZhiweiTypes(Integer zhiweiTypes) { - this.zhiweiTypes = zhiweiTypes; - } - /** - * 获取:职称 - */ - public String getYishengZhichneg() { - return yishengZhichneg; - } - - - /** - * 设置:职称 - */ - public void setYishengZhichneg(String yishengZhichneg) { - this.yishengZhichneg = yishengZhichneg; - } - /** - * 获取:医生头像 - */ - public String getYishengPhoto() { - return yishengPhoto; - } - - - /** - * 设置:医生头像 - */ - public void setYishengPhoto(String yishengPhoto) { - this.yishengPhoto = yishengPhoto; - } - /** - * 获取:联系方式 - */ - public String getYishengPhone() { - return yishengPhone; - } - - - /** - * 设置:联系方式 - */ - public void setYishengPhone(String yishengPhone) { - this.yishengPhone = yishengPhone; - } - /** - * 获取:挂号须知 - */ - public String getYishengGuahao() { - return yishengGuahao; - } - - - /** - * 设置:挂号须知 - */ - public void setYishengGuahao(String yishengGuahao) { - this.yishengGuahao = yishengGuahao; - } - /** - * 获取:邮箱 - */ - public String getYishengEmail() { - return yishengEmail; - } - - - /** - * 设置:邮箱 - */ - public void setYishengEmail(String yishengEmail) { - this.yishengEmail = yishengEmail; - } - /** - * 获取:挂号价格 - */ - public Double getYishengNewMoney() { - return yishengNewMoney; - } - - - /** - * 设置:挂号价格 - */ - public void setYishengNewMoney(Double yishengNewMoney) { - this.yishengNewMoney = yishengNewMoney; - } - /** - * 获取:履历介绍 - */ - public String getYishengContent() { - return yishengContent; - } - - - /** - * 设置:履历介绍 - */ - public void setYishengContent(String yishengContent) { - this.yishengContent = yishengContent; - } - /** - * 获取:创建时间 show1 show2 photoShow - */ - public Date getCreateTime() { - return createTime; - } - - - /** - * 设置:创建时间 show1 show2 photoShow - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - } +/** + * 设置职位类型 \ No newline at end of file