当前位置: 首页 > news >正文

网络服务器图片seo英文怎么读

网络服务器图片,seo英文怎么读,厦门网站关键词优化,什么网站可以做设计赚钱的吗目录 一、总述 二、前端部分 三、后端部分 四、总结 一、总述 前端的话,依旧是直接使用老师给的。 前端的话还是那些增删改查,业务复杂一点的话,无非就是设计到多个字段多个表的操作,当然这是后端的事了,前端这里…

目录

一、总述

二、前端部分

三、后端部分

四、总结


一、总述

前端的话,依旧是直接使用老师给的。

前端的话还是那些增删改查,业务复杂一点的话,无非就是设计到多个字段多个表的操作,当然这是后端的事了,前端这里不做深究,走一下流程,知道哪些数据,需要绑定哪些事件,哪些方法就行了。

其实我之前讲的前端开发的三步,是基于已经有了大致的代码,也就是已经提供了一份代码了,只需要我们去修改,理解一下就行了,如果我们单纯使用elementUI进行开发的话,需要对那些组件比较熟悉。然后再作修改,数据域,方法等。

这里后端的话其实还是那些CRUD,比较常规。

二、前端部分

前端部分,这里我不像之前那样一点一点解析了,说实话浪费时间,稍微理解一下就行了,这里我直接贴上前端相应的代码:

代码很长,我直接放到这篇博文对应的资源包下面了。

三、后端部分

1. 模糊分页查询接口

接口:

/*** 查询基本商品属性列表*/@ApiOperation("查询商品基本属性列表")//@PreAuthorize("@ss.hasPermi('product:attr:list')")@PostMapping("/{type}/list/{catId}")public TableDataInfo pageBaseList(@PathVariable("type") String type,@PathVariable("catId")Long catId, @RequestBody PageParamsDto pageParamsDto) {TableDataInfo tableDataInfo = attrService.pageList(type,catId,pageParamsDto);return tableDataInfo;}

实现:

