springboot生活易购超市管理系统54086-计算机课程设计、毕业设计

前言

✨ **博主介绍:**一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮你把毕设做成作品集。👍👍

👇精彩专栏 推荐订阅👇

海量实战库,源码任你选! 坐拥Java项目2000+套

海量实战库,源码任你选! 坐拥Python项目1000+套

海量实战库,源码任你选! 坐拥小程序/app项目500+套

✅获取源码请私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

系统实现

收银员功能实现

用户登录模块

  用户在登录界面点击"登录"按钮后,需输入用户名、密码以及验证码以完成身份验证操作。系统在前端会自动对所输入信息进行有效性校验,同时检查该用户是否已通过后台审核流程。若审核通过且信息无误,则系统将允许用户成功登录并跳转至相应的功能界面;反之页面会弹出相应的提示信息,提醒用户重新输入或检查相关信息的正确性。登录界面如下图所示。

  

登录界面

收银员首页模块

  收银员首页模块作为系统的重要入口,主要承担着信息展示与功能引导的核心功能。该模块不仅提供了系统搜索功能和主要功能模块的导航菜单,实时展示今日销售总额、当前排队人数、热销商品Top榜及待处理异常订单,帮助收银员快速掌握收银员运营态势。用户可以快速了解系统的主要服务内容,并便捷地进入相应功能界面进行操作。界面如下图所示。

  

首页界面

商品信息管理模块

  商品信息管理,提供基于条形码或名称的毫秒级商品查询,支持快速录入新品基础参数(如价格、产地),确保前台扫码结算的准确性。界面如下图所示。

  

商品信息管理界面

购物订单管理模块

  购物订单管理,支持从购物车生成正式销售订单,完成支付闭环,同时可追溯查询历史订单详情以处理顾客退换货或发票补打需求。界面如下图所示。

  

购物订单管理界面

采购员功能实现

后台首页模块

  后台首页直观呈现库存预警列表(低库存/临期商品)、待审批采购单状态及供应商供货准时率,辅助采购员科学制定进货策略。界面如下图所示。

  

后台首页界面

供应商信息管理模块

  供应商信息管理,建立并维护供应商全生命周期档案,涵盖资质审核、联系方式、供货品类及历史合作评级,支持新增优质供应商入库。界面如下图所示。

  

供应商信息管理界面

管理员功能实现

系统用户管理模块

  系统管理,统一配置和维护管理员、收银员及采购员的账号生命周期,支持岗位调整、密码重置及离职账号冻结,确保人员架构清晰安全。界面如下图所示。

  

系统用户管理界面

普通用户信息管理模块

  普通用户信息管理,统筹管理普通消费者档案及其积分累计规则配置,保障用户权益计算的公平性,并分析散客转化为会员的趋势。界面如下图所示。

  

普通用户信息管理界面

权限管理模块

  权限管理,基于RBAC模型精细化分配各角色功能模块的操作权限与数据可见范围,构建严密的系统安全防线以防越权操作。界面如下图所示。

  

权限管理界面

数据库参考

