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

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值