微服务商城-用户微服务
数据表
用户表
CREATE DATABASE user;
USE user;CREATE TABLE `user` (`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户ID',`username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',`password` varchar(50) NOT NULL DEFAULT '' COMMENT '用户密码,MD5加密',`phone` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号',`question` varchar(100) NOT NULL DEFAULT '' COMMENT '找回密码问题',`answer` varchar(100) NOT NULL DEFAULT '' COMMENT '找回密码答案',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),KEY `ix_update_time` (`update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
用户商品收藏表
CREATE TABLE `user_collection` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '收藏Id',`uid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',`product_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '商品id',`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据创建时间[禁止在代码中赋值]',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据更新时间[禁止在代码中赋值]',PRIMARY KEY (`id`),UNIQUE KEY `UN_collection_uid_product_id`(uid,product_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
用户收货地址表
CREATE TABLE `user_receive_address` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`uid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',`name` varchar(64) NOT NULL DEFAULT '' COMMENT '收货人名称',`phone` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号',`is_default` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否为默认地址',`post_code` varchar(100) NOT NULL DEFAULT '' COMMENT '邮政编码',`province` varchar(100) NOT NULL DEFAULT '' COMMENT '省份/直辖市',`city` varchar(100) NOT NULL DEFAULT '' COMMENT '城市',`region` varchar(100) NOT NULL DEFAULT '' COMMENT '区',`detail_address` varchar(128) NOT NULL DEFAULT '' COMMENT '详细地址(街道)',`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据创建时间[禁止在代码中赋值]',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据更新时间[禁止在代码中赋值]',PRIMARY KEY (`id`),KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户收货地址表';
grpc服务设计
登录
根据username查询用户表中的信息
将输入的password md5加密后与库中的数据进行比对
获取用户信息
收藏商品
利用uid 和 productId 向用户收藏表中插入数据
删除收藏
软删除 更新 isdelete
获取收藏列表
通过uid查询列表 分页 返回总条数
添加收货地址
删除收货地址
编辑收货地址
查询收货地址详情
通过表id
获取收货地址列表
相关文章:
微服务商城-用户微服务
数据表 用户表 CREATE DATABASE user; USE user;CREATE TABLE user (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 用户ID,username varchar(50) NOT NULL DEFAULT COMMENT 用户名,password varchar(50) NOT NULL DEFAULT COMMENT 用户密码,MD5加密…...
数学复习笔记 26
5.25:这题还是有点难度的。主要是出现了新的知识点,我现在还没有那么熟悉这个新的知识点。这块就是,假设一个矩阵可以写成一个列向量乘以一个行向量的形式,这两个向量都是非零向量,那么这个矩阵的秩等于一。这个的原理…...
创建型-设计模式
文章目录 单例模式工厂模式建造者模式原型模式 单例模式 单例模式有饿汉式 和 懒汉式。这个我觉得无需多言,每个学过Java的都知道。 1.单例的使用:我一般就是用饿汉式,因为App开发的开发一般数据处理并不复杂,所以直接使用饿汉式…...
移动AI神器GPT Mobile:多模型自由切换
GPT Mobile是什么 GPT Mobile是一款开源的本地移动部署AI工具,主要用于安卓设备。以下是其相关介绍: 功能特点 多模型交互:支持与多个大型语言模型(LLM)同时进行对话,用户导入相应的API密钥,就可连接OpenAI、Anthropic、Google、Ollama等平台,还能根据需求自由切换不同…...

【黄金评论】美元走强压制金价:基于NLP政策因子与ARIMA-GARCH的联动效应解析
一、基本面:多因子模型解析黄金承压逻辑 1. 政策冲击因子驱动美元强势 通过NLP模型对关税政策文本进行情感分析,构建政策不确定性指数(PUI)达89.3,触发美元避险需求溢价。DSGE模型模拟显示,钢铁关税上调至…...
ubutu修改网关
修改Netplan配置以指定静态网关 1. 编辑Netplan配置文件 打开Netplan配置文件(通常位于 /etc/netplan/01-netcfg.yaml 或类似路径): sudo nano /etc/netplan/01-netcfg.yaml 2. 修改配置文件 在DHCP配置基础上,添加静态网关和…...

Flink进阶之路:解锁大数据处理新境界
目录 一、Flink 基础回顾 二、Flink 进阶知识深入 2.1 数据类型与序列化 2.2 双流 Join 操作 2.3 复杂事件处理(CEP) 2.4 状态管理与优化 三、Flink 在实际场景中的应用 3.1 实时智能推荐 3.2 实时欺诈检测 3.3 实时数仓与 ETL 四、Flink 性能…...

【论文阅读】Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting
Paper:https://arxiv.org/abs/2505.14059 Source code: https://github.com/bytedance/Dolphin 作者机构:字节跳动 背景 业务场景 企业数据大多数都以文本、图片、扫描件、电子表格、在线文档、邮件等文档的形式存在,例如:PDF文…...

谷歌地图免费下载手机版
软件标签: 谷歌地图 谷歌卫星高清地图 下载链接:夸克网盘分享 手机地图 谷歌地图免费下载(google maps)是谷歌公司打造的手机高清电子地图。2024谷歌地图官方中文版能够直观的表达出世界各地的地点,在地图中能够清晰的了解到自身的定位,让…...

DeepSeek 赋能金融衍生品:定价与风险管理的智能革命
目录 一、引言1.1 金融衍生品市场发展现状1.2 DeepSeek 的技术特点和优势1.3 研究目的和意义 二、金融衍生品定价与风险管理基础2.1 金融衍生品定价常用方法2.2 金融风险管理主要策略 三、DeepSeek 在金融衍生品定价中的应用3.1 DeepSeek 助力定价模型构建3.2 案例分析…...
SpringBoot-15-多表查询之多对多查询可选中间表
文章目录 1 mysql数据库1.1 role角色表1.2 user用户表1.3 user_role中间表2 实体类2.1 Role.java2.2 User.java3 mapper3.1 RoleMapper.java3.2 UserMapper.java4 xml4.1 RoleMapper.xml4.2 UserMapper.xml5 UserController.java6 测试7 参考附录多对多查询,一个用户可以有多个…...

论文中pdf图片文件太大怎么办
文章目录 1.使用pdf文件的打印功能将文件导出2.操作3.前后文件大小对比 1.使用pdf文件的打印功能将文件导出 该方法在保证清晰度的同时,内存空间也能实现减少(如果使用线上的压缩pdf工具,清晰度会直线下降) 2.操作 点击文件—&…...

简单爬虫框架实现
1. 框架功能概述 (1) HttpSession 类:请求管理 功能:封装 requests 库,实现带重试机制的 HTTP 请求(GET/POST)。关键特性: 自动处理 429(请求过多)、5xx(服务器错误&am…...

MVCC理解
MySQL的MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种高效的并发控制机制,通过维护数据的多个版本实现读写操作的并行执行,显著提升数据库的并发性能和数据一致性。 MVCC 的实现依赖于:隐…...

705SJBH超市库存管理系统文献综述
前言 信息化的发展已经对我们的日常生活产生了积极的影响,无论是企业、商店、机关、甚至个人,每天都面对着大量的信息,而如果能有效地识别有用信息,并在对它们加工的基础上充分的利用信息,无疑会给我们的生活带来很巨…...

shell:基础
本文主要探讨shell相关知识。 变量 $? 上一次执行命令返回状态 $$ 当前进程进程号 $! 后台运行的最后一个进程的进程号 $# 位置参数的数量 $* 参数内容 $ 参数内容 $和$*解析"hello word"为"hello" "word" "$"解析"hello word&…...

【JVM】万字总结GC垃圾回收
【JVM】GC垃圾回收 概念 在程序运行过程中,会不断创建对象来使用内存,当这些对象不再被引用时,其所占用的内存若不及时释放,会导致内存占用不断增加,最终可能引发内存溢出。GC 机制能自动检测并回收这些不再使用的对…...

内网横向之RDP缓存利用
RDP(远程桌面协议)在连接过程中会缓存凭据,尤其是在启用了 "保存密码" 或 "凭据管理器" 功能时。这个缓存的凭据通常是用于自动填充和简化后续连接的过程。凭据一般包含了用户的用户名和密码信息,或者是经过加…...

【Linux网络】传输层TCP协议
🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343 🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12891150.html 目录 TCP 协议 TCP 协议段格式 确认应答(ACK)机制 超时重传机制 连接管理机制 …...

不同视角理解三维旋转
在二维空间中,绕任意点旋转可以分解为: 1)平移旋转点到原点,2)绕原点旋转,3)逆平移旋转点; 可用矩阵表示为 , 其中, 表示绕原点旋转 , 为平移矩…...