sql 复制代码
CREATE TABLE `operation_log` (
  `operation_log_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '操作日志ID',
  `user_group` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户角色',
  `user_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户账号',
  `routes` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '模块名称',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`operation_log_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='操作日志表';
DROP TABLE IF EXISTS `hits`;
CREATE TABLE `hits` (
  `hits_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '点赞ID',
  `user_id` int(11) 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 '更新时间',
  `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',
  PRIMARY KEY (`hits_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户点击';
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `user_id` int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `state` smallint(1) unsigned NOT NULL DEFAULT '1' COMMENT '账户状态:(1可用|2异常|3已冻结|4已注销)',
  `user_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '所在用户组',
  `login_time` timestamp NULL DEFAULT NULL COMMENT '上次登录时间',
  `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码',
  `phone_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '手机认证:(0未认证|1审核中|2已认证)',
  `username` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名',
  `nickname` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '昵称',
  `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码',
  `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '邮箱',
  `email_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '邮箱认证:(0未认证|1审核中|2已认证)',
  `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '头像地址',
  `open_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '针对获取用户信息字段',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `vip_level` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '会员等级',
  `vip_discount` double(10,2) DEFAULT '0.00' COMMENT '会员折扣',
  `integral` int(11) DEFAULT '0' COMMENT '积分',
  `balance` double(10,2) DEFAULT '0.00' COMMENT '余额',
  `ip` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'IPv4/IPv6地址',
  `device_hash` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '设备指纹',
  `emergency_name` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '紧急联系人',
  `emergency_mobile` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '紧急联系电话',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户账户';

代码参考

java 复制代码
package com.project.demo.controller;

import com.project.demo.entity.CommodityInformation;
import com.project.demo.service.CommodityInformationService;
import com.alibaba.fastjson.JSON;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.StringUtils;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;


/**
 * 商品信息:(CommodityInformation)表控制层
 *
 */
@RestController
@RequestMapping("/commodity_information")
public class CommodityInformationController extends BaseController<CommodityInformation, CommodityInformationService> {

    /**
     * 商品信息对象
     */
    @Autowired
    public CommodityInformationController(CommodityInformationService service) {
        setService(service);
    }



    @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();
        });
        CommodityInformation commodity_information = new CommodityInformation();
            commodity_information.setCommodity_inventory(paramMap.get("commodity_inventory")==null?null:Double.valueOf(String.valueOf(paramMap.get("commodity_inventory"))));
                            commodity_information.setCommodity_number(paramMap.get("commodity_number")==null?null:String.valueOf(paramMap.get("commodity_number")));
                            commodity_information.setName_of_commodity(paramMap.get("name_of_commodity")==null?null:String.valueOf(paramMap.get("name_of_commodity")));
                            commodity_information.setCommodity_picture(paramMap.get("commodity_picture")==null?null:String.valueOf(paramMap.get("commodity_picture")));
                            commodity_information.setCommodity_type(paramMap.get("commodity_type")==null?null:String.valueOf(paramMap.get("commodity_type")));
                            commodity_information.setCommodity_price(paramMap.get("commodity_price")==null?null:String.valueOf(paramMap.get("commodity_price")));
                            commodity_information.setCommodity_purchase_price(paramMap.get("commodity_purchase_price")==null?null:String.valueOf(paramMap.get("commodity_purchase_price")));
                            commodity_information.setPurchasing_information_limit_times(paramMap.get("purchasing_information_limit_times")==null?null:String.valueOf(paramMap.get("purchasing_information_limit_times")));
            commodity_information.setCommodity_plan_limit_times(paramMap.get("commodity_plan_limit_times")==null?null:String.valueOf(paramMap.get("commodity_plan_limit_times")));
            commodity_information.setShopping_cart_limit_times(paramMap.get("shopping_cart_limit_times")==null?null:String.valueOf(paramMap.get("shopping_cart_limit_times")));
                                                                                commodity_information.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
        this.addEntity(commodity_information);
        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();
        });
        CommodityInformation commodity_information = new CommodityInformation();
            commodity_information.setCommodity_inventory(paramMap.get("commodity_inventory")==null?null:Double.valueOf(String.valueOf(paramMap.get("commodity_inventory"))));
                    commodity_information.setCommodity_number(paramMap.get("commodity_number")==null?null:String.valueOf(paramMap.get("commodity_number")));
                    commodity_information.setName_of_commodity(paramMap.get("name_of_commodity")==null?null:String.valueOf(paramMap.get("name_of_commodity")));
                    commodity_information.setCommodity_picture(paramMap.get("commodity_picture")==null?null:String.valueOf(paramMap.get("commodity_picture")));
                    commodity_information.setCommodity_type(paramMap.get("commodity_type")==null?null:String.valueOf(paramMap.get("commodity_type")));
                    commodity_information.setCommodity_price(paramMap.get("commodity_price")==null?null:String.valueOf(paramMap.get("commodity_price")));
                    commodity_information.setCommodity_purchase_price(paramMap.get("commodity_purchase_price")==null?null:String.valueOf(paramMap.get("commodity_purchase_price")));
                    commodity_information.setPurchasing_information_limit_times(paramMap.get("purchasing_information_limit_times")==null?null:String.valueOf(paramMap.get("purchasing_information_limit_times")));
            commodity_information.setCommodity_plan_limit_times(paramMap.get("commodity_plan_limit_times")==null?null:String.valueOf(paramMap.get("commodity_plan_limit_times")));
            commodity_information.setShopping_cart_limit_times(paramMap.get("shopping_cart_limit_times")==null?null:String.valueOf(paramMap.get("shopping_cart_limit_times")));
                                this.setEntity(queryMap,configMap,commodity_information);
        System.out.println("商品信息修改成功");
        return success(1);
    }


}
package com.project.demo.controller;

