前言
📌博主简介:本人为在职全栈开发工程师,深耕毕设指导多年。熟练掌握 Java、Python、C#、PHP、Node.js 以及 Uni‑App 跨平台开发,精通多语言项目落地搭建与整体架构设计。日常持续分享毕设源码资源、开题写作思路、技术选型方案以及职场避坑心得。秉持工程化编码思维,助力大家把毕业设计打磨成高质量求职作品集。
现如今毕业设计选题环节愈发关键,可不少同学在此阶段倍感迷茫(建议大家收藏本文备用)。
很多同学拿不定选题方向,抓不住导师看重的核心要点,白白耗费大量时间。 其实选题阶段不必强求一步敲定完美题目,首要任务是认清自身技术上限、找到感兴趣的开发方向,同时贴合导师评审偏好。大部分同学选题失败,根源是没有综合考量研究方向、实现条件、数据来源和论文撰写要求。(选题避坑)
选题一旦规划失误,后续开题调研、系统开发、论文撰写都会处处受阻。因此正式定题之前,建议大家多查阅资料,主动和导师沟通,挑选兼具研究意义,配套案例与数据支撑的项目。遇到困惑可以随时提问,我免费为大家解答疑惑。(选题咨询)
大家可以借鉴成熟的毕设题目拓宽思路,避开弯路,记得本篇文章多多收藏!❤️❤️

