From e0e23dbe483591a38b80aa9be63dd5412e6c98f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E6=96=87=E9=9D=99WWW?= <15144434+wen-wenjing-www@user.noreply.gitee.com> Date: Wed, 16 Jul 2025 22:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A8=A1=E7=B3=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CpArticleController.java | 29 ++++----- .../controller/CpMaterialController.java | 20 ++++-- .../article/controller/CpTextController.java | 10 +-- .../modules/article/domain/CpArticle.java | 3 + .../modules/article/domain/CpText.java | 3 +- .../article/domain/dto/CpArticleVo.java | 6 ++ .../article/mapper/CpArticleMapper.java | 12 +++- .../modules/article/mapper/CpTextMapper.java | 3 + .../article/service/CpArticleService.java | 7 ++- .../article/service/CpTextService.java | 3 + .../service/impl/CpArticleServiceImpl.java | 50 +++++++-------- .../service/impl/CpTextServiceImpl.java | 9 +++ .../controller/OrderAnalysisController.java | 6 +- .../impl/OrderAnalysisServiceImpl.java | 8 ++- .../route/controller/CpRouteController.java | 14 +++-- .../modules/route/mapper/CpRouteMapper.java | 7 ++- .../modules/route/service/CpRouteService.java | 5 ++ .../service/impl/CpRouteServiceImpl.java | 13 +++- .../modules/system/mapper/EmScenicMapper.java | 2 +- .../main/resources/mapper/EmScenicMapper.xml | 15 ++--- .../mapper/article/CpArticleMapper.xml | 61 ++++++++++++++----- .../resources/mapper/article/CpTextMapper.xml | 10 ++- .../resources/mapper/route/CpRouteMapper.xml | 23 +++++-- 23 files changed, 220 insertions(+), 99 deletions(-) diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpArticleController.java b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpArticleController.java index 797f397..1b6dd02 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpArticleController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpArticleController.java @@ -1,18 +1,16 @@ package com.aircraft.modules.article.controller; -import cn.hutool.core.date.DateTime; import com.aircraft.modules.article.domain.CpArticle; import com.aircraft.modules.article.domain.CpLabel; -import com.aircraft.modules.article.domain.CpModule; import com.aircraft.modules.article.domain.CpText; import com.aircraft.modules.article.domain.dto.CpArticleDTO; import com.aircraft.modules.article.domain.dto.CpArticleVo; -import com.aircraft.modules.article.domain.dto.CpLabelVo; import com.aircraft.modules.article.mapper.CpArticleMapper; import com.aircraft.modules.article.mapper.CpLabelMapper; import com.aircraft.modules.article.service.CpArticleService; import com.aircraft.modules.article.service.CpTextService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -32,7 +30,6 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.net.URI; -import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.*; @@ -60,20 +57,18 @@ public class CpArticleController { @Autowired private CpLabelMapper cpLabelMapper; - @ApiOperation(value = "分页查询文章", notes = "分页查询文章") + @ApiOperation(value = "分页查询文章(支持标题模糊查询)", notes = "分页查询文章,仅根据文章标题进行模糊查询") @RequestMapping(method = RequestMethod.GET) @ApiImplicitParams({ @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), - @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query") + @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query"), + @ApiImplicitParam(name = "titleKeyword", value = "搜索关键词,用于模糊查询文章标题", paramType = "query") }) - public ResponseEntity> findByPage(final CpArticle example, final Page page) { - try { - IPage records = entityService.page(example, page); - return new ResponseEntity<>(records, HttpStatus.OK); - } catch (Exception e) { - LOG.error("分页查询文章时出错", e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } + public ResponseEntity> findByPage( + final Page page, + @RequestParam(required = false) String titleKeyword) { + IPage records = entityService.findByPage(page, titleKeyword); + return new ResponseEntity<>(records, HttpStatus.OK); } @ApiOperation(value = "删除文章") @@ -105,18 +100,18 @@ public class CpArticleController { @ApiImplicitParam(name = "id", value = "文章ID", required = true, paramType = "path") public ResponseEntity one(@PathVariable final Integer id) { try { - CpArticle entity = cpArticleMapper.getArticleById(id); + CpArticleVo entity = entityService.getArticleById(id); if (entity == null || entity.getDelFlag() == 1) { - // 返回包含错误信息的JSON响应 Map errorResponse = new HashMap<>(); errorResponse.put("code", HttpStatus.NOT_FOUND.value()); errorResponse.put("message", "不存在该文章"); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(errorResponse); } + cpArticleMapper.updateViewCountById(id); + entity.setViewCount(entity.getViewCount()+1); return ResponseEntity.ok(entity); } catch (Exception e) { LOG.error("查询单个文章失败", e); - // 同样返回包含错误信息的JSON响应 Map errorResponse = new HashMap<>(); errorResponse.put("code", HttpStatus.INTERNAL_SERVER_ERROR.value()); errorResponse.put("message", "查询文章失败,请稍后重试"); diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpMaterialController.java b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpMaterialController.java index 98230c5..4a76312 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpMaterialController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpMaterialController.java @@ -51,15 +51,27 @@ public class CpMaterialController { @Autowired private UserMapper userMapper; - @ApiOperation(value = "分页查询素材", notes = "分页查询素材") + @ApiOperation(value = "分页查询素材(支持模糊查询)", notes = "分页查询素材,仅根据素材名称进行模糊查询") @RequestMapping(method = RequestMethod.GET) @ApiImplicitParams({ @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), - @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query") + @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query"), + @ApiImplicitParam(name = "keyword", value = "搜索关键词,用于模糊查询素材名称", paramType = "query") }) - public ResponseEntity> findByPage(final CpMaterial example, final Page page) { + public ResponseEntity> findByPage( + final Page page, + @RequestParam(required = false) String keyword) { try { - QueryWrapper wrapper = new QueryWrapper<>(example); + QueryWrapper wrapper = new QueryWrapper<>(); + + // 仅对素材名称进行模糊查询 + if (keyword != null && !keyword.isEmpty()) { + wrapper.like("name", keyword); + } + + // 只查询未删除的素材 + wrapper.eq("del_flag", 0); + IPage records = materialService.page(page, wrapper); return new ResponseEntity<>(records, HttpStatus.OK); } catch (Exception e) { diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpTextController.java b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpTextController.java index fedcfeb..f30eba9 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpTextController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/controller/CpTextController.java @@ -1,5 +1,4 @@ package com.aircraft.modules.article.controller; - import com.aircraft.modules.article.domain.CpArticle; import com.aircraft.modules.article.domain.CpText; import com.aircraft.modules.article.mapper.CpLabelMapper; @@ -58,11 +57,9 @@ public class CpTextController { @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query") }) - public ResponseEntity> findByPage(final CpText example, final Page page) { + public ResponseEntity> findByPage(final Page page, @RequestParam(required = false) String keyWord) { try { - QueryWrapper wrapper = new QueryWrapper<>(example); - IPage records = cpTextService.page(page, wrapper); -// IPage records = cpTextService.page(example, page); + IPage records = cpTextService.findByPage(page, keyWord); return new ResponseEntity<>(records, HttpStatus.OK); } catch (Exception e) { LOG.error("分页查询文本内容时出错", e); @@ -104,7 +101,6 @@ public class CpTextController { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); } } - @ApiOperation(value = "查询单个文本内容") @RequestMapping(value = "{id}", method = {RequestMethod.GET}) @ApiImplicitParam(name = "id", value = "文本内容ID", required = true, paramType = "path") @@ -204,7 +200,7 @@ public class CpTextController { @ApiOperation(value = "全部文本内容") @RequestMapping(value = "all", method = RequestMethod.GET) public ResponseEntity> all(CpText example) { - QueryWrapper queryWrapper=new QueryWrapper<>(example); + QueryWrapper queryWrapper = new QueryWrapper<>(example); List entitys = cpTextService.list(queryWrapper); if (entitys != null) { return ResponseEntity.ok(entitys); diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpArticle.java b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpArticle.java index 2c87533..2b4087a 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpArticle.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpArticle.java @@ -50,6 +50,9 @@ public class CpArticle { @ApiModelProperty(value = "是否置顶:1-置顶,0-不置顶") private Integer top; + @ApiModelProperty(value = "浏览量") + private Long viewCount; + @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpText.java b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpText.java index 48d297d..b3c3d90 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpText.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/CpText.java @@ -30,5 +30,6 @@ public class CpText { @ApiModelProperty(value = "文章正文") private String text; - + @ApiModelProperty(value = "逻辑删除:1删除,0正常") + private Integer del_flag; } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/dto/CpArticleVo.java b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/dto/CpArticleVo.java index 1645fb7..dbb7647 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/domain/dto/CpArticleVo.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/domain/dto/CpArticleVo.java @@ -11,5 +11,11 @@ public class CpArticleVo extends CpArticle { @ApiModelProperty("内容") private String text; + @ApiModelProperty("模块id") + private Integer moduleId; + @ApiModelProperty("模块名") + private String moduleName; + @ApiModelProperty("标签名") + private String labelName; } \ No newline at end of file diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpArticleMapper.java b/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpArticleMapper.java index 77ed3a8..f528b6a 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpArticleMapper.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpArticleMapper.java @@ -1,7 +1,11 @@ package com.aircraft.modules.article.mapper; import com.aircraft.modules.article.domain.CpArticle; +import com.aircraft.modules.article.domain.dto.CpArticleVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -15,8 +19,12 @@ import org.apache.ibatis.annotations.Select; */ @Mapper public interface CpArticleMapper extends BaseMapper { - @Select("SELECT * FROM cp_article WHERE id = #{id} AND del_flag = 0") - CpArticle getArticleById(Integer id); void updateDelFlagById(Long id, Integer delFlag); + + IPage selectVoPage(Page page, String titleKeyword); + + CpArticleVo selectVoById(Integer id); + + void updateViewCountById(Integer id); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpTextMapper.java b/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpTextMapper.java index 4c119a0..a2fa359 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpTextMapper.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/mapper/CpTextMapper.java @@ -2,6 +2,8 @@ package com.aircraft.modules.article.mapper; import com.aircraft.modules.article.domain.CpText; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; /** @@ -15,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CpTextMapper extends BaseMapper { + IPage findByPage(Page page, String keyWord); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpArticleService.java b/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpArticleService.java index b6ff02e..a7cdc11 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpArticleService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpArticleService.java @@ -1,6 +1,7 @@ package com.aircraft.modules.article.service; import com.aircraft.modules.article.domain.CpArticle; +import com.aircraft.modules.article.domain.dto.CpArticleVo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; @@ -16,8 +17,12 @@ import java.util.List; * @since 2025-07-10 */ public interface CpArticleService extends IService { - IPage page(CpArticle example, Page page); + List list(CpArticle example); void updateDelFlagById(Long id, Integer delFlag); + + IPage findByPage(Page page, String titleKeyword); + + CpArticleVo getArticleById(Integer id); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpTextService.java b/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpTextService.java index 3e0af46..27e79c4 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpTextService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/service/CpTextService.java @@ -1,6 +1,8 @@ package com.aircraft.modules.article.service; import com.aircraft.modules.article.domain.CpText; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface CpTextService extends IService { + IPage findByPage(Page page, String keyWord); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/article/service/impl/CpArticleServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/article/service/impl/CpArticleServiceImpl.java index 4925fa2..98a6f21 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/article/service/impl/CpArticleServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/article/service/impl/CpArticleServiceImpl.java @@ -1,16 +1,25 @@ package com.aircraft.modules.article.service.impl; import com.aircraft.modules.article.domain.CpArticle; +import com.aircraft.modules.article.domain.CpLabel; +import com.aircraft.modules.article.domain.dto.CpArticleVo; import com.aircraft.modules.article.mapper.CpArticleMapper; +import com.aircraft.modules.article.mapper.CpLabelMapper; +import com.aircraft.modules.article.mapper.CpModuleMapper; +import com.aircraft.modules.article.mapper.CpTextMapper; import com.aircraft.modules.article.service.CpArticleService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,36 +31,20 @@ import java.util.List; */ @Service public class CpArticleServiceImpl extends ServiceImpl implements CpArticleService { + @Autowired + private CpArticleMapper cpArticleMapper; + @Override - public IPage page(CpArticle example, Page page) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + public IPage findByPage(Page page, String titleKeyword) { + // 执行分页查询 + IPage cpArticleVoIPage = cpArticleMapper.selectVoPage(page, titleKeyword); + return cpArticleVoIPage; + } - // 构建动态查询条件 - if (example != null) { - if (example.getId() != null) { - queryWrapper.eq("id", example.getId()); - } - if (!StringUtils.isEmpty(example.getTitle())) { - queryWrapper.like("title", example.getTitle()); - } - if (example.getArticleType() != null) { - queryWrapper.eq("article_type", example.getArticleType()); - } - if (example.getCplabelId() != null) { - queryWrapper.eq("cplabel_id", example.getCplabelId()); - } - if (example.getCheckState() != null) { - queryWrapper.eq("check_state", example.getCheckState()); - } - if (example.getDelFlag() != null) { - queryWrapper.eq("del_flag", example.getDelFlag()); - } - } - - // 添加默认排序 - queryWrapper.orderByDesc("create_time"); - - return baseMapper.selectPage(page, queryWrapper); + @Override + public CpArticleVo getArticleById(Integer id) { + CpArticleVo entity = cpArticleMapper.selectVoById(id); + return entity; } @Override @@ -67,4 +60,5 @@ public class CpArticleServiceImpl extends ServiceImpl implements CpTextService { + @Autowired + private CpTextMapper cpTextMapper; + @Override + public IPage findByPage(Page page, String keyWord) { + return cpTextMapper.findByPage(page, keyWord); + } } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java index d299437..45537ae 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java @@ -69,7 +69,7 @@ public class OrderAnalysisController { public ResponseEntity>> analyzeByDayRange( @ApiParam(value = "开始日期(yyyy-MM-dd)", required = true, example = "2025-01-01") @RequestParam("startDate") String startDate, - @ApiParam(value = "结束日期(yyyy-MM-dd)", required = true, example = "2025-01-31") + @ApiParam(value = "结束日期(yyyy-MM-dd)", required = true, example = "2025-11-01") @RequestParam("endDate") String endDate) { try { // 解析日期 @@ -96,9 +96,9 @@ public class OrderAnalysisController { @GetMapping("/month") //传入的时间范围:某年的某月到某年的某月,额外返回时间范围内的每月总订单量 public ResponseEntity>> analyzeByMonthRange( - @ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-01") + @ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-03") @RequestParam("startDate") String startDate, - @ApiParam(value = "结束月份(yyyy-MM)", required = true, example = "2025-03") + @ApiParam(value = "结束月份(yyyy-MM)", required = true, example = "2025-11") @RequestParam("endDate") String endDate) { try { // 解析月份为当月第一天 diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java index 4fa5dbe..08c106a 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java @@ -446,8 +446,12 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { .filter(Objects::nonNull) .collect(Collectors.toSet()); - // 批量查询所有景区名称 - Map scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds)); + // 批量查询所有景区名称确保不为空 +// Map scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds)); + Map scenicNameMap = Collections.emptyMap(); + if (!scenicIds.isEmpty()) { + scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds)); + } // 组装结果 for (Map.Entry entry : routeCountMap.entrySet()) { diff --git a/aircraft-system/src/main/java/com/aircraft/modules/route/controller/CpRouteController.java b/aircraft-system/src/main/java/com/aircraft/modules/route/controller/CpRouteController.java index d9fcf00..602e1a7 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/route/controller/CpRouteController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/route/controller/CpRouteController.java @@ -2,6 +2,7 @@ package com.aircraft.modules.route.controller; import com.aircraft.modules.route.domain.CpRoute; import com.aircraft.modules.route.domain.dto.CpRouteDTO; +import com.aircraft.modules.route.domain.dto.CpRouteVo; import com.aircraft.modules.route.mapper.CpRouteMapper; import com.aircraft.modules.system.mapper.UserMapper; import com.aircraft.modules.route.service.CpRouteService; @@ -53,16 +54,19 @@ public class CpRouteController { @Autowired private UserMapper userMapper; - @ApiOperation(value = "分页查询路线", notes = "分页查询路线") + @ApiOperation(value = "分页查询路线(支持路线名模糊查询)", notes = "分页查询路线,可根据路线名称进行模糊搜索") @RequestMapping(method = RequestMethod.GET) @ApiImplicitParams({ @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), - @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query") + @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query"), + @ApiImplicitParam(name = "routeName", value = "路线名称关键词,用于模糊查询", paramType = "query") }) - public ResponseEntity> findByPage(final CpRoute example, final Page page) { + public ResponseEntity> findByPage( + final Page page, + @RequestParam(required = false) String routeName + ) { try { - QueryWrapper queryWrapper = new QueryWrapper<>(example); - IPage records = entityService.page(page, queryWrapper); + IPage records = entityService.findByPage(page,routeName); return new ResponseEntity<>(records, HttpStatus.OK); } catch (Exception e) { LOG.error("分页查询路线时出错", e); diff --git a/aircraft-system/src/main/java/com/aircraft/modules/route/mapper/CpRouteMapper.java b/aircraft-system/src/main/java/com/aircraft/modules/route/mapper/CpRouteMapper.java index c67b4b4..8ec67ae 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/route/mapper/CpRouteMapper.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/route/mapper/CpRouteMapper.java @@ -1,7 +1,10 @@ package com.aircraft.modules.route.mapper; import com.aircraft.modules.route.domain.CpRoute; +import com.aircraft.modules.route.domain.dto.CpRouteVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import java.util.ArrayList; @@ -24,5 +27,7 @@ public interface CpRouteMapper extends BaseMapper { String getNameById(Long routeId); - List listRoutesByIds(ArrayList longs); + List listRoutesByIds(List routeIds); + + IPage selectVoPage(Page page, String routeName); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/route/service/CpRouteService.java b/aircraft-system/src/main/java/com/aircraft/modules/route/service/CpRouteService.java index 4582db8..fbb9115 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/route/service/CpRouteService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/route/service/CpRouteService.java @@ -1,6 +1,9 @@ package com.aircraft.modules.route.service; import com.aircraft.modules.route.domain.CpRoute; +import com.aircraft.modules.route.domain.dto.CpRouteVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -14,4 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface CpRouteService extends IService { void updateDelFlagById(Long id, Integer delFlag); + + IPage findByPage(Page page, String routeName); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/route/service/impl/CpRouteServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/route/service/impl/CpRouteServiceImpl.java index ca26656..e9bef6f 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/route/service/impl/CpRouteServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/route/service/impl/CpRouteServiceImpl.java @@ -1,9 +1,13 @@ package com.aircraft.modules.route.service.impl; import com.aircraft.modules.route.domain.CpRoute; +import com.aircraft.modules.route.domain.dto.CpRouteVo; import com.aircraft.modules.route.mapper.CpRouteMapper; import com.aircraft.modules.route.service.CpRouteService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -16,9 +20,16 @@ import org.springframework.stereotype.Service; */ @Service public class CpRouteServiceImpl extends ServiceImpl implements CpRouteService { + @Autowired + private CpRouteMapper cpRouteMapper; @Override public void updateDelFlagById(Long id, Integer delFlag) { - baseMapper.updateDelFlagById(id,delFlag); + baseMapper.updateDelFlagById(id, delFlag); + } + + @Override + public IPage findByPage(Page page, String routeName) { + return cpRouteMapper.selectVoPage(page, routeName); } } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/mapper/EmScenicMapper.java b/aircraft-system/src/main/java/com/aircraft/modules/system/mapper/EmScenicMapper.java index f211df3..84c3f22 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/mapper/EmScenicMapper.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/mapper/EmScenicMapper.java @@ -35,5 +35,5 @@ public interface EmScenicMapper extends BaseMapper { */ List countByAreaId(); - Map getScenicNameMap(ArrayList longs); + Map getScenicNameMap(ArrayList scenicIds); } diff --git a/aircraft-system/src/main/resources/mapper/EmScenicMapper.xml b/aircraft-system/src/main/resources/mapper/EmScenicMapper.xml index a293ceb..9238872 100644 --- a/aircraft-system/src/main/resources/mapper/EmScenicMapper.xml +++ b/aircraft-system/src/main/resources/mapper/EmScenicMapper.xml @@ -27,13 +27,14 @@ group by area_id diff --git a/aircraft-system/src/main/resources/mapper/article/CpArticleMapper.xml b/aircraft-system/src/main/resources/mapper/article/CpArticleMapper.xml index 5b66b38..550f9cb 100644 --- a/aircraft-system/src/main/resources/mapper/article/CpArticleMapper.xml +++ b/aircraft-system/src/main/resources/mapper/article/CpArticleMapper.xml @@ -1,24 +1,57 @@ - - - - - - - - - - - - - - + + + id, title, photo, textid, article_type, url, cplabel_id, + top, view_count, create_time, update_time, author_id, + check_state, del_flag + UPDATE cp_article SET del_flag = #{delFlag} WHERE id = #{id} AND del_flag = 0 + + + + + + + + + UPDATE cp_article + SET view_count = view_count + 1, -- 自增1 + update_time = NOW() -- 更新时间戳 + WHERE id = #{id} + AND del_flag = 0 -- 确保只更新未删除的文章 + diff --git a/aircraft-system/src/main/resources/mapper/article/CpTextMapper.xml b/aircraft-system/src/main/resources/mapper/article/CpTextMapper.xml index d75ca4a..0bd2cb3 100644 --- a/aircraft-system/src/main/resources/mapper/article/CpTextMapper.xml +++ b/aircraft-system/src/main/resources/mapper/article/CpTextMapper.xml @@ -1,5 +1,13 @@ - + diff --git a/aircraft-system/src/main/resources/mapper/route/CpRouteMapper.xml b/aircraft-system/src/main/resources/mapper/route/CpRouteMapper.xml index bab1726..08f4022 100644 --- a/aircraft-system/src/main/resources/mapper/route/CpRouteMapper.xml +++ b/aircraft-system/src/main/resources/mapper/route/CpRouteMapper.xml @@ -1,6 +1,23 @@ + + + +