专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

基于Springboot实现用户配送地址保存与默认收货地址修

  1。用户地址簿功能1。1需求分析
  地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。
  同一个用户可以有多个地址信息,但是只能有一个默认地址。
  编辑
  编辑
  对于地址簿管理,我们需要实现以下几个功能:、
  新增地址地址列表查询设置默认地址编辑地址删除地址1。2数据模型
  用户的地址信息会存储在addressbook表,即地址簿表中。具体表结构如下:
  编辑
  这里面有一个字段isdefault,实际上我们在设置默认地址时,只需要更新这个字段就可以了。2功能代码1)。实体类AddressBookpackagecom。itheima。reggie。entity;importcom。baomidou。mybatisplus。annotation。FieldFill;importcom。baomidou。mybatisplus。annotation。TableField;importlombok。Data;importjava。io。Serializable;importjava。time。LocalDateTime;地址簿DatapublicclassAddressBookimplementsSerializable{privatestaticfinallongserialVersionUID1L;privateLongid;用户idprivateLonguserId;收货人privateStringconsignee;手机号privateStringphone;性别0女1男privateStringsex;省级区划编号privateStringprovinceCode;省级名称privateStringprovinceName;市级区划编号privateStringcityCode;市级名称privateStringcityName;区级区划编号privateStringdistrictCode;区级名称privateStringdistrictName;详细地址privateStringdetail;标签privateStringlabel;是否默认0否1是privateIntegerisDefault;创建时间TableField(fillFieldFill。INSERT)privateLocalDateTimecreateTime;更新时间TableField(fillFieldFill。INSERTUPDATE)privateLocalDateTimeupdateTime;创建人TableField(fillFieldFill。INSERT)privateLongcreateUser;修改人TableField(fillFieldFill。INSERTUPDATE)privateLongupdateUser;是否删除privateIntegerisDeleted;}复制代码2)。Mapper接口AddressBookMapperpackagecom。itheima。reggie。mapper;importcom。baomidou。mybatisplus。core。mapper。BaseMapper;importcom。itheima。reggie。entity。AddressBook;importorg。apache。ibatis。annotations。Mapper;importorg。apache。ibatis。annotations。Select;importjava。util。List;MapperpublicinterfaceAddressBookMapperextendsBaseMapper{}复制代码3)。业务层接口AddressBookServicepackagecom。itheima。reggie。service;importcom。baomidou。mybatisplus。extension。service。IService;importcom。itheima。reggie。entity。AddressBook;publicinterfaceAddressBookServiceextendsIService{}复制代码4)。业务层实现类AddressBookServiceImplpackagecom。itheima。reggie。service。impl;importcom。baomidou。mybatisplus。extension。service。impl。ServiceImpl;importcom。itheima。reggie。entity。AddressBook;importcom。itheima。reggie。mapper。AddressBookMapper;importcom。itheima。reggie。service。AddressBookService;importorg。springframework。stereotype。Service;ServicepublicclassAddressBookServiceImplextendsServiceImplimplementsAddressBookService{}复制代码5)。控制层AddressBookController1。逻辑:A。新增地址逻辑说明:
  需要记录当前是哪个用户的地址(关联当前登录用户)
  B。设置默认地址
  每个用户可以有很多地址,但是默认地址只能有一个;先将该用户所有地址的isdefault更新为0,然后将当前的设置的默认地址的isdefault设置为1
  C。根据ID查询地址
  D。查询默认地址
  根据当前登录用户ID以及isdefault进行查询,查询当前登录用户isdefault为1的地址信息
  E。查询指定用户的全部地址
  根据当前登录用户ID,查询所有的地址列表2代码:packagecom。itheima。reggie。controller;importcom。baomidou。mybatisplus。core。conditions。query。LambdaQueryWrapper;importcom。baomidou。mybatisplus。core。conditions。update。LambdaUpdateWrapper;importcom。baomidou。mybatisplus。extension。plugins。pagination。Page;importcom。itheima。reggie。common。BaseContext;importcom。itheima。reggie。common。R;importcom。itheima。reggie。entity。AddressBook;importcom。itheima。reggie。service。AddressBookService;importlombok。extern。slf4j。Slf4j;importorg。springframework。beans。factory。annotation。Autowired;importorg。springframework。util。CollectionUtils;importorg。springframework。web。bind。annotation。;importjava。util。List;地址簿管理Slf4jRestControllerRequestMapping(addressBook)publicclassAddressBookController{AutowiredprivateAddressBookServiceaddressBookService;新增PostMappingpublicRsave(RequestBodyAddressBookaddressBook){addressBook。setUserId(BaseContext。getCurrentId());log。info(addressBook:{},addressBook);addressBookService。save(addressBook);returnR。success(addressBook);}设置默认地址PutMapping(default)publicRsetDefault(RequestBodyAddressBookaddressBook){log。info(addressBook:{},addressBook);LambdaUpdateWrapperwrappernewLambdaUpdateWrapper();wrapper。eq(AddressBook::getUserId,BaseContext。getCurrentId());wrapper。set(AddressBook::getIsDefault,0);SQL:updateaddressbooksetisdefault0whereuserid?addressBookService。update(wrapper);addressBook。setIsDefault(1);SQL:updateaddressbooksetisdefault1whereid?addressBookService。updateById(addressBook);returnR。success(addressBook);}根据id查询地址GetMapping({id})publicRget(PathVariableLongid){AddressBookaddressBookaddressBookService。getById(id);if(addressBook!null){returnR。success(addressBook);}else{returnR。error(没有找到该对象);}}查询默认地址GetMapping(default)publicRgetDefault(){LambdaQueryWrapperqueryWrappernewLambdaQueryWrapper();queryWrapper。eq(AddressBook::getUserId,BaseContext。getCurrentId());queryWrapper。eq(AddressBook::getIsDefault,1);SQL:selectfromaddressbookwhereuserid?andisdefault1AddressBookaddressBookaddressBookService。getOne(queryWrapper);if(nulladdressBook){returnR。error(没有找到该对象);}else{returnR。success(addressBook);}}查询指定用户的全部地址GetMapping(list)publicRListlist(AddressBookaddressBook){addressBook。setUserId(BaseContext。getCurrentId());log。info(addressBook:{},addressBook);条件构造器LambdaQueryWrapperqueryWrappernewLambdaQueryWrapper();queryWrapper。eq(null!addressBook。getUserId(),AddressBook::getUserId,addressBook。getUserId());queryWrapper。orderByDesc(AddressBook::getUpdateTime);SQL:selectfromaddressbookwhereuserid?orderbyupdatetimedescreturnR。success(addressBookService。list(queryWrapper));}}复制代码3功能测试
  测试过程中,通过debug断点调试观察服务端程序的执行过程,在浏览器中使用调试工具查看页面和服务端的交互过程和请求响应数据。
  2)。列表查询
  当新增地址完成后,页面会再次发送一个请求,来查询该用户的所有地址列表,在界面进行展示。
  编辑3)。设置默认
  在地址列表页面中,勾选设为默认地址,此时会发送PUT请求,来设置默认地址。