Adobe Acrobat——设置PDF打印页面的大小
1. 打开 PDF 文件; 2. 点击菜单栏的 “文件” → “打印”; 3. 在打印对话框中,点击 “属性”; 4. 点击 “布局”→ “高级”; 5. 点击 “纸张规格”,选择 “PostScript 自定义页面大小”,然后…...
Android apk装机编译类型: verify、speed-profile, speed与启动耗时
Android apk装机编译类型: verify、speed-profile, speed与启动耗时 Dex2oat (dalvik excutable file to optimized art file) ,对 dex 文件进行编译优化,Android 虚拟机可识别的是dex文件,应用运行过程如果每次都将dex文件加载内存ÿ…...
纹理压缩格式优化
🎯 Unity 项目纹理压缩格式优化终极指南 ——不同平台、不同手机型号,如何正确选择 🧩 什么是纹理压缩(Texture Compression)? Texture压缩 = 减小显存占用,提升加载速度,减轻GPU负担纹理是游戏中最大资源,占用50%+内存正确压缩:减少GPU Bandwidth,提高渲染性能错…...

使用Virtual Serial Port Driver+com2tcp(tcp2com)进行两台电脑的串口通讯
使用Virtual Serial Port Drivercom2tcp或tcp2com进行两台电脑的串口通讯 问题说明解决方案方案三具体操作流程网上教程软件安装拓扑图准备工作com2tcp和tcp2com操作使用串口助手进行验证 方案三存在的问题数据错误通讯延时 问题说明 最近想进行串口通讯的一个测试,…...
【从0-1的HTML】第3篇:html引入css的3种方式
文章目录 HTML中引入CSS的方式行内样式内部样式外部样式yinru.css文件 完整html文件 引入CSS方式的优先级 HTML中引入CSS的方式 HTML:是使用标签来描述网页元素 CSS:是Cascading Style Sheets,层叠样式表,用来控制样式来显示网页…...

