NewPageFloorController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. package com.caimei.modules.newhome.web;
  2. import com.caimei.modules.newhome.entity.NewPageFloor;
  3. import com.caimei.modules.newhome.entity.NewPageFloorContent;
  4. import com.caimei.modules.newhome.entity.NewPageFloorImage;
  5. import com.caimei.modules.newhome.service.NewPageFloorService;
  6. import com.caimei.modules.product.entity.Product;
  7. import com.caimei.modules.product.service.ProductService;
  8. import com.caimei.redis.RedisService;
  9. import com.google.common.collect.Maps;
  10. import com.thinkgem.jeesite.common.config.Global;
  11. import com.thinkgem.jeesite.common.persistence.Page;
  12. import com.thinkgem.jeesite.common.utils.StringUtils;
  13. import com.thinkgem.jeesite.common.web.BaseController;
  14. import org.apache.shiro.authz.annotation.RequiresPermissions;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.ui.Model;
  18. import org.springframework.web.bind.annotation.ModelAttribute;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RequestParam;
  21. import org.springframework.web.bind.annotation.ResponseBody;
  22. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  23. import javax.servlet.http.HttpServletRequest;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.util.Map;
  26. import static com.caimei.modules.newhome.web.NewPageQualitySupplierController.isInteger;
  27. /**
  28. * 楼层管理Controller
  29. *
  30. * @author ye.qin
  31. * @version 2019-03-14
  32. */
  33. @Controller
  34. @RequestMapping(value = "${adminPath}/newhome/newPageFloor")
  35. public class NewPageFloorController extends BaseController {
  36. @Autowired
  37. private NewPageFloorService newPageFloorService;
  38. @Autowired
  39. private ProductService productService;
  40. @Autowired
  41. private RedisService redisService;
  42. @ModelAttribute
  43. public NewPageFloor get(@RequestParam(required = false) String id) {
  44. NewPageFloor entity = null;
  45. if (StringUtils.isNotBlank(id)) {
  46. entity = newPageFloorService.get(id);
  47. }
  48. if (entity == null) {
  49. entity = new NewPageFloor();
  50. }
  51. return entity;
  52. }
  53. @RequiresPermissions("newhome:newPageFloor:view")
  54. @RequestMapping(value = {"list", ""})
  55. public String list(NewPageFloor newPageFloor, HttpServletRequest request, HttpServletResponse response, Model model) {
  56. Page<NewPageFloor> page = newPageFloorService.findPage(new Page<NewPageFloor>(request, response), newPageFloor);
  57. model.addAttribute("page", page);
  58. return "modules/newhome/newPageFloorList";
  59. }
  60. @RequiresPermissions("newhome:newPageFloor:view")
  61. @RequestMapping(value = "form")
  62. public String form(NewPageFloor newPageFloor, Model model) {
  63. model.addAttribute("newPageFloor", newPageFloor);
  64. return "modules/newhome/newPageFloorForm";
  65. }
  66. @RequiresPermissions("newhome:newPageFloor:edit")
  67. @RequestMapping(value = "save")
  68. public String save(NewPageFloor newPageFloor, Model model, RedirectAttributes redirectAttributes) {
  69. if (!beanValidator(model, newPageFloor)) {
  70. return form(newPageFloor, model);
  71. }
  72. newPageFloorService.save(newPageFloor);
  73. cleanRedisCache();
  74. addMessage(redirectAttributes, "保存楼层管理成功");
  75. return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
  76. }
  77. @RequiresPermissions("newhome:newPageFloor:delete")
  78. @RequestMapping(value = "delete")
  79. public String delete(NewPageFloor newPageFloor, RedirectAttributes redirectAttributes) {
  80. newPageFloorService.delete(newPageFloor);
  81. cleanRedisCache();
  82. addMessage(redirectAttributes, "删除楼层管理成功");
  83. return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
  84. }
  85. @RequiresPermissions("newhome:newPageHomeimage:edit")
  86. @ResponseBody
  87. @RequestMapping(value = "updateEnabledStatus")
  88. public Map<String, Object> updateEnabledStatus(String enabledStatus, String[] ids, String[] supplierIDs, HttpServletRequest request, HttpServletResponse response) {
  89. Map<String, Object> map = Maps.newLinkedHashMap();
  90. try {
  91. newPageFloorService.updateEnabledStatusByIds(enabledStatus, ids);
  92. cleanRedisCache();
  93. map.put("success", true);
  94. map.put("msg", "修改成功");
  95. } catch (Exception e) {
  96. logger.debug(e.toString(), e);
  97. map.put("success", false);
  98. map.put("msg", "修改失败");
  99. }
  100. return map;
  101. }
  102. @RequiresPermissions("newhome:newPageHomeimage:edit")
  103. @ResponseBody
  104. @RequestMapping(value = "updateCrmEnabledStatusByIds")
  105. public Map<String, Object> updateCrmEnabledStatusByIds(String crmEnabledStatus, String[] ids, String[] supplierIDs, HttpServletRequest request, HttpServletResponse response) {
  106. Map<String, Object> map = Maps.newLinkedHashMap();
  107. try {
  108. newPageFloorService.updateCrmEnabledStatusByIds(crmEnabledStatus, ids);
  109. cleanRedisCache();
  110. map.put("success", true);
  111. map.put("msg", "修改成功");
  112. } catch (Exception e) {
  113. logger.debug(e.toString(), e);
  114. map.put("success", false);
  115. map.put("msg", "修改失败");
  116. }
  117. return map;
  118. }
  119. @RequestMapping(value = "goContentPage")
  120. public String goContentPage(NewPageFloorContent floorContent, Model model) {
  121. floorContent = newPageFloorService.findFloorContent(floorContent.getFloorId());
  122. model.addAttribute("floorContent", floorContent);
  123. /*String returnUrl = "";
  124. if (newPageFloor.getId() != null && newPageFloor.getId() != "") {
  125. if (newPageFloor.getId().equals("1")) {
  126. returnUrl = "/newhome/newActivity/?repage";
  127. } else if (newPageFloor.getId().equals("2")) {
  128. returnUrl = "/newhome/newActivity/groupList?repage";
  129. } else if (newPageFloor.getId().equals("3")) {
  130. returnUrl = "/newhome/newPageQualitySupplier/?repage";
  131. } else if (newPageFloor.getId().equals("4")) {
  132. returnUrl = "/newhome/newPageCommodityTopic/?repage";
  133. } else if (newPageFloor.getId().equals("5")) {
  134. returnUrl = "/newhome/newPageSmallTopic/?repage";
  135. } else if (newPageFloor.getId().equals("6")) {
  136. returnUrl = "/cmpage/cmPageBigTopic/?repage";
  137. }
  138. }
  139. return "redirect:" + Global.getAdminPath() + returnUrl;*/
  140. return "modules/newhome/newPageFloorContentForm";
  141. }
  142. /**
  143. * 批量更新排序值
  144. */
  145. @RequestMapping(value = "batchSaveSort")
  146. @ResponseBody
  147. public Map<String, Object> batchSaveSort(String sortList) {
  148. Map<String, Object> map = Maps.newLinkedHashMap();
  149. try {
  150. String[] newPageLists = sortList.split(",");
  151. for (String list : newPageLists) {
  152. String[] split = list.split("-");
  153. if (split.length == 1 || split.length < 1) {
  154. String id = split[0];
  155. String sort = null;
  156. newPageFloorService.saveSort(sort, id);
  157. } else {
  158. String id = split[0];
  159. String sort = split[1];
  160. if (isInteger(sort)) {
  161. if (StringUtils.equals("0", sort)) {
  162. map.put("success", false);
  163. map.put("msg", "排序值只能填写大于等于1的整数");
  164. return map;
  165. }
  166. newPageFloorService.saveSort(sort, id);
  167. } else {
  168. map.put("success", false);
  169. map.put("msg", "排序值只能为数字");
  170. return map;
  171. }
  172. }
  173. }
  174. cleanRedisCache();
  175. map.put("success", true);
  176. map.put("msg", "更新排序成功");
  177. return map;
  178. } catch (Exception e) {
  179. map.put("success", false);
  180. map.put("msg", "更新排序失败");
  181. return map;
  182. }
  183. }
  184. /**
  185. * 添加商品
  186. */
  187. @RequestMapping("/addProductImage")
  188. public String addProductImage(Product product, Model model, HttpServletRequest request, HttpServletResponse response) {
  189. product.setValidFlag("2");
  190. Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
  191. model.addAttribute("page", page);
  192. model.addAttribute("productCategory", product.getProductCategory());
  193. model.addAttribute("productIds", product.getProductIds());
  194. return "modules/newhome/addProductImage";
  195. }
  196. /**
  197. * 活动专题添加图片
  198. */
  199. @RequestMapping("/addActivityImage")
  200. public String addActivityImage(Product product, String type, Integer templateType, Model model, HttpServletRequest request, HttpServletResponse response) {
  201. if ("productImage".equals(type)) {
  202. product.setValidFlag("2");
  203. Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
  204. model.addAttribute("page", page);
  205. model.addAttribute("productCategory", product.getProductCategory());
  206. model.addAttribute("productIds", product.getProductIds());
  207. return "modules/newhome/addProductImage";
  208. } else {
  209. //图片建议尺寸
  210. String pcImageSize = "";
  211. String appletsImageSize = "";
  212. if (templateType != null) {
  213. if (templateType > 50) {
  214. //移动端模板序号处理
  215. templateType = templateType - 50;
  216. }
  217. if (templateType == 1) {
  218. pcImageSize = "184px*184px";
  219. appletsImageSize = "164px*164px";
  220. } else if (templateType == 2) {
  221. pcImageSize = "384px*268px";
  222. appletsImageSize = "224px*156px";
  223. } else if (templateType == 3) {
  224. pcImageSize = "168px*168px";
  225. appletsImageSize = "202px*202px";
  226. } else if (templateType == 4) {
  227. pcImageSize = "584px*300px";
  228. appletsImageSize = "702px*360px";
  229. } else if (templateType == 5 || templateType == 6) {
  230. pcImageSize = "384px*220px";
  231. if (templateType == 5) {
  232. appletsImageSize = "310px*220px";
  233. } else if (templateType == 6) {
  234. appletsImageSize = "339px*240px";
  235. }
  236. } else if (templateType == 7) {
  237. pcImageSize = "284px*220px";
  238. appletsImageSize = "310px*240px";
  239. } else if (templateType == 8 || templateType == 9) {
  240. pcImageSize = "584px*360px";
  241. if (templateType == 8) {
  242. appletsImageSize = "702px*360px";
  243. } else {
  244. appletsImageSize = "339px*210px";
  245. }
  246. } else if (templateType == 10) {
  247. pcImageSize = "1184px*360px";
  248. appletsImageSize = "750px*342px";
  249. }
  250. pcImageSize = "建议图片尺寸" + pcImageSize;
  251. appletsImageSize = "建议图片尺寸" + appletsImageSize;
  252. }
  253. model.addAttribute("pcImageSize", pcImageSize);
  254. model.addAttribute("appletsImageSize", appletsImageSize);
  255. model.addAttribute("type", type);
  256. model.addAttribute("floorImage", new NewPageFloorImage());
  257. return "modules/newhome/addActivityAdsImage";
  258. }
  259. }
  260. /**
  261. * 添加其他图片
  262. */
  263. @RequestMapping("/addOtherImage")
  264. public String addOtherImage(NewPageFloorImage floorImage, Model model) {
  265. model.addAttribute("floorImage", floorImage);
  266. return "modules/newhome/addOtherImage";
  267. }
  268. /**
  269. * 楼层内容保存
  270. */
  271. @RequestMapping("/saveFloorContent")
  272. public String saveFloorContent(NewPageFloorContent floorContent, RedirectAttributes redirectAttributes) {
  273. newPageFloorService.saveFloorContent(floorContent);
  274. cleanRedisCache();
  275. addMessage(redirectAttributes, "保存成功");
  276. if (floorContent.getFloorId() != null) {
  277. return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
  278. } else if (StringUtils.isNotBlank(floorContent.getType())){
  279. //清除活动专题缓存
  280. redisService.removePattern("activityData*");
  281. return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=6";
  282. } else {
  283. //清除产品仪器缓存
  284. redisService.removePattern("instrumentData*");
  285. return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=5";
  286. }
  287. }
  288. @RequestMapping("/showTemplate")
  289. public String showTemplate() {
  290. return "modules/newhome/showTemplate";
  291. }
  292. /**
  293. * 有数据变动时需要清除缓存
  294. */
  295. public void cleanRedisCache() {
  296. //首页缓存
  297. String homeData = "getHomeData*";
  298. redisService.removePattern(homeData);
  299. }
  300. }