在Controller层需要两个方法,一个就是获取店铺信息

getShopById

 1   /**
 2     * 根据店铺信息获取店铺
 3     * @param request
 4     * @return
 5     */
 6    @RequestMapping(value="/getshopbyid", method=RequestMethod.GET)
 7    @ResponseBody
 8    private Map<String, Object> getShopById(HttpServletRequest request){
 9        Map<String, Object> modelMap = new HashMap<>();
10        Long shopId = HttpServletRequestUtil.getLong( request, "shopId" );
11        if(shopId > -1){//大于-1就证明前端传过来了
12            try{
13                Shop shop = shopService.getShopByShopId( shopId );
14                List<Area> areaList = areaService.getAreaList();//因为区域信息是可以更改的,所以需要获取
15                modelMap.put("shop", shop);
16                modelMap.put( "areaList", areaList );
17                modelMap.put( "success", true );
18            } catch(Exception e){
19                modelMap.put("success", false);
20                modelMap.put("errMsg", e.toString());
21            }
22
23        }else{
24            modelMap.put("success", false);
25            modelMap.put( "errMsg", "empty shopId" );
26        }
27        return modelMap;
28    }

更改店铺信息(和注册店铺相似)

  1.先看传递过来的验证码

  2.接受从前台传过来的shopStr的字符串

  3.将shopStr转成Shop实体对象

  4.前台传过来的文件流解析成CommonsMultipartFile里面去

  5.最后将Shop对象和文件流使用Service层方法添加

  

 1 @RequestMapping(value = "/modifyshop", method = RequestMethod.POST)
 2     @ResponseBody
 3     private Map<String, Object> modifyShop(HttpServletRequest request) {
 4         Map<String, Object> modelMap = new HashMap<String, Object>();
 5         if (!CodeUtil.checkVerifyCode(request)) {
 6             modelMap.put("success", false);
 7             modelMap.put("error", "输入了错误的验证码");
 8             return modelMap;
 9         }
10         // 1.接受并转化相应的参数,包括店铺信息以及图片信息
11         String shopStr = HttpServletRequestUtil.getString(request, "shopStr");
12         ObjectMapper mapper = new ObjectMapper();
13         Shop shop = null;
14         try {
15             shop = mapper.readValue(shopStr, Shop.class);
16         } catch (Exception e) {
17             modelMap.put("success", false);
18             modelMap.put("errMsg", e.getMessage());
19             return modelMap;
20         }
21         CommonsMultipartFile shopImg = null;
22         CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(
23                 request.getSession().getServletContext());
24         // 如果文件上传有值的话
25         if (commonsMultipartResolver.isMultipart(request)) {
26             MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
27             shopImg = (CommonsMultipartFile) multipartHttpServletRequest.getFile("shopImg");
28         }//图片可上传可不上传的 非空判断可以去掉
29         // 2.修改店铺信息
30         if (shop != null && shop.getShopId() != null) {//确保shopId不为空
31             ShopExecution se;
32             try {
33                 // 当文件为空时 直接传入空值
34                 if (shopImg == null) {
35                     se = shopService.modifyShop(shop, null, null);
36                 } else {
37                     se = shopService.modifyShop(shop, shopImg.getInputStream(), shopImg.getOriginalFilename());
38                 }
39                 // se = shopService.modifyShop(shop,
40                 // shopImg.getInputStream(),shopImg.getOriginalFilename()); 换成了上面这个if else 判断
41                 if (se.getState() == ShopStateEnum.SUCCESS.getState()) {//CHECK->SUCCESS
42                     modelMap.put("success", true);
43                 } else {
44                     modelMap.put("errMsg", se.getStateInfo());
45                 }
46             } catch (ShopOperationException e) {
47                 modelMap.put("success", false);
48                 modelMap.put("errMsg", e.getMessage());
49             } catch (IOException e) {
50                 modelMap.put("success", false);
51                 modelMap.put("errMsg", e.getMessage());
52             }
53
54             return modelMap;
55         } else {
56             modelMap.put("success", false);
57             modelMap.put("errMsg", "请输入店铺ID");
58             return modelMap;
59         }
60         // 3.返回结果
61     }

顺便在注册方法中Session

  通过Session获取登录后的user信息

            PersonInfo owner = (PersonInfo) request.getSession().getAttribute("user");shop.setOwner(owner);

  获取user信息后设置user可操作的店铺列表