数智破局·生态共生:重构全球制造新引擎 2025 WOD制造业数字化博览会即将在沪盛大启幕
共探数智化未来,共创新质生产力。2025年6月17日—19日,上海浦东新国际博览中心将迎来全球制造业数字化转型的盛会——WOD制造业数字化博览会。作为全球首个聚焦制造业数字化全场景的专业展会,本届展会以“数智破局生态共生:重构全…...
machine_env_loader must have been assigned before creating ssh child instance
在主机上执行roslaunch命令时,报错:machine_env_loader must have been assigned before creating ssh child instance。 解决办法: 打开hostos文件,检查local host 前的内部ip是否正常。操作示例: 先输入下方指令打…...

BGP/MPLS IP VPN跨域解决方案
目录 MPLS VPN跨域方案出现背景: MPLS VPN回顾 VRF(Virtual Route Forward)虚拟路由转发 MPLS(Multiple Protcol Label Swtich)多协议标签交换 MP-BGP多协议BGP MPLS VPN跨域OptionA 控制平面: 转发平面: 总结: 挑战: MPLS VPN跨域OptionB 非RR场景: 控制平面: 转发…...
C语言-10.字符串
10.1字符串 10.1-1字符串 字符数组 char word[] = {‘H’,‘e’,‘l’,‘l’,‘o’,‘!’}; word[0]Hword[1]eword[2]lword[3]lword[4]oword[5]!这不是C语言的字符串,因为不能用字符串的方式做计算 字符串 char word[] = {‘H’,‘e’,‘l’,‘l’,‘o’,‘!’}; word[0]Hwo…...

backend 服务尝试连接 qdrant 容器,但失败了,返回 502 Bad Gateway 问题排查
遇到的问题是: backend 报错:502 Bad Gateway 来自 Qdrant → 导致接口 /api/chat 返回 500 Internal Server Error并且日志中提示: QDRANT_URL http://qdrant:6333✅ 问题分析 这个错误的根本原因是: 你的 backend 服务尝试连…...