123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485 |
- package com.caimei.modules.newhome.web;
- import com.caimei.modules.hehe.entity.CmHeheProduct;
- import com.caimei.modules.hehe.service.CmHeheProductService;
- import com.caimei.modules.newhome.entity.NewPageFloor;
- import com.caimei.modules.newhome.entity.NewPageFloorContent;
- import com.caimei.modules.newhome.entity.NewPageFloorImage;
- import com.caimei.modules.newhome.service.NewPageFloorService;
- import com.caimei.modules.opensearch.GenerateUtils;
- import com.caimei.modules.product.entity.Product;
- import com.caimei.modules.product.service.ProductService;
- import com.caimei.redis.RedisService;
- import com.google.common.collect.Maps;
- import com.thinkgem.jeesite.common.config.Global;
- import com.thinkgem.jeesite.common.persistence.Page;
- import com.thinkgem.jeesite.common.utils.StringUtils;
- import com.thinkgem.jeesite.common.web.BaseController;
- 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 javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import static com.caimei.modules.newhome.web.NewPageQualitySupplierController.isInteger;
- /**
- * 楼层管理Controller
- *
- * @author ye.qin
- * @version 2019-03-14
- */
- @Controller
- @RequestMapping(value = "${adminPath}/newhome/newPageFloor")
- public class NewPageFloorController extends BaseController {
- @Autowired
- private NewPageFloorService newPageFloorService;
- @Autowired
- private ProductService productService;
- @Autowired
- private CmHeheProductService cmHeheProductService;
- @Autowired
- private RedisService redisService;
- @Resource
- private GenerateUtils generateUtils;
- @ModelAttribute
- public NewPageFloor get(@RequestParam(required = false) String id) {
- NewPageFloor entity = null;
- if (StringUtils.isNotBlank(id)) {
- entity = newPageFloorService.get(id);
- }
- if (entity == null) {
- entity = new NewPageFloor();
- }
- return entity;
- }
- @RequiresPermissions("newhome:newPageFloor:view")
- @RequestMapping(value = {"list", ""})
- public String list(NewPageFloor newPageFloor, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<NewPageFloor> page = newPageFloorService.findPage(new Page<NewPageFloor>(request, response), newPageFloor);
- model.addAttribute("page", page);
- return "modules/newhome/newPageFloorList";
- }
- @RequestMapping(value = {"lists"})
- public String lists(NewPageFloor newPageFloor, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<NewPageFloor> page = newPageFloorService.floorFindList(new Page<NewPageFloor>(request, response), newPageFloor);
- model.addAttribute("page", page);
- return "modules/newhome/newPageFloorLists";
- }
- @RequiresPermissions("newhome:newPageFloor:view")
- @RequestMapping(value = "form")
- public String form(NewPageFloor newPageFloor, Model model) {
- model.addAttribute("newPageFloor", newPageFloor);
- return "modules/newhome/newPageFloorForm";
- }
- @RequiresPermissions("newhome:newPageFloor:edit")
- @RequestMapping(value = "save")
- public String save(Integer floor,NewPageFloor newPageFloor, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, newPageFloor)) {
- return form(newPageFloor, model);
- }
- newPageFloorService.save(newPageFloor);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存楼层管理成功");
- if(floor!=null){
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/lists";
- }else {
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor";
- }
- }
- @RequiresPermissions("newhome:newPageFloor:delete")
- @RequestMapping(value = "delete")
- public String delete(Integer floor,NewPageFloor newPageFloor, RedirectAttributes redirectAttributes) {
- newPageFloorService.delete(newPageFloor);
- cleanRedisCache();
- addMessage(redirectAttributes, "删除楼层管理成功");
- if(floor!=null){
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/lists";
- }else {
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?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 {
- newPageFloorService.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 {
- newPageFloorService.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;
- }
- @RequestMapping(value = "goContentPage")
- public String goContentPage(NewPageFloorContent floorContent, Model model) {
- floorContent = newPageFloorService.findFloorContent(floorContent.getFloorId());
- model.addAttribute("floorContent", floorContent);
- return "modules/newhome/newPageFloorContentForm";
- }
- @RequestMapping(value = "ContentPage")
- public String ContentPage(NewPageFloor newPageFloor,Product product, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception{
- Page<Product> list =productService.newfindProductImage(new Page<Product>(request, response),product);
- Integer count= newPageFloorService.countrecommend();
- model.addAttribute("count",count);
- model.addAttribute("page", list);
- model.addAttribute("date", new Date());
- model.addAttribute("newPageFloor",newPageFloor);
- model.addAttribute("Product",product);
- return "modules/newhome/newFloorcontentForm";
- }
- /**
- * 批量更新排序值
- */
- @RequestMapping(value = "batchSaveSort")
- @ResponseBody
- public Map<String, Object> batchSaveSort(String sortList) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] newPageLists = sortList.split(",");
- for (String list : newPageLists) {
- String[] split = list.split("-");
- if (split.length == 1 || split.length < 1) {
- String id = split[0];
- String sort = null;
- newPageFloorService.saveSort(sort, id);
- } else {
- String id = split[0];
- String sort = split[1];
- if (isInteger(sort)) {
- if (StringUtils.equals("0", sort)) {
- map.put("success", false);
- map.put("msg", "排序值只能填写大于等于1的整数");
- return map;
- }
- newPageFloorService.saveSort(sort, id);
- } 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;
- }
- }
- @RequestMapping(value = "batchSavesortIndex")
- @ResponseBody
- public Map<String, Object> batchSavesortIndex(String sortList) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- String[] newPageLists = sortList.split(",");
- for (String list : newPageLists) {
- String[] split = list.split("-");
- if (split.length < 1) {
- String id = split[0];
- String sortIndex = null;
- newPageFloorService.savesortIndex(sortIndex, id);
- } else {
- String id = split[0];
- String sortIndex = split[1];
- if (isInteger(sortIndex)) {
- if (StringUtils.equals("0", sortIndex)) {
- map.put("success", false);
- map.put("msg", "排序值只能填写大于等于1的整数");
- return map;
- }
- newPageFloorService.savesortIndex(sortIndex, id);
- } 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;
- }
- }
- /**
- * 添加商品
- */
- @RequestMapping("/addProductImage")
- public String addProductImage(Product product, Model model, HttpServletRequest request, HttpServletResponse response) {
- product.setValidFlag("2");
- Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
- model.addAttribute("page", page);
- model.addAttribute("productCategory", product.getProductCategory());
- model.addAttribute("productIds", product.getProductIds());
- return "modules/newhome/addProductImage";
- }
- /**
- * 活动专题添加图片
- */
- @RequestMapping("/addActivityImage")
- public String addActivityImage(Product product, String type, Integer templateType, NewPageFloorImage newPageFloorImage, Model model, HttpServletRequest request, HttpServletResponse response) {
- if ("productImage".equals(type)) {
- product.setValidFlag("2");
- Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
- model.addAttribute("page", page);
- model.addAttribute("productCategory", product.getProductCategory());
- model.addAttribute("productIds", product.getProductIds());
- return "modules/newhome/addProductImage";
- } else {
- //图片建议尺寸
- String pcImageSize = "";
- String appletsImageSize = "";
- if (templateType != null) {
- if (templateType > 50) {
- //移动端模板序号处理
- templateType = templateType - 50;
- }
- if (templateType == 1) {
- pcImageSize = "184px*184px";
- appletsImageSize = "164px*164px";
- } else if (templateType == 2) {
- pcImageSize = "370px*260px";
- appletsImageSize = "224px*156px";
- } else if (templateType == 3) {
- pcImageSize = "168px*168px";
- appletsImageSize = "202px*202px";
- } else if (templateType == 4) {
- pcImageSize = "560px*290px";
- appletsImageSize = "702px*360px";
- } else if (templateType == 5 || templateType == 6) {
- pcImageSize = "370px*210px";
- if (templateType == 5) {
- appletsImageSize = "310px*220px";
- } else if (templateType == 6) {
- appletsImageSize = "339px*240px";
- }
- } else if (templateType == 7) {
- pcImageSize = "270px*210px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 8 || templateType == 9) {
- pcImageSize = "560px*350px";
- if (templateType == 8) {
- appletsImageSize = "702px*360px";
- } else {
- appletsImageSize = "339px*210px";
- }
- } else if (templateType == 10) {
- pcImageSize = "1140px*340px";
- appletsImageSize = "750px*342px";
- } else if (templateType == 22) {
- pcImageSize = "384px*260px";
- appletsImageSize = "339px*230px";
- } else if (templateType == 23) {
- pcImageSize = "284px*220px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 24) {
- pcImageSize = "588px*360px";
- appletsImageSize = "339px*210px";
- } else if (templateType == 25) {
- pcImageSize = "588px*360px";
- appletsImageSize = "702px*360px";
- } else if (templateType == 26) {
- pcImageSize = "384px*260px";
- appletsImageSize = "339px*230px";
- } else if (templateType == 27) {
- pcImageSize = "282px*220px";
- appletsImageSize = "310px*240px";
- } else if (templateType == 28) {
- pcImageSize = "588px*320px";
- appletsImageSize = "339px*210px";
- } else if (templateType == 29) {
- pcImageSize = "588px*360px";
- appletsImageSize = "702px*360px";
- }
- pcImageSize = "建议图片尺寸" + pcImageSize;
- appletsImageSize = "建议图片尺寸" + appletsImageSize;
- }
- model.addAttribute("pcImageSize", pcImageSize);
- model.addAttribute("appletsImageSize", appletsImageSize);
- model.addAttribute("type", type);
- model.addAttribute("floorImage", newPageFloorImage);
- return "modules/newhome/addActivityAdsImage";
- }
- }
- /**
- * 呵呵商城首页楼层添加图片
- */
- @RequestMapping("/addHeheImage")
- public String addHeheImage(Product product, Model model, HttpServletRequest request, HttpServletResponse response) {
- Page<Product> page = cmHeheProductService.findHeheFloorProduct(new Page<Product>(request, response), product);
- model.addAttribute("page", page);
- model.addAttribute("productCategory", product.getProductCategory());
- model.addAttribute("productIds", product.getProductIds());
- return "modules/hehe/addHeheProductImage";
- }
- /**
- * 添加其他图片
- */
- @RequestMapping("/addOtherImage")
- public String addOtherImage(NewPageFloorImage floorImage, Model model) {
- model.addAttribute("floorImage", floorImage);
- return "modules/newhome/addOtherImage";
- }
- /**
- * 楼层内容保存
- */
- @RequestMapping("/saveFloorContent")
- public String saveFloorContent(NewPageFloorContent floorContent, RedirectAttributes redirectAttributes) {
- newPageFloorService.saveFloorContent(floorContent);
- cleanRedisCache();
- addMessage(redirectAttributes, "保存成功");
- if (floorContent.getFloorId() != null) {
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
- } else if (StringUtils.isNotBlank(floorContent.getFormType())) {
- if (floorContent.getRedirectFlag() == 1) {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=" + floorContent.getFormType();
- } else {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/goContentPage?centreId=" + floorContent.getCentreId() + "&pageId=" + floorContent.getPageId() + "&type=" + floorContent.getFormType();
- }
- } else {
- return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=5";
- }
- }
- @RequestMapping("/showTemplate")
- public String showTemplate() {
- return "modules/newhome/showTemplate";
- }
- /**
- * 有数据变动时需要清除缓存
- */
- public void cleanRedisCache() {
- //清除活动专题缓存
- redisService.removePattern("getPageFloorData*");
- //清除活动专题缓存
- redisService.removePattern("activityData*");
- //清除产品仪器缓存
- redisService.removePattern("instrumentData*");
- redisService.removePattern("insCommodityData*");
- //首页缓存
- String homeData = "getHomeData*";
- redisService.removePattern(homeData);
- redisService.removePattern("getHomeCommodityData*");
- // 重新生成静态首页
- generateUtils.generateHome();
- }
- @RequestMapping(value = "updatshowFlag")
- public String updatshowFlag(Product product,String floorTitle,Integer floorType, Model model) {
- model.addAttribute("floorTitle",floorTitle);
- model.addAttribute("floorType",floorType);
- newPageFloorService.updatshowFlag(product);
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/ContentPage";
- }
- @RequestMapping(value = "updateshowTime")
- public String updateshowTime(Product product,String floorTitle,Integer floorType, Model model) {
- /**
- * 判断时间更改展示状态
- */
- newPageFloorService.updateshowTime(product);
- int num=0;
- int nums=0;
- if(product.getNewshowTime() !=null && product.getNewshowTime()!=""){
- num= product.getShowTime().compareTo(product.getNewshowTime());
- if(num>0){
- product.setShowFlag(1);
- }else {product.setShowFlag(2);}
- }else if (product.getAddTime()!=null && product.getAddTime()!=""){
- nums= product.getShowTime().compareTo(product.getAddTime());
- if ( nums>0){
- product.setShowFlag(1);
- }else {
- product.setShowFlag(2);
- }
- }
- newPageFloorService.updatshowFlag(product);
- model.addAttribute("floorTitle",floorTitle);
- model.addAttribute("floorType",floorType);
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/ContentPage";
- }
- @RequestMapping("/addrecommend")
- public String addrecommend(Product product,String floorTitle,Integer floorType, Model model) {
- model.addAttribute("floorTitle",floorTitle);
- model.addAttribute("floorType",floorType);
- newPageFloorService.updatrecommend(product);
- return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/ContentPage";
- }
- }
|