NewPageQualitySupplierController.java 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. package com.caimei.modules.newhome.web;
  2. import javax.annotation.Resource;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import com.caimei.constants.common.RedisKeyUtil;
  6. import com.caimei.modules.newhome.entity.NewPageQualitySupplierImage;
  7. import com.caimei.modules.opensearch.GenerateUtils;
  8. import com.caimei.modules.product.entity.CmBigtype;
  9. import com.caimei.redis.RedisService;
  10. import com.google.common.collect.Maps;
  11. import org.apache.commons.collections.CollectionUtils;
  12. import org.apache.shiro.authz.annotation.RequiresPermissions;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.ui.Model;
  16. import org.springframework.web.bind.annotation.ModelAttribute;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RequestParam;
  19. import org.springframework.web.bind.annotation.ResponseBody;
  20. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  21. import com.thinkgem.jeesite.common.config.Global;
  22. import com.thinkgem.jeesite.common.persistence.Page;
  23. import com.thinkgem.jeesite.common.web.BaseController;
  24. import com.thinkgem.jeesite.common.utils.StringUtils;
  25. import com.caimei.modules.newhome.entity.NewPageQualitySupplier;
  26. import com.caimei.modules.newhome.service.NewPageQualitySupplierService;
  27. import java.util.List;
  28. import java.util.Map;
  29. import java.util.regex.Pattern;
  30. /**
  31. * 优质供应商Controller
  32. * @author ye.qiin
  33. * @version 2019-03-18
  34. */
  35. @Controller
  36. @RequestMapping(value = "${adminPath}/newhome/newPageQualitySupplier")
  37. public class NewPageQualitySupplierController extends BaseController {
  38. @Autowired
  39. private NewPageQualitySupplierService newPageQualitySupplierService;
  40. @Autowired
  41. private RedisService redisService;
  42. @Resource
  43. private GenerateUtils generateUtils;
  44. @ModelAttribute
  45. public NewPageQualitySupplier get(@RequestParam(required=false) String id) {
  46. NewPageQualitySupplier entity = null;
  47. if (StringUtils.isNotBlank(id)){
  48. entity = newPageQualitySupplierService.get(id);
  49. }
  50. if (entity == null){
  51. entity = new NewPageQualitySupplier();
  52. }
  53. return entity;
  54. }
  55. @RequiresPermissions("newhome:newPageQualitySupplier:view")
  56. @RequestMapping(value = {"list", ""})
  57. public String list(NewPageQualitySupplier newPageQualitySupplier, HttpServletRequest request, HttpServletResponse response, Model model) {
  58. Page<NewPageQualitySupplier> page = newPageQualitySupplierService.findPage(new Page<NewPageQualitySupplier>(request, response), newPageQualitySupplier);
  59. model.addAttribute("page", page);
  60. return "modules/newhome/newPageQualitySupplierList";
  61. }
  62. @RequiresPermissions("newhome:newPageQualitySupplier:view")
  63. @RequestMapping(value = "form")
  64. public String form(NewPageQualitySupplier newPageQualitySupplier, Model model) {
  65. model.addAttribute("newPageQualitySupplier", newPageQualitySupplier);
  66. return "modules/newhome/newPageQualitySupplierForm";
  67. }
  68. @RequiresPermissions("newhome:newPageQualitySupplier:view")
  69. @RequestMapping(value = "formImage")
  70. public String formImage(NewPageQualitySupplierImage newPageQualitySupplierImage, Model model) {
  71. NewPageQualitySupplierImage image = newPageQualitySupplierService.getImage();
  72. model.addAttribute("NewPageQualitySupplierImage", image);
  73. return "modules/newhome/newPageQualitySupplierImage";
  74. }
  75. @RequiresPermissions("newhome:newPageQualitySupplier:edit")
  76. @RequestMapping(value = "saveImage")
  77. public String saveImage(NewPageQualitySupplierImage newPageQualitySupplierImage,HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
  78. if (!beanValidator(model, newPageQualitySupplierImage)){
  79. return formImage(newPageQualitySupplierImage, model);
  80. }
  81. if (checkValidator(model, newPageQualitySupplierImage)){
  82. return formImage(newPageQualitySupplierImage, model);
  83. }
  84. newPageQualitySupplierService.saveImage(newPageQualitySupplierImage,request);
  85. cleanRedisCache();
  86. addMessage(redirectAttributes, "保存供应商广告图成功");
  87. return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/";
  88. }
  89. private boolean checkValidator(Model model, NewPageQualitySupplierImage image) {
  90. if (!beanValidator(model, image)){
  91. return true;
  92. }
  93. if (StringUtils.isEmpty(image.getWwwImage())) {
  94. model.addAttribute("errorMsg", "请上传网站端图!");
  95. return true;
  96. }
  97. if (StringUtils.isEmpty(image.getCrmImage())) {
  98. model.addAttribute("errorMsg", "请上传小程序端图!");
  99. return true;
  100. }
  101. return false;
  102. }
  103. @RequiresPermissions("newhome:newPageQualitySupplier:edit")
  104. @RequestMapping(value = "batchSaveSort")
  105. @ResponseBody
  106. public Map<String, Object> batchSaveSort(String newPageList, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
  107. Map<String, Object> map = Maps.newLinkedHashMap();
  108. try {
  109. String[] newPageLists = newPageList.split(",");
  110. for(String list:newPageLists){
  111. String[] split = list.split("-");
  112. String s = split[1];//判断是否是数字,或者为空
  113. if(StringUtils.isNotEmpty(s)){
  114. if( isInteger(s)){
  115. NewPageQualitySupplier newPageQualitySupplier = new NewPageQualitySupplier();
  116. newPageQualitySupplier.setId(split[0]);
  117. newPageQualitySupplier.setSort(split[1]);
  118. newPageQualitySupplierService.saveSort(newPageQualitySupplier,request);
  119. }else{
  120. map.put("success",false);
  121. map.put("msg", "排序值只能为数字");
  122. return map;
  123. }
  124. }else{
  125. map.put("success",false);
  126. map.put("msg", "排序不能为空");
  127. return map;
  128. }
  129. }
  130. cleanRedisCache();
  131. map.put("success",true);
  132. map.put("msg", "保存排序成功");
  133. return map;
  134. } catch (Exception e) {
  135. map.put("success",false);
  136. map.put("msg", "更新排序失败,排序不能为空");
  137. return map;
  138. }
  139. }
  140. public static boolean isInteger(String str) {
  141. Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
  142. return pattern.matcher(str).matches();
  143. }
  144. @RequiresPermissions("newhome:newPageQualitySupplier:edit")
  145. @RequestMapping(value = "save")
  146. public String save(NewPageQualitySupplier newPageQualitySupplier,HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
  147. if (!beanValidator(model, newPageQualitySupplier)){
  148. return form(newPageQualitySupplier, model);
  149. }
  150. newPageQualitySupplierService.save(newPageQualitySupplier,request);
  151. cleanRedisCache();
  152. addMessage(redirectAttributes, "保存优质供应商成功");
  153. return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/?repage";
  154. }
  155. @RequiresPermissions("newhome:newPageQualitySupplier:delete")
  156. @RequestMapping(value = "delete")
  157. public String delete(NewPageQualitySupplier newPageQualitySupplier, RedirectAttributes redirectAttributes) {
  158. newPageQualitySupplierService.delete(newPageQualitySupplier);
  159. cleanRedisCache();
  160. addMessage(redirectAttributes, "删除优质供应商成功");
  161. return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/?repage";
  162. }
  163. @RequiresPermissions("newhome:newPageHomeimage:edit")
  164. @ResponseBody
  165. @RequestMapping(value="updateEnabledStatus")
  166. public Map<String, Object> updateEnabledStatus(String enabledStatus, String[] ids, String [] supplierIDs, HttpServletRequest request, HttpServletResponse response){
  167. Map<String, Object> map = Maps.newLinkedHashMap();
  168. try {
  169. newPageQualitySupplierService.updateEnabledStatusByIds(enabledStatus,ids);
  170. cleanRedisCache();
  171. map.put("success",true);
  172. map.put("msg", "修改成功");
  173. } catch (Exception e) {
  174. logger.debug(e.toString(),e);
  175. map.put("success",false);
  176. map.put("msg", "修改失败");
  177. }
  178. return map;
  179. }
  180. @RequiresPermissions("newhome:newPageHomeimage:edit")
  181. @ResponseBody
  182. @RequestMapping(value="updateCrmEnabledStatusByIds")
  183. public Map<String, Object> updateCrmEnabledStatusByIds(String crmEnabledStatus, String[] ids, String [] supplierIDs, HttpServletRequest request, HttpServletResponse response){
  184. Map<String, Object> map = Maps.newLinkedHashMap();
  185. try {
  186. newPageQualitySupplierService.updateCrmEnabledStatusByIds(crmEnabledStatus,ids);
  187. cleanRedisCache();
  188. map.put("success",true);
  189. map.put("msg", "修改成功");
  190. } catch (Exception e) {
  191. logger.debug(e.toString(),e);
  192. map.put("success",false);
  193. map.put("msg", "修改失败");
  194. }
  195. return map;
  196. }
  197. /**
  198. * 有数据变动时需要清除缓存
  199. */
  200. public void cleanRedisCache() {
  201. //首页缓存
  202. String homeData = "getHomeData*";
  203. redisService.removePattern(homeData);
  204. redisService.removePattern("getHomeCommodityData*");
  205. // 重新生成静态首页
  206. generateUtils.generateHome();
  207. }
  208. }