123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- package com.caimei.modules.newhome.web;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.caimei.constants.common.RedisKeyUtil;
- import com.caimei.modules.newhome.entity.NewPageQualitySupplierImage;
- import com.caimei.modules.opensearch.GenerateUtils;
- import com.caimei.modules.product.entity.CmBigtype;
- import com.caimei.redis.RedisService;
- import com.google.common.collect.Maps;
- import org.apache.commons.collections.CollectionUtils;
- 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 com.thinkgem.jeesite.common.config.Global;
- import com.thinkgem.jeesite.common.persistence.Page;
- import com.thinkgem.jeesite.common.web.BaseController;
- import com.thinkgem.jeesite.common.utils.StringUtils;
- import com.caimei.modules.newhome.entity.NewPageQualitySupplier;
- import com.caimei.modules.newhome.service.NewPageQualitySupplierService;
- import java.util.List;
- import java.util.Map;
- import java.util.regex.Pattern;
- /**
- * 优质供应商Controller
- * @author ye.qiin
- * @version 2019-03-18
- */
- @Controller
- @RequestMapping(value = "${adminPath}/newhome/newPageQualitySupplier")
- public class NewPageQualitySupplierController extends BaseController {
- @Autowired
- private NewPageQualitySupplierService newPageQualitySupplierService;
- @Autowired
- private RedisService redisService;
- @Resource
- private GenerateUtils generateUtils;
- @ModelAttribute
- public NewPageQualitySupplier get(@RequestParam(required=false) String id) {
- NewPageQualitySupplier entity = null;
- if (StringUtils.isNotBlank(id)){
- entity = newPageQualitySupplierService.get(id);
- }
- if (entity == null){
- entity = new NewPageQualitySupplier();
- }
- return entity;
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:view")
- @RequestMapping(value = {"list", ""})
- public String list(NewPageQualitySupplier newPageQualitySupplier, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<NewPageQualitySupplier> page = newPageQualitySupplierService.findPage(new Page<NewPageQualitySupplier>(request, response), newPageQualitySupplier);
- model.addAttribute("page", page);
- return "modules/newhome/newPageQualitySupplierList";
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:view")
- @RequestMapping(value = "form")
- public String form(NewPageQualitySupplier newPageQualitySupplier, Model model) {
- model.addAttribute("newPageQualitySupplier", newPageQualitySupplier);
- return "modules/newhome/newPageQualitySupplierForm";
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:view")
- @RequestMapping(value = "formImage")
- public String formImage(NewPageQualitySupplierImage newPageQualitySupplierImage, Model model) {
- NewPageQualitySupplierImage image = newPageQualitySupplierService.getImage();
- model.addAttribute("NewPageQualitySupplierImage", image);
- return "modules/newhome/newPageQualitySupplierImage";
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:edit")
- @RequestMapping(value = "saveImage")
- public String saveImage(NewPageQualitySupplierImage newPageQualitySupplierImage,HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, newPageQualitySupplierImage)){
- return formImage(newPageQualitySupplierImage, model);
- }
- if (checkValidator(model, newPageQualitySupplierImage)){
- return formImage(newPageQualitySupplierImage, model);
- }
- newPageQualitySupplierService.saveImage(newPageQualitySupplierImage,request);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存供应商广告图成功");
- return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/";
- }
- private boolean checkValidator(Model model, NewPageQualitySupplierImage image) {
- if (!beanValidator(model, image)){
- return true;
- }
- if (StringUtils.isEmpty(image.getWwwImage())) {
- model.addAttribute("errorMsg", "请上传网站端图!");
- return true;
- }
- if (StringUtils.isEmpty(image.getCrmImage())) {
- model.addAttribute("errorMsg", "请上传小程序端图!");
- return true;
- }
- return false;
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:edit")
- @RequestMapping(value = "batchSaveSort")
- @ResponseBody
- public Map<String, Object> batchSaveSort(String newPageList, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] newPageLists = newPageList.split(",");
- for(String list:newPageLists){
- String[] split = list.split("-");
- String s = split[1];//判断是否是数字,或者为空
- if(StringUtils.isNotEmpty(s)){
- if( isInteger(s)){
- NewPageQualitySupplier newPageQualitySupplier = new NewPageQualitySupplier();
- newPageQualitySupplier.setId(split[0]);
- newPageQualitySupplier.setSort(split[1]);
- newPageQualitySupplierService.saveSort(newPageQualitySupplier,request);
- }else{
- map.put("success",false);
- map.put("msg", "排序值只能为数字");
- return map;
- }
- }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;
- }
- }
- public static boolean isInteger(String str) {
- Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
- return pattern.matcher(str).matches();
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:edit")
- @RequestMapping(value = "save")
- public String save(NewPageQualitySupplier newPageQualitySupplier,HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, newPageQualitySupplier)){
- return form(newPageQualitySupplier, model);
- }
- newPageQualitySupplierService.save(newPageQualitySupplier,request);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存优质供应商成功");
- return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/?repage";
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:delete")
- @RequestMapping(value = "delete")
- public String delete(NewPageQualitySupplier newPageQualitySupplier, RedirectAttributes redirectAttributes) {
- newPageQualitySupplierService.delete(newPageQualitySupplier);
- cleanRedisCache();
- addMessage(redirectAttributes, "删除优质供应商成功");
- return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/?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 {
- newPageQualitySupplierService.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 {
- newPageQualitySupplierService.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;
- }
- /**
- * 有数据变动时需要清除缓存
- */
- public void cleanRedisCache() {
- //首页缓存
- String homeData = "getHomeData*";
- redisService.removePattern(homeData);
- redisService.removePattern("getHomeCommodityData*");
- // 重新生成静态首页
- generateUtils.generateHome();
- }
- }
|