123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- 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.modules.product.entity.CmProductCombination;
- import com.caimei.modules.product.entity.Product;
- import com.caimei.redis.RedisService;
- import com.caimei.utils.AppUtils;
- import com.google.common.collect.Maps;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- 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 {
- @Resource
- private NewPageQualitySupplierService newPageQualitySupplierService;
- @Resource
- 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 = "product")
- public String productList(NewPageQualitySupplier newPageQualitySupplier, Model model) {
- List<Product> productList = newPageQualitySupplierService.findSupplierProducts(newPageQualitySupplier);
- model.addAttribute("productList", productList);
- model.addAttribute("newPageQualitySupplier", newPageQualitySupplier);
- return "modules/newhome/newPageProductList";
- }
- @RequestMapping(value = "batchSaveSorts")
- @ResponseBody
- public Map<String, Object> batchSaveSorts(String newProducSorttList, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] newPageLists = newProducSorttList.split(",");
- for(String list:newPageLists){
- String[] split = list.split("-");
- if(split.length == 1 || split.length < 1){
- map.put("success",false);
- map.put("msg", "排序值不能为空!");
- return map;
- }
- String s = split[1];
- //判断是否是数字,或者为空
- if(StringUtils.isNotEmpty(s)){
- if( isInteger(s)){
- String id = split[0];
- String sort = split[1];
- //保存数据,
- newPageQualitySupplierService.saveBatchSort(sort,id);
- }else{
- map.put("success",false);
- map.put("msg", "排序值只能为数字");
- return map;
- }
- }else{
- map.put("success",false);
- map.put("msg", "排序值不能为空!");
- return map;
- }
- }
- map.put("success",true);
- map.put("msg", "更新排序成功");
- return map;
- } catch (Exception e) {
- map.put("success",false);
- map.put("msg", "更新排序失败");
- return map;
- }
- }
- @RequiresPermissions("newhome:newPageQualitySupplier:view")
- @RequestMapping(value = "productDel")
- public String productDel(NewPageQualitySupplier newPageQualitySupplier, RedirectAttributes redirectAttributes) {
- newPageQualitySupplierService.productDel(Integer.valueOf(newPageQualitySupplier.getId()),newPageQualitySupplier.getProductId());
- addMessage(redirectAttributes, "删除成功");
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageQualitySupplier/product?id=" + newPageQualitySupplier.getId();
- }
- @RequestMapping(value = "toAddProduct")
- public String toAddProduct(Product product, Page page, Model model) {
- //获取采美所有商品
- if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
- if (0 == page.getPageNo()) page.setPageNo(1);
- product.setPage(page);
- List<Product> productList = newPageQualitySupplierService.findProductList(product);
- if (CollectionUtils.isNotEmpty(productList)) {
- for (Product p : productList) {
- p.setMainImage(AppUtils.getProductImageURL(p.getMainImage(), 0, Global.getConfig("wwwServer")));
- }
- }
- page.setList(productList);
- model.addAttribute("page", page);
- model.addAttribute("Product", product);
- return "modules/newhome/toSelectProduct";
- }
- @ResponseBody
- @RequestMapping(value = "saveAddProduct")
- public Map<String, Object> saveAddProduct(String productIds,Integer id) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] split = productIds.split(",");
- //保存商品添加的组合
- newPageQualitySupplierService.addProducts(id,split);
- 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: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();
- }
- }
|