CrmBannerController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.caimei.modules.banner.web;
  2. import java.util.Map;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.apache.shiro.authz.annotation.RequiresPermissions;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.Model;
  9. import org.springframework.web.bind.annotation.ModelAttribute;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestParam;
  12. import org.springframework.web.bind.annotation.ResponseBody;
  13. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  14. import com.caimei.modules.banner.entity.CrmBanner;
  15. import com.caimei.modules.banner.service.CrmBannerService;
  16. import com.google.common.collect.Maps;
  17. import com.thinkgem.jeesite.common.config.Global;
  18. import com.thinkgem.jeesite.common.persistence.Page;
  19. import com.thinkgem.jeesite.common.utils.StringUtils;
  20. import com.thinkgem.jeesite.common.web.BaseController;
  21. /**
  22. * CRM首页轮播图Controller
  23. * @author LG
  24. * @version 2016-08-19
  25. */
  26. @Controller
  27. @RequestMapping(value = "${adminPath}/banner/crmBanner")
  28. public class CrmBannerController extends BaseController {
  29. @Autowired
  30. private CrmBannerService crmBannerService;
  31. @ModelAttribute
  32. public CrmBanner get(@RequestParam(required=false) String id) {
  33. CrmBanner entity = null;
  34. if (StringUtils.isNotBlank(id)){
  35. entity = crmBannerService.get(id);
  36. }
  37. if (entity == null){
  38. entity = new CrmBanner();
  39. }
  40. return entity;
  41. }
  42. @RequiresPermissions("banner:crmBanner:view")
  43. @RequestMapping(value = {"list", ""})
  44. public String list(CrmBanner crmBanner, HttpServletRequest request, HttpServletResponse response, Model model) {
  45. Page<CrmBanner> page = crmBannerService.findPage(new Page<CrmBanner>(request, response), crmBanner);
  46. model.addAttribute("page", page);
  47. return "modules/banner/crmBannerList";
  48. }
  49. @RequiresPermissions("banner:crmBanner:view")
  50. @RequestMapping(value = "form")
  51. public String form(CrmBanner crmBanner, Model model) {
  52. model.addAttribute("crmBanner", crmBanner);
  53. return "modules/banner/crmBannerForm";
  54. }
  55. @RequiresPermissions("banner:crmBanner:edit")
  56. @RequestMapping(value = "save")
  57. public String save(CrmBanner crmBanner, Model model, RedirectAttributes redirectAttributes, HttpServletRequest request) {
  58. if(checkValidator(model, crmBanner)){//参数、必填验证
  59. return form(crmBanner, model);
  60. }
  61. crmBannerService.save(crmBanner,request);
  62. addMessage(redirectAttributes, "保存CRM首页轮播图成功");
  63. return "redirect:"+Global.getAdminPath()+"/banner/crmBanner/?repage";
  64. }
  65. private boolean checkValidator(Model model,CrmBanner crmBanner) {
  66. if (!beanValidator(model, crmBanner)){
  67. return true;
  68. }
  69. if(StringUtils.getStringLength(crmBanner.getTitle())>40){
  70. model.addAttribute("message", "标题过长!");
  71. return true;
  72. }
  73. if(StringUtils.isNotBlank(crmBanner.getLink()) &&StringUtils.getStringLength(crmBanner.getTitle())>100){
  74. model.addAttribute("message", "链接过长!");
  75. return true;
  76. }
  77. if(StringUtils.equals(crmBanner.getEnabledStatus(), "1")){
  78. CrmBanner crmBanner2 = crmBannerService.get(crmBanner.getId());
  79. if(null!=crmBanner2){
  80. if(!StringUtils.equals(crmBanner2.getEnabledStatus(), "1") && crmBannerService.countEnabledStatus("1")>=9){
  81. model.addAttribute("message", "最多只能启用9项,请先停用!");
  82. return true;
  83. }
  84. }else if(crmBannerService.countEnabledStatus("1")>=9){
  85. model.addAttribute("message", "最多只能启用9项,请先停用!");
  86. return true;
  87. }
  88. }
  89. return false;
  90. }
  91. @RequiresPermissions("banner:crmBanner:delete")
  92. @RequestMapping(value = "delete")
  93. public String delete(CrmBanner crmBanner, RedirectAttributes redirectAttributes) {
  94. crmBannerService.delete(crmBanner);
  95. addMessage(redirectAttributes, "删除CRM首页轮播图成功");
  96. return "redirect:"+Global.getAdminPath()+"/banner/crmBanner/?repage";
  97. }
  98. /**
  99. * 批量修改启用、停用状态
  100. * @param enabledStatus
  101. * @param ids
  102. * @param request
  103. * @param response
  104. * @return
  105. */
  106. @RequiresPermissions("banner:crmBanner:edit")
  107. @ResponseBody
  108. @RequestMapping(value="updateEnabledStatus")
  109. public Map<String, Object> updateEnabledStatus(String status,String[] ids,HttpServletRequest request,HttpServletResponse response){
  110. Map<String, Object> map =Maps.newLinkedHashMap();
  111. try {
  112. crmBannerService.updateEnabledStatusByIds(status,ids);
  113. map.put("success",true);
  114. map.put("msg", "修改成功");
  115. } catch (Exception e) {
  116. logger.debug(e.toString(),e);
  117. map.put("success",false);
  118. map.put("msg", "修改失败");
  119. }
  120. return map;
  121. }
  122. /**
  123. * 状态统计
  124. * @param enabledStatus
  125. * @param request
  126. * @param response
  127. * @return
  128. */
  129. @RequiresPermissions("banner:crmBanner:view")
  130. @ResponseBody
  131. @RequestMapping(value="countEnabledStatus")
  132. public Map<String, Object> countEnabledStatus(String status,HttpServletRequest request,HttpServletResponse response){
  133. Map<String, Object> map =Maps.newLinkedHashMap();
  134. try {
  135. int count=crmBannerService.countEnabledStatus(status);
  136. map.put("success",true);
  137. map.put("count",count);
  138. } catch (Exception e) {
  139. logger.debug(e.toString(),e);
  140. map.put("success",false);
  141. map.put("count",0);
  142. }
  143. return map;
  144. }
  145. }