精选100个热门Java毕业设计项目|适配2026‑2027届选题参考

前言

📌博主简介:本人为在职全栈开发工程师,深耕毕设指导多年。熟练掌握 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请求错误");

需要完整项目源码的同学,

可以通过下方名片找到我。

感谢各位小伙伴的支持,

希望大家点赞➕收藏➕关注。

后续我会不断更新毕设选题以及配套源码

持续输出干货🙏🙏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值