zoukankan      html  css  js  c++  java
  • shop--6.店铺注册--店铺注册之Controller层(逻辑)

    1.接收并转化相应的参数,包括店铺信息和图片信息

    2.注册店铺

    3.返回结果

        @Controller
    @RequestMapping("/shopadmin")
    public class ShopManagementController{
    @Autowired
    private ShopService shopService;
    //
    注册店铺 @RequestMapping(value="/registershop", method= RequestMethod.POST ) @ResponseBody public Map<String, Object> registerShop(HttpServletRequest request){ Map<String, Object> modelMap = new HashMap<String,Object>(); //1.接收并转化相应的参数,包括店铺信息和图片信息 String shopStr = HttpServletRequestUtil.getString( request, "shopStr" ); ObjectMapper mapper = new ObjectMapper(); // create once, reuse Shop shop = null; try { shop = mapper.readValue(shopStr, Shop.class); } catch (IOException e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; }
    //-----------------------------------------------------------------------------
    //获取文件流 CommonsMultipartFile shopImg
    = null; //在本次会话的上下文获取上传的文件 CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //如果文件上传的有值 if(commonsMultipartResolver.isMultipart( request )){ MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request; shopImg = (CommonsMultipartFile)multipartHttpServletRequest.getFile("shopImg"); } else{ modelMap.put( "success", false ); modelMap.put("errMsg", "上传图片不能为空"); return modelMap; } //2.注册店铺 if(shop != null && shopImg != null){ PersonInfo user = (PersonInfo) request.getSession().getAttribute("user"); shop.setOwner( user ); ShopExecution shopExecution = shopService.addShop(shop, shopImg); if(shopExecution.getState() == ShopStateEnum.CHECK.getState()){ modelMap.put( "success", true ); }else{ modelMap.put( "success", false ); modelMap.put( "errMsg", shopExecution.getStateInfo()); } }else{ modelMap.put("success", false); modelMap.put("errMsg", "请输入店铺信息"); } //3.返回结果 return modelMap; }
    }

    解析request里面的一些参数

    HttpServletRequestUtil

     1 public class HttpServletRequestUtil {
     2     public static int getInt(HttpServletRequest request,String key) {
     3         try {
     4             return Integer.decode(request.getParameter(key));
     5         }catch (Exception e) {
     6             //如果转化失败
     7             return -1;
     8         }
     9     }
    10     public static long getLong(HttpServletRequest request,String key) {
    11         try {
    12             return Long.valueOf(request.getParameter(key));
    13         }catch (Exception e) {
    14             //如果转化失败
    15             return -1;
    16         }
    17     }
    18     public static Double getDouble(HttpServletRequest request,String key) {
    19         try {
    20             return Double.valueOf(request.getParameter(key));
    21         }catch (Exception e) {
    22             //如果转化失败
    23             return -1d;
    24         }
    25     }
    26     public static boolean getBoolean(HttpServletRequest request,String key) {
    27         try {
    28             return Boolean.valueOf(request.getParameter(key));
    29         }catch (Exception e) {
    30             //如果转化失败
    31             return false;
    32         }
    33     }
    34     
    35     public static String getString(HttpServletRequest request,String key) {
    36         try {
    37             String result = request.getParameter(key);
    38             if(result!=null) {
    39                 result = result.trim();
    40             }
    41             if("".equals(result)) {
    42                 result = null;
    43             }
    44             return result;
    45         }catch (Exception e) {
    46             return null;
    47         }
    48     }
    49 }

    改造后的Controller

     1 @RequestMapping(value = "/registershop", method = RequestMethod.POST)
     2     @ResponseBody
     3     private Map<String, Object> registerShop(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         } else {
    29             modelMap.put("success", false);
    30             modelMap.put("errMsg", "上传图片不能为空");
    31             return modelMap;
    32         }
    33         // 2.注册店铺
    34         if (shop != null && shopImg != null) {
    35 
    36             PersonInfo owner = (PersonInfo) request.getSession().getAttribute("user");
    37 
    38             shop.setOwner(owner);
    39             ShopExecution se;
    40             try {
    41                 se = shopService.addShop(shop, shopImg.getInputStream(), shopImg.getOriginalFilename());
    42                 if (se.getState() == ShopStateEnum.CHECK.getState()) {
    43                     modelMap.put("success", true);
    44                     // 需要在session中保存一个店铺列表 就是用户可操作的店铺
    45                     @SuppressWarnings("unchecked")
    46                     List<Shop> shopList = (List<Shop>) request.getSession().getAttribute("shopList");
    47                     if (shopList == null || shopList.size() == 0) {
    48                         shopList = new ArrayList<Shop>();
    49 
    50                     }
    51                     shopList.add(se.getShop());
    52                     request.getSession().setAttribute("shopList", shopList);
    53 
    54                 } else {
    55                     modelMap.put("errMsg", se.getStateInfo());
    56                 }
    57             } catch (ShopOperationException e) {
    58                 modelMap.put("success", false);
    59                 modelMap.put("errMsg", e.getMessage());
    60             } catch (IOException e) {
    61                 modelMap.put("success", false);
    62                 modelMap.put("errMsg", e.getMessage());
    63             }
    64 
    65             return modelMap;
    66         } else {
    67             modelMap.put("success", false);
    68             modelMap.put("errMsg", "请输入店铺信息");
    69             return modelMap;
    70         }
    71         // 3.返回结果
    72     }
    View Code
  • 相关阅读:
    gnats配置文件
    在Mac中安装python,配置python环境
    利用git bash和git gui向git远程仓库提交文件
    os模块
    django中的locale()函数
    django配置静态文件
    sso单点登录
    django get_object_or_404
    关于token
    Django的CSRF机制
  • 原文地址:https://www.cnblogs.com/windbag7/p/9346577.html
Copyright © 2011-2022 走看看