import com.project.demo.entity.PurchasingInformation;
import com.project.demo.service.PurchasingInformationService;
import com.alibaba.fastjson.JSON;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.StringUtils;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;


/**
 * 采购信息:(PurchasingInformation)表控制层
 *
 */
@RestController
@RequestMapping("/purchasing_information")
public class PurchasingInformationController extends BaseController<PurchasingInformation, PurchasingInformationService> {

    /**
     * 采购信息对象
     */
    @Autowired
    public PurchasingInformationController(PurchasingInformationService service) {
        setService(service);
    }



    @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();
        });
        PurchasingInformation purchasing_information = new PurchasingInformation();
            purchasing_information.setCommodity_number(paramMap.get("commodity_number")==null?null:String.valueOf(paramMap.get("commodity_number")));
                            purchasing_information.setName_of_commodity(paramMap.get("name_of_commodity")==null?null:String.valueOf(paramMap.get("name_of_commodity")));
                            purchasing_information.setCommodity_type(paramMap.get("commodity_type")==null?null:String.valueOf(paramMap.get("commodity_type")));
                            purchasing_information.setCommodity_inventory(paramMap.get("commodity_inventory")==null?null:String.valueOf(paramMap.get("commodity_inventory")));
                            purchasing_information.setPurchase_quantity(paramMap.get("purchase_quantity")==null?null:Double.valueOf(String.valueOf(paramMap.get("purchase_quantity"))));
                            purchasing_information.setPurchase_unit_price(paramMap.get("purchase_unit_price")==null?null:String.valueOf(paramMap.get("purchase_unit_price")));
                            purchasing_information.setSupplier_name(paramMap.get("supplier_name")==null?null:String.valueOf(paramMap.get("supplier_name")));
                            purchasing_information.setBuyer(paramMap.get("buyer")==null?null:Integer.valueOf(String.valueOf(paramMap.get("buyer"))));
                            purchasing_information.setTotal_amount_of_procurement(paramMap.get("total_amount_of_procurement")==null?null:Double.valueOf(String.valueOf(paramMap.get("total_amount_of_procurement"))));
                        purchasing_information.setExamine_state(paramMap.get("examine_state")==null?null:String.valueOf(paramMap.get("examine_state")));
            purchasing_information.setCommodity_warehousing_limit_times(paramMap.get("commodity_warehousing_limit_times")==null?null:String.valueOf(paramMap.get("commodity_warehousing_limit_times")));
                        purchasing_information.setExtra(paramMap.get("extra")==null?null:String.valueOf(paramMap.get("extra")));
        purchasing_information.setSource_table(paramMap.get("source_table")==null?null:String.valueOf(paramMap.get("source_table")));
        purchasing_information.setSource_id(paramMap.get("source_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_id"))));
        purchasing_information.setSource_user_id(paramMap.get("source_user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_user_id"))));
                                                                    purchasing_information.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
        this.addEntity(purchasing_information);
        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();
        });
        PurchasingInformation purchasing_information = new PurchasingInformation();
            purchasing_information.setCommodity_number(paramMap.get("commodity_number")==null?null:String.valueOf(paramMap.get("commodity_number")));
                    purchasing_information.setName_of_commodity(paramMap.get("name_of_commodity")==null?null:String.valueOf(paramMap.get("name_of_commodity")));
                    purchasing_information.setCommodity_type(paramMap.get("commodity_type")==null?null:String.valueOf(paramMap.get("commodity_type")));
                    purchasing_information.setCommodity_inventory(paramMap.get("commodity_inventory")==null?null:String.valueOf(paramMap.get("commodity_inventory")));
                    purchasing_information.setPurchase_quantity(paramMap.get("purchase_quantity")==null?null:Double.valueOf(String.valueOf(paramMap.get("purchase_quantity"))));
                    purchasing_information.setPurchase_unit_price(paramMap.get("purchase_unit_price")==null?null:String.valueOf(paramMap.get("purchase_unit_price")));
                    purchasing_information.setSupplier_name(paramMap.get("supplier_name")==null?null:String.valueOf(paramMap.get("supplier_name")));
                    purchasing_information.setBuyer(paramMap.get("buyer")==null?null:Integer.valueOf(String.valueOf(paramMap.get("buyer"))));
                    purchasing_information.setTotal_amount_of_procurement(paramMap.get("total_amount_of_procurement")==null?null:Double.valueOf(String.valueOf(paramMap.get("total_amount_of_procurement"))));
                purchasing_information.setExamine_state(paramMap.get("examine_state")==null?null:String.valueOf(paramMap.get("examine_state")));
            purchasing_information.setCommodity_warehousing_limit_times(paramMap.get("commodity_warehousing_limit_times")==null?null:String.valueOf(paramMap.get("commodity_warehousing_limit_times")));
                        purchasing_information.setSource_table(paramMap.get("source_table")==null?null:String.valueOf(paramMap.get("source_table")));
        purchasing_information.setSource_id(paramMap.get("source_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_id"))));
        purchasing_information.setSource_user_id(paramMap.get("source_user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_user_id"))));
                    this.setEntity(queryMap,configMap,purchasing_information);
        System.out.println("采购信息修改成功");
        return success(1);
    }


    /**
     * 修改审核状态
     *
     * @param id          要修改的记录ID
     * @param newState    新的审核状态
     * @return 提示信息:审核成功/失败
     */
    @Transactional
    @GetMapping("/update_examine_state")
    public String updateExamineState(Long id, String newState) throws IOException {
        // 检查传入的状态是否合法
        if (!newState.equals("未审核") && !newState.equals("已通过") && !newState.equals("未通过")) {
            return "非法的审核状态";
        }

        Map<String,String> queryMap = new HashMap<>();
        queryMap.put("id",String.valueOf(id));
        // 根据ID查找记录
        PurchasingInformation purchasing_information = service.findOne(queryMap);

        if (purchasing_information!=null) {
            // 更新审核状态
            purchasing_information.setExamine_state(newState);
            this.setEntity(queryMap,new HashMap<>(),purchasing_information);

            return "审核成功";
        } else {
            return "审核失败:记录不存在";
        }
    }
}
package com.project.demo.controller;

