基于java+mysql的swing+mysql药品管理系统(java+swing+gui+mysql)

基于java+mysql的swing+mysql药品管理系统(java+swing+gui+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于java的Swing+MySQL药品管理系统(java+swing+gui+mysql)

功能介绍:用户管理、药品库存管理、进销管理、营销管理、药品购入、药品售出、药市信息

				}
			}
			class A implements ActionListener{
				@Override
				public void actionPerformed(ActionEvent e) {
					JButton btton = (JButton) e.getSource();
					if (btton.equals(cancelBtn)) {
						AddMarketMessage.this.dispose();
					}else{
						doConfirm();
					}
				}
				
			}	
	}

public class AddEmployeeView extends JFrame {
	
	private EmployeeManagerView smv;

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			
		}
	}
	
//	public static void main(String[] args) {
//		new RegiestView();
//	}
	
	class A implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent e) {
			JButton btton = (JButton) e.getSource();
			if (btton.equals(cancelBtn)) {
				RegiestView.this.dispose();
			}else{
				doRegiest();
			}
					
		}
		
	}
}

public class AddMedicineView extends JFrame {
		

public class AddMedicineView extends JFrame {
		
		private Medicine smv;

		private JPanel centerJpanel = new JPanel(){
			public void paintComponent(Graphics g){
				super.paintComponent(g);
				ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
				int width=centerJpanel.getWidth();
				int heigh=centerJpanel.getHeight();
				g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
			}
		};

		private JLabel medicineIdJLabel = new JLabel("药品编号:");
		private JTextField medicineIdJTexFed = new JTextField();

		private JLabel medicinenameJLabel = new JLabel("药品名称:");
		private JTextField medicinenameJTexFed = new JTextField();;

		private JLabel medicinepriceJLabel = new JLabel("药品价格:");
		private JTextField medicinepriceJTexFed = new JTextField();;

		
		private JLabel medicineamountsJLabel = new JLabel("库存量:  ");
		private JTextField medicineamountsJTexFed = new JTextField();;

		private JLabel medicineproducerJLabel = new JLabel("生产商:  ");
		private JTextField medicinproducerJTexFed = new JTextField();;
        
		private JPanel southJpanel;
		private JButton cancelBtn;
		private JButton confirmBtn;
		
		public AddMedicineView(Medicine smv) {
			this.smv = smv;
			setTitle("药品添加界面");

			buildUi();

			setSize(300, 300);
			setLocationRelativeTo(null);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			setVisible(true);
		}
	private JPanel centerJpanel;
	private JTextField userName;
	private JPasswordField password;
	private JLabel label1;
	private JLabel label2;
	private JPanel southJpanel;
	private JButton loginBtn;
	private JButton regiestBtn;
	
	private JPanel bgPanel;
	public StartApplication() {
		setTitle("登录");
//		
		buildUi();
		
		setSize(380, 400);
		setLocationRelativeTo(null);
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
	

	
	/**
	 * 初使化界面
	 */
	@SuppressWarnings("serial")
	public void buildUi(){
		bgPanel = new JPanel(){
			public void paintComponent(Graphics g) {  
		        super.paintComponent(g);  
		        ImageIcon icon;  
			    Image img; 
				icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片 
				img = icon.getImage();
		       
		        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);  
		    } 
		};
		
		
		add(bgPanel);
		bgPanel.setLayout(new BorderLayout(20,20));
		

            sql += " and isAdmin = '" + isAdmin + "';";
            result = new SqlHelper().query(sql, new String[]{});
        }

        if (result != null) {
            while (result.next()) {
                Object rows[] = new Object[6];
                rows[0] = result.getString(1);
                rows[1] = result.getString(3);
                rows[2] = result.getString(4).equals("0") ? "女" : "男";
                rows[3] = result.getString(5);
                rows[4] = result.getString(6);
                rows[5] = result.getString(7).equals("0") ? "普通员工" : "管理员";
                employeeslist.add(rows);
            }

        }
        if (employeeslist.isEmpty()) {
            JOptionPane.showConfirmDialog(null, "没有查询到员工", "提示", JOptionPane.WARNING_MESSAGE);

        }
        return employeeslist;
    }

