From 2131a93287513f6663618493fde96158b48bb526 Mon Sep 17 00:00:00 2001 From: zhengzheng <18918765049@163.com> Date: Sun, 8 May 2022 18:28:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/wuzhen/ZtApplication.java | 1 + .../controller/busi/AdvertDataController.java | 116 +++++ .../controller/common/CommonController.java | 40 ++ .../com/wuzhen/web/core/config/WebConfig.java | 1 + zt-admin/src/main/resources/application.yml | 4 +- .../resources/templates/advert/info/add.html | 135 +++++ .../resources/templates/advert/info/edit.html | 475 ++++++++++++++++++ .../templates/advert/info/index.html | 185 +++++++ .../com/wuzhen/common/config/RuoYiConfig.java | 10 + .../com/wuzhen/system/domain/AdvertInfo.java | 108 ++++ .../system/mapper/AdvertDataMapper.java | 58 +++ .../system/service/AdvertDataService.java | 55 ++ .../service/impl/ActiveInfoServiceImpl.java | 12 - .../service/impl/AdvertDataServiceImpl.java | 80 +++ .../mapper/system/AdvertDataMapper.xml | 85 ++++ 15 files changed, 1351 insertions(+), 14 deletions(-) create mode 100644 zt-admin/src/main/java/com/wuzhen/web/controller/busi/AdvertDataController.java create mode 100644 zt-admin/src/main/resources/templates/advert/info/add.html create mode 100644 zt-admin/src/main/resources/templates/advert/info/edit.html create mode 100644 zt-admin/src/main/resources/templates/advert/info/index.html create mode 100644 zt-system/src/main/java/com/wuzhen/system/domain/AdvertInfo.java create mode 100644 zt-system/src/main/java/com/wuzhen/system/mapper/AdvertDataMapper.java create mode 100644 zt-system/src/main/java/com/wuzhen/system/service/AdvertDataService.java create mode 100644 zt-system/src/main/java/com/wuzhen/system/service/impl/AdvertDataServiceImpl.java create mode 100644 zt-system/src/main/resources/mapper/system/AdvertDataMapper.xml diff --git a/zt-admin/src/main/java/com/wuzhen/ZtApplication.java b/zt-admin/src/main/java/com/wuzhen/ZtApplication.java index 434c8cbde..d3a7ec391 100644 --- a/zt-admin/src/main/java/com/wuzhen/ZtApplication.java +++ b/zt-admin/src/main/java/com/wuzhen/ZtApplication.java @@ -46,6 +46,7 @@ public class ZtApplication implements WebMvcConfigurer registry.addResourceHandler("/lp/**").addResourceLocations("file:" + RuoYiConfig.getLPUploadPath()+"/"); registry.addResourceHandler("/ls/**").addResourceLocations("file:" + RuoYiConfig.getLSUploadPath()+"/"); registry.addResourceHandler("/fp/**").addResourceLocations("file:" + RuoYiConfig.getFPUploadPath()+"/"); + registry.addResourceHandler("/ba/**").addResourceLocations("file:" + RuoYiConfig.getBAUploadPath()+"/"); // System.out.println( RuoYiConfig.getLPUploadPath()+"/"); // registry.addResourceHandler("/**").addResourceLocations("file:" + RuoYiConfig.getProfile()); } diff --git a/zt-admin/src/main/java/com/wuzhen/web/controller/busi/AdvertDataController.java b/zt-admin/src/main/java/com/wuzhen/web/controller/busi/AdvertDataController.java new file mode 100644 index 000000000..a9352a164 --- /dev/null +++ b/zt-admin/src/main/java/com/wuzhen/web/controller/busi/AdvertDataController.java @@ -0,0 +1,116 @@ +package com.wuzhen.web.controller.busi; + +import com.wuzhen.common.annotation.Log; +import com.wuzhen.common.core.controller.BaseController; +import com.wuzhen.common.core.domain.AjaxResult; +import com.wuzhen.common.core.page.TableDataInfo; +import com.wuzhen.common.enums.BusinessType; +import com.wuzhen.common.utils.poi.ExcelUtil; +import com.wuzhen.system.domain.AdvertInfo; +import com.wuzhen.system.service.AdvertDataService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +/** + * 数据广告信息 + * + * @author zhengzheng + */ +@Controller +@RequestMapping("/advert/info") +public class AdvertDataController extends BaseController +{ + private String prefix = "advert/info"; + + @Autowired + private AdvertDataService advertDataService; + + @RequiresPermissions("advert:info:view") + @GetMapping() + public String dictData() + { + return prefix + "/index"; + } + + @PostMapping("/list") + @RequiresPermissions("advert:info:list") + @ResponseBody + public TableDataInfo list(AdvertInfo advertInfo) + { + startPage(); + List list = advertDataService.selectAdvertDataList(advertInfo); + return getDataTable(list); + } + + @Log(title = "广告数据", businessType = BusinessType.EXPORT) + @RequiresPermissions("advert:info:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(AdvertInfo advertInfo) + { + List list = advertDataService.selectAdvertDataList(advertInfo); + ExcelUtil util = new ExcelUtil(AdvertInfo.class); + return util.exportExcel(list, "广告数据"); + } + + /** + * 新增广告类型 + */ + @GetMapping("/add") + public String add(ModelMap mmap) + { + return prefix + "/add"; + } + + /** + * 新增保存广告类型 + */ + @Log(title = "广告数据", businessType = BusinessType.INSERT) + @RequiresPermissions("advert:info:add") + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(@Validated AdvertInfo advertInfo) + { + advertInfo.setCreateBy(getLoginName()); + return toAjax(advertDataService.insertAdvertData(advertInfo)); + } + + /** + * 修改广告类型 + */ + @RequiresPermissions("advert:info:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + mmap.put("dict", advertDataService.selectAdvertDataById(id)); + return prefix + "/edit"; + } + + /** + * 修改保存广告类型 + */ + @Log(title = "广告数据", businessType = BusinessType.UPDATE) + @RequiresPermissions("advert:info:edit") + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(@Validated AdvertInfo advertInfo) + { + advertInfo.setUpdateBy(getLoginName()); + return toAjax(advertDataService.updateAdvertData(advertInfo)); + } + + @Log(title = "广告数据", businessType = BusinessType.DELETE) + @RequiresPermissions("advert:info:remove") + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + advertDataService.deleteAdvertDataByIds(ids); + return success(); + } +} diff --git a/zt-admin/src/main/java/com/wuzhen/web/controller/common/CommonController.java b/zt-admin/src/main/java/com/wuzhen/web/controller/common/CommonController.java index fe8f9c059..6f2542ece 100644 --- a/zt-admin/src/main/java/com/wuzhen/web/controller/common/CommonController.java +++ b/zt-admin/src/main/java/com/wuzhen/web/controller/common/CommonController.java @@ -136,6 +136,46 @@ public class CommonController } + /** + * 通用上传请求(多个) + */ + @PostMapping("/uploadsBanner") + @ResponseBody + public AjaxResult uploadFilesBanner(List files) throws Exception + { + try + { + // 上传文件路径 + String filePath = RuoYiConfig.getBAUploadPath(); + List urls = new ArrayList(); + List fileNames = new ArrayList(); + List newFileNames = new ArrayList(); + List originalFilenames = new ArrayList(); + for (MultipartFile file : files) + { + // 上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + urls.add(url); + fileNames.add(fileName); + newFileNames.add(FileUtils.getName(fileName)); + originalFilenames.add(file.getOriginalFilename()); + } + AjaxResult ajax = AjaxResult.success(); + ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + return ajax; + } + catch (Exception e) + { + return AjaxResult.error(e.getMessage()); + } + } + + + /** * 通用上传请求(多个) */ diff --git a/zt-admin/src/main/java/com/wuzhen/web/core/config/WebConfig.java b/zt-admin/src/main/java/com/wuzhen/web/core/config/WebConfig.java index 816bd2402..a573252ed 100644 --- a/zt-admin/src/main/java/com/wuzhen/web/core/config/WebConfig.java +++ b/zt-admin/src/main/java/com/wuzhen/web/core/config/WebConfig.java @@ -33,6 +33,7 @@ public class WebConfig implements WebMvcConfigurer { registry.addResourceHandler("/lp/**").addResourceLocations("file:" + RuoYiConfig.getLPUploadPath()+"/"); registry.addResourceHandler("/ls/**").addResourceLocations("file:" + RuoYiConfig.getLSUploadPath()+"/"); registry.addResourceHandler("/fp/**").addResourceLocations("file:" + RuoYiConfig.getFPUploadPath()+"/"); + registry.addResourceHandler("/ba/**").addResourceLocations("file:" + RuoYiConfig.getBAUploadPath()+"/"); // System.out.println( RuoYiConfig.getLPUploadPath()+"/"); // registry.addResourceHandler("/**").addResourceLocations("file:" + RuoYiConfig.getProfile()); } diff --git a/zt-admin/src/main/resources/application.yml b/zt-admin/src/main/resources/application.yml index 440d961db..ea9c8c675 100644 --- a/zt-admin/src/main/resources/application.yml +++ b/zt-admin/src/main/resources/application.yml @@ -8,8 +8,8 @@ wuzhen: copyrightYear: 2022 # 实例演示开关 demoEnabled: false - # 文件路径 示例( Windows配置 D:/images11,Linux配置 /home/ruoyi/uploadPath) - profile: /www/wwwroot + # 文件路径 示例( Windows配置 D:/images11,Linux配置 /www/wwwroot) + profile: D:/images11 fp: http://47.94.96.229:18001/fp/ lp: http://47.94.96.229:18001/lp/ # 获取ip地址开关 diff --git a/zt-admin/src/main/resources/templates/advert/info/add.html b/zt-admin/src/main/resources/templates/advert/info/add.html new file mode 100644 index 000000000..69df77eab --- /dev/null +++ b/zt-admin/src/main/resources/templates/advert/info/add.html @@ -0,0 +1,135 @@ + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+
+ +
+
+ +
+ +
+ +
+ +
+
+
+
+ + + + + diff --git a/zt-admin/src/main/resources/templates/advert/info/edit.html b/zt-admin/src/main/resources/templates/advert/info/edit.html new file mode 100644 index 000000000..883bec95f --- /dev/null +++ b/zt-admin/src/main/resources/templates/advert/info/edit.html @@ -0,0 +1,475 @@ + + + + + + + + + +
+
+ + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ + +
+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+ +
+
+ +
+ + + + + + + + +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + diff --git a/zt-admin/src/main/resources/templates/advert/info/index.html b/zt-admin/src/main/resources/templates/advert/info/index.html new file mode 100644 index 000000000..29a9c71a9 --- /dev/null +++ b/zt-admin/src/main/resources/templates/advert/info/index.html @@ -0,0 +1,185 @@ + + + + + + +
+
+
+
+
+
    +
  • + 广告标题: +
  • +
  • + 广告类型: +
  • + +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/zt-common/src/main/java/com/wuzhen/common/config/RuoYiConfig.java b/zt-common/src/main/java/com/wuzhen/common/config/RuoYiConfig.java index 1bfd50d07..d884a749b 100644 --- a/zt-common/src/main/java/com/wuzhen/common/config/RuoYiConfig.java +++ b/zt-common/src/main/java/com/wuzhen/common/config/RuoYiConfig.java @@ -158,6 +158,16 @@ public class RuoYiConfig return getProfile() + "/upload/lp"; } + + + /** + * 获取广告上传路径 + */ + public static String getBAUploadPath() + { + return getProfile() + "/upload/ba"; + } + /** * 获取列表上传路径 */ diff --git a/zt-system/src/main/java/com/wuzhen/system/domain/AdvertInfo.java b/zt-system/src/main/java/com/wuzhen/system/domain/AdvertInfo.java new file mode 100644 index 000000000..a5c666192 --- /dev/null +++ b/zt-system/src/main/java/com/wuzhen/system/domain/AdvertInfo.java @@ -0,0 +1,108 @@ +package com.wuzhen.system.domain; + +import com.wuzhen.common.annotation.Excel; +import com.wuzhen.common.annotation.Excel.ColumnType; +import com.wuzhen.common.core.domain.BaseEntity; + +/** + * 广告信息 Advert_info + * + * @author zhengzheng + */ +public class AdvertInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 广告ID + */ + @Excel(name = "广告ID", cellType = ColumnType.NUMERIC) + private Long id; + + + /** + * 广告标题 + */ + @Excel(name = "广告标题") + private String bannerTitle; + + + /** + * 跳转类型 + */ + @Excel(name = "跳转类型") + private String bannerType; + + + + private String bannerPicUrl; + + + /** + * 广告跳转地址 + */ + @Excel(name = "广告跳转地址") + private String address; + + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBannerTitle() { + return bannerTitle; + } + + public void setBannerTitle(String bannerTitle) { + this.bannerTitle = bannerTitle; + } + + public String getBannerType() { + return bannerType; + } + + public void setBannerType(String bannerType) { + this.bannerType = bannerType; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getBannerPicUrl() { + return bannerPicUrl; + } + + public void setBannerPicUrl(String bannerPicUrl) { + this.bannerPicUrl = bannerPicUrl; + } + + @Override + public String toString() { + return "AdvertInfo{" + + "id=" + id + + ", bannerTitle='" + bannerTitle + '\'' + + ", bannerType='" + bannerType + '\'' + + ", address='" + address + '\'' + + ", delFlag='" + delFlag + '\'' + + '}'; + } +} diff --git a/zt-system/src/main/java/com/wuzhen/system/mapper/AdvertDataMapper.java b/zt-system/src/main/java/com/wuzhen/system/mapper/AdvertDataMapper.java new file mode 100644 index 000000000..bd3f9c304 --- /dev/null +++ b/zt-system/src/main/java/com/wuzhen/system/mapper/AdvertDataMapper.java @@ -0,0 +1,58 @@ +package com.wuzhen.system.mapper; + +import com.wuzhen.common.core.domain.entity.SysDictData; +import com.wuzhen.system.domain.AdvertInfo; +import java.util.List; + +/** + * 广告表 数据层 + * + * @author zhengzheng + */ +public interface AdvertDataMapper +{ + /** + * 根据条件分页查询广告数据 + * + * @param advertInfo 广告数据信息 + * @return 广告数据集合信息 + */ + public List selectAdvertDataList(AdvertInfo advertInfo); + + + /** + * 批量删除广告数据 + * + * @param ids 需要删除的数据 + * @return 结果 + */ + public int deleteAdvertDataByIds(Long[] ids); + + /** + * 新增广告数据信息 + * + * @param advertInfo 广告数据信息 + * @return 结果 + */ + public int insertAdvertData(AdvertInfo advertInfo); + + /** + * 修改广告数据信息 + * + * @param advertInfo 广告数据信息 + * @return 结果 + */ + public int updateAdvertData(AdvertInfo advertInfo); + + + /** + * 根据广告数据ID查询信息 + * + * @param id 广告数据ID + * @return 广告数据 + */ + public AdvertInfo selectAdvertDataById(Long id); + + + +} diff --git a/zt-system/src/main/java/com/wuzhen/system/service/AdvertDataService.java b/zt-system/src/main/java/com/wuzhen/system/service/AdvertDataService.java new file mode 100644 index 000000000..5c699c950 --- /dev/null +++ b/zt-system/src/main/java/com/wuzhen/system/service/AdvertDataService.java @@ -0,0 +1,55 @@ +package com.wuzhen.system.service; + +import com.wuzhen.common.core.domain.entity.SysDictData; +import com.wuzhen.system.domain.AdvertInfo; +import java.util.List; + +/** + * 广告位 业务层 + * + * @author zhengzheng + */ +public interface AdvertDataService +{ + /** + * 根据条件分页查询广告位 + * + * @param advertInfo 广告位信息 + * @return 广告位集合信息 + */ + public List selectAdvertDataList(AdvertInfo advertInfo); + + + + /** + * 批量删除广告位数据 + * + * @param ids 需要删除的数据 + */ + public void deleteAdvertDataByIds(String ids); + + /** + * 新增保存广告位数据信息 + * + * @param advertInfo 广告位数据信息 + * @return 结果 + */ + public int insertAdvertData(AdvertInfo advertInfo); + + /** + * 修改保存广告位数据信息 + * + * @param advertInfo 广告位数据信息 + * @return 结果 + */ + public int updateAdvertData(AdvertInfo advertInfo); + + + /** + * 根据广告数据ID查询信息 + * + * @param dictCode 广告数据ID + * @return 广告数据 + */ + public AdvertInfo selectAdvertDataById(Long dictCode); +} diff --git a/zt-system/src/main/java/com/wuzhen/system/service/impl/ActiveInfoServiceImpl.java b/zt-system/src/main/java/com/wuzhen/system/service/impl/ActiveInfoServiceImpl.java index 9650ee687..e927a998a 100644 --- a/zt-system/src/main/java/com/wuzhen/system/service/impl/ActiveInfoServiceImpl.java +++ b/zt-system/src/main/java/com/wuzhen/system/service/impl/ActiveInfoServiceImpl.java @@ -123,18 +123,6 @@ public class ActiveInfoServiceImpl implements IActiveInfoService { @Transactional public int deleteActiveByIds(String ids) { Long[] ids_arr = Convert.toLongArray(ids); -// for (Long roleId : roleIds) { -// checkRoleAllowed(new SysRole(roleId)); -// checkRoleDataScope(roleId); -// SysRole role = selectRoleById(roleId); -// if (countUserRoleByRoleId(roleId) > 0) { -// throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName())); -// } -// } -// // 删除角色与菜单关联 -// roleMenuMapper.deleteRoleMenu(roleIds); -// // 删除角色与部门关联 -// roleDeptMapper.deleteRoleDept(roleIds); return activeInfoMapper.deleteActiveByIds(ids_arr); } diff --git a/zt-system/src/main/java/com/wuzhen/system/service/impl/AdvertDataServiceImpl.java b/zt-system/src/main/java/com/wuzhen/system/service/impl/AdvertDataServiceImpl.java new file mode 100644 index 000000000..166910abe --- /dev/null +++ b/zt-system/src/main/java/com/wuzhen/system/service/impl/AdvertDataServiceImpl.java @@ -0,0 +1,80 @@ +package com.wuzhen.system.service.impl; + +import com.wuzhen.common.core.domain.entity.SysDictData; +import com.wuzhen.common.core.text.Convert; +import com.wuzhen.system.domain.AdvertInfo; +import com.wuzhen.system.mapper.AdvertDataMapper; +import com.wuzhen.system.service.AdvertDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; + +/** + * 广告 业务层处理 + * + * @author zhengzheng + */ +@Service +public class AdvertDataServiceImpl implements AdvertDataService +{ + @Autowired + private AdvertDataMapper advertDataMapper; + + /** + * 根据条件分页查询广告数据 + * + * @param advertInfo 广告数据信息 + * @return 广告数据集合信息 + */ + @Override + public List selectAdvertDataList(AdvertInfo advertInfo) + { + return advertDataMapper.selectAdvertDataList(advertInfo); + } + + + + /** + * 批量删除广告数据 + * + * @param ids 需要删除的数据 + */ + @Override + public void deleteAdvertDataByIds(String ids) + { + Long[] ids_arr = Convert.toLongArray(ids); + advertDataMapper.deleteAdvertDataByIds(ids_arr); + } + + /** + * 新增保存广告数据信息 + * + * @param data 广告数据信息 + * @return 结果 + */ + @Override + public int insertAdvertData(AdvertInfo data) + { + int row = advertDataMapper.insertAdvertData(data); + return row; + } + + /** + * 修改保存广告数据信息 + * + * @param data 广告数据信息 + * @return 结果 + */ + @Override + public int updateAdvertData(AdvertInfo data) + { + int row = advertDataMapper.updateAdvertData(data); + return row; + } + + @Override + public AdvertInfo selectAdvertDataById(Long dictCode) { + AdvertInfo advertInfo = advertDataMapper.selectAdvertDataById(dictCode); + return advertInfo; + } +} diff --git a/zt-system/src/main/resources/mapper/system/AdvertDataMapper.xml b/zt-system/src/main/resources/mapper/system/AdvertDataMapper.xml new file mode 100644 index 000000000..f23471596 --- /dev/null +++ b/zt-system/src/main/resources/mapper/system/AdvertDataMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + select id, banner_title, banner_type, banner_pic_url, address, del_flag, create_by, create_time, update_by, update_time, remark + from banner_info + + + + + + + delete from banner_info where id in + + #{id} + + + + + update banner_info + + banner_title = #{bannerTitle}, + banner_type = #{bannerType}, + banner_pic_url = #{bannerPicUrl}, + address = #{address}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where id = #{id} + + + + insert into banner_info( + banner_title, + banner_type, + banner_pic_url, + address, + remark, + create_by, + create_time + )values( + #{bannerTitle}, + #{bannerType}, + #{bannerPicUrl}, + #{address}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + + \ No newline at end of file