1           @SuppressWarnings("unchecked")
2           List<Shop> shopList = (List<Shop>) request.getSession().getAttribute("shopList");
3           if (shopList == null || shopList.size() == 0) {
4           shopList = new ArrayList<Shop>();
5           }
6           shopList.add(se.getShop());
7           request.getSession().setAttribute("shopList", shopList);

转载于:https://www.cnblogs.com/windbag7/p/9385390.html

shop--7.店铺信息编辑--Controller层相关推荐

  1. 校园O2O商铺平台-店铺信息编辑模块

    店铺信息编辑之Dao开发 正在更新 店铺信息编辑之Service层的实现 正在更新 店铺信息编辑之Controller实现 正在更新 店铺信息编辑之前端实现 正在更新

  2. 实战SSM_O2O商铺_41【前端展示】店铺列表页面Dao+Service+Controller层的实现

    文章目录 概述 Dao层 接口 映射文件 单元测试 Service层 接口方法 单元测试 Controller层 增加 ShopListController 单元测试 Github地址 概述 在完成了 ...

  3. 店铺信息html,编辑店铺信息.html

     编辑店铺信息 $axure.utils.getTransparentGifPath = function() { return 'resources/images/transparent.gif' ...

  4. 实战SSM_O2O商铺_19【商铺编辑】Controller层开发

    文章目录 概述 ShopController ShopController#getShopInfoById方法 getShopInfoById 测试 ShopController#modifyShop ...

  5. 实战SSM_O2O商铺_34【商品】商品编辑之Controller层的实现

    文章目录 概述 ProductController 单元测试 Github地址 概述 在完成了 实战SSM_O2O商铺_33[商品]商品编辑之Service层的实现之后,我们继续来实现Controll ...

  6. controller层个人信息查询模块_风险控制平台架构+模块

    这是万物可述的第19篇原创文章 架构●● 后端架构:SSM(Spring.SpringMVC和Mybatis) 前端架构:easyui(http://www.jeasyui.net) MVC架构 MV ...

  7. 校园O2O商铺平台-店铺注册Service层和Controller层

    店铺注册之Service层的实现 正在更新 店铺注册功能之Controller层的实现 正在更新 店铺注册功能之Controller层的改造 正在更新

  8. 实战SSM_O2O商铺_36【商品】商品列表之Dao+Service+Controller层的实现

    文章目录 概述 Dao层 ProductDao.java ProductDao.xml 单元测试 Service层 ProductService.java ProductServiceImpl.jav ...

  9. 实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传

    文章目录 概述 Maven依赖 文件上传解析器bean的配置 页面 shopoperation.html增加上传组件 shopoperation.js Controller层 Github地址 概述 ...

最新文章

  1. Spring Boot 2.0选择HikariCP作为默认数据库连接池的五大理由
  2. 《ASCE1885的网络编程》---Winsock APIのIP地址转换函数
  3. 超级全的 SCI 写作句式模板
  4. 四十、Java中字节流和字符流介绍和区别
  5. linux卸载db2cli,DB2 for linux 安装
  6. jquery扩张函数
  7. Linux下汇编语言学习笔记47 ---
  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(90)-EF 扩展操作
  9. 常用的hooks入门
  10. c# 第8节 变量、变量名命令规则、作用域、@的作用
  11. 隔离 docker 容器中的用户-------分享链接
  12. C# winfrom gridview全部选择和全部取消
  13. 使用epublib自动生成epub文件
  14. 计算机pe教程,黑鲨装机大师PE界面使用教程
  15. python的线程池_python线程池 ThreadPoolExecutor 的用法示例
  16. xmp预设怎么导入pr_ACR预设(XMP文件)安装教程(通用篇)
  17. 108.【RabbitsMQ】
  18. 【年终盘点之二】2020 区块链创新项目里程碑事件
  19. 直升飞机领衔、三百辆婚车开道,三十台巨型吊车,小伟婚礼超豪华
  20. 有没有ai修复照片软件推荐?进来告诉你什么软件可以让照片变清晰

热门文章

  1. Texlive中jpg和pdf转成eps
  2. python基础教程博客_Python基础教程_Python入门知识
  3. matlab几何计算程序集
  4. ahp层次分析法软件_层次分析法在历史街区研究中的应用简析
  5. 汇编语言8086CPU之寄存器总结
  6. edu汇编语言——实训课程
  7. 字符串匹配——RabinKarp算法
  8. linux pae内核安装,Linux 安装PAE内核
  9. php正则去掉width=,关于php使用正则去除宽高样式的方法
  10. python交互式绘图比较_python – 基于Tkinter和matplotlib的交互式绘图