import com.project.demo.entity.SupplierInformation;
import com.project.demo.service.SupplierInformationService;
import com.alibaba.fastjson.JSON;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.StringUtils;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;


/**
 * 供应商信息:(SupplierInformation)表控制层
 *
 */
@RestController
@RequestMapping("/supplier_information")
public class SupplierInformationController extends BaseController<SupplierInformation, SupplierInformationService> {

    /**
     * 供应商信息对象
     */
    @Autowired
    public SupplierInformationController(SupplierInformationService service) {
        setService(service);
    }



    @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();
        });
        SupplierInformation supplier_information = new SupplierInformation();
            supplier_information.setSupplier_name(paramMap.get("supplier_name")==null?null:String.valueOf(paramMap.get("supplier_name")));
                            supplier_information.setDocking_personnel(paramMap.get("docking_personnel")==null?null:String.valueOf(paramMap.get("docking_personnel")));
                            supplier_information.setMerchant_mobile_phone(paramMap.get("merchant_mobile_phone")==null?null:String.valueOf(paramMap.get("merchant_mobile_phone")));
                            supplier_information.setSupplier_address(paramMap.get("supplier_address")==null?null:String.valueOf(paramMap.get("supplier_address")));
                            supplier_information.setType_of_supply(paramMap.get("type_of_supply")==null?null:String.valueOf(paramMap.get("type_of_supply")));
                            supplier_information.setAdd_user(paramMap.get("add_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("add_user"))));
                        supplier_information.setExamine_state(paramMap.get("examine_state")==null?null:String.valueOf(paramMap.get("examine_state")));
                                                                            supplier_information.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
        this.addEntity(supplier_information);
        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();
        });
        SupplierInformation supplier_information = new SupplierInformation();
            supplier_information.setSupplier_name(paramMap.get("supplier_name")==null?null:String.valueOf(paramMap.get("supplier_name")));
                    supplier_information.setDocking_personnel(paramMap.get("docking_personnel")==null?null:String.valueOf(paramMap.get("docking_personnel")));
                    supplier_information.setMerchant_mobile_phone(paramMap.get("merchant_mobile_phone")==null?null:String.valueOf(paramMap.get("merchant_mobile_phone")));
                    supplier_information.setSupplier_address(paramMap.get("supplier_address")==null?null:String.valueOf(paramMap.get("supplier_address")));
                    supplier_information.setType_of_supply(paramMap.get("type_of_supply")==null?null:String.valueOf(paramMap.get("type_of_supply")));
                    supplier_information.setAdd_user(paramMap.get("add_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("add_user"))));
                supplier_information.setExamine_state(paramMap.get("examine_state")==null?null:String.valueOf(paramMap.get("examine_state")));
                            this.setEntity(queryMap,configMap,supplier_information);
        System.out.println("供应商信息修改成功");
        return success(1);
    }


    /**
     * 修改审核状态
     *
     * @param id          要修改的记录ID
     * @param newState    新的审核状态
     * @return 提示信息:审核成功/失败
     */
    @Transactional
    @GetMapping("/update_examine_state")
    public String updateExamineState(Long id, String newState) throws IOException {
        // 检查传入的状态是否合法
        if (!newState.equals("未审核") && !newState.equals("已通过") && !newState.equals("未通过")) {
            return "非法的审核状态";
        }

        Map<String,String> queryMap = new HashMap<>();
        queryMap.put("id",String.valueOf(id));
        // 根据ID查找记录
        SupplierInformation supplier_information = service.findOne(queryMap);

        if (supplier_information!=null) {
            // 更新审核状态
            supplier_information.setExamine_state(newState);
            this.setEntity(queryMap,new HashMap<>(),supplier_information);

            return "审核成功";
        } else {
            return "审核失败:记录不存在";
        }
    }
}