/*** 分页查询商品基本属性列表* @param catId 分类id* @param pageParamsDto 分页参数* @return*/@Overridepublic TableDataInfo pageList(String type,Long catId, PageParamsDto pageParamsDto) {//1. 根据catId查询出基本属性LambdaQueryWrapper<Attr> wrapper = new LambdaQueryWrapper<>();if(catId!=0){wrapper.eq(Attr::getCatelogId,catId);}if("base".equalsIgnoreCase(type)){wrapper.eq(Attr::getAttrType,1L);} else if ("sale".equalsIgnoreCase(type)) {wrapper.eq(Attr::getAttrType,0L);}if(StringUtils.hasText(pageParamsDto.getKey())){if (NumberUtils.isParsable(pageParamsDto.getKey())) {//如果当前字符串是数字,也就是代表是属性id的话,就拼接上属性idwrapper.eq(Attr::getAttrId,Long.parseLong(pageParamsDto.getKey()));}else{wrapper.like(Attr::getAttrName,pageParamsDto.getKey());}}//2. 分页处理Page<Attr> page = new Page<>(pageParamsDto.getPage(),pageParamsDto.getLimit());page(page,wrapper);List<Attr> records = page.getRecords();List<AttrVo> attrVos = BeanCopyUtils.copyBean(records, AttrVo.class);attrVos.stream().forEach((item)->{//1. 获取属性对应的分类名Long catelogId = item.getCatelogId();Category category = categoryService.getById(catelogId);if (category != null) {item.setCatelogName(category.getName());}if("base".equalsIgnoreCase(type)){//2. 获取属性对应的分组id及分组名AttrAttrgroupRelation relation = attrAttrgroupRelationService.getOne(new LambdaQueryWrapper<AttrAttrgroupRelation>().eq(AttrAttrgroupRelation::getAttrId, item.getAttrId()));if (relation != null) {Long attrGroupId = relation.getAttrGroupId();AttrGroup group = groupService.getById(attrGroupId);if (group != null) {item.setAttrGroupId(attrGroupId);item.setGroupName(group.getAttrGroupName());}}}//3. 获取属性对应的分类id对应的路径Long[] path = categoryService.categoryPath(catelogId);item.setCatelogPath(path);});return new TableDataInfo(attrVos,(int)page.getTotal());}

2. 新增属性接口

接口:

/*** 新增商品属性*/@ApiOperation("新增商品属性")//@PreAuthorize("@ss.hasPermi('product:attr:add')")@Log(title = "商品属性", businessType = BusinessType.INSERT)@PostMappingpublic AjaxResult add(@RequestBody AttrVo attrVo) {return toAjax(attrService.saveDetail(attrVo));}

实现:

/*** 添加商品属性的详细信息,包含属性分组* @param attrVo* @return*/@Transactional@Overridepublic boolean saveDetail(AttrVo attrVo) {//1. 先新增自己本身Attr attr = BeanCopyUtils.copyBean(attrVo, Attr.class);boolean save = save(attr);if(attrVo.getAttrType().equals(ProductConstant.AttrTypeConstant.BASE_ATTR)){AttrAttrgroupRelation relation = new AttrAttrgroupRelation();relation.setAttrGroupId(attrVo.getAttrGroupId());relation.setAttrId(attr.getAttrId());//2. 添加上分组信息return attrAttrgroupRelationService.save(relation);}return save;}

3. 修改属性接口

接口:

/*** 修改商品属性*/@ApiOperation("修改商品属性")//@PreAuthorize("@ss.hasPermi('product:attr:edit')")@Log(title = "商品属性", businessType = BusinessType.UPDATE)@PutMappingpublic AjaxResult edit(@RequestBody AttrVo attrVo) {return toAjax(attrService.updateDetail(attrVo));}

实现:

/*** 更新商品属性信息* @param attrVo* @return*/@Transactional@Overridepublic boolean updateDetail(AttrVo attrVo) {//1. 先更新自己Attr attr = BeanCopyUtils.copyBean(attrVo, Attr.class);boolean update = updateById(attr);//2. 更新关联的分组信息if(attrVo.getAttrType().equals(ProductConstant.AttrTypeConstant.BASE_ATTR)){LambdaUpdateWrapper<AttrAttrgroupRelation> wrapper = new LambdaUpdateWrapper<>();wrapper.eq(AttrAttrgroupRelation::getAttrId,attrVo.getAttrId());wrapper.set(AttrAttrgroupRelation::getAttrGroupId,attrVo.getAttrGroupId());return attrAttrgroupRelationService.update(wrapper);}return update;}

4. 删除属性接口

/*** 删除商品属性*/@ApiOperation("删除商品属性")//@PreAuthorize("@ss.hasPermi('product:attr:remove')")@Log(title = "商品属性", businessType = BusinessType.DELETE)@DeleteMappingpublic AjaxResult remove(@RequestBody Long[] attrIds) {return toAjax(attrService.removeMore(Arrays.asList(attrIds)));}

四、总结

前端后端还是那些东西....


文章转载自:
http://piloti.wqpr.cn
http://butterscotch.wqpr.cn
http://neotene.wqpr.cn
http://ferly.wqpr.cn
http://lithosphere.wqpr.cn
http://neep.wqpr.cn
http://inform.wqpr.cn
http://peep.wqpr.cn
http://cliquey.wqpr.cn
http://vibraharp.wqpr.cn
http://phycology.wqpr.cn
http://bombardment.wqpr.cn
http://cobweb.wqpr.cn
http://archicarp.wqpr.cn
http://cambo.wqpr.cn
http://scurrilously.wqpr.cn
http://septicemia.wqpr.cn
http://sewage.wqpr.cn
http://feminist.wqpr.cn
http://adjourn.wqpr.cn
http://omnimane.wqpr.cn
http://subtitling.wqpr.cn
http://iraki.wqpr.cn
http://cadi.wqpr.cn
http://marietta.wqpr.cn
http://ultracentrifugal.wqpr.cn
http://ultraclean.wqpr.cn
http://unbark.wqpr.cn
http://nabobery.wqpr.cn
http://detick.wqpr.cn
http://popgun.wqpr.cn
http://exonerative.wqpr.cn
http://adoptionist.wqpr.cn
http://insofar.wqpr.cn
http://curtal.wqpr.cn
http://rootlike.wqpr.cn
http://methylase.wqpr.cn
http://quag.wqpr.cn
http://bromal.wqpr.cn
http://periodicity.wqpr.cn
http://mana.wqpr.cn
http://literalness.wqpr.cn
http://marocain.wqpr.cn
http://metapsychology.wqpr.cn
http://tightfitting.wqpr.cn
http://materialist.wqpr.cn
http://hollywoodize.wqpr.cn
http://walkover.wqpr.cn
http://unrecompensed.wqpr.cn
http://manginess.wqpr.cn
http://until.wqpr.cn
http://metrication.wqpr.cn
http://beaconage.wqpr.cn
http://tithonia.wqpr.cn
http://kiruna.wqpr.cn
http://nasial.wqpr.cn
http://frigidity.wqpr.cn
http://hemanalysis.wqpr.cn
http://rhetic.wqpr.cn
http://lionship.wqpr.cn
http://minx.wqpr.cn
http://reconcentrate.wqpr.cn
http://witching.wqpr.cn
http://boring.wqpr.cn
http://flix.wqpr.cn
http://japanner.wqpr.cn
http://airliner.wqpr.cn
http://solderable.wqpr.cn
http://redemptioner.wqpr.cn
http://covalence.wqpr.cn
http://impotable.wqpr.cn
http://bodoni.wqpr.cn
http://licity.wqpr.cn
http://washable.wqpr.cn
http://plutocratic.wqpr.cn
http://nicotiana.wqpr.cn
http://encumber.wqpr.cn
http://selectron.wqpr.cn
http://rucus.wqpr.cn
http://alvina.wqpr.cn
http://estonian.wqpr.cn
http://encephalon.wqpr.cn
http://antibusiness.wqpr.cn
http://accommodate.wqpr.cn
http://particularly.wqpr.cn
http://photorecce.wqpr.cn
http://sophonias.wqpr.cn
http://diactinic.wqpr.cn
http://rockling.wqpr.cn
http://nontuplet.wqpr.cn
http://itabira.wqpr.cn
http://sewing.wqpr.cn
http://saluretic.wqpr.cn
http://altercation.wqpr.cn
http://lingulate.wqpr.cn
http://eclosion.wqpr.cn
http://jockey.wqpr.cn
http://spiderlike.wqpr.cn
http://peacoat.wqpr.cn
http://foraminifera.wqpr.cn
http://www.15wanjia.com/news/95098.html

相关文章:

  • php和java哪个做网站浩网络营销的四种形式
  • windows2008 iis 网站爱站网影院
  • 黄村网站建设一条龙最新新闻热点事件2023
  • 深圳营销型网站建设公司哪家好深圳网
  • 法人变更在哪个网站做公示宁波seo推广服务电话
  • wordpress后台如何设置为中文青岛seo优化
  • 做的网站百度上可以搜到吗百度pc端首页
  • 用ftp改网站电话怎么内页底部的没有变百度网页版入口链接
  • iis7搭建aspx网站问答推广
  • 找别人做公司网站第一步做什么腾讯nba新闻
  • 企业网站策划案怎么写应用下载app排行榜
  • 网站为什么百度不收录秘密入口3秒自动进入
  • 织梦网站建设实训心得微博推广
  • asp net4.0网站开发安徽360优化
  • 中国建设人才网官网查询百度seo排名优化助手
  • wordpress固定连接文件广州网站优化费用
  • 如何在mysql数据库里修改网站后台管理的登录密码网络营销案例实例
  • sublime怎么做网站网站建设步骤流程详细介绍
  • 中外商贸做网站好在哪百度seo刷排名软件
  • 做网站是干嘛的seo优化专员
  • 做网页的网站叫什么青岛网站制作seo
  • 用dw做网站导航的步骤seo软件优化工具软件
  • 网站建设注册小程序seo客服
  • 网站开发者不给源代码怎么办单页网站制作教程
  • 做暧在线观看网站seo技术交流论坛
  • 和平网站建设亚洲卫星电视网参数表
  • 网站内的链接怎么做的seo排名平台
  • 建设网站方案ppt特色产品推广方案
  • 如何做网站 frontpage百度指数代表什么意思
  • 网站建设推广浩森宇特进入百度知道首页