From 904cef06f8154c0d783703d38006a363db793af3 Mon Sep 17 00:00:00 2001 From: Aug <17674666882@163.com> Date: Tue, 18 Feb 2025 23:40:46 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=BB=E5=8A=A0=E6=96=B0=E9=97=BB?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TravelNewCategoryController.java | 171 +++++++++++++++++++ .../entity/TravelNewCategory.java | 87 ++++++++++ .../mapper/TravelNewCategoryMapper.java | 17 ++ .../mapper/xml/TravelNewCategoryMapper.xml | 5 + .../service/ITravelNewCategoryService.java | 14 ++ .../service/impl/TravelNewCategoryServiceImpl.java | 19 +++ .../vue/TravelNewCategoryList.vue | 183 ++++++++++++++++++++ .../vue/modules/TravelNewCategoryForm.vue | 114 +++++++++++++ .../TravelNewCategoryModal.Style#Drawer.vue | 84 +++++++++ .../vue/modules/TravelNewCategoryModal.vue | 60 +++++++ .../vue3/TravelNewCategory.api.ts | 61 +++++++ .../vue3/TravelNewCategory.data.ts | 43 +++++ .../vue3/TravelNewCategoryList.vue | 162 ++++++++++++++++++ .../vue3/components/TravelNewCategoryModal.vue | 58 +++++++ .../controller/TravelNewsController.java | 171 +++++++++++++++++++ .../modules/travelNews/entity/TravelNews.java | 66 +++++++ .../travelNews/mapper/TravelNewsMapper.java | 17 ++ .../travelNews/mapper/xml/TravelNewsMapper.xml | 5 + .../travelNews/service/ITravelNewsService.java | 14 ++ .../service/impl/TravelNewsServiceImpl.java | 19 +++ .../modules/travelNews/vue/TravelNewsList.vue | 189 +++++++++++++++++++++ .../travelNews/vue/modules/TravelNewsForm.vue | 119 +++++++++++++ .../vue/modules/TravelNewsModal.Style#Drawer.vue | 84 +++++++++ .../travelNews/vue/modules/TravelNewsModal.vue | 60 +++++++ .../modules/travelNews/vue3/TravelNews.api.ts | 61 +++++++ .../modules/travelNews/vue3/TravelNews.data.ts | 53 ++++++ .../modules/travelNews/vue3/TravelNewsList.vue | 162 ++++++++++++++++++ .../travelNews/vue3/components/TravelNewsModal.vue | 58 +++++++ .../api/travelController/IndexApiController.java | 21 +++ .../jeecg/modules/apiService/IndexApiService.java | 9 + .../apiService/impl/IndexApiServiceImpl.java | 69 ++++++++ 31 files changed, 2255 insertions(+) create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/controller/TravelNewCategoryController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/entity/TravelNewCategory.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/TravelNewCategoryMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/xml/TravelNewCategoryMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/ITravelNewCategoryService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/impl/TravelNewCategoryServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/TravelNewCategoryList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategoryList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/components/TravelNewCategoryModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/controller/TravelNewsController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/entity/TravelNews.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/TravelNewsMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/xml/TravelNewsMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/ITravelNewsService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/impl/TravelNewsServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/TravelNewsList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNewsList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/components/TravelNewsModal.vue diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/controller/TravelNewCategoryController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/controller/TravelNewCategoryController.java new file mode 100644 index 0000000..166e2d0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/controller/TravelNewCategoryController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelNewCategory.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.travelNewCategory.entity.TravelNewCategory; +import org.jeecg.modules.travelNewCategory.service.ITravelNewCategoryService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 新闻分类表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Api(tags="新闻分类表") +@RestController +@RequestMapping("/travelNewCategory/travelNewCategory") +@Slf4j +public class TravelNewCategoryController extends JeecgController { + @Autowired + private ITravelNewCategoryService travelNewCategoryService; + + /** + * 分页列表查询 + * + * @param travelNewCategory + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "新闻分类表-分页列表查询") + @ApiOperation(value="新闻分类表-分页列表查询", notes="新闻分类表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelNewCategory travelNewCategory, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelNewCategory, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelNewCategoryService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelNewCategory + * @return + */ + @AutoLog(value = "新闻分类表-添加") + @ApiOperation(value="新闻分类表-添加", notes="新闻分类表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelNewCategory travelNewCategory) { + travelNewCategoryService.save(travelNewCategory); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelNewCategory + * @return + */ + @AutoLog(value = "新闻分类表-编辑") + @ApiOperation(value="新闻分类表-编辑", notes="新闻分类表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelNewCategory travelNewCategory) { + travelNewCategoryService.updateById(travelNewCategory); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "新闻分类表-通过id删除") + @ApiOperation(value="新闻分类表-通过id删除", notes="新闻分类表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelNewCategoryService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "新闻分类表-批量删除") + @ApiOperation(value="新闻分类表-批量删除", notes="新闻分类表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelNewCategoryService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "新闻分类表-通过id查询") + @ApiOperation(value="新闻分类表-通过id查询", notes="新闻分类表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelNewCategory travelNewCategory = travelNewCategoryService.getById(id); + if(travelNewCategory==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelNewCategory); + } + + /** + * 导出excel + * + * @param request + * @param travelNewCategory + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelNewCategory travelNewCategory) { + return super.exportXls(request, travelNewCategory, TravelNewCategory.class, "新闻分类表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelNewCategory.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/entity/TravelNewCategory.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/entity/TravelNewCategory.java new file mode 100644 index 0000000..d5171bc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/entity/TravelNewCategory.java @@ -0,0 +1,87 @@ +package org.jeecg.modules.travelNewCategory.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 新闻分类表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Data +@TableName("travel_new_category") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_new_category对象", description="新闻分类表") +public class TravelNewCategory implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**新闻分类名称*/ + @Excel(name = "新闻分类名称", width = 15) + @ApiModelProperty(value = "新闻分类名称") + private java.lang.String name; + /**新闻分类图片*/ + @Excel(name = "新闻分类图片", width = 15) + private transient java.lang.String imageString; + + private byte[] image; + + public byte[] getImage(){ + if(imageString==null){ + return null; + } + try { + return imageString.getBytes("UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return null; + } + + public String getImageString(){ + if(image==null || image.length==0){ + return ""; + } + try { + return new String(image,"UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return ""; + } + /**排序字段*/ + @Excel(name = "排序字段", width = 15) + @ApiModelProperty(value = "排序字段") + private java.lang.Integer orderId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/TravelNewCategoryMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/TravelNewCategoryMapper.java new file mode 100644 index 0000000..c659f26 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/TravelNewCategoryMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelNewCategory.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelNewCategory.entity.TravelNewCategory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 新闻分类表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +public interface TravelNewCategoryMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/xml/TravelNewCategoryMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/xml/TravelNewCategoryMapper.xml new file mode 100644 index 0000000..4a9406c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/mapper/xml/TravelNewCategoryMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/ITravelNewCategoryService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/ITravelNewCategoryService.java new file mode 100644 index 0000000..83638b7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/ITravelNewCategoryService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelNewCategory.service; + +import org.jeecg.modules.travelNewCategory.entity.TravelNewCategory; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 新闻分类表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +public interface ITravelNewCategoryService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/impl/TravelNewCategoryServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/impl/TravelNewCategoryServiceImpl.java new file mode 100644 index 0000000..cbd85b7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/service/impl/TravelNewCategoryServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelNewCategory.service.impl; + +import org.jeecg.modules.travelNewCategory.entity.TravelNewCategory; +import org.jeecg.modules.travelNewCategory.mapper.TravelNewCategoryMapper; +import org.jeecg.modules.travelNewCategory.service.ITravelNewCategoryService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 新闻分类表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Service +public class TravelNewCategoryServiceImpl extends ServiceImpl implements ITravelNewCategoryService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/TravelNewCategoryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/TravelNewCategoryList.vue new file mode 100644 index 0000000..c841dac --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/TravelNewCategoryList.vue @@ -0,0 +1,183 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryForm.vue new file mode 100644 index 0000000..d3e8630 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryForm.vue @@ -0,0 +1,114 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.Style#Drawer.vue new file mode 100644 index 0000000..4dcf24e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.vue new file mode 100644 index 0000000..ce636ff --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue/modules/TravelNewCategoryModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.api.ts new file mode 100644 index 0000000..b45f22b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelNewCategory/travelNewCategory/list', + save='/travelNewCategory/travelNewCategory/add', + edit='/travelNewCategory/travelNewCategory/edit', + deleteOne = '/travelNewCategory/travelNewCategory/delete', + deleteBatch = '/travelNewCategory/travelNewCategory/deleteBatch', + importExcel = '/travelNewCategory/travelNewCategory/importExcel', + exportXls = '/travelNewCategory/travelNewCategory/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.data.ts new file mode 100644 index 0000000..71ff63b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategory.data.ts @@ -0,0 +1,43 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '新闻分类名称', + align:"center", + dataIndex: 'name' + }, + { + title: '新闻分类图片', + align:"center", + dataIndex: 'imageString' + }, + { + title: '排序字段', + align:"center", + dataIndex: 'orderId' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '新闻分类名称', + field: 'name', + component: 'Input', + }, + { + label: '新闻分类图片', + field: 'image', + component: 'Input', + }, + { + label: '排序字段', + field: 'orderId', + component: 'InputNumber', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategoryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategoryList.vue new file mode 100644 index 0000000..3003e53 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/TravelNewCategoryList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/components/TravelNewCategoryModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/components/TravelNewCategoryModal.vue new file mode 100644 index 0000000..c37e957 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNewCategory/vue3/components/TravelNewCategoryModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/controller/TravelNewsController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/controller/TravelNewsController.java new file mode 100644 index 0000000..384776d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/controller/TravelNewsController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelNews.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.travelNews.entity.TravelNews; +import org.jeecg.modules.travelNews.service.ITravelNewsService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 申遗新闻表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Api(tags="申遗新闻表") +@RestController +@RequestMapping("/travelNews/travelNews") +@Slf4j +public class TravelNewsController extends JeecgController { + @Autowired + private ITravelNewsService travelNewsService; + + /** + * 分页列表查询 + * + * @param travelNews + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "申遗新闻表-分页列表查询") + @ApiOperation(value="申遗新闻表-分页列表查询", notes="申遗新闻表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelNews travelNews, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelNews, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelNewsService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelNews + * @return + */ + @AutoLog(value = "申遗新闻表-添加") + @ApiOperation(value="申遗新闻表-添加", notes="申遗新闻表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelNews travelNews) { + travelNewsService.save(travelNews); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelNews + * @return + */ + @AutoLog(value = "申遗新闻表-编辑") + @ApiOperation(value="申遗新闻表-编辑", notes="申遗新闻表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelNews travelNews) { + travelNewsService.updateById(travelNews); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "申遗新闻表-通过id删除") + @ApiOperation(value="申遗新闻表-通过id删除", notes="申遗新闻表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelNewsService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "申遗新闻表-批量删除") + @ApiOperation(value="申遗新闻表-批量删除", notes="申遗新闻表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelNewsService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "申遗新闻表-通过id查询") + @ApiOperation(value="申遗新闻表-通过id查询", notes="申遗新闻表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelNews travelNews = travelNewsService.getById(id); + if(travelNews==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelNews); + } + + /** + * 导出excel + * + * @param request + * @param travelNews + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelNews travelNews) { + return super.exportXls(request, travelNews, TravelNews.class, "申遗新闻表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelNews.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/entity/TravelNews.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/entity/TravelNews.java new file mode 100644 index 0000000..768a16b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/entity/TravelNews.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.travelNews.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 申遗新闻表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Data +@TableName("travel_news") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_news对象", description="申遗新闻表") +public class TravelNews implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**新闻标题*/ + @Excel(name = "新闻标题", width = 15) + @ApiModelProperty(value = "新闻标题") + private java.lang.String newsTitle; + /**新闻封面*/ + @Excel(name = "新闻封面", width = 15) + @ApiModelProperty(value = "新闻封面") + private java.lang.String newsImage; + /**新闻内容*/ + @Excel(name = "新闻内容", width = 15) + @ApiModelProperty(value = "新闻内容") + private java.lang.String newsContent; + /**新闻所属分类*/ + @Excel(name = "新闻所属分类", width = 15) + @ApiModelProperty(value = "新闻所属分类") + private java.lang.String categoryId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/TravelNewsMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/TravelNewsMapper.java new file mode 100644 index 0000000..1ce5306 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/TravelNewsMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelNews.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelNews.entity.TravelNews; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 申遗新闻表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +public interface TravelNewsMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/xml/TravelNewsMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/xml/TravelNewsMapper.xml new file mode 100644 index 0000000..d6829c3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/mapper/xml/TravelNewsMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/ITravelNewsService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/ITravelNewsService.java new file mode 100644 index 0000000..b584fe2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/ITravelNewsService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelNews.service; + +import org.jeecg.modules.travelNews.entity.TravelNews; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 申遗新闻表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +public interface ITravelNewsService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/impl/TravelNewsServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/impl/TravelNewsServiceImpl.java new file mode 100644 index 0000000..8eec36e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/service/impl/TravelNewsServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelNews.service.impl; + +import org.jeecg.modules.travelNews.entity.TravelNews; +import org.jeecg.modules.travelNews.mapper.TravelNewsMapper; +import org.jeecg.modules.travelNews.service.ITravelNewsService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 申遗新闻表 + * @Author: jeecg-boot + * @Date: 2025-02-18 + * @Version: V1.0 + */ +@Service +public class TravelNewsServiceImpl extends ServiceImpl implements ITravelNewsService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/TravelNewsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/TravelNewsList.vue new file mode 100644 index 0000000..d87a2d8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/TravelNewsList.vue @@ -0,0 +1,189 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsForm.vue new file mode 100644 index 0000000..2a435fd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsForm.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.Style#Drawer.vue new file mode 100644 index 0000000..c3a0e74 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.vue new file mode 100644 index 0000000..61e56fd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue/modules/TravelNewsModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.api.ts new file mode 100644 index 0000000..322718c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelNews/travelNews/list', + save='/travelNews/travelNews/add', + edit='/travelNews/travelNews/edit', + deleteOne = '/travelNews/travelNews/delete', + deleteBatch = '/travelNews/travelNews/deleteBatch', + importExcel = '/travelNews/travelNews/importExcel', + exportXls = '/travelNews/travelNews/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.data.ts new file mode 100644 index 0000000..2254ab7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNews.data.ts @@ -0,0 +1,53 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '新闻标题', + align:"center", + dataIndex: 'newsTitle' + }, + { + title: '新闻封面', + align:"center", + dataIndex: 'newsImage' + }, + { + title: '新闻内容', + align:"center", + dataIndex: 'newsContent' + }, + { + title: '新闻所属分类', + align:"center", + dataIndex: 'categoryId' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '新闻标题', + field: 'newsTitle', + component: 'Input', + }, + { + label: '新闻封面', + field: 'newsImage', + component: 'Input', + }, + { + label: '新闻内容', + field: 'newsContent', + component: 'Input', + }, + { + label: '新闻所属分类', + field: 'categoryId', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNewsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNewsList.vue new file mode 100644 index 0000000..0a2f475 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/TravelNewsList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/components/TravelNewsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/components/TravelNewsModal.vue new file mode 100644 index 0000000..10434e1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelNews/vue3/components/TravelNewsModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java index 4d87d61..007b97a 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java @@ -61,6 +61,27 @@ public class IndexApiController { return indexApiService.addThumpup(token, videoId); } + /**************申遗新闻*********************/ + //获取新闻分类列表 + @ApiOperation(value="申遗新闻-获取新闻分类列表", notes="申遗新闻-获取新闻分类列表") + @RequestMapping(value = "/queryNewsTypeList", method = {RequestMethod.GET}) + public Result queryNewsTypeList(PageBean pageBean){ + return indexApiService.queryNewsTypeList(pageBean); + } + + //根据分类获取新闻列表 + @ApiOperation(value="申遗新闻-根据分类获取新闻列表", notes="申遗新闻-根据分类获取新闻列表") + @RequestMapping(value = "/queryNewsByType", method = {RequestMethod.GET}) + public Result queryNewsByType(String categoryId, PageBean pageBean){ + return indexApiService.queryNewsListByType(categoryId, pageBean); + } + + //根据id获取新闻详情 + @ApiOperation(value="申遗新闻-根据id获取新闻详情", notes="申遗新闻-根据id获取新闻详情") + @RequestMapping(value = "/queryNewsById", method = {RequestMethod.GET}) + public Result queryNewsById(String newsId){ + return indexApiService.queryNewsById(newsId); + } /**************申遗历程*********************/ //根据分类获取文章列表 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java index a2278f7..1dcc081 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java @@ -27,6 +27,15 @@ public interface IndexApiService { //获取文章列表-申遗历程/非遗体验 public Result queryArticleList(PageBean pageBean); + //获取新闻分类列表 + public Result queryNewsTypeList(PageBean pageBean); + + //根据分类获取新闻列表 + public Result queryNewsListByType(String categoryId, PageBean pageBean); + + //根据id获取文章详情 + public Result queryNewsById(String newsId); + //根据分类获取文章列表 public Result queryArticleListByType(String articleType, PageBean pageBean); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java index c27e783..57119b3 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java @@ -1,6 +1,7 @@ package org.jeecg.modules.apiService.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; @@ -27,6 +28,10 @@ import org.jeecg.modules.travelExperience.entity.TravelExperience; import org.jeecg.modules.travelExperience.service.ITravelExperienceService; import org.jeecg.modules.travelImage.entity.TravelImage; import org.jeecg.modules.travelImage.service.ITravelImageService; +import org.jeecg.modules.travelNewCategory.entity.TravelNewCategory; +import org.jeecg.modules.travelNewCategory.service.ITravelNewCategoryService; +import org.jeecg.modules.travelNews.entity.TravelNews; +import org.jeecg.modules.travelNews.service.ITravelNewsService; import org.jeecg.modules.travelOrder.entity.TravelOrder; import org.jeecg.modules.travelOrder.service.ITravelOrderService; import org.jeecg.modules.travelRole.service.ITravelRoleService; @@ -89,6 +94,12 @@ public class IndexApiServiceImpl implements IndexApiService { //文章表 @Resource private ITravelArticleService travelArticleService; + //新闻分类表 + @Resource + private ITravelNewCategoryService travelNewCategoryService; + //新闻表 + @Resource + private ITravelNewsService travelNewsService; //视频表 @Resource private ITravelVideoService travelVideoService; @@ -300,6 +311,64 @@ public class IndexApiServiceImpl implements IndexApiService { return video; } + /***************************申遗新闻**************************/ + //获取新闻分类列表带分页 + @Override + public Result queryNewsTypeList(PageBean pageBean) { + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page pageList = travelNewCategoryService + .lambdaQuery() + .orderByDesc(TravelNewCategory::getOrderId) + .page(page); + + return Result.OK("新闻分类列表", pageList); + } + + //根据新闻类型获取新闻列表带分页 + @Override + public Result queryNewsListByType(String categoryId, PageBean pageBean) { + //返回信息 + String message = "获取新闻列表失败!"; + //新闻列表 + Page pageList = null; + //分页信息 + Page page = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + LambdaQueryChainWrapper query = travelNewsService.lambdaQuery(); + + //组装查询条件 + if(null != categoryId){ + //新闻类型 + query.eq(TravelNews::getCategoryId, categoryId); + } + //按时间倒序 + query.orderByDesc(TravelNews::getCreateTime); + + + //获取新闻列表 + pageList = query.page(page); + }catch (Exception e){ + e.printStackTrace(); + return Result.error("新闻列表获取失败", pageList); + } + + return Result.OK("新闻列表", pageList); + } + + //根据文章id获取文章详情 + @Override + public Result queryNewsById(String newsId) { + TravelNews one = travelNewsService + .lambdaQuery() + .eq(TravelNews::getId, newsId) + .one(); + + return Result.OK("新闻详情", one); + } + /***************************申遗历程**************************/ //获取文章列表带分页 @Override