前端: 基于Vue.js框架构建用户界面,使用HTML5、CSS3和JavaScript实现页面结构与交互逻辑,通过Vue Router管理路由,Vuex或Pinia维护全局状态。采用Element UI或Vant组件库快速搭建界面,Axios封装HTTP请求实现与后端的数据通信。

后端: 基于springboot框架搭建,遵循Controller-Service-Mapper三层架构。Controller层接收前端请求并校验参数,Service层处理核心业务逻辑,Mapper层通过MyBatis或MyBatis-Plus完成数据库操作。使用Spring Security或Shiro结合JWT实现用户认证与权限控制。

数据库: 采用MySQL存储持久化数据,Redis缓存热点信息以提升系统性能。

**开发工具:**使用IDEA开发后端,VSCode或HBuilderX开发前端,Git进行版本管理,Maven和npm分别管理前后端依赖。

源码获取

私信联系我即可~

大家点赞、收藏、关注、评论啦

👇精彩专栏 推荐订阅👇

海量实战库,源码任你选! 坐拥Java项目2000+套

海量实战库,源码任你选! 坐拥Python项目1000+套

海量实战库,源码任你选! 坐拥小程序/app项目500+套

✅获取源码请私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

相关推荐
lizhongxuan1 小时前
VirtIO:虚拟机的磁盘、网络与内存是怎样工作的
后端
数字融合1 小时前
透明化数字孪生智慧养老平台运维服务项目
人工智能·python·virtualenv
smj2302_796826521 小时前
解决leetcode第4064题至多一次取反能被k整除的最长子数组II
python·算法·leetcode
计算机毕设定制辅导-无忧学长1 小时前
《基于Spring Boot的减脂轻食购物网站》
java·vue.js·spring boot·后端·减脂轻食购物网站
沐欣工作室_lvyiyi1 小时前
基于SpringBoot的博物馆预约系统设计与实现(论文+源码)
java·spring boot·后端·计算机毕业设计
拾光记2 小时前
Maven依赖与类加载机制
后端
happylifetree2 小时前
Python01-08:练习
python
空奈qwq2 小时前
ANN 全连接神经网络入门指南:从神经元到深度学习的第一步
人工智能·python·深度学习·神经网络·算法·机器学习