123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- package com.caimei.modules.newhome.web;
- import com.caimei.modules.newhome.entity.NewPageFloor;
- import com.caimei.modules.newhome.entity.NewPageFloorContent;
- import com.caimei.modules.newhome.entity.NewPageFloorImage;
- import com.caimei.modules.newhome.service.NewPageFloorService;
- import com.caimei.modules.opensearch.GenerateUtils;
- import com.caimei.modules.product.entity.Product;
- import com.caimei.modules.product.service.ProductService;
- 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.Map;
- import static com.caimei.modules.newhome.web.NewPageQualitySupplierController.isInteger;
- /**
- * 楼层管理Controller
- *
- * @author ye.qin
- * @version 2019-03-14
- */
- @Controller
- @RequestMapping(value = "${adminPath}/newhome/newPageFloor")
- public class NewPageFloorController extends BaseController {
- @Autowired
- private NewPageFloorService newPageFloorService;
- @Autowired
- private ProductService productService;
- @Autowired
- private RedisService redisService;
- @Resource
- private GenerateUtils generateUtils;
- @ModelAttribute
- public NewPageFloor get(@RequestParam(required = false) String id) {
- NewPageFloor entity = null;
- if (StringUtils.isNotBlank(id)) {
- entity = newPageFloorService.get(id);
- }
- if (entity == null) {
- entity = new NewPageFloor();
- }
- return entity;
- }
- @RequiresPermissions("newhome:newPageFloor:view")
- @RequestMapping(value = {"list", ""})
- public String list(NewPageFloor newPageFloor, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<NewPageFloor> page = newPageFloorService.findPage(new Page<NewPageFloor>(request, response), newPageFloor);
- model.addAttribute("page", page);
- return "modules/newhome/newPageFloorList";
- }
- @RequiresPermissions("newhome:newPageFloor:view")
- @RequestMapping(value = "form")
- public String form(NewPageFloor newPageFloor, Model model) {
- model.addAttribute("newPageFloor", newPageFloor);
- return "modules/newhome/newPageFloorForm";
- }
- @RequiresPermissions("newhome:newPageFloor:edit")
- @RequestMapping(value = "save")
- public String save(NewPageFloor newPageFloor, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, newPageFloor)) {
- return form(newPageFloor, model);
- }
- newPageFloorService.save(newPageFloor);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存楼层管理成功");
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
- }
- @RequiresPermissions("newhome:newPageFloor:delete")
- @RequestMapping(value = "delete")
- public String delete(NewPageFloor newPageFloor, RedirectAttributes redirectAttributes) {
- newPageFloorService.delete(newPageFloor);
- cleanRedisCache();
- addMessage(redirectAttributes, "删除楼层管理成功");
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
- }
- @RequiresPermissions("newhome:newPageHomeimage: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 {
- newPageFloorService.updateEnabledStatusByIds(enabledStatus, ids);
- cleanRedisCache();
- map.put("success", true);
- map.put("msg", "修改成功");
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("success", false);
- map.put("msg", "修改失败");
- }
- return map;
- }
- @RequiresPermissions("newhome:newPageHomeimage: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 {
- newPageFloorService.updateCrmEnabledStatusByIds(crmEnabledStatus, ids);
- cleanRedisCache();
- 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(value = "goContentPage")
- public String goContentPage(NewPageFloorContent floorContent, Model model) {
- floorContent = newPageFloorService.findFloorContent(floorContent.getFloorId());
- model.addAttribute("floorContent", floorContent);
- return "modules/newhome/newPageFloorContentForm";
- }
- /**
- * 批量更新排序值
- */
- @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;
- newPageFloorService.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;
- }
- newPageFloorService.saveSort(sort, id);
- } else {
- map.put("success", false);
- map.put("msg", "排序值只能为数字");
- return map;
- }
- }
- }
- cleanRedisCache();
- map.put("success", true);
- map.put("msg", "更新排序成功");
- return map;
- } catch (Exception e) {
- map.put("success", false);
- map.put("msg", "更新排序失败");
- return map;
- }
- }
- /**
- * 添加商品
- */
- @RequestMapping("/addProductImage")
- public String addProductImage(Product product, Model model, HttpServletRequest request, HttpServletResponse response) {
- product.setValidFlag("2");
- Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
- model.addAttribute("page", page);
- model.addAttribute("productCategory", product.getProductCategory());
- model.addAttribute("productIds", product.getProductIds());
- return "modules/newhome/addProductImage";
- }
- /**
- * 活动专题添加图片
- */
- @RequestMapping("/addActivityImage")
- public String addActivityImage(Product product, String type, Integer templateType, NewPageFloorImage newPageFloorImage, Model model, HttpServletRequest request, HttpServletResponse response) {
- if ("productImage".equals(type)) {
- product.setValidFlag("2");
- Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
- model.addAttribute("page", page);
- model.addAttribute("productCategory", product.getProductCategory());
- model.addAttribute("productIds", product.getProductIds());
- return "modules/newhome/addProductImage";
- } else {
- //图片建议尺寸
- String pcImageSize = "";
- String appletsImageSize = "";
- if (templateType != null) {
- if (templateType > 50) {
- //移动端模板序号处理
- templateType = templateType - 50;
- }
- if (templateType == 1) {
- pcImageSize = "184px*184px";
- appletsImageSize = "164px*164px";
- } else if (templateType == 2) {
- pcImageSize = "370px*260px";
- appletsImageSize = "224px*156px";
- } else if (templateType == 3) {
- pcImageSize = "168px*168px";
- appletsImageSize = "202px*202px";
- } else if (templateType == 4) {
- pcImageSize = "560px*290px";
- appletsImageSize = "702px*360px";
- } else if (templateType == 5 || templateType == 6) {
- pcImageSize = "370px*210px";
- if (templateType == 5) {
- appletsImageSize = "310px*220px";
- } else if (templateType == 6) {
- appletsImageSize = "339px*240px";
- }
- } else if (templateType == 7) {
- pcImageSize = "270px*210px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 8 || templateType == 9) {
- pcImageSize = "560px*350px";
- if (templateType == 8) {
- appletsImageSize = "702px*360px";
- } else {
- appletsImageSize = "339px*210px";
- }
- } else if (templateType == 10) {
- pcImageSize = "1140px*340px";
- appletsImageSize = "750px*342px";
- } else if (templateType == 22) {
- pcImageSize = "384px*260px";
- appletsImageSize = "339px*230px";
- } else if (templateType == 23) {
- pcImageSize = "284px*220px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 24) {
- pcImageSize = "588px*360px";
- appletsImageSize = "339px*210px";
- } else if (templateType == 25) {
- pcImageSize = "588px*360px";
- appletsImageSize = "702px*360px";
- } else if (templateType == 26) {
- pcImageSize = "384px*260px";
- appletsImageSize = "339px*230px";
- } else if (templateType == 27) {
- pcImageSize = "282px*220px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 28) {
- pcImageSize = "588px*320px";
- appletsImageSize = "339px*210px";
- } else if (templateType == 29) {
- pcImageSize = "588px*360px";
- appletsImageSize = "702px*360px";
- }
- pcImageSize = "建议图片尺寸" + pcImageSize;
- appletsImageSize = "建议图片尺寸" + appletsImageSize;
- }
- model.addAttribute("pcImageSize", pcImageSize);
- model.addAttribute("appletsImageSize", appletsImageSize);
- model.addAttribute("type", type);
- model.addAttribute("floorImage", newPageFloorImage);
- return "modules/newhome/addActivityAdsImage";
- }
- }
- /**
- * 添加其他图片
- */
- @RequestMapping("/addOtherImage")
- public String addOtherImage(NewPageFloorImage floorImage, Model model) {
- model.addAttribute("floorImage", floorImage);
- return "modules/newhome/addOtherImage";
- }
- /**
- * 楼层内容保存
- */
- @RequestMapping("/saveFloorContent")
- public String saveFloorContent(NewPageFloorContent floorContent, RedirectAttributes redirectAttributes) {
- newPageFloorService.saveFloorContent(floorContent);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存成功");
- if (floorContent.getFloorId() != null) {
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
- } else if (StringUtils.isNotBlank(floorContent.getFormType())) {
- if (floorContent.getRedirectFlag() == 1) {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=" + floorContent.getFormType();
- } else {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/goContentPage?centreId=" + floorContent.getCentreId() + "&pageId=" + floorContent.getPageId() + "&type=" + floorContent.getFormType();
- }
- } else {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=5";
- }
- }
- @RequestMapping("/showTemplate")
- public String showTemplate() {
- return "modules/newhome/showTemplate";
- }
- /**
- * 有数据变动时需要清除缓存
- */
- public void cleanRedisCache() {
- //清除活动专题缓存
- redisService.removePattern("getPageFloorData*");
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- //清除产品仪器缓存
- redisService.removePattern("instrumentData*");
- redisService.removePattern("insCommodityData*");
- //首页缓存
- String homeData = "getHomeData*";
- redisService.removePattern(homeData);
- redisService.removePattern("getHomeCommodityData*");
- // 重新生成静态首页
- generateUtils.generateHome();
- }
- }
|