diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f5da3b6..cafb516 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,1824 +2,346 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1831,6 +353,11 @@ + @@ -1844,20 +371,30 @@ + + + + + - + - + + + + + + + + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppForm.vue new file mode 100644 index 0000000..af4654a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppForm.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/moseApp/vue/modules/MoseAppModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppModal.Style#Drawer.vue new file mode 100644 index 0000000..9548821 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppModal.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/moseApp/vue/modules/MoseAppModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppModal.vue new file mode 100644 index 0000000..3662a3b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue/modules/MoseAppModal.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/moseApp/vue3/MoseApp.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseApp.api.ts new file mode 100644 index 0000000..eb24721 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseApp.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseApp/moseApp/list', + save='/moseApp/moseApp/add', + edit='/moseApp/moseApp/edit', + deleteOne = '/moseApp/moseApp/delete', + deleteBatch = '/moseApp/moseApp/deleteBatch', + importExcel = '/moseApp/moseApp/importExcel', + exportXls = '/moseApp/moseApp/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/moseApp/vue3/MoseApp.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseApp.data.ts new file mode 100644 index 0000000..025a3d4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseApp.data.ts @@ -0,0 +1,57 @@ +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: 'title' + }, + { + title: 'logo', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '简介', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '链接', + align:"center", + dataIndex: 'link' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '名称', + field: 'title', + component: 'Input', + }, + { + label: 'logo', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '简介', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '链接', + field: 'link', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseAppList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseAppList.vue new file mode 100644 index 0000000..a09eee0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/MoseAppList.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/moseApp/vue3/components/MoseAppModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/components/MoseAppModal.vue new file mode 100644 index 0000000..71caf74 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseApp/vue3/components/MoseAppModal.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/moseBanner/controller/MoseBannerController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/controller/MoseBannerController.java new file mode 100644 index 0000000..49a5931 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/controller/MoseBannerController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseBanner.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.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseBanner.service.IMoseBannerService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="轮播图表") +@RestController +@RequestMapping("/moseBanner/moseBanner") +@Slf4j +public class MoseBannerController extends JeecgController { + @Autowired + private IMoseBannerService moseBannerService; + + /** + * 分页列表查询 + * + * @param moseBanner + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "轮播图表-分页列表查询") + @ApiOperation(value="轮播图表-分页列表查询", notes="轮播图表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseBanner moseBanner, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseBanner, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseBannerService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseBanner + * @return + */ + @AutoLog(value = "轮播图表-添加") + @ApiOperation(value="轮播图表-添加", notes="轮播图表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseBanner moseBanner) { + moseBannerService.save(moseBanner); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseBanner + * @return + */ + @AutoLog(value = "轮播图表-编辑") + @ApiOperation(value="轮播图表-编辑", notes="轮播图表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseBanner moseBanner) { + moseBannerService.updateById(moseBanner); + 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) { + moseBannerService.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.moseBannerService.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) { + MoseBanner moseBanner = moseBannerService.getById(id); + if(moseBanner==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseBanner); + } + + /** + * 导出excel + * + * @param request + * @param moseBanner + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseBanner moseBanner) { + return super.exportXls(request, moseBanner, MoseBanner.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, MoseBanner.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/entity/MoseBanner.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/entity/MoseBanner.java new file mode 100644 index 0000000..85e9abc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/entity/MoseBanner.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseBanner.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_banner") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_banner对象", description="轮播图表") +public class MoseBanner 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**排序编号*/ + @Excel(name = "排序编号", width = 15) + @ApiModelProperty(value = "排序编号") + private java.lang.Integer orderNo; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/MoseBannerMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/MoseBannerMapper.java new file mode 100644 index 0000000..1866ba3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/MoseBannerMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseBanner.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 轮播图表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseBannerMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/xml/MoseBannerMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/xml/MoseBannerMapper.xml new file mode 100644 index 0000000..1b43fc4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/mapper/xml/MoseBannerMapper.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/moseBanner/service/IMoseBannerService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/service/IMoseBannerService.java new file mode 100644 index 0000000..938321f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/service/IMoseBannerService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseBanner.service; + +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 轮播图表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseBannerService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/service/impl/MoseBannerServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/service/impl/MoseBannerServiceImpl.java new file mode 100644 index 0000000..549ed0b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/service/impl/MoseBannerServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseBanner.service.impl; + +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseBanner.mapper.MoseBannerMapper; +import org.jeecg.modules.moseBanner.service.IMoseBannerService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 轮播图表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseBannerServiceImpl extends ServiceImpl implements IMoseBannerService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/MoseBannerList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/MoseBannerList.vue new file mode 100644 index 0000000..cf564a4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/MoseBannerList.vue @@ -0,0 +1,184 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerForm.vue new file mode 100644 index 0000000..dba8a86 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerForm.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/moseBanner/vue/modules/MoseBannerModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerModal.Style#Drawer.vue new file mode 100644 index 0000000..0635bf9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerModal.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/moseBanner/vue/modules/MoseBannerModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerModal.vue new file mode 100644 index 0000000..7967b82 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue/modules/MoseBannerModal.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/moseBanner/vue3/MoseBanner.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBanner.api.ts new file mode 100644 index 0000000..44af00f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBanner.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseBanner/moseBanner/list', + save='/moseBanner/moseBanner/add', + edit='/moseBanner/moseBanner/edit', + deleteOne = '/moseBanner/moseBanner/delete', + deleteBatch = '/moseBanner/moseBanner/deleteBatch', + importExcel = '/moseBanner/moseBanner/importExcel', + exportXls = '/moseBanner/moseBanner/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/moseBanner/vue3/MoseBanner.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBanner.data.ts new file mode 100644 index 0000000..be4c852 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBanner.data.ts @@ -0,0 +1,46 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '排序编号', + align:"center", + dataIndex: 'orderNo' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '排序编号', + field: 'orderNo', + component: 'InputNumber', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBannerList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBannerList.vue new file mode 100644 index 0000000..582218f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/MoseBannerList.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/moseBanner/vue3/components/MoseBannerModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/components/MoseBannerModal.vue new file mode 100644 index 0000000..fef8e52 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseBanner/vue3/components/MoseBannerModal.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/moseComments/controller/MoseCommentsController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/controller/MoseCommentsController.java new file mode 100644 index 0000000..89bfb5f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/controller/MoseCommentsController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseComments.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.moseComments.entity.MoseComments; +import org.jeecg.modules.moseComments.service.IMoseCommentsService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="论坛留言表") +@RestController +@RequestMapping("/moseComments/moseComments") +@Slf4j +public class MoseCommentsController extends JeecgController { + @Autowired + private IMoseCommentsService moseCommentsService; + + /** + * 分页列表查询 + * + * @param moseComments + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "论坛留言表-分页列表查询") + @ApiOperation(value="论坛留言表-分页列表查询", notes="论坛留言表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseComments moseComments, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseComments, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseCommentsService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseComments + * @return + */ + @AutoLog(value = "论坛留言表-添加") + @ApiOperation(value="论坛留言表-添加", notes="论坛留言表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseComments moseComments) { + moseCommentsService.save(moseComments); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseComments + * @return + */ + @AutoLog(value = "论坛留言表-编辑") + @ApiOperation(value="论坛留言表-编辑", notes="论坛留言表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseComments moseComments) { + moseCommentsService.updateById(moseComments); + 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) { + moseCommentsService.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.moseCommentsService.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) { + MoseComments moseComments = moseCommentsService.getById(id); + if(moseComments==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseComments); + } + + /** + * 导出excel + * + * @param request + * @param moseComments + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseComments moseComments) { + return super.exportXls(request, moseComments, MoseComments.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, MoseComments.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/entity/MoseComments.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/entity/MoseComments.java new file mode 100644 index 0000000..af1d820 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/entity/MoseComments.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.moseComments.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_comments") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_comments对象", description="论坛留言表") +public class MoseComments 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 content; + /**关联论坛信息id*/ + @Excel(name = "关联论坛信息id", width = 15) + @ApiModelProperty(value = "关联论坛信息id") + private java.lang.String forumId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/MoseCommentsMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/MoseCommentsMapper.java new file mode 100644 index 0000000..c91b8ef --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/MoseCommentsMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseComments.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseComments.entity.MoseComments; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 论坛留言表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseCommentsMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/xml/MoseCommentsMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/xml/MoseCommentsMapper.xml new file mode 100644 index 0000000..6d2dff7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/mapper/xml/MoseCommentsMapper.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/moseComments/service/IMoseCommentsService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/service/IMoseCommentsService.java new file mode 100644 index 0000000..b396870 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/service/IMoseCommentsService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseComments.service; + +import org.jeecg.modules.moseComments.entity.MoseComments; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 论坛留言表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseCommentsService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/service/impl/MoseCommentsServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/service/impl/MoseCommentsServiceImpl.java new file mode 100644 index 0000000..0455836 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/service/impl/MoseCommentsServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseComments.service.impl; + +import org.jeecg.modules.moseComments.entity.MoseComments; +import org.jeecg.modules.moseComments.mapper.MoseCommentsMapper; +import org.jeecg.modules.moseComments.service.IMoseCommentsService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 论坛留言表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseCommentsServiceImpl extends ServiceImpl implements IMoseCommentsService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/MoseCommentsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/MoseCommentsList.vue new file mode 100644 index 0000000..84a8a48 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/MoseCommentsList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsForm.vue new file mode 100644 index 0000000..2c8d54c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsModal.Style#Drawer.vue new file mode 100644 index 0000000..9d42740 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsModal.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/moseComments/vue/modules/MoseCommentsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsModal.vue new file mode 100644 index 0000000..24e29f3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue/modules/MoseCommentsModal.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/moseComments/vue3/MoseComments.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseComments.api.ts new file mode 100644 index 0000000..7fe3ec1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseComments.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseComments/moseComments/list', + save='/moseComments/moseComments/add', + edit='/moseComments/moseComments/edit', + deleteOne = '/moseComments/moseComments/delete', + deleteBatch = '/moseComments/moseComments/deleteBatch', + importExcel = '/moseComments/moseComments/importExcel', + exportXls = '/moseComments/moseComments/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/moseComments/vue3/MoseComments.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseComments.data.ts new file mode 100644 index 0000000..4953666 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseComments.data.ts @@ -0,0 +1,34 @@ +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: 'content', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '关联论坛信息id', + align:"center", + dataIndex: 'forumId' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '留言内容', + field: 'content', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '关联论坛信息id', + field: 'forumId', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseCommentsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseCommentsList.vue new file mode 100644 index 0000000..9d924bd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/MoseCommentsList.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/moseComments/vue3/components/MoseCommentsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/components/MoseCommentsModal.vue new file mode 100644 index 0000000..df2a9b6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseComments/vue3/components/MoseCommentsModal.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/moseCommunity/controller/MoseCommunityController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/controller/MoseCommunityController.java new file mode 100644 index 0000000..3ed57f9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/controller/MoseCommunityController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseCommunity.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.moseCommunity.entity.MoseCommunity; +import org.jeecg.modules.moseCommunity.service.IMoseCommunityService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="社区信息表") +@RestController +@RequestMapping("/moseCommunity/moseCommunity") +@Slf4j +public class MoseCommunityController extends JeecgController { + @Autowired + private IMoseCommunityService moseCommunityService; + + /** + * 分页列表查询 + * + * @param moseCommunity + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "社区信息表-分页列表查询") + @ApiOperation(value="社区信息表-分页列表查询", notes="社区信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseCommunity moseCommunity, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseCommunity, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseCommunityService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseCommunity + * @return + */ + @AutoLog(value = "社区信息表-添加") + @ApiOperation(value="社区信息表-添加", notes="社区信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseCommunity moseCommunity) { + moseCommunityService.save(moseCommunity); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseCommunity + * @return + */ + @AutoLog(value = "社区信息表-编辑") + @ApiOperation(value="社区信息表-编辑", notes="社区信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseCommunity moseCommunity) { + moseCommunityService.updateById(moseCommunity); + 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) { + moseCommunityService.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.moseCommunityService.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) { + MoseCommunity moseCommunity = moseCommunityService.getById(id); + if(moseCommunity==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseCommunity); + } + + /** + * 导出excel + * + * @param request + * @param moseCommunity + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseCommunity moseCommunity) { + return super.exportXls(request, moseCommunity, MoseCommunity.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, MoseCommunity.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/entity/MoseCommunity.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/entity/MoseCommunity.java new file mode 100644 index 0000000..0427d78 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/entity/MoseCommunity.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseCommunity.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_community") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_community对象", description="社区信息表") +public class MoseCommunity 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**内容*/ + @Excel(name = "内容", width = 15) + @ApiModelProperty(value = "内容") + private java.lang.String content; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/MoseCommunityMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/MoseCommunityMapper.java new file mode 100644 index 0000000..7c1043e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/MoseCommunityMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseCommunity.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 社区信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseCommunityMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/xml/MoseCommunityMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/xml/MoseCommunityMapper.xml new file mode 100644 index 0000000..61dc009 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/mapper/xml/MoseCommunityMapper.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/moseCommunity/service/IMoseCommunityService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/service/IMoseCommunityService.java new file mode 100644 index 0000000..7abce2e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/service/IMoseCommunityService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseCommunity.service; + +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 社区信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseCommunityService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/service/impl/MoseCommunityServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/service/impl/MoseCommunityServiceImpl.java new file mode 100644 index 0000000..89b27d8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/service/impl/MoseCommunityServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseCommunity.service.impl; + +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import org.jeecg.modules.moseCommunity.mapper.MoseCommunityMapper; +import org.jeecg.modules.moseCommunity.service.IMoseCommunityService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 社区信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseCommunityServiceImpl extends ServiceImpl implements IMoseCommunityService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/MoseCommunityList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/MoseCommunityList.vue new file mode 100644 index 0000000..b6a46cf --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/MoseCommunityList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityForm.vue new file mode 100644 index 0000000..beac0c1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityForm.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/moseCommunity/vue/modules/MoseCommunityModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityModal.Style#Drawer.vue new file mode 100644 index 0000000..18838d1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityModal.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/moseCommunity/vue/modules/MoseCommunityModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityModal.vue new file mode 100644 index 0000000..0d12722 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue/modules/MoseCommunityModal.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/moseCommunity/vue3/MoseCommunity.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunity.api.ts new file mode 100644 index 0000000..9536af8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunity.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseCommunity/moseCommunity/list', + save='/moseCommunity/moseCommunity/add', + edit='/moseCommunity/moseCommunity/edit', + deleteOne = '/moseCommunity/moseCommunity/delete', + deleteBatch = '/moseCommunity/moseCommunity/deleteBatch', + importExcel = '/moseCommunity/moseCommunity/importExcel', + exportXls = '/moseCommunity/moseCommunity/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/moseCommunity/vue3/MoseCommunity.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunity.data.ts new file mode 100644 index 0000000..0c0fdfc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunity.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '内容', + align:"center", + dataIndex: 'content', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '内容', + field: 'content', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunityList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunityList.vue new file mode 100644 index 0000000..694dea3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/MoseCommunityList.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/moseCommunity/vue3/components/MoseCommunityModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/components/MoseCommunityModal.vue new file mode 100644 index 0000000..391db0c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCommunity/vue3/components/MoseCommunityModal.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/moseCompany/controller/MoseCompanyController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/controller/MoseCompanyController.java new file mode 100644 index 0000000..e4c3401 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/controller/MoseCompanyController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseCompany.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.moseCompany.entity.MoseCompany; +import org.jeecg.modules.moseCompany.service.IMoseCompanyService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="分公司表") +@RestController +@RequestMapping("/moseCompany/moseCompany") +@Slf4j +public class MoseCompanyController extends JeecgController { + @Autowired + private IMoseCompanyService moseCompanyService; + + /** + * 分页列表查询 + * + * @param moseCompany + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "分公司表-分页列表查询") + @ApiOperation(value="分公司表-分页列表查询", notes="分公司表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseCompany moseCompany, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseCompany, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseCompanyService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseCompany + * @return + */ + @AutoLog(value = "分公司表-添加") + @ApiOperation(value="分公司表-添加", notes="分公司表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseCompany moseCompany) { + moseCompanyService.save(moseCompany); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseCompany + * @return + */ + @AutoLog(value = "分公司表-编辑") + @ApiOperation(value="分公司表-编辑", notes="分公司表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseCompany moseCompany) { + moseCompanyService.updateById(moseCompany); + 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) { + moseCompanyService.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.moseCompanyService.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) { + MoseCompany moseCompany = moseCompanyService.getById(id); + if(moseCompany==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseCompany); + } + + /** + * 导出excel + * + * @param request + * @param moseCompany + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseCompany moseCompany) { + return super.exportXls(request, moseCompany, MoseCompany.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, MoseCompany.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/entity/MoseCompany.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/entity/MoseCompany.java new file mode 100644 index 0000000..d554975 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/entity/MoseCompany.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseCompany.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_company") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_company对象", description="分公司表") +public class MoseCompany 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/MoseCompanyMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/MoseCompanyMapper.java new file mode 100644 index 0000000..5866363 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/MoseCompanyMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseCompany.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 分公司表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseCompanyMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/xml/MoseCompanyMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/xml/MoseCompanyMapper.xml new file mode 100644 index 0000000..798fc90 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/mapper/xml/MoseCompanyMapper.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/moseCompany/service/IMoseCompanyService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/service/IMoseCompanyService.java new file mode 100644 index 0000000..4e41b35 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/service/IMoseCompanyService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseCompany.service; + +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 分公司表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseCompanyService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/service/impl/MoseCompanyServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/service/impl/MoseCompanyServiceImpl.java new file mode 100644 index 0000000..572a6e4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/service/impl/MoseCompanyServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseCompany.service.impl; + +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import org.jeecg.modules.moseCompany.mapper.MoseCompanyMapper; +import org.jeecg.modules.moseCompany.service.IMoseCompanyService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 分公司表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseCompanyServiceImpl extends ServiceImpl implements IMoseCompanyService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/MoseCompanyList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/MoseCompanyList.vue new file mode 100644 index 0000000..151ffab --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/MoseCompanyList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyForm.vue new file mode 100644 index 0000000..976fc0d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyForm.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/moseCompany/vue/modules/MoseCompanyModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyModal.Style#Drawer.vue new file mode 100644 index 0000000..48c6772 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyModal.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/moseCompany/vue/modules/MoseCompanyModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyModal.vue new file mode 100644 index 0000000..41ea015 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue/modules/MoseCompanyModal.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/moseCompany/vue3/MoseCompany.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompany.api.ts new file mode 100644 index 0000000..d412dd4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompany.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseCompany/moseCompany/list', + save='/moseCompany/moseCompany/add', + edit='/moseCompany/moseCompany/edit', + deleteOne = '/moseCompany/moseCompany/delete', + deleteBatch = '/moseCompany/moseCompany/deleteBatch', + importExcel = '/moseCompany/moseCompany/importExcel', + exportXls = '/moseCompany/moseCompany/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/moseCompany/vue3/MoseCompany.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompany.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompany.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompanyList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompanyList.vue new file mode 100644 index 0000000..b0b1d75 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/MoseCompanyList.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/moseCompany/vue3/components/MoseCompanyModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/components/MoseCompanyModal.vue new file mode 100644 index 0000000..9f7134c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCompany/vue3/components/MoseCompanyModal.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/moseConfig/controller/MoseConfigController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/controller/MoseConfigController.java new file mode 100644 index 0000000..6788470 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/controller/MoseConfigController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseConfig.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.moseConfig.entity.MoseConfig; +import org.jeecg.modules.moseConfig.service.IMoseConfigService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="配置信息表") +@RestController +@RequestMapping("/moseConfig/moseConfig") +@Slf4j +public class MoseConfigController extends JeecgController { + @Autowired + private IMoseConfigService moseConfigService; + + /** + * 分页列表查询 + * + * @param moseConfig + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "配置信息表-分页列表查询") + @ApiOperation(value="配置信息表-分页列表查询", notes="配置信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseConfig moseConfig, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseConfig, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseConfigService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseConfig + * @return + */ + @AutoLog(value = "配置信息表-添加") + @ApiOperation(value="配置信息表-添加", notes="配置信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseConfig moseConfig) { + moseConfigService.save(moseConfig); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseConfig + * @return + */ + @AutoLog(value = "配置信息表-编辑") + @ApiOperation(value="配置信息表-编辑", notes="配置信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseConfig moseConfig) { + moseConfigService.updateById(moseConfig); + 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) { + moseConfigService.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.moseConfigService.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) { + MoseConfig moseConfig = moseConfigService.getById(id); + if(moseConfig==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseConfig); + } + + /** + * 导出excel + * + * @param request + * @param moseConfig + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseConfig moseConfig) { + return super.exportXls(request, moseConfig, MoseConfig.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, MoseConfig.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/entity/MoseConfig.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/entity/MoseConfig.java new file mode 100644 index 0000000..4abc89a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/entity/MoseConfig.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.moseConfig.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_config") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_config对象", description="配置信息表") +public class MoseConfig 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 paramCode; + /**参数值_普通文本*/ + @Excel(name = "参数值_普通文本", width = 15) + @ApiModelProperty(value = "参数值_普通文本") + private java.lang.String paramText; + /**参数值_图片*/ + @Excel(name = "参数值_图片", width = 15) + @ApiModelProperty(value = "参数值_图片") + private java.lang.String paramImage; + /**参数值_富文本*/ + @Excel(name = "参数值_富文本", width = 15) + @ApiModelProperty(value = "参数值_富文本") + private java.lang.String paramTextarea; + /**参数描述*/ + @Excel(name = "参数描述", width = 15) + @ApiModelProperty(value = "参数描述") + private java.lang.String paramDesc; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/MoseConfigMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/MoseConfigMapper.java new file mode 100644 index 0000000..ca8a27e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/MoseConfigMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseConfig.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseConfig.entity.MoseConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 配置信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseConfigMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/xml/MoseConfigMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/xml/MoseConfigMapper.xml new file mode 100644 index 0000000..f364c5e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/mapper/xml/MoseConfigMapper.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/moseConfig/service/IMoseConfigService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/service/IMoseConfigService.java new file mode 100644 index 0000000..4eff094 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/service/IMoseConfigService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseConfig.service; + +import org.jeecg.modules.moseConfig.entity.MoseConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 配置信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseConfigService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/service/impl/MoseConfigServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/service/impl/MoseConfigServiceImpl.java new file mode 100644 index 0000000..d5ad439 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/service/impl/MoseConfigServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseConfig.service.impl; + +import org.jeecg.modules.moseConfig.entity.MoseConfig; +import org.jeecg.modules.moseConfig.mapper.MoseConfigMapper; +import org.jeecg.modules.moseConfig.service.IMoseConfigService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 配置信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseConfigServiceImpl extends ServiceImpl implements IMoseConfigService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/MoseConfigList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/MoseConfigList.vue new file mode 100644 index 0000000..7d9e1a1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/MoseConfigList.vue @@ -0,0 +1,197 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigForm.vue new file mode 100644 index 0000000..9998426 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigModal.Style#Drawer.vue new file mode 100644 index 0000000..23f782b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigModal.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/moseConfig/vue/modules/MoseConfigModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigModal.vue new file mode 100644 index 0000000..72433c5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue/modules/MoseConfigModal.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/moseConfig/vue3/MoseConfig.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfig.api.ts new file mode 100644 index 0000000..33a26c2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfig.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseConfig/moseConfig/list', + save='/moseConfig/moseConfig/add', + edit='/moseConfig/moseConfig/edit', + deleteOne = '/moseConfig/moseConfig/delete', + deleteBatch = '/moseConfig/moseConfig/deleteBatch', + importExcel = '/moseConfig/moseConfig/importExcel', + exportXls = '/moseConfig/moseConfig/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/moseConfig/vue3/MoseConfig.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfig.data.ts new file mode 100644 index 0000000..732219b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfig.data.ts @@ -0,0 +1,67 @@ +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: 'paramCode' + }, + { + title: '参数值_普通文本', + align:"center", + dataIndex: 'paramText' + }, + { + title: '参数值_图片', + align:"center", + dataIndex: 'paramImage', + customRender:render.renderAvatar, + }, + { + title: '参数值_富文本', + align:"center", + dataIndex: 'paramTextarea', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '参数描述', + align:"center", + dataIndex: 'paramDesc' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '参数编码', + field: 'paramCode', + component: 'Input', + }, + { + label: '参数值_普通文本', + field: 'paramText', + component: 'Input', + }, + { + label: '参数值_图片', + field: 'paramImage', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '参数值_富文本', + field: 'paramTextarea', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '参数描述', + field: 'paramDesc', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfigList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfigList.vue new file mode 100644 index 0000000..70b1376 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/MoseConfigList.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/moseConfig/vue3/components/MoseConfigModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/components/MoseConfigModal.vue new file mode 100644 index 0000000..cc450e6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseConfig/vue3/components/MoseConfigModal.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/moseContact/controller/MoseContactController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/controller/MoseContactController.java new file mode 100644 index 0000000..c748391 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/controller/MoseContactController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseContact.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.moseContact.entity.MoseContact; +import org.jeecg.modules.moseContact.service.IMoseContactService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="联系我们") +@RestController +@RequestMapping("/moseContact/moseContact") +@Slf4j +public class MoseContactController extends JeecgController { + @Autowired + private IMoseContactService moseContactService; + + /** + * 分页列表查询 + * + * @param moseContact + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "联系我们-分页列表查询") + @ApiOperation(value="联系我们-分页列表查询", notes="联系我们-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseContact moseContact, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseContact, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseContactService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseContact + * @return + */ + @AutoLog(value = "联系我们-添加") + @ApiOperation(value="联系我们-添加", notes="联系我们-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseContact moseContact) { + moseContactService.save(moseContact); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseContact + * @return + */ + @AutoLog(value = "联系我们-编辑") + @ApiOperation(value="联系我们-编辑", notes="联系我们-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseContact moseContact) { + moseContactService.updateById(moseContact); + 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) { + moseContactService.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.moseContactService.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) { + MoseContact moseContact = moseContactService.getById(id); + if(moseContact==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseContact); + } + + /** + * 导出excel + * + * @param request + * @param moseContact + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseContact moseContact) { + return super.exportXls(request, moseContact, MoseContact.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, MoseContact.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/entity/MoseContact.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/entity/MoseContact.java new file mode 100644 index 0000000..8a285eb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/entity/MoseContact.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.moseContact.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_contact") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_contact对象", description="联系我们") +public class MoseContact 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) + @ApiModelProperty(value = "邮箱") + private java.lang.String email; + /**主题*/ + @Excel(name = "主题", width = 15) + @ApiModelProperty(value = "主题") + private java.lang.String topic; + /**信息*/ + @Excel(name = "信息", width = 15) + @ApiModelProperty(value = "信息") + private java.lang.String information; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/MoseContactMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/MoseContactMapper.java new file mode 100644 index 0000000..6da66af --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/MoseContactMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseContact.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseContact.entity.MoseContact; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 联系我们 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseContactMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/xml/MoseContactMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/xml/MoseContactMapper.xml new file mode 100644 index 0000000..c38bfcf --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/mapper/xml/MoseContactMapper.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/moseContact/service/IMoseContactService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/service/IMoseContactService.java new file mode 100644 index 0000000..c9ec7dc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/service/IMoseContactService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseContact.service; + +import org.jeecg.modules.moseContact.entity.MoseContact; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 联系我们 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseContactService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/service/impl/MoseContactServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/service/impl/MoseContactServiceImpl.java new file mode 100644 index 0000000..dd234a5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/service/impl/MoseContactServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseContact.service.impl; + +import org.jeecg.modules.moseContact.entity.MoseContact; +import org.jeecg.modules.moseContact.mapper.MoseContactMapper; +import org.jeecg.modules.moseContact.service.IMoseContactService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 联系我们 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseContactServiceImpl extends ServiceImpl implements IMoseContactService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/MoseContactList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/MoseContactList.vue new file mode 100644 index 0000000..0db08e1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/MoseContactList.vue @@ -0,0 +1,190 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactForm.vue new file mode 100644 index 0000000..8a91b40 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactForm.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/moseContact/vue/modules/MoseContactModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactModal.Style#Drawer.vue new file mode 100644 index 0000000..c7193d7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactModal.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/moseContact/vue/modules/MoseContactModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactModal.vue new file mode 100644 index 0000000..0bdcbc8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue/modules/MoseContactModal.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/moseContact/vue3/MoseContact.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContact.api.ts new file mode 100644 index 0000000..05a4b4f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContact.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseContact/moseContact/list', + save='/moseContact/moseContact/add', + edit='/moseContact/moseContact/edit', + deleteOne = '/moseContact/moseContact/delete', + deleteBatch = '/moseContact/moseContact/deleteBatch', + importExcel = '/moseContact/moseContact/importExcel', + exportXls = '/moseContact/moseContact/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/moseContact/vue3/MoseContact.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContact.data.ts new file mode 100644 index 0000000..d685b51 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContact.data.ts @@ -0,0 +1,54 @@ +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: 'email' + }, + { + title: '主题', + align:"center", + dataIndex: 'topic' + }, + { + title: '信息', + align:"center", + dataIndex: 'information', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '姓名', + field: 'name', + component: 'Input', + }, + { + label: '邮箱', + field: 'email', + component: 'Input', + }, + { + label: '主题', + field: 'topic', + component: 'Input', + }, + { + label: '信息', + field: 'information', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContactList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContactList.vue new file mode 100644 index 0000000..9dba92a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/MoseContactList.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/moseContact/vue3/components/MoseContactModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/components/MoseContactModal.vue new file mode 100644 index 0000000..df2415d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseContact/vue3/components/MoseContactModal.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/moseCourse/controller/MoseCourseController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/controller/MoseCourseController.java new file mode 100644 index 0000000..23f03d7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/controller/MoseCourseController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseCourse.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.moseCourse.entity.MoseCourse; +import org.jeecg.modules.moseCourse.service.IMoseCourseService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="发展历程表") +@RestController +@RequestMapping("/moseCourse/moseCourse") +@Slf4j +public class MoseCourseController extends JeecgController { + @Autowired + private IMoseCourseService moseCourseService; + + /** + * 分页列表查询 + * + * @param moseCourse + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "发展历程表-分页列表查询") + @ApiOperation(value="发展历程表-分页列表查询", notes="发展历程表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseCourse moseCourse, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseCourse, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseCourseService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseCourse + * @return + */ + @AutoLog(value = "发展历程表-添加") + @ApiOperation(value="发展历程表-添加", notes="发展历程表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseCourse moseCourse) { + moseCourseService.save(moseCourse); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseCourse + * @return + */ + @AutoLog(value = "发展历程表-编辑") + @ApiOperation(value="发展历程表-编辑", notes="发展历程表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseCourse moseCourse) { + moseCourseService.updateById(moseCourse); + 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) { + moseCourseService.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.moseCourseService.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) { + MoseCourse moseCourse = moseCourseService.getById(id); + if(moseCourse==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseCourse); + } + + /** + * 导出excel + * + * @param request + * @param moseCourse + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseCourse moseCourse) { + return super.exportXls(request, moseCourse, MoseCourse.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, MoseCourse.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/entity/MoseCourse.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/entity/MoseCourse.java new file mode 100644 index 0000000..6249c95 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/entity/MoseCourse.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.moseCourse.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_course") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_course对象", description="发展历程表") +public class MoseCourse 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 title; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/MoseCourseMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/MoseCourseMapper.java new file mode 100644 index 0000000..81238f2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/MoseCourseMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseCourse.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 发展历程表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseCourseMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/xml/MoseCourseMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/xml/MoseCourseMapper.xml new file mode 100644 index 0000000..064a6f7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/mapper/xml/MoseCourseMapper.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/moseCourse/service/IMoseCourseService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/service/IMoseCourseService.java new file mode 100644 index 0000000..57c0222 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/service/IMoseCourseService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseCourse.service; + +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 发展历程表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseCourseService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/service/impl/MoseCourseServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/service/impl/MoseCourseServiceImpl.java new file mode 100644 index 0000000..87eac95 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/service/impl/MoseCourseServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseCourse.service.impl; + +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import org.jeecg.modules.moseCourse.mapper.MoseCourseMapper; +import org.jeecg.modules.moseCourse.service.IMoseCourseService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 发展历程表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseCourseServiceImpl extends ServiceImpl implements IMoseCourseService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/MoseCourseList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/MoseCourseList.vue new file mode 100644 index 0000000..350006e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/MoseCourseList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseForm.vue new file mode 100644 index 0000000..f3ee3b4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseModal.Style#Drawer.vue new file mode 100644 index 0000000..c32a877 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseModal.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/moseCourse/vue/modules/MoseCourseModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseModal.vue new file mode 100644 index 0000000..3162c9c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue/modules/MoseCourseModal.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/moseCourse/vue3/MoseCourse.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourse.api.ts new file mode 100644 index 0000000..da24a7c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourse.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseCourse/moseCourse/list', + save='/moseCourse/moseCourse/add', + edit='/moseCourse/moseCourse/edit', + deleteOne = '/moseCourse/moseCourse/delete', + deleteBatch = '/moseCourse/moseCourse/deleteBatch', + importExcel = '/moseCourse/moseCourse/importExcel', + exportXls = '/moseCourse/moseCourse/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/moseCourse/vue3/MoseCourse.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourse.data.ts new file mode 100644 index 0000000..955c6b3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourse.data.ts @@ -0,0 +1,34 @@ +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: 'title' + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourseList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourseList.vue new file mode 100644 index 0000000..cc5e0bd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/MoseCourseList.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/moseCourse/vue3/components/MoseCourseModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/components/MoseCourseModal.vue new file mode 100644 index 0000000..71b8e20 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseCourse/vue3/components/MoseCourseModal.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/moseEcosystem/controller/MoseEcosystemController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/controller/MoseEcosystemController.java new file mode 100644 index 0000000..b69259d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/controller/MoseEcosystemController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseEcosystem.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.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.moseEcosystem.service.IMoseEcosystemService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="生态表") +@RestController +@RequestMapping("/moseEcosystem/moseEcosystem") +@Slf4j +public class MoseEcosystemController extends JeecgController { + @Autowired + private IMoseEcosystemService moseEcosystemService; + + /** + * 分页列表查询 + * + * @param moseEcosystem + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "生态表-分页列表查询") + @ApiOperation(value="生态表-分页列表查询", notes="生态表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseEcosystem moseEcosystem, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseEcosystem, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseEcosystemService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseEcosystem + * @return + */ + @AutoLog(value = "生态表-添加") + @ApiOperation(value="生态表-添加", notes="生态表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseEcosystem moseEcosystem) { + moseEcosystemService.save(moseEcosystem); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseEcosystem + * @return + */ + @AutoLog(value = "生态表-编辑") + @ApiOperation(value="生态表-编辑", notes="生态表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseEcosystem moseEcosystem) { + moseEcosystemService.updateById(moseEcosystem); + 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) { + moseEcosystemService.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.moseEcosystemService.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) { + MoseEcosystem moseEcosystem = moseEcosystemService.getById(id); + if(moseEcosystem==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseEcosystem); + } + + /** + * 导出excel + * + * @param request + * @param moseEcosystem + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseEcosystem moseEcosystem) { + return super.exportXls(request, moseEcosystem, MoseEcosystem.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, MoseEcosystem.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/entity/MoseEcosystem.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/entity/MoseEcosystem.java new file mode 100644 index 0000000..7690872 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/entity/MoseEcosystem.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.moseEcosystem.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_ecosystem") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_ecosystem对象", description="生态表") +public class MoseEcosystem 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 title; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/MoseEcosystemMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/MoseEcosystemMapper.java new file mode 100644 index 0000000..5e8c068 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/MoseEcosystemMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseEcosystem.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 生态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseEcosystemMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/xml/MoseEcosystemMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/xml/MoseEcosystemMapper.xml new file mode 100644 index 0000000..76db627 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/mapper/xml/MoseEcosystemMapper.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/moseEcosystem/service/IMoseEcosystemService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/service/IMoseEcosystemService.java new file mode 100644 index 0000000..d91f4f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/service/IMoseEcosystemService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseEcosystem.service; + +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 生态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseEcosystemService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/service/impl/MoseEcosystemServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/service/impl/MoseEcosystemServiceImpl.java new file mode 100644 index 0000000..0e8a555 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/service/impl/MoseEcosystemServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseEcosystem.service.impl; + +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.moseEcosystem.mapper.MoseEcosystemMapper; +import org.jeecg.modules.moseEcosystem.service.IMoseEcosystemService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 生态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseEcosystemServiceImpl extends ServiceImpl implements IMoseEcosystemService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/MoseEcosystemList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/MoseEcosystemList.vue new file mode 100644 index 0000000..4299509 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/MoseEcosystemList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemForm.vue new file mode 100644 index 0000000..0329203 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemModal.Style#Drawer.vue new file mode 100644 index 0000000..e447771 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemModal.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/moseEcosystem/vue/modules/MoseEcosystemModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemModal.vue new file mode 100644 index 0000000..4b8bca7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue/modules/MoseEcosystemModal.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/moseEcosystem/vue3/MoseEcosystem.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystem.api.ts new file mode 100644 index 0000000..5d78679 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystem.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseEcosystem/moseEcosystem/list', + save='/moseEcosystem/moseEcosystem/add', + edit='/moseEcosystem/moseEcosystem/edit', + deleteOne = '/moseEcosystem/moseEcosystem/delete', + deleteBatch = '/moseEcosystem/moseEcosystem/deleteBatch', + importExcel = '/moseEcosystem/moseEcosystem/importExcel', + exportXls = '/moseEcosystem/moseEcosystem/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/moseEcosystem/vue3/MoseEcosystem.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystem.data.ts new file mode 100644 index 0000000..955c6b3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystem.data.ts @@ -0,0 +1,34 @@ +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: 'title' + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystemList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystemList.vue new file mode 100644 index 0000000..676f669 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/MoseEcosystemList.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/moseEcosystem/vue3/components/MoseEcosystemModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/components/MoseEcosystemModal.vue new file mode 100644 index 0000000..1ded9c0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseEcosystem/vue3/components/MoseEcosystemModal.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/moseForum/controller/MoseForumController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/controller/MoseForumController.java new file mode 100644 index 0000000..0386a45 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/controller/MoseForumController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseForum.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.moseForum.entity.MoseForum; +import org.jeecg.modules.moseForum.service.IMoseForumService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="论坛信息表") +@RestController +@RequestMapping("/moseForum/moseForum") +@Slf4j +public class MoseForumController extends JeecgController { + @Autowired + private IMoseForumService moseForumService; + + /** + * 分页列表查询 + * + * @param moseForum + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "论坛信息表-分页列表查询") + @ApiOperation(value="论坛信息表-分页列表查询", notes="论坛信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseForum moseForum, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseForum, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseForumService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseForum + * @return + */ + @AutoLog(value = "论坛信息表-添加") + @ApiOperation(value="论坛信息表-添加", notes="论坛信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseForum moseForum) { + moseForumService.save(moseForum); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseForum + * @return + */ + @AutoLog(value = "论坛信息表-编辑") + @ApiOperation(value="论坛信息表-编辑", notes="论坛信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseForum moseForum) { + moseForumService.updateById(moseForum); + 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) { + moseForumService.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.moseForumService.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) { + MoseForum moseForum = moseForumService.getById(id); + if(moseForum==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseForum); + } + + /** + * 导出excel + * + * @param request + * @param moseForum + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseForum moseForum) { + return super.exportXls(request, moseForum, MoseForum.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, MoseForum.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/entity/MoseForum.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/entity/MoseForum.java new file mode 100644 index 0000000..a0f902c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/entity/MoseForum.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseForum.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_forum") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_forum对象", description="论坛信息表") +public class MoseForum 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 title; + /**封面*/ + @Excel(name = "封面", width = 15) + @ApiModelProperty(value = "封面") + private java.lang.String image; + /**内容*/ + @Excel(name = "内容", width = 15) + @ApiModelProperty(value = "内容") + private java.lang.String content; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/MoseForumMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/MoseForumMapper.java new file mode 100644 index 0000000..6f3be2b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/MoseForumMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseForum.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseForum.entity.MoseForum; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 论坛信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseForumMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/xml/MoseForumMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/xml/MoseForumMapper.xml new file mode 100644 index 0000000..9550f9c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/mapper/xml/MoseForumMapper.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/moseForum/service/IMoseForumService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/service/IMoseForumService.java new file mode 100644 index 0000000..87b369f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/service/IMoseForumService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseForum.service; + +import org.jeecg.modules.moseForum.entity.MoseForum; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 论坛信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseForumService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/service/impl/MoseForumServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/service/impl/MoseForumServiceImpl.java new file mode 100644 index 0000000..63fdfd1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/service/impl/MoseForumServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseForum.service.impl; + +import org.jeecg.modules.moseForum.entity.MoseForum; +import org.jeecg.modules.moseForum.mapper.MoseForumMapper; +import org.jeecg.modules.moseForum.service.IMoseForumService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 论坛信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseForumServiceImpl extends ServiceImpl implements IMoseForumService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/MoseForumList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/MoseForumList.vue new file mode 100644 index 0000000..cfb2b90 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/MoseForumList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumForm.vue new file mode 100644 index 0000000..38f88a5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumForm.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/moseForum/vue/modules/MoseForumModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumModal.Style#Drawer.vue new file mode 100644 index 0000000..195f2aa --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumModal.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/moseForum/vue/modules/MoseForumModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumModal.vue new file mode 100644 index 0000000..84c6413 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue/modules/MoseForumModal.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/moseForum/vue3/MoseForum.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForum.api.ts new file mode 100644 index 0000000..ae29b18 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForum.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseForum/moseForum/list', + save='/moseForum/moseForum/add', + edit='/moseForum/moseForum/edit', + deleteOne = '/moseForum/moseForum/delete', + deleteBatch = '/moseForum/moseForum/deleteBatch', + importExcel = '/moseForum/moseForum/importExcel', + exportXls = '/moseForum/moseForum/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/moseForum/vue3/MoseForum.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForum.data.ts new file mode 100644 index 0000000..bc1fba4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForum.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '封面', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '内容', + align:"center", + dataIndex: 'content', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '封面', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '内容', + field: 'content', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForumList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForumList.vue new file mode 100644 index 0000000..8742e2a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/MoseForumList.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/moseForum/vue3/components/MoseForumModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/components/MoseForumModal.vue new file mode 100644 index 0000000..17774f3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseForum/vue3/components/MoseForumModal.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/moseInvestor/controller/MoseInvestorController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/controller/MoseInvestorController.java new file mode 100644 index 0000000..a63be28 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/controller/MoseInvestorController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseInvestor.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.moseInvestor.entity.MoseInvestor; +import org.jeecg.modules.moseInvestor.service.IMoseInvestorService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="投资者表") +@RestController +@RequestMapping("/moseInvestor/moseInvestor") +@Slf4j +public class MoseInvestorController extends JeecgController { + @Autowired + private IMoseInvestorService moseInvestorService; + + /** + * 分页列表查询 + * + * @param moseInvestor + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "投资者表-分页列表查询") + @ApiOperation(value="投资者表-分页列表查询", notes="投资者表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseInvestor moseInvestor, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseInvestor, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseInvestorService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseInvestor + * @return + */ + @AutoLog(value = "投资者表-添加") + @ApiOperation(value="投资者表-添加", notes="投资者表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseInvestor moseInvestor) { + moseInvestorService.save(moseInvestor); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseInvestor + * @return + */ + @AutoLog(value = "投资者表-编辑") + @ApiOperation(value="投资者表-编辑", notes="投资者表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseInvestor moseInvestor) { + moseInvestorService.updateById(moseInvestor); + 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) { + moseInvestorService.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.moseInvestorService.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) { + MoseInvestor moseInvestor = moseInvestorService.getById(id); + if(moseInvestor==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseInvestor); + } + + /** + * 导出excel + * + * @param request + * @param moseInvestor + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseInvestor moseInvestor) { + return super.exportXls(request, moseInvestor, MoseInvestor.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, MoseInvestor.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/entity/MoseInvestor.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/entity/MoseInvestor.java new file mode 100644 index 0000000..732695a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/entity/MoseInvestor.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseInvestor.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_investor") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_investor对象", description="投资者表") +public class MoseInvestor 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/MoseInvestorMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/MoseInvestorMapper.java new file mode 100644 index 0000000..6f97a6e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/MoseInvestorMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseInvestor.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 投资者表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseInvestorMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/xml/MoseInvestorMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/xml/MoseInvestorMapper.xml new file mode 100644 index 0000000..e3dbd4c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/mapper/xml/MoseInvestorMapper.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/moseInvestor/service/IMoseInvestorService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/service/IMoseInvestorService.java new file mode 100644 index 0000000..bbed9c5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/service/IMoseInvestorService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseInvestor.service; + +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 投资者表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseInvestorService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/service/impl/MoseInvestorServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/service/impl/MoseInvestorServiceImpl.java new file mode 100644 index 0000000..6531b36 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/service/impl/MoseInvestorServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseInvestor.service.impl; + +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import org.jeecg.modules.moseInvestor.mapper.MoseInvestorMapper; +import org.jeecg.modules.moseInvestor.service.IMoseInvestorService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 投资者表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseInvestorServiceImpl extends ServiceImpl implements IMoseInvestorService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/MoseInvestorList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/MoseInvestorList.vue new file mode 100644 index 0000000..ea6dd2f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/MoseInvestorList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorForm.vue new file mode 100644 index 0000000..07a4912 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorForm.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/moseInvestor/vue/modules/MoseInvestorModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorModal.Style#Drawer.vue new file mode 100644 index 0000000..b7b6769 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorModal.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/moseInvestor/vue/modules/MoseInvestorModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorModal.vue new file mode 100644 index 0000000..f943d9a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue/modules/MoseInvestorModal.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/moseInvestor/vue3/MoseInvestor.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestor.api.ts new file mode 100644 index 0000000..bce8b70 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestor.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseInvestor/moseInvestor/list', + save='/moseInvestor/moseInvestor/add', + edit='/moseInvestor/moseInvestor/edit', + deleteOne = '/moseInvestor/moseInvestor/delete', + deleteBatch = '/moseInvestor/moseInvestor/deleteBatch', + importExcel = '/moseInvestor/moseInvestor/importExcel', + exportXls = '/moseInvestor/moseInvestor/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/moseInvestor/vue3/MoseInvestor.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestor.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestor.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestorList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestorList.vue new file mode 100644 index 0000000..1a2bd1e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/MoseInvestorList.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/moseInvestor/vue3/components/MoseInvestorModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/components/MoseInvestorModal.vue new file mode 100644 index 0000000..2eb98ec --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseInvestor/vue3/components/MoseInvestorModal.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/moseMedia/controller/MoseMediaController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/controller/MoseMediaController.java new file mode 100644 index 0000000..41c4d92 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/controller/MoseMediaController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseMedia.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.moseMedia.entity.MoseMedia; +import org.jeecg.modules.moseMedia.service.IMoseMediaService; + +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: 媒体logo墙表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Api(tags="媒体logo墙表") +@RestController +@RequestMapping("/moseMedia/moseMedia") +@Slf4j +public class MoseMediaController extends JeecgController { + @Autowired + private IMoseMediaService moseMediaService; + + /** + * 分页列表查询 + * + * @param moseMedia + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "媒体logo墙表-分页列表查询") + @ApiOperation(value="媒体logo墙表-分页列表查询", notes="媒体logo墙表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseMedia moseMedia, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseMedia, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseMediaService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseMedia + * @return + */ + @AutoLog(value = "媒体logo墙表-添加") + @ApiOperation(value="媒体logo墙表-添加", notes="媒体logo墙表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseMedia moseMedia) { + moseMediaService.save(moseMedia); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseMedia + * @return + */ + @AutoLog(value = "媒体logo墙表-编辑") + @ApiOperation(value="媒体logo墙表-编辑", notes="媒体logo墙表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseMedia moseMedia) { + moseMediaService.updateById(moseMedia); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "媒体logo墙表-通过id删除") + @ApiOperation(value="媒体logo墙表-通过id删除", notes="媒体logo墙表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + moseMediaService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "媒体logo墙表-批量删除") + @ApiOperation(value="媒体logo墙表-批量删除", notes="媒体logo墙表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.moseMediaService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "媒体logo墙表-通过id查询") + @ApiOperation(value="媒体logo墙表-通过id查询", notes="媒体logo墙表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + MoseMedia moseMedia = moseMediaService.getById(id); + if(moseMedia==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseMedia); + } + + /** + * 导出excel + * + * @param request + * @param moseMedia + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseMedia moseMedia) { + return super.exportXls(request, moseMedia, MoseMedia.class, "媒体logo墙表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, MoseMedia.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/entity/MoseMedia.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/entity/MoseMedia.java new file mode 100644 index 0000000..de40ebf --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/entity/MoseMedia.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseMedia.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: 媒体logo墙表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_media") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_media对象", description="媒体logo墙表") +public class MoseMedia 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/MoseMediaMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/MoseMediaMapper.java new file mode 100644 index 0000000..3b67513 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/MoseMediaMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseMedia.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 媒体logo墙表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseMediaMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/xml/MoseMediaMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/xml/MoseMediaMapper.xml new file mode 100644 index 0000000..b1397e3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/mapper/xml/MoseMediaMapper.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/moseMedia/service/IMoseMediaService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/service/IMoseMediaService.java new file mode 100644 index 0000000..5c677d7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/service/IMoseMediaService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseMedia.service; + +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 媒体logo墙表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseMediaService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/service/impl/MoseMediaServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/service/impl/MoseMediaServiceImpl.java new file mode 100644 index 0000000..20236eb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/service/impl/MoseMediaServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseMedia.service.impl; + +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import org.jeecg.modules.moseMedia.mapper.MoseMediaMapper; +import org.jeecg.modules.moseMedia.service.IMoseMediaService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 媒体logo墙表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseMediaServiceImpl extends ServiceImpl implements IMoseMediaService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/MoseMediaList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/MoseMediaList.vue new file mode 100644 index 0000000..f3e57a3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/MoseMediaList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaForm.vue new file mode 100644 index 0000000..137e733 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaForm.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/moseMedia/vue/modules/MoseMediaModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaModal.Style#Drawer.vue new file mode 100644 index 0000000..ffbd095 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaModal.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/moseMedia/vue/modules/MoseMediaModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaModal.vue new file mode 100644 index 0000000..c40474d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue/modules/MoseMediaModal.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/moseMedia/vue3/MoseMedia.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMedia.api.ts new file mode 100644 index 0000000..b8be650 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMedia.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseMedia/moseMedia/list', + save='/moseMedia/moseMedia/add', + edit='/moseMedia/moseMedia/edit', + deleteOne = '/moseMedia/moseMedia/delete', + deleteBatch = '/moseMedia/moseMedia/deleteBatch', + importExcel = '/moseMedia/moseMedia/importExcel', + exportXls = '/moseMedia/moseMedia/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/moseMedia/vue3/MoseMedia.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMedia.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMedia.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMediaList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMediaList.vue new file mode 100644 index 0000000..956a977 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/MoseMediaList.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/moseMedia/vue3/components/MoseMediaModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/components/MoseMediaModal.vue new file mode 100644 index 0000000..35c99de --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMedia/vue3/components/MoseMediaModal.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/moseMessage/controller/MoseMessageController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/controller/MoseMessageController.java new file mode 100644 index 0000000..e1ed3c8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/controller/MoseMessageController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseMessage.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.moseMessage.entity.MoseMessage; +import org.jeecg.modules.moseMessage.service.IMoseMessageService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="公示信息表") +@RestController +@RequestMapping("/moseMessage/moseMessage") +@Slf4j +public class MoseMessageController extends JeecgController { + @Autowired + private IMoseMessageService moseMessageService; + + /** + * 分页列表查询 + * + * @param moseMessage + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "公示信息表-分页列表查询") + @ApiOperation(value="公示信息表-分页列表查询", notes="公示信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseMessage moseMessage, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseMessage, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseMessageService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseMessage + * @return + */ + @AutoLog(value = "公示信息表-添加") + @ApiOperation(value="公示信息表-添加", notes="公示信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseMessage moseMessage) { + moseMessageService.save(moseMessage); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseMessage + * @return + */ + @AutoLog(value = "公示信息表-编辑") + @ApiOperation(value="公示信息表-编辑", notes="公示信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseMessage moseMessage) { + moseMessageService.updateById(moseMessage); + 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) { + moseMessageService.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.moseMessageService.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) { + MoseMessage moseMessage = moseMessageService.getById(id); + if(moseMessage==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseMessage); + } + + /** + * 导出excel + * + * @param request + * @param moseMessage + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseMessage moseMessage) { + return super.exportXls(request, moseMessage, MoseMessage.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, MoseMessage.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/entity/MoseMessage.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/entity/MoseMessage.java new file mode 100644 index 0000000..1a73160 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/entity/MoseMessage.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseMessage.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_message") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_message对象", description="公示信息表") +public class MoseMessage 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**内容*/ + @Excel(name = "内容", width = 15) + @ApiModelProperty(value = "内容") + private java.lang.String content; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/MoseMessageMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/MoseMessageMapper.java new file mode 100644 index 0000000..f2ac6a9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/MoseMessageMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseMessage.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 公示信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseMessageMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/xml/MoseMessageMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/xml/MoseMessageMapper.xml new file mode 100644 index 0000000..eaa244d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/mapper/xml/MoseMessageMapper.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/moseMessage/service/IMoseMessageService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/service/IMoseMessageService.java new file mode 100644 index 0000000..1343c02 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/service/IMoseMessageService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseMessage.service; + +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 公示信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseMessageService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/service/impl/MoseMessageServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/service/impl/MoseMessageServiceImpl.java new file mode 100644 index 0000000..9b20faa --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/service/impl/MoseMessageServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseMessage.service.impl; + +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import org.jeecg.modules.moseMessage.mapper.MoseMessageMapper; +import org.jeecg.modules.moseMessage.service.IMoseMessageService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 公示信息表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseMessageServiceImpl extends ServiceImpl implements IMoseMessageService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/MoseMessageList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/MoseMessageList.vue new file mode 100644 index 0000000..df16419 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/MoseMessageList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageForm.vue new file mode 100644 index 0000000..fadb7c2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageForm.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/moseMessage/vue/modules/MoseMessageModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageModal.Style#Drawer.vue new file mode 100644 index 0000000..35019a4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageModal.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/moseMessage/vue/modules/MoseMessageModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageModal.vue new file mode 100644 index 0000000..479bbab --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue/modules/MoseMessageModal.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/moseMessage/vue3/MoseMessage.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessage.api.ts new file mode 100644 index 0000000..ee0b063 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessage.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseMessage/moseMessage/list', + save='/moseMessage/moseMessage/add', + edit='/moseMessage/moseMessage/edit', + deleteOne = '/moseMessage/moseMessage/delete', + deleteBatch = '/moseMessage/moseMessage/deleteBatch', + importExcel = '/moseMessage/moseMessage/importExcel', + exportXls = '/moseMessage/moseMessage/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/moseMessage/vue3/MoseMessage.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessage.data.ts new file mode 100644 index 0000000..0c0fdfc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessage.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '内容', + align:"center", + dataIndex: 'content', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '内容', + field: 'content', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessageList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessageList.vue new file mode 100644 index 0000000..18a9bd6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/MoseMessageList.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/moseMessage/vue3/components/MoseMessageModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/components/MoseMessageModal.vue new file mode 100644 index 0000000..e082a39 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseMessage/vue3/components/MoseMessageModal.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/moseOfficialMedia/controller/MoseOfficialMediaController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/controller/MoseOfficialMediaController.java new file mode 100644 index 0000000..a34af64 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/controller/MoseOfficialMediaController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseOfficialMedia.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.moseOfficialMedia.entity.MoseOfficialMedia; +import org.jeecg.modules.moseOfficialMedia.service.IMoseOfficialMediaService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="官方媒体表") +@RestController +@RequestMapping("/moseOfficialMedia/moseOfficialMedia") +@Slf4j +public class MoseOfficialMediaController extends JeecgController { + @Autowired + private IMoseOfficialMediaService moseOfficialMediaService; + + /** + * 分页列表查询 + * + * @param moseOfficialMedia + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "官方媒体表-分页列表查询") + @ApiOperation(value="官方媒体表-分页列表查询", notes="官方媒体表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseOfficialMedia moseOfficialMedia, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseOfficialMedia, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseOfficialMediaService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseOfficialMedia + * @return + */ + @AutoLog(value = "官方媒体表-添加") + @ApiOperation(value="官方媒体表-添加", notes="官方媒体表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseOfficialMedia moseOfficialMedia) { + moseOfficialMediaService.save(moseOfficialMedia); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseOfficialMedia + * @return + */ + @AutoLog(value = "官方媒体表-编辑") + @ApiOperation(value="官方媒体表-编辑", notes="官方媒体表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseOfficialMedia moseOfficialMedia) { + moseOfficialMediaService.updateById(moseOfficialMedia); + 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) { + moseOfficialMediaService.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.moseOfficialMediaService.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) { + MoseOfficialMedia moseOfficialMedia = moseOfficialMediaService.getById(id); + if(moseOfficialMedia==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseOfficialMedia); + } + + /** + * 导出excel + * + * @param request + * @param moseOfficialMedia + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseOfficialMedia moseOfficialMedia) { + return super.exportXls(request, moseOfficialMedia, MoseOfficialMedia.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, MoseOfficialMedia.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/entity/MoseOfficialMedia.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/entity/MoseOfficialMedia.java new file mode 100644 index 0000000..a852369 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/entity/MoseOfficialMedia.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.moseOfficialMedia.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_official_media") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_official_media对象", description="官方媒体表") +public class MoseOfficialMedia 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 title; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**链接*/ + @Excel(name = "链接", width = 15) + @ApiModelProperty(value = "链接") + private java.lang.String link; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/MoseOfficialMediaMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/MoseOfficialMediaMapper.java new file mode 100644 index 0000000..57eb1b0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/MoseOfficialMediaMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseOfficialMedia.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 官方媒体表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseOfficialMediaMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/xml/MoseOfficialMediaMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/xml/MoseOfficialMediaMapper.xml new file mode 100644 index 0000000..04f6169 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/mapper/xml/MoseOfficialMediaMapper.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/moseOfficialMedia/service/IMoseOfficialMediaService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/service/IMoseOfficialMediaService.java new file mode 100644 index 0000000..6db7d32 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/service/IMoseOfficialMediaService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseOfficialMedia.service; + +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 官方媒体表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseOfficialMediaService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/service/impl/MoseOfficialMediaServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/service/impl/MoseOfficialMediaServiceImpl.java new file mode 100644 index 0000000..99edcca --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/service/impl/MoseOfficialMediaServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseOfficialMedia.service.impl; + +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import org.jeecg.modules.moseOfficialMedia.mapper.MoseOfficialMediaMapper; +import org.jeecg.modules.moseOfficialMedia.service.IMoseOfficialMediaService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 官方媒体表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseOfficialMediaServiceImpl extends ServiceImpl implements IMoseOfficialMediaService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/MoseOfficialMediaList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/MoseOfficialMediaList.vue new file mode 100644 index 0000000..d0a0707 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/MoseOfficialMediaList.vue @@ -0,0 +1,191 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaForm.vue new file mode 100644 index 0000000..0b1a993 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaForm.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/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.Style#Drawer.vue new file mode 100644 index 0000000..93b3d7f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.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/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.vue new file mode 100644 index 0000000..2c37e1e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue/modules/MoseOfficialMediaModal.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/moseOfficialMedia/vue3/MoseOfficialMedia.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMedia.api.ts new file mode 100644 index 0000000..d5d3935 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMedia.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseOfficialMedia/moseOfficialMedia/list', + save='/moseOfficialMedia/moseOfficialMedia/add', + edit='/moseOfficialMedia/moseOfficialMedia/edit', + deleteOne = '/moseOfficialMedia/moseOfficialMedia/delete', + deleteBatch = '/moseOfficialMedia/moseOfficialMedia/deleteBatch', + importExcel = '/moseOfficialMedia/moseOfficialMedia/importExcel', + exportXls = '/moseOfficialMedia/moseOfficialMedia/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/moseOfficialMedia/vue3/MoseOfficialMedia.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMedia.data.ts new file mode 100644 index 0000000..9e2a53c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMedia.data.ts @@ -0,0 +1,57 @@ +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: 'title' + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '链接', + align:"center", + dataIndex: 'link' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '链接', + field: 'link', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMediaList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMediaList.vue new file mode 100644 index 0000000..065924d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/MoseOfficialMediaList.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/moseOfficialMedia/vue3/components/MoseOfficialMediaModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/components/MoseOfficialMediaModal.vue new file mode 100644 index 0000000..e8b6eab --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseOfficialMedia/vue3/components/MoseOfficialMediaModal.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/mosePartner/controller/MosePartnerController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/controller/MosePartnerController.java new file mode 100644 index 0000000..c10efcb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/controller/MosePartnerController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.mosePartner.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.mosePartner.entity.MosePartner; +import org.jeecg.modules.mosePartner.service.IMosePartnerService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="合作伙伴表") +@RestController +@RequestMapping("/mosePartner/mosePartner") +@Slf4j +public class MosePartnerController extends JeecgController { + @Autowired + private IMosePartnerService mosePartnerService; + + /** + * 分页列表查询 + * + * @param mosePartner + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "合作伙伴表-分页列表查询") + @ApiOperation(value="合作伙伴表-分页列表查询", notes="合作伙伴表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MosePartner mosePartner, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(mosePartner, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = mosePartnerService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param mosePartner + * @return + */ + @AutoLog(value = "合作伙伴表-添加") + @ApiOperation(value="合作伙伴表-添加", notes="合作伙伴表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MosePartner mosePartner) { + mosePartnerService.save(mosePartner); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param mosePartner + * @return + */ + @AutoLog(value = "合作伙伴表-编辑") + @ApiOperation(value="合作伙伴表-编辑", notes="合作伙伴表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MosePartner mosePartner) { + mosePartnerService.updateById(mosePartner); + 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) { + mosePartnerService.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.mosePartnerService.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) { + MosePartner mosePartner = mosePartnerService.getById(id); + if(mosePartner==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(mosePartner); + } + + /** + * 导出excel + * + * @param request + * @param mosePartner + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MosePartner mosePartner) { + return super.exportXls(request, mosePartner, MosePartner.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, MosePartner.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/entity/MosePartner.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/entity/MosePartner.java new file mode 100644 index 0000000..fd32fde --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/entity/MosePartner.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.mosePartner.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_partner") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_partner对象", description="合作伙伴表") +public class MosePartner 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/MosePartnerMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/MosePartnerMapper.java new file mode 100644 index 0000000..20b47f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/MosePartnerMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.mosePartner.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.mosePartner.entity.MosePartner; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 合作伙伴表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MosePartnerMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/xml/MosePartnerMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/xml/MosePartnerMapper.xml new file mode 100644 index 0000000..575ead4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/mapper/xml/MosePartnerMapper.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/mosePartner/service/IMosePartnerService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/service/IMosePartnerService.java new file mode 100644 index 0000000..aae103e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/service/IMosePartnerService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.mosePartner.service; + +import org.jeecg.modules.mosePartner.entity.MosePartner; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 合作伙伴表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMosePartnerService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/service/impl/MosePartnerServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/service/impl/MosePartnerServiceImpl.java new file mode 100644 index 0000000..3b9b1e1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/service/impl/MosePartnerServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.mosePartner.service.impl; + +import org.jeecg.modules.mosePartner.entity.MosePartner; +import org.jeecg.modules.mosePartner.mapper.MosePartnerMapper; +import org.jeecg.modules.mosePartner.service.IMosePartnerService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 合作伙伴表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MosePartnerServiceImpl extends ServiceImpl implements IMosePartnerService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/MosePartnerList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/MosePartnerList.vue new file mode 100644 index 0000000..82cd6e7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/MosePartnerList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerForm.vue new file mode 100644 index 0000000..2ba0c94 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerForm.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/mosePartner/vue/modules/MosePartnerModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerModal.Style#Drawer.vue new file mode 100644 index 0000000..7f5b65c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerModal.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/mosePartner/vue/modules/MosePartnerModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerModal.vue new file mode 100644 index 0000000..067bad0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue/modules/MosePartnerModal.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/mosePartner/vue3/MosePartner.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartner.api.ts new file mode 100644 index 0000000..ce3824f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartner.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/mosePartner/mosePartner/list', + save='/mosePartner/mosePartner/add', + edit='/mosePartner/mosePartner/edit', + deleteOne = '/mosePartner/mosePartner/delete', + deleteBatch = '/mosePartner/mosePartner/deleteBatch', + importExcel = '/mosePartner/mosePartner/importExcel', + exportXls = '/mosePartner/mosePartner/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/mosePartner/vue3/MosePartner.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartner.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartner.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartnerList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartnerList.vue new file mode 100644 index 0000000..7d29496 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/MosePartnerList.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/mosePartner/vue3/components/MosePartnerModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/components/MosePartnerModal.vue new file mode 100644 index 0000000..69b5b4f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePartner/vue3/components/MosePartnerModal.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/mosePost/controller/MosePostController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/controller/MosePostController.java new file mode 100644 index 0000000..c8fac82 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/controller/MosePostController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.mosePost.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.mosePost.entity.MosePost; +import org.jeecg.modules.mosePost.service.IMosePostService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="帖子动态表") +@RestController +@RequestMapping("/mosePost/mosePost") +@Slf4j +public class MosePostController extends JeecgController { + @Autowired + private IMosePostService mosePostService; + + /** + * 分页列表查询 + * + * @param mosePost + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "帖子动态表-分页列表查询") + @ApiOperation(value="帖子动态表-分页列表查询", notes="帖子动态表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MosePost mosePost, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(mosePost, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = mosePostService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param mosePost + * @return + */ + @AutoLog(value = "帖子动态表-添加") + @ApiOperation(value="帖子动态表-添加", notes="帖子动态表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MosePost mosePost) { + mosePostService.save(mosePost); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param mosePost + * @return + */ + @AutoLog(value = "帖子动态表-编辑") + @ApiOperation(value="帖子动态表-编辑", notes="帖子动态表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MosePost mosePost) { + mosePostService.updateById(mosePost); + 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) { + mosePostService.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.mosePostService.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) { + MosePost mosePost = mosePostService.getById(id); + if(mosePost==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(mosePost); + } + + /** + * 导出excel + * + * @param request + * @param mosePost + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MosePost mosePost) { + return super.exportXls(request, mosePost, MosePost.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, MosePost.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/entity/MosePost.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/entity/MosePost.java new file mode 100644 index 0000000..6230e71 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/entity/MosePost.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.mosePost.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_post") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_post对象", description="帖子动态表") +public class MosePost 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/MosePostMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/MosePostMapper.java new file mode 100644 index 0000000..440a243 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/MosePostMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.mosePost.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.mosePost.entity.MosePost; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 帖子动态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MosePostMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/xml/MosePostMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/xml/MosePostMapper.xml new file mode 100644 index 0000000..31936ff --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/mapper/xml/MosePostMapper.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/mosePost/service/IMosePostService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/service/IMosePostService.java new file mode 100644 index 0000000..6aa4a74 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/service/IMosePostService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.mosePost.service; + +import org.jeecg.modules.mosePost.entity.MosePost; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 帖子动态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMosePostService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/service/impl/MosePostServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/service/impl/MosePostServiceImpl.java new file mode 100644 index 0000000..31e2913 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/service/impl/MosePostServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.mosePost.service.impl; + +import org.jeecg.modules.mosePost.entity.MosePost; +import org.jeecg.modules.mosePost.mapper.MosePostMapper; +import org.jeecg.modules.mosePost.service.IMosePostService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 帖子动态表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MosePostServiceImpl extends ServiceImpl implements IMosePostService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/MosePostList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/MosePostList.vue new file mode 100644 index 0000000..c4fdc91 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/MosePostList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostForm.vue new file mode 100644 index 0000000..a2383ab --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostForm.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/mosePost/vue/modules/MosePostModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostModal.Style#Drawer.vue new file mode 100644 index 0000000..d542f2b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostModal.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/mosePost/vue/modules/MosePostModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostModal.vue new file mode 100644 index 0000000..bcf546f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue/modules/MosePostModal.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/mosePost/vue3/MosePost.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePost.api.ts new file mode 100644 index 0000000..668d074 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePost.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/mosePost/mosePost/list', + save='/mosePost/mosePost/add', + edit='/mosePost/mosePost/edit', + deleteOne = '/mosePost/mosePost/delete', + deleteBatch = '/mosePost/mosePost/deleteBatch', + importExcel = '/mosePost/mosePost/importExcel', + exportXls = '/mosePost/mosePost/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/mosePost/vue3/MosePost.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePost.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePost.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePostList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePostList.vue new file mode 100644 index 0000000..fb048f3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/MosePostList.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/mosePost/vue3/components/MosePostModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/components/MosePostModal.vue new file mode 100644 index 0000000..adc2ecc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/mosePost/vue3/components/MosePostModal.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/moseQuestion/controller/MoseQuestionController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/controller/MoseQuestionController.java new file mode 100644 index 0000000..6883a05 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/controller/MoseQuestionController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseQuestion.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.moseQuestion.entity.MoseQuestion; +import org.jeecg.modules.moseQuestion.service.IMoseQuestionService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="常见问题表") +@RestController +@RequestMapping("/moseQuestion/moseQuestion") +@Slf4j +public class MoseQuestionController extends JeecgController { + @Autowired + private IMoseQuestionService moseQuestionService; + + /** + * 分页列表查询 + * + * @param moseQuestion + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "常见问题表-分页列表查询") + @ApiOperation(value="常见问题表-分页列表查询", notes="常见问题表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseQuestion moseQuestion, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseQuestion, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseQuestionService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseQuestion + * @return + */ + @AutoLog(value = "常见问题表-添加") + @ApiOperation(value="常见问题表-添加", notes="常见问题表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseQuestion moseQuestion) { + moseQuestionService.save(moseQuestion); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseQuestion + * @return + */ + @AutoLog(value = "常见问题表-编辑") + @ApiOperation(value="常见问题表-编辑", notes="常见问题表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseQuestion moseQuestion) { + moseQuestionService.updateById(moseQuestion); + 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) { + moseQuestionService.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.moseQuestionService.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) { + MoseQuestion moseQuestion = moseQuestionService.getById(id); + if(moseQuestion==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseQuestion); + } + + /** + * 导出excel + * + * @param request + * @param moseQuestion + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseQuestion moseQuestion) { + return super.exportXls(request, moseQuestion, MoseQuestion.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, MoseQuestion.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/entity/MoseQuestion.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/entity/MoseQuestion.java new file mode 100644 index 0000000..5c14465 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/entity/MoseQuestion.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.moseQuestion.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_question") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_question对象", description="常见问题表") +public class MoseQuestion 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 question; + /**答案*/ + @Excel(name = "答案", width = 15) + @ApiModelProperty(value = "答案") + private java.lang.String answer; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/MoseQuestionMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/MoseQuestionMapper.java new file mode 100644 index 0000000..388b957 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/MoseQuestionMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseQuestion.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 常见问题表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseQuestionMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/xml/MoseQuestionMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/xml/MoseQuestionMapper.xml new file mode 100644 index 0000000..4b61c94 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/mapper/xml/MoseQuestionMapper.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/moseQuestion/service/IMoseQuestionService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/service/IMoseQuestionService.java new file mode 100644 index 0000000..18b3cd4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/service/IMoseQuestionService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseQuestion.service; + +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 常见问题表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseQuestionService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/service/impl/MoseQuestionServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/service/impl/MoseQuestionServiceImpl.java new file mode 100644 index 0000000..bf8f495 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/service/impl/MoseQuestionServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseQuestion.service.impl; + +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import org.jeecg.modules.moseQuestion.mapper.MoseQuestionMapper; +import org.jeecg.modules.moseQuestion.service.IMoseQuestionService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 常见问题表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseQuestionServiceImpl extends ServiceImpl implements IMoseQuestionService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/MoseQuestionList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/MoseQuestionList.vue new file mode 100644 index 0000000..52a979e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/MoseQuestionList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionForm.vue new file mode 100644 index 0000000..21ff655 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionModal.Style#Drawer.vue new file mode 100644 index 0000000..b0d6932 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionModal.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/moseQuestion/vue/modules/MoseQuestionModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionModal.vue new file mode 100644 index 0000000..b8bd5fd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue/modules/MoseQuestionModal.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/moseQuestion/vue3/MoseQuestion.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestion.api.ts new file mode 100644 index 0000000..eef4ac3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestion.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseQuestion/moseQuestion/list', + save='/moseQuestion/moseQuestion/add', + edit='/moseQuestion/moseQuestion/edit', + deleteOne = '/moseQuestion/moseQuestion/delete', + deleteBatch = '/moseQuestion/moseQuestion/deleteBatch', + importExcel = '/moseQuestion/moseQuestion/importExcel', + exportXls = '/moseQuestion/moseQuestion/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/moseQuestion/vue3/MoseQuestion.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestion.data.ts new file mode 100644 index 0000000..6880d0b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestion.data.ts @@ -0,0 +1,34 @@ +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: 'question' + }, + { + title: '答案', + align:"center", + dataIndex: 'answer', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '问题', + field: 'question', + component: 'Input', + }, + { + label: '答案', + field: 'answer', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestionList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestionList.vue new file mode 100644 index 0000000..da9389b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/MoseQuestionList.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/moseQuestion/vue3/components/MoseQuestionModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/components/MoseQuestionModal.vue new file mode 100644 index 0000000..c7b8fb6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseQuestion/vue3/components/MoseQuestionModal.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/moseSummary/controller/MoseSummaryController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/controller/MoseSummaryController.java new file mode 100644 index 0000000..331c62b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/controller/MoseSummaryController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseSummary.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.moseSummary.entity.MoseSummary; +import org.jeecg.modules.moseSummary.service.IMoseSummaryService; + +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-07-17 + * @Version: V1.0 + */ +@Api(tags="概述说明表") +@RestController +@RequestMapping("/moseSummary/moseSummary") +@Slf4j +public class MoseSummaryController extends JeecgController { + @Autowired + private IMoseSummaryService moseSummaryService; + + /** + * 分页列表查询 + * + * @param moseSummary + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "概述说明表-分页列表查询") + @ApiOperation(value="概述说明表-分页列表查询", notes="概述说明表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseSummary moseSummary, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseSummary, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseSummaryService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseSummary + * @return + */ + @AutoLog(value = "概述说明表-添加") + @ApiOperation(value="概述说明表-添加", notes="概述说明表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseSummary moseSummary) { + moseSummaryService.save(moseSummary); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseSummary + * @return + */ + @AutoLog(value = "概述说明表-编辑") + @ApiOperation(value="概述说明表-编辑", notes="概述说明表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseSummary moseSummary) { + moseSummaryService.updateById(moseSummary); + 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) { + moseSummaryService.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.moseSummaryService.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) { + MoseSummary moseSummary = moseSummaryService.getById(id); + if(moseSummary==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseSummary); + } + + /** + * 导出excel + * + * @param request + * @param moseSummary + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseSummary moseSummary) { + return super.exportXls(request, moseSummary, MoseSummary.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, MoseSummary.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/entity/MoseSummary.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/entity/MoseSummary.java new file mode 100644 index 0000000..4970d36 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/entity/MoseSummary.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.moseSummary.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-07-17 + * @Version: V1.0 + */ +@Data +@TableName("mose_summary") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_summary对象", description="概述说明表") +public class MoseSummary 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 paramCode; + /**标题*/ + @Excel(name = "标题", width = 15) + @ApiModelProperty(value = "标题") + private java.lang.String title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**文字描述*/ + @Excel(name = "文字描述", width = 15) + @ApiModelProperty(value = "文字描述") + private java.lang.String description; + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String remark; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/MoseSummaryMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/MoseSummaryMapper.java new file mode 100644 index 0000000..2bbd3f0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/MoseSummaryMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseSummary.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseSummary.entity.MoseSummary; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 概述说明表 + * @Author: jeecg-boot + * @Date: 2025-07-17 + * @Version: V1.0 + */ +public interface MoseSummaryMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/xml/MoseSummaryMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/xml/MoseSummaryMapper.xml new file mode 100644 index 0000000..a27f59b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/mapper/xml/MoseSummaryMapper.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/moseSummary/service/IMoseSummaryService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/service/IMoseSummaryService.java new file mode 100644 index 0000000..e5df809 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/service/IMoseSummaryService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseSummary.service; + +import org.jeecg.modules.moseSummary.entity.MoseSummary; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 概述说明表 + * @Author: jeecg-boot + * @Date: 2025-07-17 + * @Version: V1.0 + */ +public interface IMoseSummaryService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/service/impl/MoseSummaryServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/service/impl/MoseSummaryServiceImpl.java new file mode 100644 index 0000000..e5bcbd9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/service/impl/MoseSummaryServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseSummary.service.impl; + +import org.jeecg.modules.moseSummary.entity.MoseSummary; +import org.jeecg.modules.moseSummary.mapper.MoseSummaryMapper; +import org.jeecg.modules.moseSummary.service.IMoseSummaryService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 概述说明表 + * @Author: jeecg-boot + * @Date: 2025-07-17 + * @Version: V1.0 + */ +@Service +public class MoseSummaryServiceImpl extends ServiceImpl implements IMoseSummaryService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/MoseSummaryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/MoseSummaryList.vue new file mode 100644 index 0000000..716def3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/MoseSummaryList.vue @@ -0,0 +1,197 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryForm.vue new file mode 100644 index 0000000..19514df --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryModal.Style#Drawer.vue new file mode 100644 index 0000000..c288592 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryModal.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/moseSummary/vue/modules/MoseSummaryModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryModal.vue new file mode 100644 index 0000000..25fb7bb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue/modules/MoseSummaryModal.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/moseSummary/vue3/MoseSummary.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummary.api.ts new file mode 100644 index 0000000..1a6367d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummary.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseSummary/moseSummary/list', + save='/moseSummary/moseSummary/add', + edit='/moseSummary/moseSummary/edit', + deleteOne = '/moseSummary/moseSummary/delete', + deleteBatch = '/moseSummary/moseSummary/deleteBatch', + importExcel = '/moseSummary/moseSummary/importExcel', + exportXls = '/moseSummary/moseSummary/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/moseSummary/vue3/MoseSummary.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummary.data.ts new file mode 100644 index 0000000..7ae1ebc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummary.data.ts @@ -0,0 +1,67 @@ +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: 'paramCode' + }, + { + title: '标题', + align:"center", + dataIndex: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '文字描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '备注', + align:"center", + dataIndex: 'remark' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '参数编码', + field: 'paramCode', + component: 'Input', + }, + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '文字描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '备注', + field: 'remark', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummaryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummaryList.vue new file mode 100644 index 0000000..c87f935 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/MoseSummaryList.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/moseSummary/vue3/components/MoseSummaryModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/components/MoseSummaryModal.vue new file mode 100644 index 0000000..c6d87ec --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseSummary/vue3/components/MoseSummaryModal.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/moseTeam/controller/MoseTeamController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/controller/MoseTeamController.java new file mode 100644 index 0000000..9892ac2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/controller/MoseTeamController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseTeam.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.moseTeam.entity.MoseTeam; +import org.jeecg.modules.moseTeam.service.IMoseTeamService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="团队成员表") +@RestController +@RequestMapping("/moseTeam/moseTeam") +@Slf4j +public class MoseTeamController extends JeecgController { + @Autowired + private IMoseTeamService moseTeamService; + + /** + * 分页列表查询 + * + * @param moseTeam + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "团队成员表-分页列表查询") + @ApiOperation(value="团队成员表-分页列表查询", notes="团队成员表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseTeam moseTeam, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseTeam, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseTeamService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseTeam + * @return + */ + @AutoLog(value = "团队成员表-添加") + @ApiOperation(value="团队成员表-添加", notes="团队成员表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseTeam moseTeam) { + moseTeamService.save(moseTeam); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseTeam + * @return + */ + @AutoLog(value = "团队成员表-编辑") + @ApiOperation(value="团队成员表-编辑", notes="团队成员表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseTeam moseTeam) { + moseTeamService.updateById(moseTeam); + 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) { + moseTeamService.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.moseTeamService.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) { + MoseTeam moseTeam = moseTeamService.getById(id); + if(moseTeam==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseTeam); + } + + /** + * 导出excel + * + * @param request + * @param moseTeam + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseTeam moseTeam) { + return super.exportXls(request, moseTeam, MoseTeam.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, MoseTeam.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/entity/MoseTeam.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/entity/MoseTeam.java new file mode 100644 index 0000000..1689a44 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/entity/MoseTeam.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.moseTeam.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_team") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_team对象", description="团队成员表") +public class MoseTeam 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) + @ApiModelProperty(value = "职位") + private java.lang.String post; + /**照片*/ + @Excel(name = "照片", width = 15) + @ApiModelProperty(value = "照片") + private java.lang.String image; + /**履历*/ + @Excel(name = "履历", width = 15) + @ApiModelProperty(value = "履历") + private java.lang.String resume; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/MoseTeamMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/MoseTeamMapper.java new file mode 100644 index 0000000..40d657f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/MoseTeamMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseTeam.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 团队成员表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseTeamMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/xml/MoseTeamMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/xml/MoseTeamMapper.xml new file mode 100644 index 0000000..97f7467 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/mapper/xml/MoseTeamMapper.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/moseTeam/service/IMoseTeamService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/service/IMoseTeamService.java new file mode 100644 index 0000000..632beb1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/service/IMoseTeamService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseTeam.service; + +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 团队成员表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseTeamService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/service/impl/MoseTeamServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/service/impl/MoseTeamServiceImpl.java new file mode 100644 index 0000000..e0d53e6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/service/impl/MoseTeamServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseTeam.service.impl; + +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import org.jeecg.modules.moseTeam.mapper.MoseTeamMapper; +import org.jeecg.modules.moseTeam.service.IMoseTeamService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 团队成员表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseTeamServiceImpl extends ServiceImpl implements IMoseTeamService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/MoseTeamList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/MoseTeamList.vue new file mode 100644 index 0000000..d6b007f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/MoseTeamList.vue @@ -0,0 +1,191 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamForm.vue new file mode 100644 index 0000000..f8c6c91 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamForm.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/moseTeam/vue/modules/MoseTeamModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamModal.Style#Drawer.vue new file mode 100644 index 0000000..66068ff --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamModal.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/moseTeam/vue/modules/MoseTeamModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamModal.vue new file mode 100644 index 0000000..99da0f5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue/modules/MoseTeamModal.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/moseTeam/vue3/MoseTeam.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeam.api.ts new file mode 100644 index 0000000..98ae1f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeam.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseTeam/moseTeam/list', + save='/moseTeam/moseTeam/add', + edit='/moseTeam/moseTeam/edit', + deleteOne = '/moseTeam/moseTeam/delete', + deleteBatch = '/moseTeam/moseTeam/deleteBatch', + importExcel = '/moseTeam/moseTeam/importExcel', + exportXls = '/moseTeam/moseTeam/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/moseTeam/vue3/MoseTeam.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeam.data.ts new file mode 100644 index 0000000..eaacb32 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeam.data.ts @@ -0,0 +1,57 @@ +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: 'post' + }, + { + title: '照片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '履历', + align:"center", + dataIndex: 'resume', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '姓名', + field: 'name', + component: 'Input', + }, + { + label: '职位', + field: 'post', + component: 'Input', + }, + { + label: '照片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '履历', + field: 'resume', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeamList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeamList.vue new file mode 100644 index 0000000..4b6635f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/MoseTeamList.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/moseTeam/vue3/components/MoseTeamModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/components/MoseTeamModal.vue new file mode 100644 index 0000000..2156612 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTeam/vue3/components/MoseTeamModal.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/moseTechnology/controller/MoseTechnologyController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/controller/MoseTechnologyController.java new file mode 100644 index 0000000..93e02cd --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/controller/MoseTechnologyController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseTechnology.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.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="创新技术表") +@RestController +@RequestMapping("/moseTechnology/moseTechnology") +@Slf4j +public class MoseTechnologyController extends JeecgController { + @Autowired + private IMoseTechnologyService moseTechnologyService; + + /** + * 分页列表查询 + * + * @param moseTechnology + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "创新技术表-分页列表查询") + @ApiOperation(value="创新技术表-分页列表查询", notes="创新技术表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseTechnology moseTechnology, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseTechnology, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseTechnologyService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseTechnology + * @return + */ + @AutoLog(value = "创新技术表-添加") + @ApiOperation(value="创新技术表-添加", notes="创新技术表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseTechnology moseTechnology) { + moseTechnologyService.save(moseTechnology); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseTechnology + * @return + */ + @AutoLog(value = "创新技术表-编辑") + @ApiOperation(value="创新技术表-编辑", notes="创新技术表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseTechnology moseTechnology) { + moseTechnologyService.updateById(moseTechnology); + 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) { + moseTechnologyService.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.moseTechnologyService.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) { + MoseTechnology moseTechnology = moseTechnologyService.getById(id); + if(moseTechnology==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseTechnology); + } + + /** + * 导出excel + * + * @param request + * @param moseTechnology + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseTechnology moseTechnology) { + return super.exportXls(request, moseTechnology, MoseTechnology.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, MoseTechnology.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/entity/MoseTechnology.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/entity/MoseTechnology.java new file mode 100644 index 0000000..e902359 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/entity/MoseTechnology.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.moseTechnology.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_technology") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_technology对象", description="创新技术表") +public class MoseTechnology 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 title; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/MoseTechnologyMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/MoseTechnologyMapper.java new file mode 100644 index 0000000..0812026 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/MoseTechnologyMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseTechnology.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 创新技术表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseTechnologyMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/xml/MoseTechnologyMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/xml/MoseTechnologyMapper.xml new file mode 100644 index 0000000..a0dcdf6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/mapper/xml/MoseTechnologyMapper.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/moseTechnology/service/IMoseTechnologyService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/service/IMoseTechnologyService.java new file mode 100644 index 0000000..4c149ca --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/service/IMoseTechnologyService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseTechnology.service; + +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 创新技术表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseTechnologyService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/service/impl/MoseTechnologyServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/service/impl/MoseTechnologyServiceImpl.java new file mode 100644 index 0000000..d849434 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/service/impl/MoseTechnologyServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseTechnology.service.impl; + +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.mapper.MoseTechnologyMapper; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 创新技术表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseTechnologyServiceImpl extends ServiceImpl implements IMoseTechnologyService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/MoseTechnologyList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/MoseTechnologyList.vue new file mode 100644 index 0000000..0206c20 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/MoseTechnologyList.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyForm.vue new file mode 100644 index 0000000..a6f401f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyForm.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/moseTechnology/vue/modules/MoseTechnologyModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyModal.Style#Drawer.vue new file mode 100644 index 0000000..e0045f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyModal.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/moseTechnology/vue/modules/MoseTechnologyModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyModal.vue new file mode 100644 index 0000000..72778cf --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue/modules/MoseTechnologyModal.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/moseTechnology/vue3/MoseTechnology.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnology.api.ts new file mode 100644 index 0000000..fbe9c35 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnology.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseTechnology/moseTechnology/list', + save='/moseTechnology/moseTechnology/add', + edit='/moseTechnology/moseTechnology/edit', + deleteOne = '/moseTechnology/moseTechnology/delete', + deleteBatch = '/moseTechnology/moseTechnology/deleteBatch', + importExcel = '/moseTechnology/moseTechnology/importExcel', + exportXls = '/moseTechnology/moseTechnology/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/moseTechnology/vue3/MoseTechnology.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnology.data.ts new file mode 100644 index 0000000..aeb9c31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnology.data.ts @@ -0,0 +1,47 @@ +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: 'title' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnologyList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnologyList.vue new file mode 100644 index 0000000..14958fc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/MoseTechnologyList.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/moseTechnology/vue3/components/MoseTechnologyModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/components/MoseTechnologyModal.vue new file mode 100644 index 0000000..274da30 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseTechnology/vue3/components/MoseTechnologyModal.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/moseValue/controller/MoseValueController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/controller/MoseValueController.java new file mode 100644 index 0000000..a627498 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/controller/MoseValueController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.moseValue.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.moseValue.entity.MoseValue; +import org.jeecg.modules.moseValue.service.IMoseValueService; + +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-07-15 + * @Version: V1.0 + */ +@Api(tags="核心价值主张表") +@RestController +@RequestMapping("/moseValue/moseValue") +@Slf4j +public class MoseValueController extends JeecgController { + @Autowired + private IMoseValueService moseValueService; + + /** + * 分页列表查询 + * + * @param moseValue + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "核心价值主张表-分页列表查询") + @ApiOperation(value="核心价值主张表-分页列表查询", notes="核心价值主张表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MoseValue moseValue, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(moseValue, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = moseValueService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param moseValue + * @return + */ + @AutoLog(value = "核心价值主张表-添加") + @ApiOperation(value="核心价值主张表-添加", notes="核心价值主张表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MoseValue moseValue) { + moseValueService.save(moseValue); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param moseValue + * @return + */ + @AutoLog(value = "核心价值主张表-编辑") + @ApiOperation(value="核心价值主张表-编辑", notes="核心价值主张表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MoseValue moseValue) { + moseValueService.updateById(moseValue); + 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) { + moseValueService.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.moseValueService.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) { + MoseValue moseValue = moseValueService.getById(id); + if(moseValue==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(moseValue); + } + + /** + * 导出excel + * + * @param request + * @param moseValue + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MoseValue moseValue) { + return super.exportXls(request, moseValue, MoseValue.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, MoseValue.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/entity/MoseValue.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/entity/MoseValue.java new file mode 100644 index 0000000..f877b6e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/entity/MoseValue.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.moseValue.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-07-15 + * @Version: V1.0 + */ +@Data +@TableName("mose_value") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="mose_value对象", description="核心价值主张表") +public class MoseValue 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 image; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/MoseValueMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/MoseValueMapper.java new file mode 100644 index 0000000..f774c50 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/MoseValueMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.moseValue.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.moseValue.entity.MoseValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 核心价值主张表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface MoseValueMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/xml/MoseValueMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/xml/MoseValueMapper.xml new file mode 100644 index 0000000..bb2d702 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/mapper/xml/MoseValueMapper.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/moseValue/service/IMoseValueService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/service/IMoseValueService.java new file mode 100644 index 0000000..32471c7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/service/IMoseValueService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.moseValue.service; + +import org.jeecg.modules.moseValue.entity.MoseValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 核心价值主张表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +public interface IMoseValueService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/service/impl/MoseValueServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/service/impl/MoseValueServiceImpl.java new file mode 100644 index 0000000..c058ebc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/service/impl/MoseValueServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.moseValue.service.impl; + +import org.jeecg.modules.moseValue.entity.MoseValue; +import org.jeecg.modules.moseValue.mapper.MoseValueMapper; +import org.jeecg.modules.moseValue.service.IMoseValueService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 核心价值主张表 + * @Author: jeecg-boot + * @Date: 2025-07-15 + * @Version: V1.0 + */ +@Service +public class MoseValueServiceImpl extends ServiceImpl implements IMoseValueService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/MoseValueList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/MoseValueList.vue new file mode 100644 index 0000000..e450f85 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/MoseValueList.vue @@ -0,0 +1,179 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueForm.vue new file mode 100644 index 0000000..269f614 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueModal.Style#Drawer.vue new file mode 100644 index 0000000..dd1e625 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueModal.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/moseValue/vue/modules/MoseValueModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueModal.vue new file mode 100644 index 0000000..b2034f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue/modules/MoseValueModal.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/moseValue/vue3/MoseValue.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValue.api.ts new file mode 100644 index 0000000..3ebd36f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValue.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/moseValue/moseValue/list', + save='/moseValue/moseValue/add', + edit='/moseValue/moseValue/edit', + deleteOne = '/moseValue/moseValue/delete', + deleteBatch = '/moseValue/moseValue/deleteBatch', + importExcel = '/moseValue/moseValue/importExcel', + exportXls = '/moseValue/moseValue/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/moseValue/vue3/MoseValue.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValue.data.ts new file mode 100644 index 0000000..5af0bbb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValue.data.ts @@ -0,0 +1,37 @@ +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: 'image', + customRender:render.renderAvatar, + }, + { + title: '描述', + align:"center", + dataIndex: 'description', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '描述', + field: 'description', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValueList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValueList.vue new file mode 100644 index 0000000..014c2c5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/MoseValueList.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/moseValue/vue3/components/MoseValueModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/components/MoseValueModal.vue new file mode 100644 index 0000000..f50c7ca --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/moseValue/vue3/components/MoseValueModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-module-system/pom.xml b/jeecg-boot-module-system/pom.xml index 4ae1645..ffdb11d 100644 --- a/jeecg-boot-module-system/pom.xml +++ b/jeecg-boot-module-system/pom.xml @@ -77,6 +77,7 @@ + mose-admin org.springframework.boot diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/bean/PageBean.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/bean/PageBean.java new file mode 100644 index 0000000..e2fe1a1 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/bean/PageBean.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.api.bean; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PageBean { + /**显示条数*/ + @ApiModelProperty(value = "显示条数" ) + private Integer pageSize; + /**当前页*/ + @ApiModelProperty(value = "当前页" ) + private Integer pageNo; + + public PageBean() { + this.pageNo = 1; + this.pageSize = 1000; + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/AboutController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/AboutController.java new file mode 100644 index 0000000..f03a640 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/AboutController.java @@ -0,0 +1,68 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.AboutService; +import org.jeecg.modules.api.service.IndexService; +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.mosePartner.entity.MosePartner; +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="关于-相关接口") +@RestController +@RequestMapping("/mose/about") +@Slf4j +public class AboutController { + + /******************************************************************************************************************/ + @Resource + private AboutService aboutService; + /******************************************************************************************************************/ + + //获取团队信息列表 + @ApiOperation(value="关于-获取团队信息列表", notes="关于-获取团队信息列表") + @RequestMapping(value = "/queryTeamList", method = {RequestMethod.GET}) + public Result queryTeamList(MoseTeam moseTeam, PageBean pageBean){ + return aboutService.queryTeamList(moseTeam, pageBean); + } + + //获取生态信息列表 + @ApiOperation(value="关于-获取生态信息列表", notes="关于-获取生态信息列表") + @RequestMapping(value = "/queryEcosystemList", method = {RequestMethod.GET}) + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean){ + return aboutService.queryEcosystemList(moseEcosystem, pageBean); + } + + //获取十大分公司列表 + @ApiOperation(value="关于-获取分公司信息列表", notes="关于-获取分公司信息列表") + @RequestMapping(value = "/queryCompanyList", method = {RequestMethod.GET}) + public Result queryCompanyList(MoseCompany moseCompany, PageBean pageBean){ + return aboutService.queryCompanyList(moseCompany, pageBean); + } + + //获取发展历程列表 + @ApiOperation(value="关于-获取发展历程列表", notes="关于-获取发展历程列表") + @RequestMapping(value = "/queryCourseList", method = {RequestMethod.GET}) + public Result queryCourseList(MoseCourse moseCourse, PageBean pageBean){ + return aboutService.queryCourseList(moseCourse, pageBean); + } + + //获取合作伙伴信息 + @ApiOperation(value="关于-获取合作伙伴信息", notes="关于-获取合作伙伴信息") + @RequestMapping(value = "/queryPartnerList", method = {RequestMethod.GET}) + public Result queryPartnerList(MosePartner mosePartner, PageBean pageBean){ + return aboutService.queryPartnerList(mosePartner, pageBean); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/CommunityController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/CommunityController.java new file mode 100644 index 0000000..151e106 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/CommunityController.java @@ -0,0 +1,73 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.CommunityService; +import org.jeecg.modules.moseComments.entity.MoseComments; +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import org.jeecg.modules.moseForum.entity.MoseForum; +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="社区-相关接口") +@RestController +@RequestMapping("/mose/community") +@Slf4j +public class CommunityController { + + /******************************************************************************************************************/ + @Resource + private CommunityService communityService; + /******************************************************************************************************************/ + + //获取官方社交媒体列表 + @ApiOperation(value="社区-获取官方社交媒体列表", notes="社区-获取官方社交媒体列表") + @RequestMapping(value = "/queryOfficialMediaList", method = {RequestMethod.GET}) + public Result queryOfficialMediaList(MoseOfficialMedia moseOfficialMedia, PageBean pageBean){ + return communityService.queryOfficialMediaList(moseOfficialMedia, pageBean); + } + + //获取论坛信息列表 + @ApiOperation(value="社区-获取论坛信息列表", notes="社区-获取论坛信息列表") + @RequestMapping(value = "/queryForumList", method = {RequestMethod.GET}) + public Result queryForumList(MoseForum moseForum, PageBean pageBean){ + return communityService.queryForumList(moseForum, pageBean); + } + + //获取论坛留言列表 + @ApiOperation(value="社区-获取论坛留言列表", notes="社区-获取论坛留言列表") + @RequestMapping(value = "/queryCommentsList", method = {RequestMethod.GET}) + public Result queryCommentsList(MoseComments moseComments, PageBean pageBean){ + return communityService.queryCommentsList(moseComments, pageBean); + } + + //添加论坛留言列表 + @ApiOperation(value="社区-添加论坛留言", notes="社区-添加论坛留言") + @RequestMapping(value = "/addComments", method = {RequestMethod.GET}) + public Result addComments(MoseComments moseComments){ + return communityService.addComments(moseComments); + } + + //获取信息公示列表 + @ApiOperation(value="社区-获取信息公示列表", notes="社区-获取信息公示列表") + @RequestMapping(value = "/queryMessageList", method = {RequestMethod.GET}) + public Result queryMessageList(MoseMessage moseMessage, PageBean pageBean){ + return communityService.queryMessageList(moseMessage, pageBean); + } + + //获取社区信息列表 + @ApiOperation(value="社区-获取社区信息列表", notes="社区-获取社区信息列表") + @RequestMapping(value = "/queryCommunityList", method = {RequestMethod.GET}) + public Result queryCommunityList(MoseCommunity moseCommunity, PageBean pageBean){ + return communityService.queryCommunityList(moseCommunity, pageBean); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ConfigController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ConfigController.java new file mode 100644 index 0000000..a5ce3d6 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ConfigController.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.ConfigService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="系统配置-相关接口") +@RestController +@RequestMapping("/mose/config") +@Slf4j +public class ConfigController { + + /******************************************************************************************************************/ + //配置信息 + @Resource + private ConfigService configService; + /******************************************************************************************************************/ + //查看系统配置列表 + @ApiOperation(value="系统配置-查询系统配置列表", notes="系统配置-查询系统配置列表") + @RequestMapping(value = "/queryConfigList", method = {RequestMethod.GET}) + public Result queryConfigList(PageBean pageBean){ + return configService.queryConfigList(pageBean); + } + + //查看系统配置详情 + @ApiOperation(value="系统配置-查询系统配置详情", notes="系统配置-查询系统配置详情") + @RequestMapping(value = "/queryConfigByParamCode", method = {RequestMethod.GET}) + public Result queryConfigByParamCode(String paramCode){ + return configService.queryConfigByParamCode(paramCode); + } + + //查看概述说明列表 + @ApiOperation(value="系统配置-查询概述说明列表", notes="系统配置-查询概述说明列表") + @RequestMapping(value = "/querySummaryList", method = {RequestMethod.GET}) + public Result querySummaryList(PageBean pageBean){ + return configService.querySummaryList(pageBean); + } + + //查看概述说明详情 + @ApiOperation(value="系统配置-查询概述说明详情", notes="系统配置-查询概述说明详情") + @RequestMapping(value = "/querySummaryByParamCode", method = {RequestMethod.GET}) + public Result querySummaryByParamCode(String paramCode){ + return configService.querySummaryByParamCode(paramCode); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ContactController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ContactController.java new file mode 100644 index 0000000..e625180 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/ContactController.java @@ -0,0 +1,36 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.ContactService; +import org.jeecg.modules.api.service.QuestionService; +import org.jeecg.modules.moseContact.entity.MoseContact; +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="联系我们-相关接口") +@RestController +@RequestMapping("/mose/contact") +@Slf4j +public class ContactController { + + /******************************************************************************************************************/ + @Resource + private ContactService contactService; + /******************************************************************************************************************/ + + //联系我们表单提交 + @ApiOperation(value="联系我们-联系我们表单提交", notes="联系我们-联系我们表单提交") + @RequestMapping(value = "/contactUs", method = {RequestMethod.POST}) + public Result contactUs(MoseContact moseContact){ + return contactService.contactUs(moseContact); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/EcosystemController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/EcosystemController.java new file mode 100644 index 0000000..b6fa5a4 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/EcosystemController.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.EcosystemService; +import org.jeecg.modules.api.service.TechnologyService; +import org.jeecg.modules.moseApp.entity.MoseApp; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="生态系统-相关接口") +@RestController +@RequestMapping("/mose/ecosystem") +@Slf4j +public class EcosystemController { + + /******************************************************************************************************************/ + @Resource + private EcosystemService ecosystemService; + /******************************************************************************************************************/ + + //获取十大生态列表 + @ApiOperation(value="生态系统-获取生态信息列表", notes="生态系统-获取生态信息列表") + @RequestMapping(value = "/queryEcosystemList", method = {RequestMethod.GET}) + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean){ + return ecosystemService.queryEcosystemList(moseEcosystem, pageBean); + } + + //获取中心化应用列表 + @ApiOperation(value="生态系统-获取中心化应用列表", notes="生态系统-获取中心化应用列表") + @RequestMapping(value = "/queryAppList", method = {RequestMethod.GET}) + public Result queryAppList(MoseApp moseApp, PageBean pageBean){ + return ecosystemService.queryAppList(moseApp, pageBean); + } + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/IndexController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/IndexController.java new file mode 100644 index 0000000..c93a3f8 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/IndexController.java @@ -0,0 +1,69 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.IndexService; +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import org.jeecg.modules.mosePost.entity.MosePost; +import org.jeecg.modules.moseValue.entity.MoseValue; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="首页-相关接口") +@RestController +@RequestMapping("/mose/index") +@Slf4j +public class IndexController { + + + /******************************************************************************************************************/ + @Resource + private IndexService indexService; + /******************************************************************************************************************/ + + //获取banner图列表 + @ApiOperation(value="首页-获取banner图列表", notes="首页-获取banner图列表") + @RequestMapping(value = "/queryBannerList", method = {RequestMethod.GET}) + public Result queryBannerList(MoseBanner moseBanner, PageBean pageBean){ + return indexService.queryBannerList(moseBanner, pageBean); + } + + //获取核心价值主张列表 + @ApiOperation(value="首页-获取核心价值主张列表", notes="首页-获取核心价值主张列表") + @RequestMapping(value = "/queryValueList", method = {RequestMethod.GET}) + public Result queryValueList(MoseValue moseValue, PageBean pageBean){ + return indexService.queryValueList(moseValue, pageBean); + } + + //获取投资者列表 + @ApiOperation(value="首页-获取投资者列表", notes="首页-获取投资者列表") + @RequestMapping(value = "/queryInvestorList", method = {RequestMethod.GET}) + public Result queryInvestorList(MoseInvestor moseInvestor, PageBean pageBean){ + return indexService.queryInvestorList(moseInvestor, pageBean); + } + + //获取媒体logo墙 + @ApiOperation(value="首页-获取媒体logo墙", notes="首页-获取媒体logo墙") + @RequestMapping(value = "/queryMediaList", method = {RequestMethod.GET}) + public Result queryMediaList(MoseMedia moseMedia, PageBean pageBean){ + return indexService.queryMediaList(moseMedia, pageBean); + } + + + //获取动态列表 + @ApiOperation(value="首页-获取动态列表", notes="首页-获取动态列表") + @RequestMapping(value = "/queryPostList", method = {RequestMethod.GET}) + public Result queryPostList(MosePost mosePost, PageBean pageBean){ + return indexService.queryPostList(mosePost, pageBean); + } + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/QuestionController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/QuestionController.java new file mode 100644 index 0000000..3086033 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/QuestionController.java @@ -0,0 +1,36 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.QuestionService; +import org.jeecg.modules.api.service.TechnologyService; +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="常见问题-相关接口") +@RestController +@RequestMapping("/mose/question") +@Slf4j +public class QuestionController { + + /******************************************************************************************************************/ + @Resource + private QuestionService questionService; + /******************************************************************************************************************/ + + //获取常见问题列表 + @ApiOperation(value="常见问题-获取常见问题列表", notes="常见问题-获取常见问题列表") + @RequestMapping(value = "/queryQuestionList", method = {RequestMethod.GET}) + public Result queryQuestionList(MoseQuestion moseQuestion, PageBean pageBean){ + return questionService.queryQuestionList(moseQuestion, pageBean); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/TechnologyController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/TechnologyController.java new file mode 100644 index 0000000..133660a --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/moseController/TechnologyController.java @@ -0,0 +1,34 @@ +package org.jeecg.modules.api.moseController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.TechnologyService; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="技术-相关接口") +@RestController +@RequestMapping("/mose/technology") +@Slf4j +public class TechnologyController { + + /******************************************************************************************************************/ + @Resource + private TechnologyService technologyService; + /******************************************************************************************************************/ + + //获取核心创新技术列表 + @ApiOperation(value="技术-获取核心创新技术列表", notes="技术-获取核心创新技术列表") + @RequestMapping(value = "/queryTechnologyList", method = {RequestMethod.GET}) + public Result queryTechnologyList(MoseTechnology moseTechnology, PageBean pageBean){ + return technologyService.queryTechnologyList(moseTechnology, pageBean); + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/AboutService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/AboutService.java new file mode 100644 index 0000000..783bf8b --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/AboutService.java @@ -0,0 +1,28 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.mosePartner.entity.MosePartner; +import org.jeecg.modules.moseTeam.entity.MoseTeam; + +public interface AboutService { + + //获取团队信息列表 + public Result queryTeamList(MoseTeam moseTeam, PageBean pageBean); + + //获取生态信息列表 + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean); + + //获取十大分公司列表 + public Result queryCompanyList(MoseCompany moseCompany, PageBean pageBean); + + //获取发展历程列表 + public Result queryCourseList(MoseCourse moseCourse, PageBean pageBean); + + //获取合作伙伴信息 + public Result queryPartnerList(MosePartner mosePartner, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/CommunityService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/CommunityService.java new file mode 100644 index 0000000..6b14709 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/CommunityService.java @@ -0,0 +1,34 @@ +package org.jeecg.modules.api.service; + +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseComments.entity.MoseComments; +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import org.jeecg.modules.moseForum.entity.MoseForum; +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +public interface CommunityService { + + //获取官方社交媒体列表 + public Result queryOfficialMediaList(MoseOfficialMedia moseOfficialMedia, PageBean pageBean); + + //获取论坛信息列表 + public Result queryForumList(MoseForum moseForum, PageBean pageBean); + + //获取论坛留言列表 + public Result queryCommentsList(MoseComments moseComments, PageBean pageBean); + + //添加论坛留言列表 + public Result addComments(MoseComments moseComments); + + //获取信息公示列表 + public Result queryMessageList(MoseMessage moseMessage, PageBean pageBean); + + //获取社区信息列表 + public Result queryCommunityList(MoseCommunity moseCommunity, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java new file mode 100644 index 0000000..13f007a --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.api.service; + +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +public interface ConfigService { + + //查询系统配置列表 + public Result queryConfigList(PageBean pageBean); + //查询系统配置详情 + public Result queryConfigByParamCode(String paramCode); + //查看概述说明列表 + public Result querySummaryList(PageBean pageBean); + //查看概述说明详情 + public Result querySummaryByParamCode(String paramCode); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ContactService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ContactService.java new file mode 100644 index 0000000..0645f17 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ContactService.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseContact.entity.MoseContact; + +public interface ContactService { + + //联系我们表单提交 + public Result contactUs(MoseContact moseContact); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/EcosystemService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/EcosystemService.java new file mode 100644 index 0000000..8c7bd26 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/EcosystemService.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseApp.entity.MoseApp; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; + +public interface EcosystemService { + + //获取十大生态列表 + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean); + + //获取中心化应用列表 + public Result queryAppList(MoseApp moseApp, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/IndexService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/IndexService.java new file mode 100644 index 0000000..96df580 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/IndexService.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import org.jeecg.modules.mosePost.entity.MosePost; +import org.jeecg.modules.moseValue.entity.MoseValue; + +public interface IndexService { + + //获取banner图列表 + public Result queryBannerList(MoseBanner moseBanner, PageBean pageBean); + + //获取核心价值主张列表 + public Result queryValueList(MoseValue moseValue, PageBean pageBean); + + //获取投资者列表 + public Result queryInvestorList(MoseInvestor moseInvestor, PageBean pageBean); + + //获取媒体logo墙 + public Result queryMediaList(MoseMedia moseMedia, PageBean pageBean); + + + //获取动态列表 + public Result queryPostList(MosePost mosePost, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/QuestionService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/QuestionService.java new file mode 100644 index 0000000..0265526 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/QuestionService.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; + +public interface QuestionService { + + //获取常见问题列表 + public Result queryQuestionList(MoseQuestion moseQuestion, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/TechnologyService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/TechnologyService.java new file mode 100644 index 0000000..3b11a7f --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/TechnologyService.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.api.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; + +public interface TechnologyService { + + //获取核心创新技术列表 + public Result queryTechnologyList(MoseTechnology moseTechnology, PageBean pageBean); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/AboutServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/AboutServiceImpl.java new file mode 100644 index 0000000..0d7dab5 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/AboutServiceImpl.java @@ -0,0 +1,224 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.AboutService; +import org.jeecg.modules.moseCompany.entity.MoseCompany; +import org.jeecg.modules.moseCompany.service.IMoseCompanyService; +import org.jeecg.modules.moseCourse.entity.MoseCourse; +import org.jeecg.modules.moseCourse.service.IMoseCourseService; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.moseEcosystem.service.IMoseEcosystemService; +import org.jeecg.modules.mosePartner.entity.MosePartner; +import org.jeecg.modules.mosePartner.service.IMosePartnerService; +import org.jeecg.modules.mosePost.entity.MosePost; +import org.jeecg.modules.mosePost.service.IMosePostService; +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import org.jeecg.modules.moseTeam.service.IMoseTeamService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class AboutServiceImpl implements AboutService { + /******************************************************************************************************************/ + //团队信息 + @Resource + private IMoseTeamService teamService; + //生态信息 + @Resource + private IMoseEcosystemService moseEcosystemService; + //分公司信息 + @Resource + private IMoseCompanyService moseCompanyService; + //发展历程信息 + @Resource + private IMoseCourseService moseCourseService; + //合作伙伴信息 + @Resource + private IMosePartnerService mosePartnerService; + /******************************************************************************************************************/ + //获取团队信息列表 + @Override + public Result queryTeamList(MoseTeam moseTeam, PageBean pageBean) { + log.info("开始查询团队信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = teamService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseTeam::getCreateTime); + + //获取团队信息 + pageList = query.page(page); + + log.info("团队信息查询结束"); + return Result.OK("团队信息列表", pageList); + }catch (Exception e){ + log.info("团队信息查询失败"); + e.printStackTrace(); + return Result.error("团队信息列表查询失败"); + } + } + + //获取生态信息列表 + @Override + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean) { + log.info("开始查询生态信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseEcosystemService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseEcosystem::getCreateTime); + + //获取生态信息 + pageList = query.page(page); + + log.info("生态信息查询结束"); + return Result.OK("生态信息列表", pageList); + }catch (Exception e){ + log.info("生态信息查询失败"); + e.printStackTrace(); + return Result.error("生态信息列表查询失败"); + } + } + + //获取十大分公司列表 + @Override + public Result queryCompanyList(MoseCompany moseCompany, PageBean pageBean) { + log.info("开始查询分公司信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseCompanyService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseCompany::getCreateTime); + + //获取分公司信息 + pageList = query.page(page); + + log.info("分公司信息查询结束"); + return Result.OK("分公司信息列表", pageList); + }catch (Exception e){ + log.info("分公司信息查询失败"); + e.printStackTrace(); + return Result.error("分公司信息列表查询失败"); + } + } + + //获取发展历程列表 + @Override + public Result queryCourseList(MoseCourse moseCourse, PageBean pageBean) { + log.info("开始查询发展历程信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseCourseService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseCourse::getCreateTime); + + //获取发展历程信息 + pageList = query.page(page); + + log.info("发展历程信息查询结束"); + return Result.OK("发展历程信息列表", pageList); + }catch (Exception e){ + log.info("发展历程信息查询失败"); + e.printStackTrace(); + return Result.error("发展历程信息列表查询失败"); + } + } + + //获取合作伙伴信息 + @Override + public Result queryPartnerList(MosePartner mosePartner, PageBean pageBean) { + log.info("开始查询合作伙伴信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = mosePartnerService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MosePartner::getCreateTime); + + //获取合作伙伴信息 + pageList = query.page(page); + + log.info("合作伙伴信息查询结束"); + return Result.OK("合作伙伴信息列表", pageList); + }catch (Exception e){ + log.info("合作伙伴信息查询失败"); + e.printStackTrace(); + return Result.error("合作伙伴信息列表查询失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/CommunityServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/CommunityServiceImpl.java new file mode 100644 index 0000000..7b8d8a7 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/CommunityServiceImpl.java @@ -0,0 +1,247 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.CommunityService; +import org.jeecg.modules.moseComments.entity.MoseComments; +import org.jeecg.modules.moseComments.service.IMoseCommentsService; +import org.jeecg.modules.moseCommunity.entity.MoseCommunity; +import org.jeecg.modules.moseCommunity.service.IMoseCommunityService; +import org.jeecg.modules.moseForum.entity.MoseForum; +import org.jeecg.modules.moseForum.service.IMoseForumService; +import org.jeecg.modules.moseMessage.entity.MoseMessage; +import org.jeecg.modules.moseMessage.service.IMoseMessageService; +import org.jeecg.modules.moseOfficialMedia.entity.MoseOfficialMedia; +import org.jeecg.modules.moseOfficialMedia.service.IMoseOfficialMediaService; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class CommunityServiceImpl implements CommunityService { + + /******************************************************************************************************************/ + //官方社交媒体信息 + @Resource + private IMoseOfficialMediaService moseOfficialMediaService; + //论坛信息信息 + @Resource + private IMoseForumService moseForumService; + //论坛留言信息 + @Resource + private IMoseCommentsService moseCommentsService; + //信息公示信息 + @Resource + private IMoseMessageService moseMessageService; + //社区信息 + @Resource + private IMoseCommunityService moseCommunityService; + /******************************************************************************************************************/ + + //获取官方社交媒体列表 + @Override + public Result queryOfficialMediaList(MoseOfficialMedia moseOfficialMedia, PageBean pageBean) { + log.info("开始查询官方社交媒体信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseOfficialMediaService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseOfficialMedia::getCreateTime); + + //获取官方社交媒体信息 + pageList = query.page(page); + + log.info("官方社交媒体信息查询结束"); + return Result.OK("官方社交媒体信息列表", pageList); + }catch (Exception e){ + log.info("官方社交媒体信息查询失败"); + e.printStackTrace(); + return Result.error("官方社交媒体信息列表查询失败"); + } + } + + //获取论坛信息列表 + @Override + public Result queryForumList(MoseForum moseForum, PageBean pageBean) { + log.info("开始查询论坛信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseForumService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseForum::getCreateTime); + + //获取论坛信息 + pageList = query.page(page); + + log.info("论坛信息查询结束"); + return Result.OK("论坛信息列表", pageList); + }catch (Exception e){ + log.info("论坛信息查询失败"); + e.printStackTrace(); + return Result.error("论坛信息列表查询失败"); + } + } + + //获取论坛留言列表 + @Override + public Result queryCommentsList(MoseComments moseComments, PageBean pageBean) { + log.info("开始查询论坛留言信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseCommentsService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseComments::getCreateTime); + + //获取论坛留言信息 + pageList = query.page(page); + + log.info("论坛留言信息查询结束"); + return Result.OK("论坛留言信息列表", pageList); + }catch (Exception e){ + log.info("论坛留言信息查询失败"); + e.printStackTrace(); + return Result.error("论坛留言信息列表查询失败"); + } + } + + //添加论坛留言 + @Override + public Result addComments(MoseComments moseComments) { + //返回信息 + String massege = ""; + + try{ + boolean result = moseCommentsService.save(moseComments); + //判断是否新增成功 + if(result){ + return Result.OK("留言添加成功"); + }else { + return Result.OK("留言添加失败"); + } + + }catch (Exception e){ + e.printStackTrace(); + return Result.error("留言添加失败"); + } + } + + //获取信息公示列表 + @Override + public Result queryMessageList(MoseMessage moseMessage, PageBean pageBean) { + log.info("开始查询信息公示信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseMessageService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseMessage::getCreateTime); + + //获取信息公示信息 + pageList = query.page(page); + + log.info("信息公示信息查询结束"); + return Result.OK("信息公示信息列表", pageList); + }catch (Exception e){ + log.info("信息公示信息查询失败"); + e.printStackTrace(); + return Result.error("信息公示信息列表查询失败"); + } + } + + //获取社区信息列表 + @Override + public Result queryCommunityList(MoseCommunity moseCommunity, PageBean pageBean) { + log.info("开始查询社区信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseCommunityService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseCommunity::getCreateTime); + + //获取社区信息 + pageList = query.page(page); + + log.info("社区信息查询结束"); + return Result.OK("社区信息列表", pageList); + }catch (Exception e){ + log.info("社区信息查询失败"); + e.printStackTrace(); + return Result.error("社区信息列表查询失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java new file mode 100644 index 0000000..d0e9672 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java @@ -0,0 +1,142 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.ConfigService; +import org.jeecg.modules.moseConfig.entity.MoseConfig; +import org.jeecg.modules.moseConfig.service.IMoseConfigService; +import org.jeecg.modules.moseSummary.entity.MoseSummary; +import org.jeecg.modules.moseSummary.service.IMoseSummaryService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class ConfigServiceImpl implements ConfigService { + /******************************************************************************************************************/ + //系统配置信息 + @Resource + private IMoseConfigService moseConfigService; + //概述说明信息 + @Resource + private IMoseSummaryService moseSummaryService; + /******************************************************************************************************************/ + //查询系统配置列表 + @Override + public Result queryConfigList(PageBean pageBean) { + log.info("开始查询系统配置列表"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseConfigService + .lambdaQuery(); + + //组装查询条件 + //按照创建时间降序排列 + query.orderByDesc(MoseConfig::getCreateTime); + + //获取系统配置列表信息 + pageList = query.page(page); + + log.info("系统配置查询结束"); + return Result.OK("系统配置列表", pageList); + }catch (Exception e){ + log.error("系统配置查询失败"); + e.printStackTrace(); + return Result.error("系统配置列表查询失败"); + } + } + + //查询系统配置详情 + @Override + public Result queryConfigByParamCode(String paramCode) { + log.info("开始查询系统配置详情"); + //返回信息 + String massege = ""; + + try{ + MoseConfig config = moseConfigService + .lambdaQuery() + .eq(MoseConfig::getParamCode, paramCode) + .one(); + + log.info("系统配置详情查询结束"); + return Result.OK("配置详情", config); + }catch (Exception e){ + log.error("系统配置详情查询失败"); + e.printStackTrace(); + return Result.error("配置详情查询失败"); + } + } + + //查询概述说明列表 + @Override + public Result querySummaryList(PageBean pageBean) { + log.info("开始查询概述说明列表"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseSummaryService + .lambdaQuery(); + + //组装查询条件 + //按照创建时间降序排列 + query.orderByDesc(MoseSummary::getCreateTime); + + //获取概述说明列表信息 + pageList = query.page(page); + + log.info("概述说明查询结束"); + return Result.OK("概述说明列表", pageList); + }catch (Exception e){ + log.error("概述说明查询失败"); + e.printStackTrace(); + return Result.error("概述说明列表查询失败"); + } + } + + //查询概述说明详情 + @Override + public Result querySummaryByParamCode(String paramCode) { + log.info("开始查询概述说明详情"); + //返回信息 + String massege = ""; + + try{ + MoseSummary config = moseSummaryService + .lambdaQuery() + .eq(MoseSummary::getParamCode, paramCode) + .one(); + + log.info("概述说明详情查询结束"); + return Result.OK("概述说明详情", config); + }catch (Exception e){ + log.error("概述说明详情查询失败"); + e.printStackTrace(); + return Result.error("概述说明详情查询失败"); + } + } + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ContactServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ContactServiceImpl.java new file mode 100644 index 0000000..c36d75f --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ContactServiceImpl.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.api.service.impl; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.service.ContactService; +import org.jeecg.modules.moseContact.entity.MoseContact; +import org.jeecg.modules.moseContact.service.IMoseContactService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class ContactServiceImpl implements ContactService { + + /******************************************************************************************************************/ + //核心创新技术信息 + @Resource + private IMoseContactService moseContactService; + /******************************************************************************************************************/ + + //联系我们表单提交 + @Override + public Result contactUs(MoseContact moseContact) { + log.info("联系我们表单提交开始"); + //返回信息 + String massege = ""; + + try{ + boolean result = moseContactService.save(moseContact); + //判断是否新增成功 + log.info("联系我们表单提交结束"); + if(result){ + return Result.OK("信息添加成功"); + }else { + return Result.OK("信息添加失败"); + } + + }catch (Exception e){ + log.error("联系我们表单提交失败"); + e.printStackTrace(); + return Result.error("信息添加失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/EcosystemServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/EcosystemServiceImpl.java new file mode 100644 index 0000000..035b0fb --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/EcosystemServiceImpl.java @@ -0,0 +1,104 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.EcosystemService; +import org.jeecg.modules.moseApp.entity.MoseApp; +import org.jeecg.modules.moseApp.service.IMoseAppService; +import org.jeecg.modules.moseEcosystem.entity.MoseEcosystem; +import org.jeecg.modules.moseEcosystem.service.IMoseEcosystemService; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class EcosystemServiceImpl implements EcosystemService { + + /******************************************************************************************************************/ + //生态信息 + @Resource + private IMoseEcosystemService moseEcosystemService; + + //中心化应用信息 + @Resource + private IMoseAppService moseAppService; + /******************************************************************************************************************/ + + //获取十大生态列表 + @Override + public Result queryEcosystemList(MoseEcosystem moseEcosystem, PageBean pageBean) { + log.info("开始查询生态信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseEcosystemService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseEcosystem::getCreateTime); + + //获取生态信息 + pageList = query.page(page); + + log.info("生态信息查询结束"); + return Result.OK("生态信息列表", pageList); + }catch (Exception e){ + log.info("生态信息查询失败"); + e.printStackTrace(); + return Result.error("生态信息列表查询失败"); + } + } + + //获取中心化应用列表 + @Override + public Result queryAppList(MoseApp moseApp, PageBean pageBean) { + log.info("开始查询中心化应用信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseAppService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseApp::getCreateTime); + + //获取中心化应用信息 + pageList = query.page(page); + + log.info("中心化应用信息查询结束"); + return Result.OK("中心化应用信息列表", pageList); + }catch (Exception e){ + log.info("中心化应用信息查询失败"); + e.printStackTrace(); + return Result.error("中心化应用信息列表查询失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/IndexServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/IndexServiceImpl.java new file mode 100644 index 0000000..e76fc59 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/IndexServiceImpl.java @@ -0,0 +1,234 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.IndexService; +import org.jeecg.modules.moseBanner.entity.MoseBanner; +import org.jeecg.modules.moseBanner.service.IMoseBannerService; +import org.jeecg.modules.moseInvestor.entity.MoseInvestor; +import org.jeecg.modules.moseInvestor.service.IMoseInvestorService; +import org.jeecg.modules.moseMedia.entity.MoseMedia; +import org.jeecg.modules.moseMedia.service.IMoseMediaService; +import org.jeecg.modules.mosePost.entity.MosePost; +import org.jeecg.modules.mosePost.service.IMosePostService; +import org.jeecg.modules.moseValue.entity.MoseValue; +import org.jeecg.modules.moseValue.service.IMoseValueService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class IndexServiceImpl implements IndexService { + + /******************************************************************************************************************/ + //轮播图信息 + @Resource + private IMoseBannerService moseBannerService; + + //核心价值主张 + @Resource + private IMoseValueService moseValueService; + + //投资者信息 + @Resource + private IMoseInvestorService moseInvestorService; + + //媒体logo墙 + @Resource + private IMoseMediaService moseMediaService; + + //帖子动态 + @Resource + private IMosePostService mosePostService; + /******************************************************************************************************************/ + + //获取banner图列表 + @Override + public Result queryBannerList(MoseBanner moseBanner, PageBean pageBean) { + log.info("开始查询轮播图信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseBannerService + .lambdaQuery(); + + //组装查询条件 + if(StringUtils.isNotBlank(moseBanner.getTitle())){ + query.like(MoseBanner::getTitle, moseBanner.getTitle()); + } + + //按照排序编号升序排列 + query.orderByAsc(MoseBanner::getOrderNo); + + //获取轮播图信息 + pageList = query.page(page); + + log.info("轮播图信息查询结束"); + return Result.OK("轮播图列表", pageList); + }catch (Exception e){ + log.info("轮播图信息查询失败"); + e.printStackTrace(); + return Result.error("轮播图列表查询失败"); + } + } + + //获取核心价值主张列表 + @Override + public Result queryValueList(MoseValue moseValue, PageBean pageBean) { + log.info("开始查询核心价值主张信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseValueService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseValue::getCreateTime); + + //获取核心价值主张信息 + pageList = query.page(page); + + log.info("核心价值主张信息查询结束"); + return Result.OK("核心价值主张信息列表", pageList); + }catch (Exception e){ + log.info("核心价值主张信息查询失败"); + e.printStackTrace(); + return Result.error("核心价值主张信息列表查询失败"); + } + } + + //获取投资者列表 + @Override + public Result queryInvestorList(MoseInvestor moseInvestor, PageBean pageBean) { + log.info("开始查询投资者信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseInvestorService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseInvestor::getCreateTime); + + //获取投资者信息 + pageList = query.page(page); + + log.info("投资者信息查询结束"); + return Result.OK("投资者信息列表", pageList); + }catch (Exception e){ + log.info("投资者信息查询失败"); + e.printStackTrace(); + return Result.error("投资者信息列表查询失败"); + } + } + + //获取媒体logo墙 + @Override + public Result queryMediaList(MoseMedia moseMedia, PageBean pageBean) { + log.info("开始查询媒体logo墙信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseMediaService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseMedia::getCreateTime); + + //获取媒体logo墙信息 + pageList = query.page(page); + + log.info("媒体logo墙信息查询结束"); + return Result.OK("媒体logo墙信息列表", pageList); + }catch (Exception e){ + log.info("媒体logo墙信息查询失败"); + e.printStackTrace(); + return Result.error("媒体logo墙信息列表查询失败"); + } + } + + //获取动态列表 + @Override + public Result queryPostList(MosePost mosePost, PageBean pageBean) { + log.info("开始查询帖子动态信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = mosePostService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MosePost::getCreateTime); + + //获取媒体logo墙信息 + pageList = query.page(page); + + log.info("帖子动态信息查询结束"); + return Result.OK("帖子动态信息列表", pageList); + }catch (Exception e){ + log.info("帖子动态信息查询失败"); + e.printStackTrace(); + return Result.error("帖子动态信息列表查询失败"); + } + } + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/QuestionServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/QuestionServiceImpl.java new file mode 100644 index 0000000..ea463e9 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/QuestionServiceImpl.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.QuestionService; +import org.jeecg.modules.moseQuestion.entity.MoseQuestion; +import org.jeecg.modules.moseQuestion.service.IMoseQuestionService; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class QuestionServiceImpl implements QuestionService { + + /******************************************************************************************************************/ + //常见问题信息 + @Resource + private IMoseQuestionService moseQuestionService; + /******************************************************************************************************************/ + + //获取常见问题列表 + @Override + public Result queryQuestionList(MoseQuestion moseQuestion, PageBean pageBean) { + log.info("开始查询常见问题信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseQuestionService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseQuestion::getCreateTime); + + //获取常见问题信息 + pageList = query.page(page); + + log.info("常见问题信息查询结束"); + return Result.OK("常见问题信息列表", pageList); + }catch (Exception e){ + log.info("常见问题信息查询失败"); + e.printStackTrace(); + return Result.error("常见问题信息列表查询失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/TechnologyServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/TechnologyServiceImpl.java new file mode 100644 index 0000000..3eccb3d --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/TechnologyServiceImpl.java @@ -0,0 +1,62 @@ +package org.jeecg.modules.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.api.bean.PageBean; +import org.jeecg.modules.api.service.TechnologyService; +import org.jeecg.modules.mosePartner.service.IMosePartnerService; +import org.jeecg.modules.moseTeam.entity.MoseTeam; +import org.jeecg.modules.moseTechnology.entity.MoseTechnology; +import org.jeecg.modules.moseTechnology.service.IMoseTechnologyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class TechnologyServiceImpl implements TechnologyService { + + /******************************************************************************************************************/ + //核心创新技术信息 + @Resource + private IMoseTechnologyService moseTechnologyService; + /******************************************************************************************************************/ + + //获取核心创新技术列表 + @Override + public Result queryTechnologyList(MoseTechnology moseTechnology, PageBean pageBean) { + log.info("开始查询核心创新技术信息"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = moseTechnologyService + .lambdaQuery(); + + //组装查询条件 + + //按照创建时间降序排列 + query.orderByDesc(MoseTechnology::getCreateTime); + + //获取核心创新技术信息 + pageList = query.page(page); + + log.info("核心创新技术信息查询结束"); + return Result.OK("核心创新技术信息列表", pageList); + }catch (Exception e){ + log.info("核心创新技术信息查询失败"); + e.printStackTrace(); + return Result.error("核心创新技术信息列表查询失败"); + } + } +} diff --git a/jeecg-boot-module-system/src/main/resources/application-dev.yml b/jeecg-boot-module-system/src/main/resources/application-dev.yml index 6475bb9..14fcc1f 100644 --- a/jeecg-boot-module-system/src/main/resources/application-dev.yml +++ b/jeecg-boot-module-system/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8000 + port: 8004 tomcat: max-swallow-size: -1 error: @@ -134,7 +134,7 @@ spring: # connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: - url: jdbc:mysql://8.138.162.67:3306/demo?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false + url: jdbc:mysql://8.138.162.67:3306/mose?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false username: root password: Fk4q*h@V driver-class-name: com.mysql.cj.jdbc.Driver @@ -191,12 +191,18 @@ jeecg : shiro: excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** #阿里云oss存储和大鱼短信秘钥配置 +# oss: +# accessKey: LTAI5tPfZo39q2r9Sr5mW84u +# secretKey: XxExGallsV4O9nERHpVsQg2XtPCU7r +# endpoint: oss-cn-guangzhou.aliyuncs.com +# bucketName: augcl +# staticDomain: https://img.augcl.com oss: - accessKey: LTAI5tPfZo39q2r9Sr5mW84u - secretKey: XxExGallsV4O9nERHpVsQg2XtPCU7r - endpoint: oss-cn-guangzhou.aliyuncs.com - bucketName: augcl - staticDomain: https://img.augcl.com + accessKey: LTAI5tQSs47izVy8DLVdwUU9 + secretKey: qHI7C3PaXYZySr84HTToviC71AYlFq + endpoint: oss-cn-shenzhen.aliyuncs.com + bucketName: hanhaiimage + staticDomain: https://image.hhlm1688.com/ # ElasticSearch 6设置 elasticsearch: cluster-name: jeecg-ES