123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package com.caimei.modules.cmpage.web;
- import com.caimei.modules.cmpage.entity.CmImage;
- import com.caimei.modules.cmpage.entity.CmPageCentre;
- import com.caimei.modules.cmpage.service.CmImageService;
- import com.caimei.modules.cmpage.service.CmPageCentreService;
- import com.caimei.modules.newhome.entity.NewPageFloorContent;
- import com.caimei.modules.opensearch.GenerateUtils;
- import com.caimei.modules.product.entity.ActType;
- import com.caimei.modules.product.service.ActTypeService;
- import com.caimei.redis.RedisService;
- 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.utils.StringUtils;
- import com.thinkgem.jeesite.common.web.BaseController;
- 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.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.List;
- import java.util.Map;
- import static com.caimei.modules.newhome.web.NewPageQualitySupplierController.isInteger;
- /**
- * 相关商品管理Controller
- *
- * @author Lijun
- * @version 2017-05-04
- */
- @Controller
- @RequestMapping(value = "${adminPath}/cmpage/cmPageCentre")
- public class CmPageCentreController extends BaseController {
- @Autowired
- private CmPageCentreService cmPageCentreService;
- @Autowired
- private CmImageService cmImageService;
- @Autowired
- private ActTypeService actTypeService;
- @Autowired
- private RedisService redisService;
- @Resource
- private GenerateUtils generateUtils;
- @ModelAttribute
- public CmPageCentre get(@RequestParam(required = false) String id) {
- CmPageCentre entity = null;
- if (StringUtils.isNotBlank(id)) {
- entity = cmPageCentreService.get(id);
- }
- if (entity == null) {
- entity = new CmPageCentre();
- }
- return entity;
- }
- @RequiresPermissions("cmpage:cmPageCentre:view")
- @RequestMapping(value = {"list", ""})
- public String list(CmPageCentre cmPageCentre, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<CmPageCentre> page = cmPageCentreService.findPage(new Page<CmPageCentre>(request, response), cmPageCentre);
- model.addAttribute("page", page);
- if (StringUtils.isNotBlank(cmPageCentre.getPageId())) {
- String pageTitle = cmPageCentreService.findPageTitle(cmPageCentre.getPageId());
- model.addAttribute("pageTitle", pageTitle);
- }
- //分页详情商品楼层
- if ("5".equals(cmPageCentre.getType())) {
- return "modules/cmpage/cmPageDetailsCentreList";
- }
- //活动专题商品楼层
- if ("6".equals(cmPageCentre.getType())) {
- return "modules/cmpage/cmPageActivityCentreList";
- }
- return "modules/cmpage/cmPageCentreList";
- }
- @RequiresPermissions("cmpage:cmPageCentre:view")
- @RequestMapping(value = "form")
- public String form(CmPageCentre cmPageCentre, Model model) {
- model.addAttribute("cmPageCentre", cmPageCentre);
- //分页详情商品楼层
- if ("5".equals(cmPageCentre.getType())) {
- return "modules/cmpage/cmPageDetailsCentreForm";
- }
- //活动专题商品楼层
- if ("6".equals(cmPageCentre.getType())) {
- return "modules/cmpage/cmPageActivityCentreForm";
- }
- return "modules/cmpage/cmPageCentreForm";
- }
- @RequiresPermissions("cmpage:cmPageCentre:edit")
- @RequestMapping(value = "save")
- public String save(CmPageCentre cmPageCentre, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, cmPageCentre)) {
- return form(cmPageCentre, model);
- }
- cmPageCentreService.save(cmPageCentre);
- addMessage(redirectAttributes, "保存成功");
- if ("5".equals(cmPageCentre.getType())) {
- //清除产品仪器缓存
- cleanRedisCache();
- } else if ("6".equals(cmPageCentre.getType())) {
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- }
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + cmPageCentre.getPageId() + "&type=" + cmPageCentre.getType();
- }
- @RequiresPermissions("cmpage:cmPageCentre:delete")
- @RequestMapping(value = "delete")
- public String delete(CmPageCentre cmPageCentre, RedirectAttributes redirectAttributes) {
- cmPageCentreService.delete(cmPageCentre);
- if ("5".equals(cmPageCentre.getType())) {
- //清除产品仪器缓存
- cleanRedisCache();
- }
- if ("6".equals(cmPageCentre.getType())) {
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- }
- addMessage(redirectAttributes, "删除成功");
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + cmPageCentre.getPageId() + "&type=" + cmPageCentre.getType();
- }
- @RequiresPermissions("cmpage:cmPageCentre: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 {
- cmPageCentreService.updateEnabledStatusByIds(enabledStatus, ids);
- map.put("success", true);
- map.put("msg", "修改成功");
- cleanRedisCache();
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("success", false);
- map.put("msg", "修改失败");
- }
- return map;
- }
- @RequiresPermissions("cmpage:cmPageBigTopicFloor:edit")
- @ResponseBody
- @RequestMapping(value = "updateCrmEnabledStatusByIds")
- public Map<String, Object> updateCrmEnabledStatusByIds(String crmEnabledStatus, String[] ids, String[] supplierIDs, HttpServletRequest request, HttpServletResponse response) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- cmPageCentreService.updateCrmEnabledStatusByIds(crmEnabledStatus, ids);
- map.put("success", true);
- map.put("msg", "修改成功");
- cleanRedisCache();
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("success", false);
- map.put("msg", "修改失败");
- }
- return map;
- }
- @RequestMapping(value = {"pageList_multiselect"})
- public String infoPageMulti(CmImage cmImage, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<CmImage> page = cmImageService.findPage(new Page<CmImage>(request, response), cmImage);
- model.addAttribute("page", page);
- model.addAttribute("type", cmImage.getType());
- List<ActType> typeList = actTypeService.findList(new ActType());
- model.addAttribute("typeList", typeList);
- return "modules/cmpage/pageList_multiselect";
- }
- /**
- * 批量更新排序值
- */
- @RequestMapping(value = "batchSaveSort")
- @ResponseBody
- public Map<String, Object> batchSaveSort(String sortList) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] newPageLists = sortList.split(",");
- for (String list : newPageLists) {
- String[] split = list.split("-");
- if (split.length == 1 || split.length < 1) {
- String id = split[0];
- String sort = null;
- cmPageCentreService.saveSort(sort, id);
- } else {
- String id = split[0];
- String sort = split[1];
- if (isInteger(sort)) {
- if (StringUtils.equals("0", sort)) {
- map.put("success", false);
- map.put("msg", "排序值只能填写大于等于1的整数");
- return map;
- }
- cmPageCentreService.saveSort(sort, id);
- } else {
- map.put("success", false);
- map.put("msg", "排序值只能为数字");
- return map;
- }
- }
- }
- //清除产品仪器缓存
- cleanRedisCache();
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- map.put("success", true);
- map.put("msg", "更新排序成功");
- return map;
- } catch (Exception e) {
- map.put("success", false);
- map.put("msg", "更新排序失败");
- return map;
- }
- }
- @RequestMapping(value = "goContentPage")
- public String goContentPage(NewPageFloorContent newPageFloorContent, Model model) {
- NewPageFloorContent floorContent = cmPageCentreService.findFloorContent(newPageFloorContent.getCentreId());
- floorContent.setPageId(newPageFloorContent.getPageId());
- floorContent.setType(newPageFloorContent.getType());
- floorContent.setRedirectFlag(1);
- model.addAttribute("floorContent", floorContent);
- if ("6".equals(newPageFloorContent.getType())) {
- return "modules/newhome/activityFloorContentForm";
- }
- return "modules/newhome/newPageFloorContentForm";
- }
- public void cleanRedisCache() {
- //清除产品仪器缓存
- redisService.removePattern("instrumentData*");
- redisService.removePattern("insCommodityData*");
- // 重新生成静态产品仪器页
- generateUtils.generateProductType(286);
- generateUtils.generateProductType(287);
- }
- }
|