    public void getFilter() {
        String username = filterUsernameJTexfd.getText().trim();
        String isAdmin = isAdminJTexfd.getText().trim();
        dtm.setNumRows(0);
        try {
            datas = getFliterEmployeesByDb(username, isAdmin);
            for (int i = 0; i < datas.size(); i++) {
                dtm.addRow(datas.get(i));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    private void comfirmDelete() {
        int i = JOptionPane.showConfirmDialog(null, "您确认要删除吗?",
                "提示", JOptionPane.OK_CANCEL_OPTION);
        if (i == 0) {
            deleteEmployee();
        }
    }
		        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
		        } 
		};
		private JPanel southJpanel;
		private JButton cancelBtn;
		private JButton confirmBtn;
		
		public MarketOutRecords(MarketView arel) {
			this.arel = arel;
			setTitle("售货记录");

			buildUi();

			setSize(400, 270);
			setLocationRelativeTo(null);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			setVisible(true);
		}
		public void buildUi() {
			setLayout(new BorderLayout(20, 20));
			centerJpanel.setPreferredSize(new Dimension(400,170));
			centerJpanel.setLayout(new GridLayout(3, 2));
			
			
			centerJpanel.add(medicineIdJLabel);
			medicineIdJLabel.setFont(new Font("Dialog",1,15));
			centerJpanel.add(medicineIdJTexFed);
			centerJpanel.add(medicinenameJLabel);
			medicinenameJLabel.setFont(new Font("Dialog",1,15));
			centerJpanel.add(medicinenameJTexFed);
			centerJpanel.add(medicinelogindateJLabel);
			medicinelogindateJLabel.setFont(new Font("Dialog",1,15));
			centerJpanel.add(medicinelogindateJTexFed);
			add(centerJpanel,BorderLayout.CENTER);
			
			bottomAllJpane.setLayout(new BorderLayout());
			bottomAllJpane.setPreferredSize(new Dimension(400,100));
			
			bottomAllJpane.add(bottonPageJpanel, BorderLayout.CENTER);
			bottonPageJpanel.add(medicineoutpriceJLabel);
			medicineoutpriceJLabel.setFont(new Font("Dialog",1,15));
			bottonPageJpanel.add(medicineoutpriceJTexFed);
			bottonPageJpanel.add(medicineoutamountsJLabel);
			medicineoutamountsJLabel.setFont(new Font("Dialog",1,15));
			bottonPageJpanel.add(medicineoutamountsJTexFed);
			bottonPageJpanel.add(medicineincomesJLabel);
			medicineincomesJLabel.setFont(new Font("Dialog",1,15));
			bottonPageJpanel.add(medicineincomesJTexFed);
			
			southJpanel = new JPanel(){
				public void paintComponent(Graphics g) {  
			        super.paintComponent(g);  
			        ImageIcon icon;  

public class UpdateEmployeeView extends JFrame {
	
	private EmployeeManagerView smv;
	private String eId;

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("员工号:");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码:");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名:");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别:");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	private JLabel inDateJLabel = new JLabel("入职日期:");
	private JTextField inDateJTexFed = new JTextField();;

@SuppressWarnings("serial")
public class SystemMainView extends JFrame implements ActionListener{
JButton button,btnOk,select;
JScrollPane jsp;
JTextPane area=new JTextPane();
JTextField textfield;
JFileChooser fc=new JFileChooser();
File file=null;
ImageIcon imageIcon=new ImageIcon("E:\\图片册\\lan.jpg");
 public SystemMainView(){
 setTitle("药品管理系统");
 
 

  this.setSize( 900, 500);
  setResizable(false);
  setLocationRelativeTo(null);
  layoutUI();
  this.setVisible(true);
 }
 
 private void layoutUI(){

  //对象实例化
  JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP); 
  //容器
  Container container = this.getLayeredPane();
  //对象化面板
  JPanel combop = new JPanel(){
		public void paintComponent(Graphics g) {
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			g.drawImage(icon.getImage(), 0, 0, null);
		}
	};
  JPanel p1 = new EmployeeManagerView();
  JPanel p2 = new Medicine();
  JPanel p3 = new MarketView();
  JPanel p4 = new MarketMessage();
  JPanel p5 = new JPanel(){
        dtm.addColumn("年龄");
        dtm.addColumn("是否管理");
        try {
            dataSum = getDataCount();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }

        bottomAllJpane.setLayout(new BorderLayout());
        bottomAllJpane.setPreferredSize(new Dimension(900, 240));
        bottomAllJpane.add(bottonPageJpanel, BorderLayout.CENTER);

        firstButton = new JButton("首页");
        firstButton.setBackground(Color.green);
        lastButton = new JButton("尾页");
        lastButton.setBackground(Color.green);
        preButton = new JButton("上一页");
        preButton.setBackground(Color.green);
        nextButton = new JButton("下一页");
        nextButton.setBackground(Color.green);
        pageInfoLagel = new JLabel(" ");
        pageInfoLagel.setOpaque(true);
        pageInfoLagel.setFont(new Font("Dialog", 1, 18));

        bottonPageJpanel.add(firstButton);
        bottonPageJpanel.add(preButton);
        bottonPageJpanel.add(nextButton);
        bottonPageJpanel.add(lastButton);
        bottonPageJpanel.add(pageInfoLagel);
        firstButton.addActionListener(new PageClick());
        lastButton.addActionListener(new PageClick());
        preButton.addActionListener(new PageClick());
        nextButton.addActionListener(new PageClick());
        //refreshJTable();

        newButton = new JButton("新增用户");
        newButton.setBackground(Color.green);
        newButton.setFont(new Font("Dialog", 1, 15));
        updateButton = new JButton("修改用户");
        updateButton.setBackground(Color.green);
        updateButton.setFont(new Font("Dialog", 1, 15));
        deleteButton = new JButton("删除用户");
        deleteButton.setBackground(Color.green);
        deleteButton.setFont(new Font("Dialog", 1, 15));
        bottomJpanel.add(newButton);
        bottomJpanel.add(updateButton);
        bottomJpanel.add(deleteButton);
        bottomJpanel.setPreferredSize(new Dimension(900, 80));
        bottomAllJpane.add(bottomJpanel, BorderLayout.SOUTH);
	private JTextField inDateJTexFed = new JTextField();;
	
	private JLabel ageJLabel = new JLabel("年龄:");
	private JTextField ageJTexFed = new JTextField();;

	
	private JLabel isAdminJLabel = new JLabel("是否管理员:");
	
	private String isAdminvalue[] = { "普通员工", "管理员" };
	private JComboBox isAdminJcomBox = new JComboBox(isAdminvalue);

	
	private JPanel southJpanel;
	private JButton cancelBtn;
	private JButton updateBtn;
	
	public UpdateEmployeeView(String eid,EmployeeManagerView smv) {
		this.eId = eid;
		this.smv = smv;
		setTitle("修改员工界面");

		buildUi();
		try {
			initDate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		setSize(400, 300);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
	
	private void initDate() throws SQLException{
		
		// 查询sql语句
		String sql = "select * from EmployeeInfo where eid=?";
		// 查询数据
		ResultSet result = new SqlHelper().query(sql, new String[] {eId});
		if (result != null) {
			while (result.next()) {
				userIdJTexFed.setText(result.getString(1));
				passwordJTexFed.setText(result.getString(2));
				userNameJTexFed.setText(result.getString(3));
				sexJcomBox.setSelectedIndex(result.getInt(4));
				//idCardJTexFed.setText(result.getString(7));
				inDateJTexFed.setText(result.getString(5));
				ageJTexFed.setText(result.getString(6));
				//jobJTexFe/d.setText(result.getString(8));
				isAdminJcomBox.setSelectedIndex(result.getInt(7));
			}

		} else {
		
		
		add(bgPanel);
		bgPanel.setLayout(new BorderLayout(20,20));
		
		//实例化中间容器
		
		centerJpanel = new JPanel(){
			public void paintComponent(Graphics g) {  
		        super.paintComponent(g);  
		        ImageIcon icon;  
			    Image img; 
				icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片 
				img = icon.getImage();
		        //下面这行是为了背景图片可以跟随窗口自行调整大小,可以自己设置成固定大小  
		        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
		        } 
		};
		//实例化用户名密码控件
		label1=new JLabel("用户:");
		label1.setFont(new Font("Dialog",1,15));
		userName = new JTextField(24);
		label2=new JLabel("密码:");
		label2.setFont(new Font("Dialog",1,15));
		password = new JPasswordField(24);
		
		//添加用户名密码控件到 中间容器中
		centerJpanel.add(label1);
		centerJpanel.add(userName);
		centerJpanel.add(label2);
		centerJpanel.add(password);
		centerJpanel.setBackground(null);
		//实列化欢迎字,并添加到根容器的北边
		
		JLabel label3 = new JLabel("药品管理系统");
		label3.setHorizontalAlignment(JLabel.CENTER);
		label3.setFont(new Font("Dialog",1,20));
		label3.setForeground(Color.green);
		label3.setBackground(Color.white);
		bgPanel.add(label3,BorderLayout.NORTH);
		//添加中间容器到根容器的中间
		bgPanel.add(centerJpanel,BorderLayout.CENTER);
		
		
		southJpanel = new JPanel();
		southJpanel.setBackground(Color.white);
		regiestBtn = new JButton("注册");
		regiestBtn.setBackground(Color.lightGray);
		regiestBtn.setSize(100, 60);
		southJpanel.add(regiestBtn);
				dtm3.addColumn("药品货存id");
				dtm3.addColumn("药品名称");
				dtm3.addColumn("售出数量");
				dtm3.addColumn("登记日期");
				dtm3.addColumn("记录者");
				dtm3.addColumn("供货商");
	            
				refreshJTable();
				newButton = new JButton("添加记录",icon);
				newButton.setBackground(Color.lightGray);
				newButton.setBounds(30, 80, 100, 60);
				newButton.setHorizontalTextPosition(SwingConstants.CENTER);
				newButton.setFont(new Font("Dialog",1,15));
				deleteButton = new JButton("移除记录",icon);
				deleteButton.setBackground(Color.lightGray);
				deleteButton.setBounds(30, 170, 100, 60);
				deleteButton.setHorizontalTextPosition(SwingConstants.CENTER);
				deleteButton.setFont(new Font("Dialog",1,15));
				
				eastPanel.add(newButton);
				
				eastPanel.add(deleteButton);
				eastPanel.setLayout(null);
				eastPanel .setPreferredSize(new Dimension(150,500));
				add(eastPanel, BorderLayout.EAST);
				eastPanel.setBackground(Color.cyan);
				
			    westPanel.add(meLabel);
			    westPanel.setPreferredSize(new Dimension(50,500));
			    westPanel.setBackground(Color.cyan);
			    add(westPanel,BorderLayout.WEST);
				bottomJpanel.add(meLabel);
				bottomJpanel.setBackground(Color.cyan);
				bottomJpanel .setPreferredSize(new Dimension(900,50));
				add(bottomJpanel,BorderLayout.SOUTH);
				
				newButton.addActionListener(new ActionListener() {

					@Override
					public void actionPerformed(ActionEvent e) {
						@SuppressWarnings("unused")
						AddMarketMessage aea = new AddMarketMessage(MarketMessage.this);

					}
					
				});
				deleteButton.addActionListener(new ActionListener() {
					
  tab.setFont(new Font("Dialog",1,17));
  JLabel JL = new JLabel("药品管理系统");
  combop.add(JL);
  JL.setFont(new Font("Dialog",1,23));
  JL.setBackground(Color.green);
  container.setLayout(new BorderLayout());
  container.setBackground(Color.cyan);
  container.add(combop,BorderLayout.NORTH);
  container.add(tab,BorderLayout.CENTER);
  
 }

public void actionPerformed(ActionEvent e){
	if (e.getSource()==select){
		int intRetVal=fc.showOpenDialog(this);
		if(intRetVal==JFileChooser.APPROVE_OPTION){
		file=fc.getSelectedFile();	
		textfield.setText(file.getPath());
		}
	}
	if(e.getSource()==btnOk){
		JFrame f=new JFrame();
		f.setSize(500, 370);
		f.setLocationRelativeTo(null);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		area=new JTextPane();
		jsp=new JScrollPane(area);
		jsp.getViewport().setBackground(Color.green);
		area.setBackground(Color.cyan);
		area.setOpaque(false);
		//area.setLineWrap(true);
		//area.setWrapStyleWord(true);
		f.add(jsp);
		
		try{
			readFile(area);
		}catch(Exception ex){
			
		}
	}
}
private void readFile(JTextPane area)throws Exception{
	select.addActionListener(this);
	p5.add(btnOk=new JButton("确定"));
	btnOk.addActionListener(this);
 
 

  tab.add(p1,"        用户管理         ");
  tab.add(p2,"       药品库存管理    ");
  tab.add(p3,"        进销管理         ");
  tab.add(p4,"       营销信息         ");
//  tab.add(p5,"       问答园地         ");
  tab.setBackground(Color.green);
  tab.setFont(new Font("Dialog",1,17));
  JLabel JL = new JLabel("药品管理系统");
  combop.add(JL);
  JL.setFont(new Font("Dialog",1,23));
  JL.setBackground(Color.green);
  container.setLayout(new BorderLayout());
  container.setBackground(Color.cyan);
  container.add(combop,BorderLayout.NORTH);
  container.add(tab,BorderLayout.CENTER);
  
 }

public void actionPerformed(ActionEvent e){
	if (e.getSource()==select){
		int intRetVal=fc.showOpenDialog(this);
		if(intRetVal==JFileChooser.APPROVE_OPTION){
		file=fc.getSelectedFile();	
		textfield.setText(file.getPath());
		}
	}
	if(e.getSource()==btnOk){
		JFrame f=new JFrame();
		f.setSize(500, 370);
		f.setLocationRelativeTo(null);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		area=new JTextPane();
		jsp=new JScrollPane(area);
		jsp.getViewport().setBackground(Color.green);
		area.setBackground(Color.cyan);
	
	private EmployeeManagerView smv;
	private String eId;

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("员工号:");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码:");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名:");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别:");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	private JLabel inDateJLabel = new JLabel("入职日期:");
	private JTextField inDateJTexFed = new JTextField();;
	
	private JLabel ageJLabel = new JLabel("年龄:");
	private JTextField ageJTexFed = new JTextField();;

	
	private JLabel isAdminJLabel = new JLabel("是否管理员:");
	
	private String isAdminvalue[] = { "普通员工", "管理员" };
	private JComboBox isAdminJcomBox = new JComboBox(isAdminvalue);

	
	private JPanel southJpanel;
	private JButton cancelBtn;
	private JButton updateBtn;

public class AddEmployeeView extends JFrame {
	
	private EmployeeManagerView smv;

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("员工号:");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码:");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名:");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别:");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	
	private JLabel ageJLabel = new JLabel("年龄:");
	private JTextField ageJTexFed = new JTextField();;

	
	private JLabel isAdminJLabel = new JLabel("是否管理员");

public class AddMedicineView extends JFrame {
		
		private Medicine smv;

		private JPanel centerJpanel = new JPanel(){
			public void paintComponent(Graphics g){
				super.paintComponent(g);
				ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
				int width=centerJpanel.getWidth();
				int heigh=centerJpanel.getHeight();
				g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
			}
		};

		private JLabel medicineIdJLabel = new JLabel("药品编号:");
		private JTextField medicineIdJTexFed = new JTextField();

		private JLabel medicinenameJLabel = new JLabel("药品名称:");
		private JTextField medicinenameJTexFed = new JTextField();;

		private JLabel medicinepriceJLabel = new JLabel("药品价格:");
		private JTextField medicinepriceJTexFed = new JTextField();;

		
		private JLabel medicineamountsJLabel = new JLabel("库存量:  ");
		private JTextField medicineamountsJTexFed = new JTextField();;

		private JLabel medicineproducerJLabel = new JLabel("生产商:  ");
		private JTextField medicinproducerJTexFed = new JTextField();;
        
		private JPanel southJpanel;
		private JButton cancelBtn;
		private JButton confirmBtn;
		
		public AddMedicineView(Medicine smv) {
			this.smv = smv;
			setTitle("药品添加界面");

			buildUi();

请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值