南瓜丰收制成饼欢欢喜喜送乡邻0000视频加载中红网时刻新闻11月15日讯(记者康晓乔通讯员龙俊霓)眼下正是南瓜丰收的季节,在湖南省靖州县二凉亭村,村民和志愿者们将刚刚采摘的南瓜制成南瓜饼,送给村里的老人和儿童全球连线当德国技术遇上中国食材德国香肠专家打造海南本土品牌视频加载中来自德国的凯费斯克是一位建筑师,但如今他更被人熟知的身份却是香肠专家。2006年,凯和中国妻子在海口成立了一家建筑设计公司。由于经常出差,他们发现海南各大酒店的香肠基本都读书不惧岁月长蒋乐瑶日出为大地送来光明,日落又带走天光。人就在晨曦与黄昏的转换中生存成长,从孩童到暮年不知历经了多少晴雨交织。谁也无法阻挡光阴,谁也无法抵御时代的洪流。我曾问过自己羡慕哪种人?我写给妈妈明天就是妈妈去世的第三十天了,按照惯例,我们应该回老家去妈妈的坟头上烧五七纸祭拜,可是老家现在基本处于静默的状态,北京出京后返京又很困难,和家里长辈商量后暂时先不回去。只在此刻聊以做一粒铜豌豆炒破命运的锅做一粒铜豌豆炒破命运的锅回家真好。巴拉尼望着天空说。他像一只囚禁了很久的鸟,渴望天空的自由。终于回到维也纳了,街道还像老朋友一样熟悉,天空还像以前一样一如既往的的蓝,蓝得像令人心醉假如你死了,会发生哪些事?假如你死了在得到消息的那一刻,你身边所有至亲将会心如刀绞一样,趴在你身上痛不欲生,抱怨你的独自离开,仿佛有流不干的眼泪,感觉没你活不下去了。第二天,很多亲朋好友得知了你离世的消息,怎么去外求我说的那个圆,一直都在,它时时刻刻影响着这个世界。前面我说了怎么去内求,今天来分享一下,我们可以外求什么。内求之后生成了一个强大的你,其实很多人还是需要去外求的,因为外是你生活所处每个人都应该有敬畏之心每个人都应该有敬畏之心山西贾虎林什么是敬畏?敬畏是人类对待事物的态度。一个人有了敬畏之心,胸中就有了方向行为准则和规范,就能自觉约束自己,不做出格越轨之事。古人说凡善怕者,心身有所字母哥美国首发库汤詹杜巴约,打不过有我卢卡大帝的国际队近日,字母哥参加队友伊巴卡的美食节目HowHungryAreYou?,伊巴卡让字母哥从国际球员和美国球员中各选出一套最强的首发五虎,字母哥给出了答案美国队库里克莱詹姆斯杜兰特和阿德巴厘岛进入G20时间,主要谈些啥?这是疫情以来,全球多国领导人首次线下面对面交流。据新华社报道,二十国集团(G20)领导人第十七次峰会将于11月15日至16日在印度尼西亚巴厘岛举行。此次巴厘岛峰会以共同复苏强劲复苏3个67岁退休老人坦言人到晚年才明白,最亲的人并不是老伴导语晚年很多人过日子基本都是跟老伴相依为靠,可说晚年最亲的人不是老伴那又是谁呢?可很显然事实比较残酷,即使多年的夫妻成仇人,住一起却如同陌生人的也不在少数。3个67岁退休老人自述人
行走济南五龙潭公园,江南园林式公园,小巧精致,有泉水有灵性五龙潭位于山东省济南市天下第一泉景区五龙潭公园内,国家5A级旅游景区,是济南三大泉群的主要泉眼之一,素有夹岸桃花,恍若仙境之美誉。五龙潭公园南门。五龙潭历史悠久,可追溯至北魏以前,镇江美得让人吃醋,身处江南,却有北方城市的苍凉与壮丽陆路交通极不发达的古代,中国人远行基本靠船走水路。而自京杭大运河开通,便在长江黄金水道上形成一个极为重要十字路口,镇江就在长江与运河交汇的路口上。无论是南来北往的商人还是东成西就进板鞋过时了,今冬流行穿平头靴,配呢大衣奶奶棉衣都很美经济与时尚越发展,女性们对穿衣打扮的要求越高,她们不再满足于保暖舒适,在此基础上,还会追求不费劲的高级感,希望借助穿搭展现自身魅力。这一点体现在挑款上,特别是鞋履选择。像板鞋虽然简秋天已成故事,冬天成了风景今日大雪秋天已成故事,冬天成了风景大雪节气的到来天气更冷,降雪的可能性比小雪时更大了大雪时节古代将大雪分为三候一候鹖鴠(hdn)不鸣二候虎始交三候荔挺出。意思是说此时因天气寒冷,寒讲述九华山故事征文神奇美丽九华山有一个美丽神奇的地方,就在皖江南岸,山峰高耸入云,云海今人感叹,悬寺扣紧心扉,山崖显示力量,这可是心中的圣地?这就是人间的天堂。走进她的身边,心情更加舒畅。哦,她就是九华山,她就是爷爷奶奶的骄傲!黄喜灿晒照奶奶手捧世界杯全场最佳奖杯直播吧12月8日讯韩国国脚黄喜灿在社媒晒出一张照片,他身穿国家队队服坐在爷爷奶奶中间,奶奶手捧世界杯全场最佳奖杯(韩国21逆转葡萄牙)。据韩媒朝鲜日报报道,黄喜灿从小由爷爷奶奶抚养人到中年你有什么人生感悟?人到中年你有什么人生感悟年轻时觉得自己能做出一番轰轰烈烈的事业,能拯救世界,能成为大英雄。到了这个年纪,一事无成,只能和自己和解,接受自己终究不过一普通人的现实。人生的意义感需要重散文人到中年,在安静中体悟人生作者子墨十二月,冬日暖阳下,时光静美,情怀悠然,淡淡牵盼,在这静谧的时光里,喜欢依着心的脉络,依心而行,一盏茶香,深情盈满。暖暖的气息,柔情似水流淌,绵长了岁月,静美了时光,也模糊世界省份GDP10强加州居首!中美强势霸榜,粤苏鲁浙跻身前十富可敌国是我们经常用来形容某个区域的经济实力很强很富有,可以与一个国家相匹敌。尤其是对于某些经济大国的发达省份来说,单独拎出来,甚至能够吊打全球190多个国家和地区,跻身世界十大经又双叒叕降温了,杯垫暖菜板暖被机成年轻人过冬新三样近日,受入冬寒潮天气影响,全国大部分地区开启速冻模式,气温上演了满20立减15。怕冷的年轻人们不满足于秋衣秋裤暖水袋等传统御寒方式,更青睐于兼具安全性与使用便捷的暖杯垫暖菜板等新式2022年轻人买房报告30岁买房的梦想,六成90后没能实现年轻人还有必要买房吗?这个知乎浏览量超过2000万的问题困扰着一代又一代年轻人。对于坚定的买房族来说,房子承载了太多太多,它不仅仅是钢筋混凝土建成的庇护所,还可能是是一份心灵的寄托
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网