文章最下面,获取源码和数据库
Java选题参考
- 基于ssm的房产销售系统设计与实现
- 基于ssm的校园电子地图及导航系统
- 基于web的猎头公司业务管理系统
- 计算机等级考试学习平台
- 基于ssm的高校实验室安全与预约管理系统
- 基于web的学生成绩管理系统
- 服装个性化推荐系统
- 基于web的互动式学习平台
- 基于ssm的摄影服务线上选购预约系统
- 学院教材管理系统
- 校车预约系统
- 基于web的在线购物商城系统设计与实现
- 智能健身管理系统
- 预算控制企业团建活动系统
- 新疆景点个性化推荐管理系统
- 面向高校的科研项目全过程管理系统
- 校园招聘信息整合与精准推送系统
- 基于ssm的校园快递代取系统设计与实现
- 基于springboot的校园二手交易平台设计与实现
- 基于web的潮玩盲盒商城
- 社区物业管理系统
- 基于springboot的张家界市矿产资源源管理系统
- 基于springboot的设计师服饰定制与预售系统
- 装修案例与灵感分享社区
- 智慧乡村党建学习与党员管理平台
- 基于springboot的餐厅管理系统
- 基于springboot的健康管理系统
- 基于springboot的校园食堂餐品点评与推荐平台
- 英语在线教育平台
- 个人碳足迹可视化与智能减碳建议系统
- 线上健身课程个性化定制与指导系统
- 基于springboot的停车场车位停车管理系统
- 基于springboot的塑身饮食规划系统
- 驾考通驾校管理系统
- 基于springboot的非遗数字平台
- 基于springboot的活动布景定制系统
- 萌宠服务推荐系统的设计与实现
- 寻亲系统
- 临安宝龙商城地下停车场管理系统
- 基于springboot的智慧养殖系统
- 基于springboot的学校新闻网站
- 高校党建志愿活动管理系统
- 中医养生信息交流服务平台
- 基于springboot的盲人辅助用品售卖系统
- 基于springboot的手工艺品销售平台
- 基于springboot的社区医院门诊管理系统
- 智能宿舍报修与处理平台
- 校园社团活动管理系统
- 员工培训资源管理系统
- 大学新生入学信息管理系统
- 基于springboot的体育馆运营管理平台
- 基于springboot的宠物领养与宠物服务O2O平台
- 基于springboot的高校毕业生就业管理系统
- 大学生竞赛活动管理系统
- 高校自习室管理系统
- 爱心公益网上交易系统
- 宠物领养系统
- 基于springboot的校园信息管理系统
- 基于springboot的电子产品购物平台
- 基于springboot的大学生体质健康管理系统
- 基于springboot的高校选课管理系统
- 高校体育赛事管理系统
- 学校精品课评审系统
- 历史学考研知识学习与检测系统
- 基于springboot的校园智能考勤系统
- 智慧就业服务平台系统
- 基于springboot的数字城市信息管理
- 远程医疗咨询系统
- 基于springboot的高校实验室/教室智能预约系统
- 基于web的高校食堂点单管理系统设计与实现
- 基于springboot的社区生鲜配送平台
- 智慧就业服务平台系统
- 基于springboot的航空票务与旅客服务管理系统设计与实现
- 高校智能自习室预约系统
- 基于web的扶贫惠农推介系统
- 停车场会员管理系统
- 基于web的校园闲置物品租赁系统
- 志愿服务系统
- 毕业论文选题管理系统
- 基于web的高校信息化教学资源共享平台设计与实现
- 考研信息共享网站
- 宠物医院管理系统
- 超市货品销售管理分析系统
- 基于springboot的宠物用品销售系统
- 基于web的校园活动管理系统
- 基于web的智慧医药新零售网站
- 基于springboot的民宿管理系统
- 面向宠物医院的信息管理平台
- 基于springboot的电竞赛事管理系统
- 非遗手工艺品线上展销与文化科普系统
- 基于springboot的湄洲岛旅游平台
- 基于springboot的电信诈骗宣传系统
- 流浪动物救助和领养管理系统
- 基于ssm的医疗设备管理系统
- 基于ssm的助农平台
- 基于springboot的高校新生报到管理系统
- 智慧小区物业管理系统
- 基于springboot的数字图书馆系统
- 基于springboot的校园食堂菜品评价系统
数据库参考
CREATE TABLE `logistics_delivery` (
`logistics_delivery_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '物流配送ID',
`order_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订单号',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品名称',
`purchase_quantity` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '购买数量',
`total_transaction_amount` double(10,2) DEFAULT '0.00' COMMENT '交易总额',
`the_date_of_issuance` date DEFAULT NULL COMMENT '发货日期',
`delivery_number` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '配送订单',
`ordinary_users` int(11) DEFAULT '0' COMMENT '普通用户',
`shipping_address` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '收货地址',
`delivery_status` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '配送状态',
`signing_status` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '签收状态',
`recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
`contact_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人名字',
`merchant_id` int(11) DEFAULT NULL COMMENT '商家id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`courier_type` int(11) NOT NULL DEFAULT '1' COMMENT '配送方式(1:商家配送,2:其他配送)',
`courier_id` int(11) DEFAULT NULL COMMENT '配送员ID',
`courier_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '配送员名字',
`courier_detail` longtext COLLATE utf8mb4_general_ci COMMENT '配送详情',
PRIMARY KEY (`logistics_delivery_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='物流配送';
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods` (
`goods_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '产品ID',
`title` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '标题',
`img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '封面图:用于显示于产品列表页',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',
`price_ago` double(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '原价',
`price` double(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '卖价',
`sales` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '销量',
`inventory` int(11) NOT NULL DEFAULT '0' COMMENT '商品库存',
`type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品分类',
`hits` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击量',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '正文',
`img_1` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '主图1',
`img_2` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '主图2',
`img_3` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '主图3',
`img_4` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '主图4',
`img_5` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '主图5',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`customize_field` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '自定义字段',
`source_table` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源表',
`source_field` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源字段',
`source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID',
`user_id` int(11) unsigned DEFAULT '0' COMMENT '添加人',
`integral` int(11) DEFAULT '0' COMMENT '积分',
`list_status` smallint(1) DEFAULT '1' COMMENT '上架状态(0:下架;1上架)',
PRIMARY KEY (`goods_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='商品信息';
CREATE TABLE `cart` (
`cart_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '购物车ID',
`title` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '标题',
`img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '图片',
`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`state` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态:使用中,已失效',
`price` double(8,2) NOT NULL DEFAULT '0.00' COMMENT '单价',
`price_ago` double(8,2) NOT NULL DEFAULT '0.00' COMMENT '原价',
`price_count` double(10,2) NOT NULL DEFAULT '0.00' COMMENT '总价',
`num` int(8) unsigned NOT NULL DEFAULT '1' COMMENT '数量',
`goods_id` mediumint(8) unsigned NOT NULL COMMENT '商品id',
`type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '未分类' COMMENT '商品分类',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',
`norms` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '规格',
PRIMARY KEY (`cart_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='购物车';
CREATE TABLE `order` (
`order_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`order_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订单号',
`goods_id` mediumint(8) unsigned NOT NULL COMMENT '商品ID',
`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品标题',
`img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品图片',
`price` double(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '价格',
`price_ago` double(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '原价',
`num` int(8) NOT NULL DEFAULT '1' COMMENT '数量',
`price_count` double(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '总价',
`norms` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '规格',
`type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '未分类' COMMENT '商品分类',
`contact_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人姓名',
`contact_email` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人邮箱',
`contact_phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人手机',
`contact_address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '收件地址',
`postal_code` varchar(9) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮政编码',
`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '买家ID',
`merchant_id` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '商家ID',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',
`state` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '待付款' COMMENT '订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成',
`remark` text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '订单备注',
`delivery_state` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '未配送' COMMENT '发货状态:未配送,已配送',
`vip_discount` double(10,2) DEFAULT '0.00' COMMENT '折扣',
`integral` int(11) DEFAULT '0' COMMENT '积分',
`buy_type` tinyint(2) DEFAULT '1' COMMENT '1-全额购买,2-积分兑换,3-钱包购买',
`desc` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '其他原因' COMMENT '取消订单原因',
PRIMARY KEY (`order_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单';
代码参考
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
OrdinaryUser ordinary_user = new OrdinaryUser();
ordinary_user.setUser_name(paramMap.get("user_name")==null?null:String.valueOf(paramMap.get("user_name")));
ordinary_user.setUser_phone(paramMap.get("user_phone")==null?null:String.valueOf(paramMap.get("user_phone")));
ordinary_user.setUser_gender(paramMap.get("user_gender")==null?null:String.valueOf(paramMap.get("user_gender")));
ordinary_user.setUserId(paramMap.get("user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("user_id"))));
ordinary_user.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
this.addEntity(ordinary_user);
System.out.println("普通用户新增成功");
return success(1);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
Map<String,String> queryMap = service.readQuery(request);
Map<String,String> configMap = service.readConfig(request);
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
OrdinaryUser ordinary_user = new OrdinaryUser();
ordinary_user.setUser_name(paramMap.get("user_name")==null?null:String.valueOf(paramMap.get("user_name")));
ordinary_user.setUser_phone(paramMap.get("user_phone")==null?null:String.valueOf(paramMap.get("user_phone")));
ordinary_user.setUser_gender(paramMap.get("user_gender")==null?null:String.valueOf(paramMap.get("user_gender")));
ordinary_user.setUserId(paramMap.get("user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("user_id"))));
this.setEntity(queryMap,configMap,ordinary_user);
System.out.println("普通用户修改成功");
return success(1);
}
/**
* 根据 user_id 查询用户及其附加表信息
*
* @param userId 用户ID
* @return 包含用户信息和附加信息的对象
*/
@GetMapping("/get_user_by_id")
public Map<String,Object> getUserById(Long userId) {
Map<String,String> queryMap = new HashMap<>();
queryMap.put("user_id",String.valueOf(userId));
// 查询用户基本信息
Map<String,Object> registeredMap = this.getObjByMap(queryMap);
OrdinaryUser ordinary_user = JSON.parseObject(JSON.toJSONString(registeredMap),OrdinaryUser.class);
if (ordinary_user != null) {
// 查询用户附加信息
Map<String,Object> userMap = this.getObjByMap(queryMap);
User user = JSON.parseObject(JSON.toJSONString(userMap),User.class);
Map<String,Object> result = new HashMap<>();
result.put("user",user);
result.put("ordinary_user",ordinary_user);
return result;
} else {
throw new RuntimeException("普通用户不存在}");
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
ElectronicMall electronic_mall = new ElectronicMall();
electronic_mall.setBusiness_user(paramMap.get("business_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("business_user"))));
electronic_mall.setShop_name(paramMap.get("shop_name")==null?null:String.valueOf(paramMap.get("shop_name")));
electronic_mall.setBusiness_name(paramMap.get("business_name")==null?null:String.valueOf(paramMap.get("business_name")));
electronic_mall.setBusiness_phone(paramMap.get("business_phone")==null?null:String.valueOf(paramMap.get("business_phone")));
electronic_mall.setBusiness_address(paramMap.get("business_address")==null?null:String.valueOf(paramMap.get("business_address")));
electronic_mall.setCart_title(paramMap.get("cart_title")==null?null:String.valueOf(paramMap.get("cart_title")));
electronic_mall.setCart_img(paramMap.get("cart_img")==null?null:String.valueOf(paramMap.get("cart_img")));
electronic_mall.setCart_description(paramMap.get("cart_description")==null?null:String.valueOf(paramMap.get("cart_description")));
electronic_mall.setCart_price_ago(paramMap.get("cart_price_ago")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_price_ago"))));
electronic_mall.setCart_price(paramMap.get("cart_price")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_price"))));
electronic_mall.setCart_inventory(paramMap.get("cart_inventory")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_inventory"))));
electronic_mall.setCart_type(paramMap.get("cart_type")==null?null:String.valueOf(paramMap.get("cart_type")));
electronic_mall.setCart_content(paramMap.get("cart_content")==null?null:String.valueOf(paramMap.get("cart_content")));
electronic_mall.setCart_img_1(paramMap.get("cart_img_1")==null?null:String.valueOf(paramMap.get("cart_img_1")));
electronic_mall.setCart_img_2(paramMap.get("cart_img_2")==null?null:String.valueOf(paramMap.get("cart_img_2")));
electronic_mall.setCart_img_3(paramMap.get("cart_img_3")==null?null:String.valueOf(paramMap.get("cart_img_3")));
electronic_mall.setCart_img_4(paramMap.get("cart_img_4")==null?null:String.valueOf(paramMap.get("cart_img_4")));
electronic_mall.setCart_img_5(paramMap.get("cart_img_5")==null?null:String.valueOf(paramMap.get("cart_img_5")));
electronic_mall.setListStatus(paramMap.get("list_status")==null?null:Integer.valueOf(String.valueOf(paramMap.get("list_status"))));
electronic_mall.setSku(paramMap.get("sku")==null?null:String.valueOf(paramMap.get("sku")));
electronic_mall.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
this.addEntity(electronic_mall);
System.out.println("电子商城新增成功");
return success(1);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
Map<String,String> queryMap = service.readQuery(request);
Map<String,String> configMap = service.readConfig(request);
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
ElectronicMall electronic_mall = new ElectronicMall();
electronic_mall.setBusiness_user(paramMap.get("business_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("business_user"))));
electronic_mall.setShop_name(paramMap.get("shop_name")==null?null:String.valueOf(paramMap.get("shop_name")));
electronic_mall.setBusiness_name(paramMap.get("business_name")==null?null:String.valueOf(paramMap.get("business_name")));
electronic_mall.setBusiness_phone(paramMap.get("business_phone")==null?null:String.valueOf(paramMap.get("business_phone")));
electronic_mall.setBusiness_address(paramMap.get("business_address")==null?null:String.valueOf(paramMap.get("business_address")));
electronic_mall.setCart_title(paramMap.get("cart_title")==null?null:String.valueOf(paramMap.get("cart_title")));
electronic_mall.setCart_img(paramMap.get("cart_img")==null?null:String.valueOf(paramMap.get("cart_img")));
electronic_mall.setCart_description(paramMap.get("cart_description")==null?null:String.valueOf(paramMap.get("cart_description")));
electronic_mall.setCart_price_ago(paramMap.get("cart_price_ago")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_price_ago"))));
electronic_mall.setCart_price(paramMap.get("cart_price")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_price"))));
electronic_mall.setCart_inventory(paramMap.get("cart_inventory")==null?null:Double.valueOf(String.valueOf(paramMap.get("cart_inventory"))));
electronic_mall.setCart_type(paramMap.get("cart_type")==null?null:String.valueOf(paramMap.get("cart_type")));
electronic_mall.setCart_content(paramMap.get("cart_content")==null?null:String.valueOf(paramMap.get("cart_content")));
electronic_mall.setCart_img_1(paramMap.get("cart_img_1")==null?null:String.valueOf(paramMap.get("cart_img_1")));
electronic_mall.setCart_img_2(paramMap.get("cart_img_2")==null?null:String.valueOf(paramMap.get("cart_img_2")));
electronic_mall.setCart_img_3(paramMap.get("cart_img_3")==null?null:String.valueOf(paramMap.get("cart_img_3")));
electronic_mall.setCart_img_4(paramMap.get("cart_img_4")==null?null:String.valueOf(paramMap.get("cart_img_4")));
electronic_mall.setCart_img_5(paramMap.get("cart_img_5")==null?null:String.valueOf(paramMap.get("cart_img_5")));
electronic_mall.setListStatus(paramMap.get("list_status")==null?null:Integer.valueOf(String.valueOf(paramMap.get("list_status"))));
electronic_mall.setSku(paramMap.get("sku")==null?null:String.valueOf(paramMap.get("sku")));
this.setEntity(queryMap,configMap,electronic_mall);
System.out.println("电子商城修改成功");
return success(1);
* 发送验证码到邮箱API
*
* @param email
* @return
*/
@GetMapping("send_email")
public Map<String, Object> sendEmail(String email) {
//判断邮箱号是否为空
if (StringUtils.isEmpty(email)) {
return error(30000, "参数错误");
}
try {
//随机生成 6位数的验证码
int code = (int) (Math.floor(Math.random() * 900000) + 100000);
// 创建MimeMessage对象
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 使用MimeMessageHelper辅助类构建邮件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// 设置收件人、发件人、主题和内容
helper.setFrom("3216252476@qq.com"); // 替换为你的QQ邮箱地址
helper.setTo(email);
helper.setSubject("找回密码");
helper.setText("<h1>验证码为:"+code+"</h1>", true);
// 发送邮件
mailSender.send(mimeMessage);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE,10);
String token = service.encryption(code + "_" + cal.getTime());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Map<String, Object> map = new HashMap<>();
map.put("token",token);
map.put("code",code);
map.put("expire_time",format.format(cal.getTime()));
this.addMap(map);
Map<String, Object> result = new HashMap<>();
result.put("result",1);
result.put("token",token);
return result;
}catch (MessagingException e){
e.printStackTrace();
return error(30000, e.getMessage());
}
}
@GetMapping("verify_email_code")
public Map<String, Object> verifyEmailCode(String token,String code) {
if (StringUtils.isEmpty(token) || StringUtils.isEmpty(code)) {
return error(30000, "参数错误");
}else {
Map<String,String> queryMap = new HashMap<>();
queryMap.put("token",token);
Map<String,String> configMap = new HashMap<>();
configMap.put("like","false");
List resultList = service.selectBaseList(service.select(queryMap, configMap));
if (resultList.size() > 0) {
CodeToken obj = (CodeToken) resultList.get(0);
Date now = new Date();
if (obj.getExpire_time().after(now)){
if (code.equals(obj.getCode())){
return success(1);
}else {
return error(30000, "验证码错误");
}
}else {
return error(30000, "验证码已失效");
}
}else {
return error(30000, "token请求错误");
需要完整项目源码的同学,
可以通过下方名片找到我。
感谢各位小伙伴的支持,
希望大家点赞➕收藏➕关注。
后续我会不断更新毕设选题以及配套源码
持续输出干货🙏🙏

1110

被折叠的 条评论
为什么被折叠?



