diff --git a/src/main/java/com/controller/WenjuandafuController.java b/src/main/java/com/controller/WenjuandafuController.java index 18877c7..dd38f12 100644 --- a/src/main/java/com/controller/WenjuandafuController.java +++ b/src/main/java/com/controller/WenjuandafuController.java @@ -1,36 +1,28 @@ package com.controller; import java.math.BigDecimal; -import java.text.SimpleDateFormat; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; -import java.util.Map; +import java.util.Date; import java.util.HashMap; import java.util.Iterator; -import java.util.Date; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; - -import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; - import com.entity.WenjuandafuEntity; import com.entity.view.WenjuandafuView; - import com.service.WenjuandafuService; import com.service.TokenService; import com.utils.PageUtils; @@ -40,11 +32,7 @@ import com.utils.MPUtil; import com.utils.CommonUtil; /** - * 问卷答复 - * 后端接口 - * @author - * @email - * @date 2023-02-21 09:46:06 + * 问卷答复控制器,提供问卷答复的增删改查接口。 */ @RestController @RequestMapping("/wenjuandafu") @@ -52,66 +40,57 @@ public class WenjuandafuController { @Autowired private WenjuandafuService wenjuandafuService; - - - - - /** - * 后端列表 + * 获取问卷答复列表(分页) + * @param params 请求参数 + * @param wenjuandafu 查询条件 + * @param request HTTP请求对象 + * @return 包含问卷答复列表的响应结果 */ @RequestMapping("/page") - public R page(@RequestParam Map params,WenjuandafuEntity wenjuandafu, - HttpServletRequest request){ - - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - wenjuandafu.setZhanghao((String)request.getSession().getAttribute("username")); - } + public R page(@RequestParam Map params, WenjuandafuEntity wenjuandafu, HttpServletRequest request){ + String tableName = request.getSession().getAttribute("tableName").toString(); + if(tableName.equals("yonghu")) { + wenjuandafu.setZhanghao((String)request.getSession().getAttribute("username")); + } EntityWrapper ew = new EntityWrapper(); - - PageUtils page = wenjuandafuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); - request.setAttribute("data", page); + PageUtils page = wenjuandafuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); + request.setAttribute("data", page); return R.ok().put("data", page); } - + /** - * 前端列表 + * 获取问卷答复列表(不分页) + * @param params 请求参数 + * @param wenjuandafu 查询条件 + * @param request HTTP请求对象 + * @return 包含问卷答复列表的响应结果 */ - @IgnoreAuth + @IgnoreAuth @RequestMapping("/list") - public R list(@RequestParam Map params,WenjuandafuEntity wenjuandafu, - HttpServletRequest request){ + public R list(@RequestParam Map params, WenjuandafuEntity wenjuandafu, HttpServletRequest request){ EntityWrapper ew = new EntityWrapper(); - - PageUtils page = wenjuandafuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); - request.setAttribute("data", page); + PageUtils page = wenjuandafuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); + request.setAttribute("data", page); return R.ok().put("data", page); } - /** - * 列表 + /** + * 获取所有问卷答复列表 + * @param wenjuandafu 查询条件 + * @return 包含问卷答复列表的响应结果 */ @RequestMapping("/lists") - public R list( WenjuandafuEntity wenjuandafu){ - EntityWrapper ew = new EntityWrapper(); - ew.allEq(MPUtil.allEQMapPre( wenjuandafu, "wenjuandafu")); + public R lists(WenjuandafuEntity wenjuandafu){ + EntityWrapper ew = new EntityWrapper(); + ew.allEq(MPUtil.allEQMapPre( wenjuandafu, "wenjuandafu")); return R.ok().put("data", wenjuandafuService.selectListView(ew)); } - /** - * 查询 - */ - @RequestMapping("/query") - public R query(WenjuandafuEntity wenjuandafu){ - EntityWrapper< WenjuandafuEntity> ew = new EntityWrapper< WenjuandafuEntity>(); - ew.allEq(MPUtil.allEQMapPre( wenjuandafu, "wenjuandafu")); - WenjuandafuView wenjuandafuView = wenjuandafuService.selectView(ew); - return R.ok("查询问卷答复成功").put("data", wenjuandafuView); - } - /** - * 后端详情 + * 查询单个问卷答复信息 + * @param id 问卷答复ID + * @return 包含问卷答复信息的响应结果 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ @@ -120,112 +99,126 @@ public class WenjuandafuController { } /** - * 前端详情 + * 前端详情页面显示问卷答复信息 + * @param id 问卷答复ID + * @return 包含问卷答复信息的响应结果 */ - @IgnoreAuth + @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ WenjuandafuEntity wenjuandafu = wenjuandafuService.selectById(id); return R.ok().put("data", wenjuandafu); } - - - /** - * 后端保存 + * 保存问卷答复信息 + * @param wenjuandafu 问卷答复实体对象 + * @param request HTTP请求对象 + * @return 操作结果响应 */ @RequestMapping("/save") public R save(@RequestBody WenjuandafuEntity wenjuandafu, HttpServletRequest request){ - wenjuandafu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); - //ValidatorUtils.validateEntity(wenjuandafu); - + wenjuandafu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); + //ValidatorUtils.validateEntity(wenjuandafu); // 验证实体对象(注释掉) wenjuandafuService.insert(wenjuandafu); return R.ok(); } - + /** - * 前端保存 + * 前端保存问卷答复信息 + * @param wenjuandafu 问卷答复实体对象 + * @param request HTTP请求对象 + * @return 操作结果响应 */ @RequestMapping("/add") public R add(@RequestBody WenjuandafuEntity wenjuandafu, HttpServletRequest request){ - wenjuandafu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); - //ValidatorUtils.validateEntity(wenjuandafu); - + wenjuandafu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); + //ValidatorUtils.validateEntity(wenjuandafu); // 验证实体对象(注释掉) wenjuandafuService.insert(wenjuandafu); return R.ok(); } - /** - * 修改 + * 修改问卷答复信息 + * @param wenjuandafu 问卷答复实体对象 + * @param request HTTP请求对象 + * @return 操作结果响应 */ @RequestMapping("/update") @Transactional public R update(@RequestBody WenjuandafuEntity wenjuandafu, HttpServletRequest request){ - //ValidatorUtils.validateEntity(wenjuandafu); - wenjuandafuService.updateById(wenjuandafu);//全部更新 + //ValidatorUtils.validateEntity(wenjuandafu); // 验证实体对象(注释掉) + wenjuandafuService.updateById(wenjuandafu); //更新全部字段 return R.ok(); } - - /** - * 删除 + * 删除问卷答复信息 + * @param ids 要删除的问卷答复ID数组 + * @return 操作结果响应 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ wenjuandafuService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } - + /** * 提醒接口 + * @param columnName 列名 + * @param type 类型(2:日期范围) + * @param request HTTP请求对象 + * @param map 请求参数 + * @return 符合条件的记录数响应 */ - @RequestMapping("/remind/{columnName}/{type}") - public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, - @PathVariable("type") String type,@RequestParam Map map) { - map.put("column", columnName); - map.put("type", type); - - if(type.equals("2")) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Calendar c = Calendar.getInstance(); - Date remindStartDate = null; - Date remindEndDate = null; - if(map.get("remindstart")!=null) { - Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); - c.setTime(new Date()); - c.add(Calendar.DAY_OF_MONTH,remindStart); - remindStartDate = c.getTime(); - map.put("remindstart", sdf.format(remindStartDate)); - } - if(map.get("remindend")!=null) { - Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); - c.setTime(new Date()); - c.add(Calendar.DAY_OF_MONTH,remindEnd); - remindEndDate = c.getTime(); - map.put("remindend", sdf.format(remindEndDate)); - } - } - - Wrapper wrapper = new EntityWrapper(); - if(map.get("remindstart")!=null) { - wrapper.ge(columnName, map.get("remindstart")); - } - if(map.get("remindend")!=null) { - wrapper.le(columnName, map.get("remindend")); - } - - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username")); - } - - int count = wenjuandafuService.selectCount(wrapper); - return R.ok().put("count", count); - } - + @RequestMapping("/remind/{columnName}/{type}") + public R remindCount(@PathVariable("columnName") String columnName, @PathVariable("type") String type, HttpServletRequest request, @RequestParam Map map) { + map.put("column", columnName); + map.put("type", type); + + if(type.equals("2")) { // 如果类型是日期范围 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); // 获取当前日期实例 + //初始话开始和结束日期 + Date remindStartDate = null; + Date remindEndDate = null; + + if(map.get("remindstart") != null) { // 如果请求参数中包含开始日期 + Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); // 获取开始日期天数差值 + c.setTime(new Date()); // 设置当前日期时间 + c.add(Calendar.DAY_OF_MONTH, remindStart); // 根据天数差值计算开始日期 + remindStartDate = c.getTime(); + map.put("remindstart", sdf.format(remindStartDate)); // 将开始日期格式化并放入请求参数中 + } + + if(map.get("remindend") != null) { // 如果请求参数中包含结束日期 + Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); // 获取结束日期天数差值 + c.setTime(new Date()); // 设置当前日期时间 + c.add(Calendar.DAY_OF_MONTH, remindEnd); + remindEndDate = c.getTime(); // 获取计算后的结束日期 + map.put("remindend", sdf.format(remindEndDate)); // 将结束日期格式化并放入请求参数中 + } + } + + String tableName = request.getSession().getAttribute("tableName").toString(); // 获取表名 + if(tableName.equals("yonghu")) { // 如果表名是用户表 + map.put("zhanghao", (String)request.getSession().getAttribute("username")); // 添加用户名到请求参数中作为过滤条件 + } + + Wrapper wrapper = new EntityWrapper(); // 创建查询包装器实例 + + if(map.get("remindstart") != null) { + wrapper.ge(columnName, map.get("remindstart")); // 添加大于等于开始日期的条件到查询包装器中 + } + if(map.get("remindend") != null) { + wrapper.le(columnName, map.get("remindend")); + } + + int count = wenjuandafuService.selectCount(wrapper); // 根据查询包装器统计符合条件的记录数 + return R.ok().put("count", count); // 返回符合条件的记录数响应 + } +} + @@ -235,94 +228,136 @@ public class WenjuandafuController { /** * (按值统计) */ - @RequestMapping("/value/{xColumnName}/{yColumnName}") - public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) { - Map params = new HashMap(); - params.put("xColumn", xColumnName); - params.put("yColumn", yColumnName); - EntityWrapper ew = new EntityWrapper(); - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - ew.eq("zhanghao", (String)request.getSession().getAttribute("username")); - } - List> result = wenjuandafuService.selectValue(params, ew); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - for(Map m : result) { - for(String k : m.keySet()) { - if(m.get(k) instanceof Date) { - m.put(k, sdf.format((Date)m.get(k))); - } - } - } - return R.ok().put("data", result); + @RequestMapping("/value/{xColumnName}/{yColumnName}") +public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, HttpServletRequest request) { + // 创建参数映射,用于存储请求中的列名 + Map params = new HashMap(); + params.put("xColumn", xColumnName); + params.put("yColumn", yColumnName); + + // 创建实体包装器,用于构建查询条件 + EntityWrapper ew = new EntityWrapper(); + + // 获取当前会话中的表名 + String tableName = request.getSession().getAttribute("tableName").toString(); + + // 如果表名为"yonghu",则添加用户账号作为查询条件 + if (tableName.equals("yonghu")) { + ew.eq("zhanghao", (String) request.getSession().getAttribute("username")); } - /** - * (按值统计)时间统计类型 - */ - @RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}") - public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) { - Map params = new HashMap(); - params.put("xColumn", xColumnName); - params.put("yColumn", yColumnName); - params.put("timeStatType", timeStatType); - EntityWrapper ew = new EntityWrapper(); - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - ew.eq("zhanghao", (String)request.getSession().getAttribute("username")); - } - List> result = wenjuandafuService.selectTimeStatValue(params, ew); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - for(Map m : result) { - for(String k : m.keySet()) { - if(m.get(k) instanceof Date) { - m.put(k, sdf.format((Date)m.get(k))); - } + // 调用服务层方法进行数据查询 + List> result = wenjuandafuService.selectValue(params, ew); + + // 格式化日期对象为字符串 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + for (Map m : result) { + for (String k : m.keySet()) { + if (m.get(k) instanceof Date) { + m.put(k, sdf.format((Date) m.get(k))); } } - return R.ok().put("data", result); } - - /** - * 分组统计 - */ - @RequestMapping("/group/{columnName}") - public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) { - Map params = new HashMap(); - params.put("column", columnName); - EntityWrapper ew = new EntityWrapper(); - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - ew.eq("zhanghao", (String)request.getSession().getAttribute("username")); - } - List> result = wenjuandafuService.selectGroup(params, ew); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - for(Map m : result) { - for(String k : m.keySet()) { - if(m.get(k) instanceof Date) { - m.put(k, sdf.format((Date)m.get(k))); - } + + // 返回封装好的响应结果 + return R.ok().put("data", result); +} + +/** + * (按值统计)时间统计类型 + */ +@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}") +public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType, HttpServletRequest request) { + // 创建参数映射,用于存储请求中的列名和时间统计类型 + Map params = new HashMap(); + params.put("xColumn", xColumnName); + params.put("yColumn", yColumnName); + params.put("timeStatType", timeStatType); + + // 创建实体包装器,用于构建查询条件 + EntityWrapper ew = new EntityWrapper(); + + // 获取当前会话中的表名 + String tableName = request.getSession().getAttribute("tableName").toString(); + + // 如果表名为"yonghu",则添加用户账号作为查询条件 + if (tableName.equals("yonghu")) { + ew.eq("zhanghao", (String) request.getSession().getAttribute("username")); + } + + // 调用服务层方法进行数据查询 + List> result = wenjuandafuService.selectTimeStatValue(params, ew); + + // 格式化日期对象为字符串 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + for (Map m : result) { + for (String k : m.keySet()) { + if (m.get(k) instanceof Date) { + m.put(k, sdf.format((Date) m.get(k))); } } - return R.ok().put("data", result); } + // 返回封装好的响应结果 + return R.ok().put("data", result); +} +/** + * 分组统计 + */ +@RequestMapping("/group/{columnName}") +public R group(@PathVariable("columnName") String columnName, HttpServletRequest request) { + // 创建参数映射,用于存储请求中的列名 + Map params = new HashMap(); + params.put("column", columnName); + // 创建实体包装器,用于构建查询条件 + EntityWrapper ew = new EntityWrapper(); - /** - * 总数量 - */ - @RequestMapping("/count") - public R count(@RequestParam Map params,WenjuandafuEntity wenjuandafu, HttpServletRequest request){ - String tableName = request.getSession().getAttribute("tableName").toString(); - if(tableName.equals("yonghu")) { - wenjuandafu.setZhanghao((String)request.getSession().getAttribute("username")); + // 获取当前会话中的表名 + String tableName = request.getSession().getAttribute("tableName").toString(); + + // 如果表名为"yonghu",则添加用户账号作为查询条件 + if (tableName.equals("yonghu")) { + ew.eq("zhanghao", (String) request.getSession().getAttribute("username")); + } + + // 调用服务层方法进行数据查询 + List> result = wenjuandafuService.selectGroup(params, ew); + + // 格式化日期对象为字符串 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + for (Map m : result) { + for (String k : m.keySet()) { + if (m.get(k) instanceof Date) { + m.put(k, sdf.format((Date) m.get(k))); + } } - EntityWrapper ew = new EntityWrapper(); - int count = wenjuandafuService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); - return R.ok().put("data", count); } + // 返回封装好的响应结果 + return R.ok().put("data", result); +} + +/** + * 总数量 + */ +@RequestMapping("/count") +public R count(@RequestParam Map params, WenjuandafuEntity wenjuandafu, HttpServletRequest request) { + // 获取当前会话中的表名 + String tableName = request.getSession().getAttribute("tableName").toString(); + + // 如果表名为"yonghu",则添加用户账号作为查询条件 + if (tableName.equals("yonghu")) { + wenjuandafu.setZhanghao((String) request.getSession().getAttribute("username")); + } + + // 创建实体包装器,用于构建查询条件 + EntityWrapper ew = new EntityWrapper(); + + // 调用服务层方法进行数据查询并计算总数 + int count = wenjuandafuService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenjuandafu), params), params)); + // 返回封装好的响应结果 + return R.ok().put("data", count); } diff --git a/src/main/java/com/dao/WenjuandafuDao.java b/src/main/java/com/dao/WenjuandafuDao.java index 2e43ec5..5539dfc 100644 --- a/src/main/java/com/dao/WenjuandafuDao.java +++ b/src/main/java/com/dao/WenjuandafuDao.java @@ -1,4 +1,4 @@ -package com.dao; +ppackage com.dao; import com.entity.WenjuandafuEntity; import com.baomidou.mybatisplus.mapper.BaseMapper; @@ -11,33 +11,70 @@ import org.apache.ibatis.annotations.Param; import com.entity.vo.WenjuandafuVO; import com.entity.view.WenjuandafuView; - /** - * 问卷答复 - * - * @author - * @email - * @date 2023-02-21 09:46:06 + * 问卷答复数据访问对象接口 + * 提供对问卷答复数据的查询功能 + * 使用MyBatis-Plus框架进行数据库操作 */ public interface WenjuandafuDao extends BaseMapper { - - List selectListVO(@Param("ew") Wrapper wrapper); - - WenjuandafuVO selectVO(@Param("ew") Wrapper wrapper); - - List selectListView(@Param("ew") Wrapper wrapper); - - List selectListView(Pagination page,@Param("ew") Wrapper wrapper); - - WenjuandafuView selectView(@Param("ew") Wrapper wrapper); - + + /** + * 根据条件查询问卷答复的VO列表 + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复VO列表 + */ + List selectListVO(@Param("ew") Wrapper wrapper); + + /** + * 根据条件查询单个问卷答复的VO + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复VO + */ + WenjuandafuVO selectVO(@Param("ew") Wrapper wrapper); + + /** + * 根据条件查询问卷答复的视图列表 + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表 + */ + List selectListView(@Param("ew") Wrapper wrapper); + /** + * 根据分页信息和条件查询问卷答复的视图列表 + * @param page 分页信息 + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表(分页) + */ + List selectListView(Pagination page,@Param("ew") Wrapper wrapper); + + /** + * 根据条件查询单个问卷答复的视图 + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复视图 + */ + WenjuandafuView selectView(@Param("ew") Wrapper wrapper); + + /** + * 根据参数查询问卷答复的值统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 值统计结果列表 + */ List> selectValue(@Param("params") Map params,@Param("ew") Wrapper wrapper); + /** + * 根据参数查询问卷答复的时间统计值 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 时间统计值列表 + */ List> selectTimeStatValue(@Param("params") Map params,@Param("ew") Wrapper wrapper); + /** + * 根据参数查询问卷答复的分组统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 分组统计结果列表 + */ List> selectGroup(@Param("params") Map params,@Param("ew") Wrapper wrapper); - - - } diff --git a/src/main/java/com/entity/view/WenjuandafuView.java b/src/main/java/com/entity/view/WenjuandafuView.java index 044b77d..f856ba7 100644 --- a/src/main/java/com/entity/view/WenjuandafuView.java +++ b/src/main/java/com/entity/view/WenjuandafuView.java @@ -1,36 +1,35 @@ package com.entity.view; import com.entity.WenjuandafuEntity; - import com.baomidou.mybatisplus.annotations.TableName; import org.apache.commons.beanutils.BeanUtils; import java.lang.reflect.InvocationTargetException; - import java.io.Serializable; - /** - * 问卷答复 - * 后端返回视图实体辅助类 - * (通常后端关联的表或者自定义的字段需要返回使用) - * @author - * @email - * @date 2023-02-21 09:46:06 + * 问卷答复视图实体类 + * 用于后端返回给前端的问卷答复数据,通常包括关联表的数据或自定义字段。 + * 继承自 WenjuandafuEntity,实现 Serializable 接口以支持序列化。 */ @TableName("wenjuandafu") -public class WenjuandafuView extends WenjuandafuEntity implements Serializable { - private static final long serialVersionUID = 1L; +public class WenjuandafuView extends WenjuandafuEntity implements Serializable { + private static final long serialVersionUID = 1L; // 序列化版本号 + + // 无参构造函数 + public WenjuandafuView() { + } - public WenjuandafuView(){ - } - - public WenjuandafuView(WenjuandafuEntity wenjuandafuEntity){ - try { - BeanUtils.copyProperties(this, wenjuandafuEntity); - } catch (IllegalAccessException | InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } + /** + * 带参构造函数,通过传入的 WenjuandafuEntity 对象来初始化 WenjuandafuView 对象。 + * @param wenjuandafuEntity 需要复制属性的 WenjuandafuEntity 实例 + */ + public WenjuandafuView(WenjuandafuEntity wenjuandafuEntity) { + try { + // 使用 BeanUtils 工具类将 wenjuandafuEntity 的属性值复制到当前对象中 + BeanUtils.copyProperties(this, wenjuandafuEntity); + } catch (IllegalAccessException | InvocationTargetException e) { + // 捕获并打印异常信息 + e.printStackTrace(); + } + } } diff --git a/src/main/java/com/service/WenjuandafuService.java b/src/main/java/com/service/WenjuandafuService.java index 709265b..602f147 100644 --- a/src/main/java/com/service/WenjuandafuService.java +++ b/src/main/java/com/service/WenjuandafuService.java @@ -10,36 +10,81 @@ import com.entity.vo.WenjuandafuVO; import org.apache.ibatis.annotations.Param; import com.entity.view.WenjuandafuView; - /** - * 问卷答复 - * + * 问卷答复服务接口 + * 提供问卷答复相关的业务逻辑处理 + * 继承自 IService,使用 MyBatis-Plus 框架的通用 CRUD 方法 + * * @author * @email * @date 2023-02-21 09:46:06 */ public interface WenjuandafuService extends IService { + /** + * 分页查询问卷答复数据 + * @param params 查询参数 + * @return 分页结果封装在 PageUtils 对象中 + */ PageUtils queryPage(Map params); - List selectListVO(Wrapper wrapper); - - WenjuandafuVO selectVO(@Param("ew") Wrapper wrapper); - - List selectListView(Wrapper wrapper); - - WenjuandafuView selectView(@Param("ew") Wrapper wrapper); - - PageUtils queryPage(Map params,Wrapper wrapper); - - - List> selectValue(Map params,Wrapper wrapper); - - List> selectTimeStatValue(Map params,Wrapper wrapper); + /** + * 根据条件查询问卷答复的视图列表 + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表 + */ + List selectListVO(Wrapper wrapper); - List> selectGroup(Map params,Wrapper wrapper); - - - + /** + * 根据条件查询单个问卷答复的视图 + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复视图 + */ + WenjuandafuVO selectVO(@Param("ew") Wrapper wrapper); + + /** + * 根据条件查询问卷答复的视图列表(分页) + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表(分页) + */ + List selectListView(Wrapper wrapper); + + /** + * 根据条件查询单个问卷答复的视图(分页) + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复视图(分页) + */ + WenjuandafuView selectView(@Param("ew") Wrapper wrapper); + + /** + * 分页查询问卷答复数据,带查询条件封装器 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 分页结果封装在 PageUtils 对象中 + */ + PageUtils queryPage(Map params, Wrapper wrapper); + + /** + * 根据查询参数和条件封装器获取值统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 值统计结果列表 + */ + List> selectValue(Map params, Wrapper wrapper); + + /** + * 根据查询参数和条件封装器获取时间统计值结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 时间统计值结果列表 + */ + List> selectTimeStatValue(Map params, Wrapper wrapper); + + /** + * 根据查询参数和条件封装器获取分组统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 分组统计结果列表 + */ + List> selectGroup(Map params, Wrapper wrapper); } - diff --git a/src/main/java/com/service/impl/WenjuandafuServiceImpl.java b/src/main/java/com/service/impl/WenjuandafuServiceImpl.java index 4f9d386..413a3c3 100644 --- a/src/main/java/com/service/impl/WenjuandafuServiceImpl.java +++ b/src/main/java/com/service/impl/WenjuandafuServiceImpl.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.utils.PageUtils; import com.utils.Query; - import com.dao.WenjuandafuDao; import com.entity.WenjuandafuEntity; import com.service.WenjuandafuService; @@ -21,7 +20,11 @@ import com.entity.view.WenjuandafuView; @Service("wenjuandafuService") public class WenjuandafuServiceImpl extends ServiceImpl implements WenjuandafuService { - + /** + * 分页查询问卷答复数据 + * @param params 查询参数 + * @return 分页结果封装在 PageUtils 对象中 + */ @Override public PageUtils queryPage(Map params) { Page page = this.selectPage( @@ -31,50 +34,90 @@ public class WenjuandafuServiceImpl extends ServiceImpl params, Wrapper wrapper) { + Page page = new Query(params).getPage(); + page.setRecords(baseMapper.selectListView(page, wrapper)); + PageUtils pageUtil = new PageUtils(page); + return pageUtil; + } + + /** + * 根据条件查询问卷答复的视图列表 + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表 + */ + @Override + public List selectListVO(Wrapper wrapper) { + return baseMapper.selectListVO(wrapper); + } + + /** + * 根据条件查询单个问卷答复的视图 + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复视图 + */ @Override - public PageUtils queryPage(Map params, Wrapper wrapper) { - Page page =new Query(params).getPage(); - page.setRecords(baseMapper.selectListView(page,wrapper)); - PageUtils pageUtil = new PageUtils(page); - return pageUtil; - } + public WenjuandafuVO selectVO(Wrapper wrapper) { + return baseMapper.selectVO(wrapper); + } + /** + * 根据条件查询问卷答复的视图列表(分页) + * @param wrapper 查询条件封装器 + * @return 符合条件的问卷答复视图列表(分页) + */ @Override - public List selectListVO(Wrapper wrapper) { - return baseMapper.selectListVO(wrapper); - } - - @Override - public WenjuandafuVO selectVO(Wrapper wrapper) { - return baseMapper.selectVO(wrapper); - } - - @Override - public List selectListView(Wrapper wrapper) { - return baseMapper.selectListView(wrapper); - } + public List selectListView(Wrapper wrapper) { + return baseMapper.selectListView(wrapper); + } - @Override - public WenjuandafuView selectView(Wrapper wrapper) { - return baseMapper.selectView(wrapper); - } + /** + * 根据条件查询单个问卷答复的视图(分页) + * @param wrapper 查询条件封装器 + * @return 符合条件的单个问卷答复视图(分页) + */ + @Override + public WenjuandafuView selectView(Wrapper wrapper) { + return baseMapper.selectView(wrapper); + } + /** + * 根据查询参数和条件封装器获取值统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 值统计结果列表 + */ @Override public List> selectValue(Map params, Wrapper wrapper) { return baseMapper.selectValue(params, wrapper); } + /** + * 根据查询参数和条件封装器获取时间统计值结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 时间统计值结果列表 + */ @Override public List> selectTimeStatValue(Map params, Wrapper wrapper) { return baseMapper.selectTimeStatValue(params, wrapper); } + /** + * 根据查询参数和条件封装器获取分组统计结果 + * @param params 查询参数 + * @param wrapper 查询条件封装器 + * @return 分组统计结果列表 + */ @Override public List> selectGroup(Map params, Wrapper wrapper) { return baseMapper.selectGroup(params, wrapper); } - - - - -} +} \ No newline at end of file