|
|
@@ -0,0 +1,223 @@
|
|
|
+/**
|
|
|
+ * Copyright © 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
|
|
+ */
|
|
|
+package com.jeeplus.modules.hpadvertisement.web;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import javax.validation.ConstraintViolationException;
|
|
|
+
|
|
|
+import org.apache.shiro.authz.annotation.Logical;
|
|
|
+import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.ui.Model;
|
|
|
+import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import com.jeeplus.common.utils.DateUtils;
|
|
|
+import com.jeeplus.common.config.Global;
|
|
|
+import com.jeeplus.common.json.AjaxJson;
|
|
|
+import com.jeeplus.core.persistence.Page;
|
|
|
+import com.jeeplus.core.web.BaseController;
|
|
|
+import com.jeeplus.common.utils.StringUtils;
|
|
|
+import com.jeeplus.common.utils.excel.ExportExcel;
|
|
|
+import com.jeeplus.common.utils.excel.ImportExcel;
|
|
|
+import com.jeeplus.modules.hpadvertisement.entity.HpBroadcast;
|
|
|
+import com.jeeplus.modules.hpadvertisement.service.HpBroadcastService;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 通知公告Controller
|
|
|
+ * @author zwq
|
|
|
+ * @version 2019-08-23
|
|
|
+ */
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "${adminPath}/hpadvertisement/hpBroadcast")
|
|
|
+public class HpBroadcastController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private HpBroadcastService hpBroadcastService;
|
|
|
+
|
|
|
+ @ModelAttribute
|
|
|
+ public HpBroadcast get(@RequestParam(required=false) String id) {
|
|
|
+ HpBroadcast entity = null;
|
|
|
+ if (StringUtils.isNotBlank(id)){
|
|
|
+ entity = hpBroadcastService.get(id);
|
|
|
+ }
|
|
|
+ if (entity == null){
|
|
|
+ entity = new HpBroadcast();
|
|
|
+ }
|
|
|
+ return entity;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通知公告列表页面
|
|
|
+ */
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:list")
|
|
|
+ @RequestMapping(value = {"list", ""})
|
|
|
+ public String list(HpBroadcast hpBroadcast, Model model) {
|
|
|
+ model.addAttribute("hpBroadcast", hpBroadcast);
|
|
|
+ return "modules/hpadvertisement/hpBroadcastList";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通知公告列表数据
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:list")
|
|
|
+ @RequestMapping(value = "data")
|
|
|
+ public Map<String, Object> data(HpBroadcast hpBroadcast, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
+ Page<HpBroadcast> page = hpBroadcastService.findPage(new Page<HpBroadcast>(request, response), hpBroadcast);
|
|
|
+ return getBootstrapData(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看,增加,编辑通知公告表单页面
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"hpadvertisement:hpBroadcast:view","hpadvertisement:hpBroadcast:add","hpadvertisement:hpBroadcast:edit"},logical=Logical.OR)
|
|
|
+ @RequestMapping(value = "form")
|
|
|
+ public String form(HpBroadcast hpBroadcast, Model model) {
|
|
|
+ model.addAttribute("hpBroadcast", hpBroadcast);
|
|
|
+ return "modules/hpadvertisement/hpBroadcastForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存通知公告
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions(value={"hpadvertisement:hpBroadcast:add","hpadvertisement:hpBroadcast:edit"},logical=Logical.OR)
|
|
|
+ @RequestMapping(value = "save")
|
|
|
+ public AjaxJson save(HpBroadcast hpBroadcast, Model model) throws Exception{
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ /**
|
|
|
+ * 后台hibernate-validation插件校验
|
|
|
+ */
|
|
|
+ String errMsg = beanValidator(hpBroadcast);
|
|
|
+ if (StringUtils.isNotBlank(errMsg)){
|
|
|
+ j.setSuccess(false);
|
|
|
+ j.setMsg(errMsg);
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+ //新增或编辑表单保存
|
|
|
+ hpBroadcastService.save(hpBroadcast);//保存
|
|
|
+ j.setSuccess(true);
|
|
|
+ j.setMsg("保存通知公告成功");
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除通知公告
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:del")
|
|
|
+ @RequestMapping(value = "delete")
|
|
|
+ public AjaxJson delete(HpBroadcast hpBroadcast) {
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ hpBroadcastService.delete(hpBroadcast);
|
|
|
+ j.setMsg("删除通知公告成功");
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量删除通知公告
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:del")
|
|
|
+ @RequestMapping(value = "deleteAll")
|
|
|
+ public AjaxJson deleteAll(String ids) {
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ String idArray[] =ids.split(",");
|
|
|
+ for(String id : idArray){
|
|
|
+ hpBroadcastService.delete(hpBroadcastService.get(id));
|
|
|
+ }
|
|
|
+ j.setMsg("删除通知公告成功");
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出excel文件
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:export")
|
|
|
+ @RequestMapping(value = "export")
|
|
|
+ public AjaxJson exportFile(HpBroadcast hpBroadcast, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ try {
|
|
|
+ String fileName = "通知公告"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
|
|
|
+ Page<HpBroadcast> page = hpBroadcastService.findPage(new Page<HpBroadcast>(request, response, -1), hpBroadcast);
|
|
|
+ new ExportExcel("通知公告", HpBroadcast.class).setDataList(page.getList()).write(response, fileName).dispose();
|
|
|
+ j.setSuccess(true);
|
|
|
+ j.setMsg("导出成功!");
|
|
|
+ return j;
|
|
|
+ } catch (Exception e) {
|
|
|
+ j.setSuccess(false);
|
|
|
+ j.setMsg("导出通知公告记录失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导入Excel数据
|
|
|
+
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:import")
|
|
|
+ @RequestMapping(value = "import")
|
|
|
+ public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ try {
|
|
|
+ int successNum = 0;
|
|
|
+ int failureNum = 0;
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
+ ImportExcel ei = new ImportExcel(file, 1, 0);
|
|
|
+ List<HpBroadcast> list = ei.getDataList(HpBroadcast.class);
|
|
|
+ for (HpBroadcast hpBroadcast : list){
|
|
|
+ try{
|
|
|
+ hpBroadcastService.save(hpBroadcast);
|
|
|
+ successNum++;
|
|
|
+ }catch(ConstraintViolationException ex){
|
|
|
+ failureNum++;
|
|
|
+ }catch (Exception ex) {
|
|
|
+ failureNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (failureNum>0){
|
|
|
+ failureMsg.insert(0, ",失败 "+failureNum+" 条通知公告记录。");
|
|
|
+ }
|
|
|
+ j.setMsg( "已成功导入 "+successNum+" 条通知公告记录"+failureMsg);
|
|
|
+ } catch (Exception e) {
|
|
|
+ j.setSuccess(false);
|
|
|
+ j.setMsg("导入通知公告失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载导入通知公告数据模板
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("hpadvertisement:hpBroadcast:import")
|
|
|
+ @RequestMapping(value = "import/template")
|
|
|
+ public AjaxJson importFileTemplate(HttpServletResponse response) {
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
+ try {
|
|
|
+ String fileName = "通知公告数据导入模板.xlsx";
|
|
|
+ List<HpBroadcast> list = Lists.newArrayList();
|
|
|
+ new ExportExcel("通知公告数据", HpBroadcast.class, 1).setDataList(list).write(response, fileName).dispose();
|
|
|
+ return null;
|
|
|
+ } catch (Exception e) {
|
|
|
+ j.setSuccess(false);
|
|
|
+ j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return j;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|