123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- package com.caimei.modules.cmpage.web;
- import com.caimei.constants.common.RedisKeyUtil;
- import com.caimei.modules.cmpage.entity.CmPage;
- import com.caimei.modules.cmpage.entity.CmPageFreedom;
- import com.caimei.modules.cmpage.entity.CmPageHotSearch;
- import com.caimei.modules.cmpage.entity.PageNameContent;
- import com.caimei.modules.cmpage.service.CmPageDocSynService;
- import com.caimei.modules.cmpage.service.CmPageFreedomService;
- import com.caimei.modules.cmpage.service.CmPageService;
- import com.caimei.modules.opensearch.SearchUitls;
- import com.caimei.redis.RedisService;
- import com.caimei.utils.StringUtil;
- import com.caimei.utils.StringUtils;
- import com.google.common.collect.Maps;
- import com.thinkgem.jeesite.common.config.Global;
- import com.thinkgem.jeesite.common.persistence.Page;
- import com.thinkgem.jeesite.common.web.BaseController;
- import org.apache.commons.collections.CollectionUtils;
- 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.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.mvc.support.RedirectAttributes;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * 网页列表Controller
- *
- * @author 网页列表
- * @version 2017-04-25
- */
- @Controller
- @RequestMapping(value = "${adminPath}/cmpage/cmPage")
- public class CmPageController extends BaseController {
- @Autowired
- private CmPageService cmPageService;
- @Autowired
- private SearchUitls searchUitls;
- @Autowired
- private RedisService redisService;
- @ModelAttribute
- public CmPage get(@RequestParam(required = false) String id) {
- CmPage entity = null;
- if (com.thinkgem.jeesite.common.utils.StringUtils.isNotBlank(id)) {
- entity = cmPageService.get(id);
- }
- if (entity == null) {
- entity = new CmPage();
- }
- return entity;
- }
- @RequiresPermissions("cmpage:cmPage:view")
- @RequestMapping(value = {"list", ""})
- public String list(CmPage cmPage, HttpServletRequest request, HttpServletResponse response, Model model) {
- if (StringUtils.equals("2", cmPage.getFlag())) {// 2网页列表(1项目详情/2二级列表/4自由页面/5分类详情/6活动专题)
- cmPage.getSqlMap().put("pageType", " AND (a.type=1 OR a.type=2 OR a.type=4 OR a.type=5 OR a.type=6)");
- }
- Page<CmPage> page = cmPageService.findPage(new Page<CmPage>(request, response), cmPage);
- model.addAttribute("page", page);
- if (StringUtils.equals("2", cmPage.getFlag())) {
- return "modules/cmpage/cmPageList";
- }
- return "modules/cmpage/cmLecturerPageList";
- }
- @RequiresPermissions("cmpage:cmPage:view")
- @RequestMapping(value = "form")
- public String form(CmPage cmPage, Model model) {
- model.addAttribute("cmPage", cmPage);
- if (StringUtils.equals("21", cmPage.getFlag()) || StringUtils.equals("2", cmPage.getType())) {// 网页列表中的项目详情
- return "modules/cmpage/cmPageProjectDetailForm";
- }
- if (StringUtils.equals("22", cmPage.getFlag()) || StringUtils.equals("1", cmPage.getType())) {// 网页列表中的二级列表
- return "modules/cmpage/cmPageSecondaryForm";
- }
- if (StringUtils.equals("24", cmPage.getFlag()) || StringUtils.equals("4", cmPage.getType())) {// 网页列表中的自由页面
- return "modules/cmpage/cmPageFreedomForm";
- }
- // 网页列表中的分页详情
- if (StringUtils.equals("25", cmPage.getFlag()) || StringUtils.equals("5", cmPage.getType())) {
- if (StringUtil.isNotBlank(cmPage.getId())) {
- List<CmPageHotSearch> hotSearchList = cmPageService.findHotSearch(cmPage.getId());
- cmPage.setHotSearchList(hotSearchList);
- }
- return "modules/cmpage/cmPageDetailsForm";
- }
- // 网页列表中的活动专题
- if (StringUtils.equals("26", cmPage.getFlag()) || StringUtils.equals("6", cmPage.getType())) {
- return "modules/cmpage/cmPageActivityForm";
- }
- return "modules/cmpage/cmLecturerPageForm";
- }
- @RequiresPermissions("cmpage:cmPage:edit")
- @RequestMapping(value = "save")
- public String save(CmPage cmPage, Model model, RedirectAttributes redirectAttributes, HttpServletRequest request) {
- if (!beanValidator(model, cmPage)) {
- return form(cmPage, model);
- }
- boolean saveFlag = cmPageService.save(cmPage, request);
- List<PageNameContent> pageNameContents = cmPage.getPageNameContents();
- if (CollectionUtils.isNotEmpty(pageNameContents)) {
- for (PageNameContent content : pageNameContents) {
- String type = content.getType();
- int intType = Integer.parseInt(type);
- String content1 = content.getContent();
- int stringLengthByUtf8 = StringUtils.getStringLengthByUtf8(content1);
- if (intType == 3) {
- //富文本数量超过text保存最大数
- if (!saveFlag) {
- List<String> list = new ArrayList<String>();
- list.add(0, "内容编辑框输入字数过多");
- addMessage(model, list.toArray(new String[]{}));
- return form(cmPage, model);
- }
- }
- }
- }
- List<CmPageFreedom> cmPageFreedoms = cmPage.getCmPageFreedoms();
- if (CollectionUtils.isNotEmpty(cmPageFreedoms)) {
- for (CmPageFreedom cmPageFreedom : cmPageFreedoms) {
- String type = cmPageFreedom.getType();
- int intType = Integer.parseInt(type);
- String content = cmPageFreedom.getContent();
- int stringLengthByUtf8 = StringUtils.getStringLengthByUtf8(content);
- if (intType == 1) {
- //富文本数量超过text保存最大数
- if (!saveFlag) {
- List<String> list = new ArrayList<String>();
- list.add(0, "内容编辑框输入字数过多");
- addMessage(model, list.toArray(new String[]{}));
- return form(cmPage, model);
- }
- }
- }
- }
- addMessage(redirectAttributes, "保存成功");
- if ("2".equals(cmPage.getType())) {
- // 更新索引
- searchUitls.updateEquipmentIndex(Integer.parseInt(cmPage.getId()));
- } else if ("6".equals(cmPage.getType())) {
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- }
- if (StringUtils.equals("1", cmPage.getFlag())) { // 1讲师设置页面
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage/form?id=1";
- }
- if (StringUtils.equals("2", cmPage.getFlag())) { // 2网页列表(项目详情,二级列表,自由页面)
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage/?flag=2";
- }
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage/?repage";
- }
- @RequiresPermissions("cmpage:cmPage:delete")
- @RequestMapping(value = "delete")
- public String delete(CmPage cmPage, RedirectAttributes redirectAttributes) {
- cmPageService.delete(cmPage);
- addMessage(redirectAttributes, "删除成功");
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage?flag=2";
- }
- @RequiresPermissions("cmpage:cmPage:edit")
- @ResponseBody
- @RequestMapping(value = "updateEnabledStatus")
- public Map<String, Object> updateEnabledStatus(String enabledStatus, String[] ids, String[] supplierIDs, HttpServletRequest request, HttpServletResponse response) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- cmPageService.updateEnabledStatusByIds(enabledStatus, ids);
- map.put("success", true);
- map.put("msg", "修改成功");
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("success", false);
- map.put("msg", "修改失败");
- }
- return map;
- }
- /**
- * 添加热搜词
- */
- @RequestMapping("/hotSearchForm")
- public String hotSearchForm(CmPageHotSearch cmPageHotSearch, Model model) {
- if (cmPageHotSearch.getId() != null) {
- cmPageHotSearch = cmPageService.getHotSearch(cmPageHotSearch.getId());
- }
- model.addAttribute("cmPageHotSearch", cmPageHotSearch);
- return "modules/cmpage/cmPageHotSearchForm";
- }
- /**
- * 保存分页详情
- */
- @RequestMapping("/savePageDetails")
- public String savePageDetails(CmPage cmPage, RedirectAttributes redirectAttributes, HttpServletRequest request) {
- cmPageService.savePageDetails(cmPage);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存成功");
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage/?flag=2";
- }
- /**
- * 有数据变动时需要清除缓存
- */
- public void cleanRedisCache() {
- //热搜词缓存
- String getSearchHotWord = "getSearchHotWord::spi";
- if (redisService.exists(getSearchHotWord)) {
- redisService.remove(getSearchHotWord);
- }
- }
- }
|