添加模糊查询
This commit is contained in:
parent
27e1748457
commit
e0e23dbe48
@ -1,18 +1,16 @@
|
|||||||
package com.aircraft.modules.article.controller;
|
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.CpArticle;
|
||||||
import com.aircraft.modules.article.domain.CpLabel;
|
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.CpText;
|
||||||
import com.aircraft.modules.article.domain.dto.CpArticleDTO;
|
import com.aircraft.modules.article.domain.dto.CpArticleDTO;
|
||||||
import com.aircraft.modules.article.domain.dto.CpArticleVo;
|
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.CpArticleMapper;
|
||||||
import com.aircraft.modules.article.mapper.CpLabelMapper;
|
import com.aircraft.modules.article.mapper.CpLabelMapper;
|
||||||
import com.aircraft.modules.article.service.CpArticleService;
|
import com.aircraft.modules.article.service.CpArticleService;
|
||||||
import com.aircraft.modules.article.service.CpTextService;
|
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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -32,7 +30,6 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -60,20 +57,18 @@ public class CpArticleController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private CpLabelMapper cpLabelMapper;
|
private CpLabelMapper cpLabelMapper;
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询文章", notes = "分页查询文章")
|
@ApiOperation(value = "分页查询文章(支持标题模糊查询)", notes = "分页查询文章,仅根据文章标题进行模糊查询")
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
@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<IPage<CpArticle>> findByPage(final CpArticle example, final Page page) {
|
public ResponseEntity<IPage<CpArticleVo>> findByPage(
|
||||||
try {
|
final Page<CpArticleVo> page,
|
||||||
IPage<CpArticle> records = entityService.page(example, page);
|
@RequestParam(required = false) String titleKeyword) {
|
||||||
return new ResponseEntity<>(records, HttpStatus.OK);
|
IPage<CpArticleVo> records = entityService.findByPage(page, titleKeyword);
|
||||||
} catch (Exception e) {
|
return new ResponseEntity<>(records, HttpStatus.OK);
|
||||||
LOG.error("分页查询文章时出错", e);
|
|
||||||
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "删除文章")
|
@ApiOperation(value = "删除文章")
|
||||||
@ -105,18 +100,18 @@ public class CpArticleController {
|
|||||||
@ApiImplicitParam(name = "id", value = "文章ID", required = true, paramType = "path")
|
@ApiImplicitParam(name = "id", value = "文章ID", required = true, paramType = "path")
|
||||||
public ResponseEntity<?> one(@PathVariable final Integer id) {
|
public ResponseEntity<?> one(@PathVariable final Integer id) {
|
||||||
try {
|
try {
|
||||||
CpArticle entity = cpArticleMapper.getArticleById(id);
|
CpArticleVo entity = entityService.getArticleById(id);
|
||||||
if (entity == null || entity.getDelFlag() == 1) {
|
if (entity == null || entity.getDelFlag() == 1) {
|
||||||
// 返回包含错误信息的JSON响应
|
|
||||||
Map<String, Object> errorResponse = new HashMap<>();
|
Map<String, Object> errorResponse = new HashMap<>();
|
||||||
errorResponse.put("code", HttpStatus.NOT_FOUND.value());
|
errorResponse.put("code", HttpStatus.NOT_FOUND.value());
|
||||||
errorResponse.put("message", "不存在该文章");
|
errorResponse.put("message", "不存在该文章");
|
||||||
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(errorResponse);
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(errorResponse);
|
||||||
}
|
}
|
||||||
|
cpArticleMapper.updateViewCountById(id);
|
||||||
|
entity.setViewCount(entity.getViewCount()+1);
|
||||||
return ResponseEntity.ok(entity);
|
return ResponseEntity.ok(entity);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("查询单个文章失败", e);
|
LOG.error("查询单个文章失败", e);
|
||||||
// 同样返回包含错误信息的JSON响应
|
|
||||||
Map<String, Object> errorResponse = new HashMap<>();
|
Map<String, Object> errorResponse = new HashMap<>();
|
||||||
errorResponse.put("code", HttpStatus.INTERNAL_SERVER_ERROR.value());
|
errorResponse.put("code", HttpStatus.INTERNAL_SERVER_ERROR.value());
|
||||||
errorResponse.put("message", "查询文章失败,请稍后重试");
|
errorResponse.put("message", "查询文章失败,请稍后重试");
|
||||||
|
@ -51,15 +51,27 @@ public class CpMaterialController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserMapper userMapper;
|
private UserMapper userMapper;
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询素材", notes = "分页查询素材")
|
@ApiOperation(value = "分页查询素材(支持模糊查询)", notes = "分页查询素材,仅根据素材名称进行模糊查询")
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
@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<IPage<CpMaterial>> findByPage(final CpMaterial example, final Page page) {
|
public ResponseEntity<IPage<CpMaterial>> findByPage(
|
||||||
|
final Page<CpMaterial> page,
|
||||||
|
@RequestParam(required = false) String keyword) {
|
||||||
try {
|
try {
|
||||||
QueryWrapper<CpMaterial> wrapper = new QueryWrapper<>(example);
|
QueryWrapper<CpMaterial> wrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
|
// 仅对素材名称进行模糊查询
|
||||||
|
if (keyword != null && !keyword.isEmpty()) {
|
||||||
|
wrapper.like("name", keyword);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 只查询未删除的素材
|
||||||
|
wrapper.eq("del_flag", 0);
|
||||||
|
|
||||||
IPage<CpMaterial> records = materialService.page(page, wrapper);
|
IPage<CpMaterial> records = materialService.page(page, wrapper);
|
||||||
return new ResponseEntity<>(records, HttpStatus.OK);
|
return new ResponseEntity<>(records, HttpStatus.OK);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
package com.aircraft.modules.article.controller;
|
package com.aircraft.modules.article.controller;
|
||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpArticle;
|
import com.aircraft.modules.article.domain.CpArticle;
|
||||||
import com.aircraft.modules.article.domain.CpText;
|
import com.aircraft.modules.article.domain.CpText;
|
||||||
import com.aircraft.modules.article.mapper.CpLabelMapper;
|
import com.aircraft.modules.article.mapper.CpLabelMapper;
|
||||||
@ -58,11 +57,9 @@ public class CpTextController {
|
|||||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
||||||
@ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query")
|
@ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query")
|
||||||
})
|
})
|
||||||
public ResponseEntity<IPage<CpText>> findByPage(final CpText example, final Page page) {
|
public ResponseEntity<IPage<CpText>> findByPage(final Page<CpText> page, @RequestParam(required = false) String keyWord) {
|
||||||
try {
|
try {
|
||||||
QueryWrapper<CpText> wrapper = new QueryWrapper<>(example);
|
IPage<CpText> records = cpTextService.findByPage(page, keyWord);
|
||||||
IPage<CpText> records = cpTextService.page(page, wrapper);
|
|
||||||
// IPage<CpText> records = cpTextService.page(example, page);
|
|
||||||
return new ResponseEntity<>(records, HttpStatus.OK);
|
return new ResponseEntity<>(records, HttpStatus.OK);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("分页查询文本内容时出错", e);
|
LOG.error("分页查询文本内容时出错", e);
|
||||||
@ -104,7 +101,6 @@ public class CpTextController {
|
|||||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "查询单个文本内容")
|
@ApiOperation(value = "查询单个文本内容")
|
||||||
@RequestMapping(value = "{id}", method = {RequestMethod.GET})
|
@RequestMapping(value = "{id}", method = {RequestMethod.GET})
|
||||||
@ApiImplicitParam(name = "id", value = "文本内容ID", required = true, paramType = "path")
|
@ApiImplicitParam(name = "id", value = "文本内容ID", required = true, paramType = "path")
|
||||||
@ -204,7 +200,7 @@ public class CpTextController {
|
|||||||
@ApiOperation(value = "全部文本内容")
|
@ApiOperation(value = "全部文本内容")
|
||||||
@RequestMapping(value = "all", method = RequestMethod.GET)
|
@RequestMapping(value = "all", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<CpText>> all(CpText example) {
|
public ResponseEntity<List<CpText>> all(CpText example) {
|
||||||
QueryWrapper<CpText> queryWrapper=new QueryWrapper<>(example);
|
QueryWrapper<CpText> queryWrapper = new QueryWrapper<>(example);
|
||||||
List<CpText> entitys = cpTextService.list(queryWrapper);
|
List<CpText> entitys = cpTextService.list(queryWrapper);
|
||||||
if (entitys != null) {
|
if (entitys != null) {
|
||||||
return ResponseEntity.ok(entitys);
|
return ResponseEntity.ok(entitys);
|
||||||
|
@ -50,6 +50,9 @@ public class CpArticle {
|
|||||||
@ApiModelProperty(value = "是否置顶:1-置顶,0-不置顶")
|
@ApiModelProperty(value = "是否置顶:1-置顶,0-不置顶")
|
||||||
private Integer top;
|
private Integer top;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "浏览量")
|
||||||
|
private Long viewCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ -30,5 +30,6 @@ public class CpText {
|
|||||||
@ApiModelProperty(value = "文章正文")
|
@ApiModelProperty(value = "文章正文")
|
||||||
private String text;
|
private String text;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "逻辑删除:1删除,0正常")
|
||||||
|
private Integer del_flag;
|
||||||
}
|
}
|
||||||
|
@ -11,5 +11,11 @@ public class CpArticleVo extends CpArticle {
|
|||||||
|
|
||||||
@ApiModelProperty("内容")
|
@ApiModelProperty("内容")
|
||||||
private String text;
|
private String text;
|
||||||
|
@ApiModelProperty("模块id")
|
||||||
|
private Integer moduleId;
|
||||||
|
@ApiModelProperty("模块名")
|
||||||
|
private String moduleName;
|
||||||
|
@ApiModelProperty("标签名")
|
||||||
|
private String labelName;
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,11 @@
|
|||||||
package com.aircraft.modules.article.mapper;
|
package com.aircraft.modules.article.mapper;
|
||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpArticle;
|
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.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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
@ -15,8 +19,12 @@ import org.apache.ibatis.annotations.Select;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface CpArticleMapper extends BaseMapper<CpArticle> {
|
public interface CpArticleMapper extends BaseMapper<CpArticle> {
|
||||||
@Select("SELECT * FROM cp_article WHERE id = #{id} AND del_flag = 0")
|
|
||||||
CpArticle getArticleById(Integer id);
|
|
||||||
|
|
||||||
void updateDelFlagById(Long id, Integer delFlag);
|
void updateDelFlagById(Long id, Integer delFlag);
|
||||||
|
|
||||||
|
IPage<CpArticleVo> selectVoPage(Page<CpArticleVo> page, String titleKeyword);
|
||||||
|
|
||||||
|
CpArticleVo selectVoById(Integer id);
|
||||||
|
|
||||||
|
void updateViewCountById(Integer id);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@ package com.aircraft.modules.article.mapper;
|
|||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpText;
|
import com.aircraft.modules.article.domain.CpText;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -15,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface CpTextMapper extends BaseMapper<CpText> {
|
public interface CpTextMapper extends BaseMapper<CpText> {
|
||||||
|
|
||||||
|
IPage<CpText> findByPage(Page<CpText> page, String keyWord);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.aircraft.modules.article.service;
|
package com.aircraft.modules.article.service;
|
||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpArticle;
|
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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
@ -16,8 +17,12 @@ import java.util.List;
|
|||||||
* @since 2025-07-10
|
* @since 2025-07-10
|
||||||
*/
|
*/
|
||||||
public interface CpArticleService extends IService<CpArticle> {
|
public interface CpArticleService extends IService<CpArticle> {
|
||||||
IPage<CpArticle> page(CpArticle example, Page page);
|
|
||||||
List<CpArticle> list(CpArticle example);
|
List<CpArticle> list(CpArticle example);
|
||||||
|
|
||||||
void updateDelFlagById(Long id, Integer delFlag);
|
void updateDelFlagById(Long id, Integer delFlag);
|
||||||
|
|
||||||
|
IPage<CpArticleVo> findByPage(Page<CpArticleVo> page, String titleKeyword);
|
||||||
|
|
||||||
|
CpArticleVo getArticleById(Integer id);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.aircraft.modules.article.service;
|
package com.aircraft.modules.article.service;
|
||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpText;
|
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;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
*/
|
*/
|
||||||
public interface CpTextService extends IService<CpText> {
|
public interface CpTextService extends IService<CpText> {
|
||||||
|
|
||||||
|
IPage<CpText> findByPage(Page<CpText> page, String keyWord);
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,25 @@
|
|||||||
package com.aircraft.modules.article.service.impl;
|
package com.aircraft.modules.article.service.impl;
|
||||||
|
|
||||||
import com.aircraft.modules.article.domain.CpArticle;
|
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.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.aircraft.modules.article.service.CpArticleService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.stereotype.Service;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -22,36 +31,20 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CpArticleServiceImpl extends ServiceImpl<CpArticleMapper, CpArticle> implements CpArticleService {
|
public class CpArticleServiceImpl extends ServiceImpl<CpArticleMapper, CpArticle> implements CpArticleService {
|
||||||
|
@Autowired
|
||||||
|
private CpArticleMapper cpArticleMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<CpArticle> page(CpArticle example, Page page) {
|
public IPage<CpArticleVo> findByPage(Page<CpArticleVo> page, String titleKeyword) {
|
||||||
QueryWrapper<CpArticle> queryWrapper = new QueryWrapper<>();
|
// 执行分页查询
|
||||||
|
IPage<CpArticleVo> cpArticleVoIPage = cpArticleMapper.selectVoPage(page, titleKeyword);
|
||||||
|
return cpArticleVoIPage;
|
||||||
|
}
|
||||||
|
|
||||||
// 构建动态查询条件
|
@Override
|
||||||
if (example != null) {
|
public CpArticleVo getArticleById(Integer id) {
|
||||||
if (example.getId() != null) {
|
CpArticleVo entity = cpArticleMapper.selectVoById(id);
|
||||||
queryWrapper.eq("id", example.getId());
|
return entity;
|
||||||
}
|
|
||||||
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
|
@Override
|
||||||
@ -67,4 +60,5 @@ public class CpArticleServiceImpl extends ServiceImpl<CpArticleMapper, CpArticle
|
|||||||
public void updateDelFlagById(Long id, Integer delFlag) {
|
public void updateDelFlagById(Long id, Integer delFlag) {
|
||||||
baseMapper.updateDelFlagById(id, delFlag);
|
baseMapper.updateDelFlagById(id, delFlag);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,10 @@ package com.aircraft.modules.article.service.impl;
|
|||||||
import com.aircraft.modules.article.domain.CpText;
|
import com.aircraft.modules.article.domain.CpText;
|
||||||
import com.aircraft.modules.article.mapper.CpTextMapper;
|
import com.aircraft.modules.article.mapper.CpTextMapper;
|
||||||
import com.aircraft.modules.article.service.CpTextService;
|
import com.aircraft.modules.article.service.CpTextService;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,5 +19,11 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CpTextServiceImpl extends ServiceImpl<CpTextMapper, CpText> implements CpTextService {
|
public class CpTextServiceImpl extends ServiceImpl<CpTextMapper, CpText> implements CpTextService {
|
||||||
|
@Autowired
|
||||||
|
private CpTextMapper cpTextMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<CpText> findByPage(Page<CpText> page, String keyWord) {
|
||||||
|
return cpTextMapper.findByPage(page, keyWord);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ public class OrderAnalysisController {
|
|||||||
public ResponseEntity<OrderAnalysisResult<List<DailyStat>>> analyzeByDayRange(
|
public ResponseEntity<OrderAnalysisResult<List<DailyStat>>> analyzeByDayRange(
|
||||||
@ApiParam(value = "开始日期(yyyy-MM-dd)", required = true, example = "2025-01-01")
|
@ApiParam(value = "开始日期(yyyy-MM-dd)", required = true, example = "2025-01-01")
|
||||||
@RequestParam("startDate") String startDate,
|
@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) {
|
@RequestParam("endDate") String endDate) {
|
||||||
try {
|
try {
|
||||||
// 解析日期
|
// 解析日期
|
||||||
@ -96,9 +96,9 @@ public class OrderAnalysisController {
|
|||||||
@GetMapping("/month")
|
@GetMapping("/month")
|
||||||
//传入的时间范围:某年的某月到某年的某月,额外返回时间范围内的每月总订单量
|
//传入的时间范围:某年的某月到某年的某月,额外返回时间范围内的每月总订单量
|
||||||
public ResponseEntity<OrderAnalysisResult<List<MonthlyStat>>> analyzeByMonthRange(
|
public ResponseEntity<OrderAnalysisResult<List<MonthlyStat>>> analyzeByMonthRange(
|
||||||
@ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-01")
|
@ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-03")
|
||||||
@RequestParam("startDate") String startDate,
|
@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) {
|
@RequestParam("endDate") String endDate) {
|
||||||
try {
|
try {
|
||||||
// 解析月份为当月第一天
|
// 解析月份为当月第一天
|
||||||
|
@ -446,8 +446,12 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService {
|
|||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
// 批量查询所有景区名称
|
// 批量查询所有景区名称确保不为空
|
||||||
Map<Long, String> scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds));
|
// Map<Long, String> scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds));
|
||||||
|
Map<Long, String> scenicNameMap = Collections.emptyMap();
|
||||||
|
if (!scenicIds.isEmpty()) {
|
||||||
|
scenicNameMap = emScenicMapper.getScenicNameMap(new ArrayList<>(scenicIds));
|
||||||
|
}
|
||||||
|
|
||||||
// 组装结果
|
// 组装结果
|
||||||
for (Map.Entry<Long, Long> entry : routeCountMap.entrySet()) {
|
for (Map.Entry<Long, Long> entry : routeCountMap.entrySet()) {
|
||||||
|
@ -2,6 +2,7 @@ package com.aircraft.modules.route.controller;
|
|||||||
|
|
||||||
import com.aircraft.modules.route.domain.CpRoute;
|
import com.aircraft.modules.route.domain.CpRoute;
|
||||||
import com.aircraft.modules.route.domain.dto.CpRouteDTO;
|
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.route.mapper.CpRouteMapper;
|
||||||
import com.aircraft.modules.system.mapper.UserMapper;
|
import com.aircraft.modules.system.mapper.UserMapper;
|
||||||
import com.aircraft.modules.route.service.CpRouteService;
|
import com.aircraft.modules.route.service.CpRouteService;
|
||||||
@ -53,16 +54,19 @@ public class CpRouteController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserMapper userMapper;
|
private UserMapper userMapper;
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询路线", notes = "分页查询路线")
|
@ApiOperation(value = "分页查询路线(支持路线名模糊查询)", notes = "分页查询路线,可根据路线名称进行模糊搜索")
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
@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<IPage<CpRoute>> findByPage(final CpRoute example, final Page page) {
|
public ResponseEntity<IPage<CpRouteVo>> findByPage(
|
||||||
|
final Page<CpRouteVo> page,
|
||||||
|
@RequestParam(required = false) String routeName
|
||||||
|
) {
|
||||||
try {
|
try {
|
||||||
QueryWrapper<CpRoute> queryWrapper = new QueryWrapper<>(example);
|
IPage<CpRouteVo> records = entityService.findByPage(page,routeName);
|
||||||
IPage<CpRoute> records = entityService.page(page, queryWrapper);
|
|
||||||
return new ResponseEntity<>(records, HttpStatus.OK);
|
return new ResponseEntity<>(records, HttpStatus.OK);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("分页查询路线时出错", e);
|
LOG.error("分页查询路线时出错", e);
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package com.aircraft.modules.route.mapper;
|
package com.aircraft.modules.route.mapper;
|
||||||
|
|
||||||
import com.aircraft.modules.route.domain.CpRoute;
|
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.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.Mapper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -24,5 +27,7 @@ public interface CpRouteMapper extends BaseMapper<CpRoute> {
|
|||||||
|
|
||||||
String getNameById(Long routeId);
|
String getNameById(Long routeId);
|
||||||
|
|
||||||
List<CpRoute> listRoutesByIds(ArrayList<Long> longs);
|
List<CpRoute> listRoutesByIds(List<Long> routeIds);
|
||||||
|
|
||||||
|
IPage<CpRouteVo> selectVoPage(Page<CpRouteVo> page, String routeName);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package com.aircraft.modules.route.service;
|
package com.aircraft.modules.route.service;
|
||||||
|
|
||||||
import com.aircraft.modules.route.domain.CpRoute;
|
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;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -14,4 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
public interface CpRouteService extends IService<CpRoute> {
|
public interface CpRouteService extends IService<CpRoute> {
|
||||||
|
|
||||||
void updateDelFlagById(Long id, Integer delFlag);
|
void updateDelFlagById(Long id, Integer delFlag);
|
||||||
|
|
||||||
|
IPage<CpRouteVo> findByPage(Page<CpRouteVo> page, String routeName);
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package com.aircraft.modules.route.service.impl;
|
package com.aircraft.modules.route.service.impl;
|
||||||
|
|
||||||
import com.aircraft.modules.route.domain.CpRoute;
|
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.mapper.CpRouteMapper;
|
||||||
import com.aircraft.modules.route.service.CpRouteService;
|
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,9 +20,16 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CpRouteServiceImpl extends ServiceImpl<CpRouteMapper, CpRoute> implements CpRouteService {
|
public class CpRouteServiceImpl extends ServiceImpl<CpRouteMapper, CpRoute> implements CpRouteService {
|
||||||
|
@Autowired
|
||||||
|
private CpRouteMapper cpRouteMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDelFlagById(Long id, Integer delFlag) {
|
public void updateDelFlagById(Long id, Integer delFlag) {
|
||||||
baseMapper.updateDelFlagById(id,delFlag);
|
baseMapper.updateDelFlagById(id, delFlag);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<CpRouteVo> findByPage(Page<CpRouteVo> page, String routeName) {
|
||||||
|
return cpRouteMapper.selectVoPage(page, routeName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,5 +35,5 @@ public interface EmScenicMapper extends BaseMapper<EmScenic> {
|
|||||||
*/
|
*/
|
||||||
List<AreaNumStatisVo> countByAreaId();
|
List<AreaNumStatisVo> countByAreaId();
|
||||||
|
|
||||||
Map<Long, String> getScenicNameMap(ArrayList<Long> longs);
|
Map<Long, String> getScenicNameMap(ArrayList<Long> scenicIds);
|
||||||
}
|
}
|
||||||
|
@ -27,13 +27,14 @@
|
|||||||
group by area_id
|
group by area_id
|
||||||
</select>
|
</select>
|
||||||
<select id="getScenicNameMap" resultType="java.util.HashMap">
|
<select id="getScenicNameMap" resultType="java.util.HashMap">
|
||||||
SELECT
|
SELECT id AS "key", name AS "value"
|
||||||
id AS "key",
|
|
||||||
name AS "value"
|
|
||||||
FROM em_scenic
|
FROM em_scenic
|
||||||
WHERE id IN
|
WHERE del_flag = 0
|
||||||
<foreach collection="scenicIds" item="id" open="(" separator="," close=")">
|
<if test="scenicIds != null and scenicIds.size() > 0">
|
||||||
#{id}
|
AND id IN
|
||||||
</foreach>
|
<foreach collection="scenicIds" item="id" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -1,24 +1,57 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.aircraft.modules.article.mapper.CpArticleMapper">
|
<mapper namespace="com.aircraft.modules.article.mapper.CpArticleMapper">
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 基础查询列 -->
|
||||||
<resultMap id="BaseResultMap" type="com.aircraft.modules.article.domain.CpArticle">
|
<sql id="Base_Column_List">
|
||||||
<id column="id" property="id" jdbcType="BIGINT"/>
|
id, title, photo, textid, article_type, url, cplabel_id,
|
||||||
<result column="title" property="title" jdbcType="VARCHAR"/>
|
top, view_count, create_time, update_time, author_id,
|
||||||
<result column="photo" property="photo" jdbcType="VARCHAR"/>
|
check_state, del_flag
|
||||||
<result column="textid" property="textid" jdbcType="BIGINT"/>
|
</sql>
|
||||||
<result column="article_type" property="articleType" jdbcType="INTEGER"/>
|
|
||||||
<result column="url" property="url" jdbcType="VARCHAR"/>
|
|
||||||
<result column="cplabel_id" property="cplabelId" jdbcType="INTEGER"/>
|
|
||||||
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
|
|
||||||
<result column="author_id" property="authorId" jdbcType="BIGINT"/>
|
|
||||||
<result column="check_state" property="checkState" jdbcType="CHAR"/>
|
|
||||||
<result column="del_flag" property="delFlag" jdbcType="INTEGER"/>
|
|
||||||
</resultMap>
|
|
||||||
<update id="updateDelFlagById">
|
<update id="updateDelFlagById">
|
||||||
UPDATE cp_article
|
UPDATE cp_article
|
||||||
SET del_flag = #{delFlag}
|
SET del_flag = #{delFlag}
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
AND del_flag = 0 <!-- 确保只更新未删除的记录 -->
|
AND del_flag = 0 <!-- 确保只更新未删除的记录 -->
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!--分页查询文章,可进行模糊查询-->
|
||||||
|
<select id="selectVoPage" resultType="com.aircraft.modules.article.domain.dto.CpArticleVo">
|
||||||
|
SELECT
|
||||||
|
a.*,
|
||||||
|
t.text,
|
||||||
|
l.name AS labelName,
|
||||||
|
m.id AS moduleId, -- 映射模块ID
|
||||||
|
m.module_name AS moduleName -- 映射模块名称
|
||||||
|
FROM cp_article a
|
||||||
|
LEFT JOIN cp_text t ON a.textid = t.id
|
||||||
|
LEFT JOIN cp_label l ON a.cplabel_id = l.id
|
||||||
|
LEFT JOIN cp_module m ON l.module_id = m.id -- 添加模块表关联
|
||||||
|
WHERE a.del_flag = 0
|
||||||
|
<if test="titleKeyword != null and titleKeyword != ''">
|
||||||
|
AND a.title LIKE CONCAT('%', #{titleKeyword}, '%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--通过文章id查询文章-->
|
||||||
|
<select id="selectVoById" resultType="com.aircraft.modules.article.domain.dto.CpArticleVo">
|
||||||
|
SELECT a.*,
|
||||||
|
t.text,
|
||||||
|
l.name AS labelName,
|
||||||
|
m.id AS moduleId,
|
||||||
|
m.module_name AS moduleName
|
||||||
|
FROM cp_article a
|
||||||
|
LEFT JOIN cp_text t ON a.textid = t.id
|
||||||
|
LEFT JOIN cp_label l ON a.cplabel_id = l.id
|
||||||
|
LEFT JOIN cp_module m ON l.module_id = m.id
|
||||||
|
WHERE a.id = #{id}
|
||||||
|
AND a.del_flag = 0
|
||||||
|
</select>
|
||||||
|
<!-- 浏览量+1-->
|
||||||
|
<update id="updateViewCountById">
|
||||||
|
UPDATE cp_article
|
||||||
|
SET view_count = view_count + 1, -- 自增1
|
||||||
|
update_time = NOW() -- 更新时间戳
|
||||||
|
WHERE id = #{id}
|
||||||
|
AND del_flag = 0 -- 确保只更新未删除的文章
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.aircraft.modules.article.mapper.CpTextMapper">
|
<mapper namespace="com.aircraft.modules.article.mapper.CpTextMapper">
|
||||||
|
<select id="findByPage" resultType="com.aircraft.modules.article.domain.CpText">
|
||||||
|
SELECT *
|
||||||
|
FROM cp_text
|
||||||
|
WHERE del_flag = 0
|
||||||
|
<if test="keyWord != null and keyWord != ''">
|
||||||
|
AND text LIKE CONCAT('%', #{keyWord}, '%')
|
||||||
|
</if>
|
||||||
|
ORDER BY id DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -1,6 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.aircraft.modules.route.mapper.CpRouteMapper">
|
<mapper namespace="com.aircraft.modules.route.mapper.CpRouteMapper">
|
||||||
|
|
||||||
|
<!-- 分页查询路线,可通过路线名模糊查询 -->
|
||||||
|
<select id="selectVoPage" resultType="com.aircraft.modules.route.domain.dto.CpRouteVo">
|
||||||
|
SELECT
|
||||||
|
r.*, -- 路线基础字段
|
||||||
|
a.name AS areaName, -- 区域名称
|
||||||
|
s.name AS scenicName -- 景区名称
|
||||||
|
FROM cp_route r
|
||||||
|
LEFT JOIN em_area a ON r.area_id = a.id -- 关联区域表
|
||||||
|
LEFT JOIN em_scenic s ON r.scenic_id = s.id -- 关联景区表
|
||||||
|
WHERE r.del_flag = 0
|
||||||
|
<if test="routeName != null and routeName != ''">
|
||||||
|
AND r.name LIKE CONCAT('%', #{routeName}, '%')
|
||||||
|
</if>
|
||||||
|
ORDER BY r.create_time DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 根据ID查询路线 -->
|
<!-- 根据ID查询路线 -->
|
||||||
<select id="getRouteById" resultType="com.aircraft.modules.route.domain.CpRoute">
|
<select id="getRouteById" resultType="com.aircraft.modules.route.domain.CpRoute">
|
||||||
SELECT * FROM cp_route
|
SELECT * FROM cp_route
|
||||||
@ -20,14 +37,12 @@
|
|||||||
WHERE id = #{routeId}
|
WHERE id = #{routeId}
|
||||||
</select>
|
</select>
|
||||||
<select id="listRoutesByIds" resultType="com.aircraft.modules.route.domain.CpRoute">
|
<select id="listRoutesByIds" resultType="com.aircraft.modules.route.domain.CpRoute">
|
||||||
SELECT
|
SELECT *
|
||||||
id,
|
|
||||||
name,
|
|
||||||
scenic_id
|
|
||||||
FROM cp_route
|
FROM cp_route
|
||||||
WHERE id IN
|
WHERE id IN
|
||||||
<foreach collection="routeIds" item="id" open="(" separator="," close=")">
|
<foreach collection="routeIds" item="id" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
AND del_flag = 0
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Loading…
Reference in New Issue
Block a user