Easymall项目分布式拆分整合(六) 刺骨的言语ヽ痛彻心扉 2022-01-20 08:45 202阅读 0赞 # 前台系统和后台系统的功能整合 # -------------------- **目录** 前台系统和后台系统的功能整合 一.首页的分页查询 1.把前台、后台系统启动查看效果 二.单个商品根据id查询 1前台系统的controller和页面交互逻辑不变 2.ProductService按照定义的后台接口文件进行发送请求代码 3.测试结果 三.商品后台页面分页查询逻辑 3.1ProductController无需发生任何变动 3.2ProductService添加client访问后台商品数据 3.测试结果 四.商品的新增功能 4.1ProductController和页面交互逻辑不发生变动 4.2ProductService调用client访问后台 3.测试结果 五.商品数据的修改 5.1ProductController 5.2ProductService 3.测试结果 -------------------- # 一.首页的分页查询 # **前台已经完成了/后台也已经完成了** **同时启动前台和后台,首页当中的分页查询效果就出现了;** ## **1.把前台、后台系统启动查看效果** ## ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70][] **注意****:****多个系统的调用****,****测试绝对不能在启动多个系统后****,****从后端系统断点****,****会导致****http****请求超时****,****报错!!!** ![201906102022359.png][] # 二.单个商品根据id查询 # ## 1前台系统的controller和页面交互逻辑不变 ## //商品根据id查询对象数据 @RequestMapping(value="product/findProductById/{productId}" ,method={RequestMethod.GET,RequestMethod.POST}) public String queryById(@PathVariable String productId ,Model model){ //控制层无需处理数据调用,业务逻辑 Product product=productService.queryById(productId); //model携带数据 model.addAttribute("product", product); return "product_info"; } ## 2.ProductService按照定义的后台接口文件进行发送请求代码 ## public Product queryById(String productId) { //url地址根据接口文件完成 String url="http://product.easymall.com/product/queryById/"+ productId; try{ String productJson = client.doGet(url); return MapperUtils.MP.readValue(productJson, Product.class); }catch(Exception e){ e.printStackTrace(); return null; } } ## 3.测试结果 ## ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 1][] # 三.商品后台页面分页查询逻辑 # ## 3.1ProductController无需发生任何变动 ## @RequestMapping(value="product/query",method=RequestMethod.GET) @ResponseBody public EasyUIResult queryByPageMange(Integer page,Integer rows){ //调用业务层封装查询结果result,包含总条数,包含分页的pList EasyUIResult result= productService.queryByPageManage(page,rows); return result; } ## 3.2ProductService添加client访问后台商品数据 ## public EasyUIResult queryByPageManage(Integer page, Integer rows) { //url String url="http://product.easymall.com/product/manage/queryByPage?" + "page="+page+"&rows="+rows; try{ String easyUIResultJson = client.doGet(url); return MapperUtils.MP.readValue(easyUIResultJson , EasyUIResult.class); }catch(Exception e){ e.printStackTrace(); return null; } } ## 3.测试结果 ## ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 2][] # 四.商品的新增功能 # ## 4.1ProductController和页面交互逻辑不发生变动 ## //商品的新增功能 @RequestMapping(value="product/save",method=RequestMethod.POST) @ResponseBody public SysResult productSave(Product product){ //调用业务层新增数据 try{ productService.saveProduct(product); //返回status==200的sysresult return SysResult.build(200, null, null); }catch(Exception e){ //返回一个status==201 return SysResult.build(201, e.getMessage(), null); } } ## 4.2ProductService调用client访问后台 ## //商品的新增功能 public void saveProduct(Product product) { String url="http://product.easymall.com/product/saveProduct"; //client中doPost使用逻辑 /* <"productName":"haha"> <"productPrice":"300"> <"productCategory":"手机">*/ //将map结构放到请求体 productName=哈哈&productPrice=300&productCategory=手机 try{ //参数map,属性名称封装key值 Map<String, Object> param=new HashMap<String,Object>(); param.put("productName", product.getProductName()); param.put("productPrice", product.getProductPrice()); param.put("productCategory", product.getProductCategory()); param.put("productDescription", product.getProductDescription()); param.put("productNum", product.getProductNum()); param.put("productImgurl", product.getProductImgurl()); client.doPost(url, param); }catch(Exception e){ e.printStackTrace(); } } ## 3.测试结果 ## ## ![20190610204934364.png][] ## ![20190610205000567.png][] # 五.商品数据的修改 # ## 5.1ProductController ## //商品数据的修改 @RequestMapping(value="product/update",method=RequestMethod.POST) @ResponseBody public SysResult updateProductById(Product product){ try{ //业务层调用执行更新商品数据逻辑 productService.updateProductById(product); //执行成功返回status=200的sysResult对象 return SysResult.build(200, "ok", null); }catch(Exception e){ e.printStackTrace(); return SysResult.build(201, e.getMessage(), null); } } ## 5.2ProductService ## //商品数据的修改 public void updateProductById(Product product) { String url="http://product.easymall.com/product/updateProduct"; try{ //参数map,属性名称封装key值 Map<String, Object> param=new HashMap<String,Object>(); param.put("productName", product.getProductName()); param.put("productPrice", product.getProductPrice()); param.put("productCategory", product.getProductCategory()); param.put("productDescription", product.getProductDescription()); param.put("productNum", product.getProductNum()); param.put("productImgurl", product.getProductImgurl()); param.put("productId", product.getProductId()); client.doPost(url, param); }catch(Exception e){ e.printStackTrace(); } } ## 3.测试结果 ## ![20190610205042947.png][] ![20190610205059172.png][] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70]: /images/20220120/44cd6b2dd0e249b3a5144d866301a3f4.png [201906102022359.png]: /images/20220120/9637edfa252245caaae16ccd6df22de0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 1]: /images/20220120/33832571a80d47a9913471439e14dd45.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 2]: /images/20220120/fae7b33f22d749a9b5cd320ac608364f.png [20190610204934364.png]: /images/20220120/5ceac9e2ac0d4676afa3dd1d8c051b1a.png [20190610205000567.png]: /images/20220120/f154710e8ba34944a9330f61045e77ff.png [20190610205042947.png]: /images/20220120/f229a408f7ac42bf91d84052f3200100.png [20190610205059172.png]: /images/20220120/d7fdf17367a8456f88c1a25a08f3d9a1.png
相关 EasyMall第六天 8.14 数据库创建乱码:库或表编码没统一 ?useUnicode=true&characterEncoding=UTF-8 实现请求重定向: 待我称王封你为后i/ 2022年06月09日 09:17/ 0 赞/ 258 阅读
相关 Easymall项目分布式拆分整合(七) Easymall项目分布式拆分整合(七) -------------------- 目录 不念不忘少年蓝@/ 2022年05月01日 12:51/ 0 赞/ 268 阅读
相关 Easymall项目分布式拆分整合(四) Easymall项目分布式拆分整合(四) -------------------- 目录 桃扇骨/ 2022年04月27日 19:52/ 0 赞/ 351 阅读
相关 Easymall项目分布式拆分整合(二) Easymall项目分布式拆分整合(二) -------------------- 目录 r囧r小猫/ 2022年04月27日 16:54/ 0 赞/ 354 阅读
相关 Easymall项目分布式拆分整合(六) 前台系统和后台系统的功能整合 -------------------- 目录 刺骨的言语ヽ痛彻心扉/ 2022年01月20日 08:45/ 0 赞/ 203 阅读
相关 Easymall项目分布式拆分整合(五) Easymall项目分布式拆分整合(五) 目录 Easymall项目分布式拆分整合(五) 一.搭建后台 你的名字/ 2022年01月20日 02:33/ 0 赞/ 323 阅读
相关 Easymall项目分布式拆分整合(八) Easymall项目分布式拆分整合(八) -------------------- 目录 系统管理员/ 2022年01月15日 16:43/ 0 赞/ 269 阅读
相关 Easymall项目分布式拆分整合(九) Easymall项目分布式拆分整合(九) -------------------- 一.购物车系统搭建 古城微笑少年丶/ 2022年01月15日 03:35/ 0 赞/ 310 阅读
还没有评论,来说两句吧...