基于javaweb的台球室计费管理系统(java+ssm+jsp+html+javascript+mysql)

基于javaweb的台球室计费管理系统(java+ssm+jsp+html+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220522210413

20220522210414

20220522210415

20220522210416

20220522210417

20220522210418

台球室计费管理系统(java+SSM+JSP+HTML+JavaScript+mysql)

项目介绍

主要功能包括: 登录,管理员首页,点击球台开台,增加会员,查看-删除会员,充值会员,酒水外卖,营业额查看,打烊设置等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录

用户管理控制层:

@Controller

@RequestMapping(“/user”)

public class UserController {

private static Logger logger = Logger.getLogger(OrderController.class);

ModelAndView mav = new ModelAndView();

@Autowired

UserService userService;

@RequestMapping(value = “/foreregister”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView register(HttpServletRequest request, HttpServletResponse response,User user) throws Exception{

GeneralController generalController = new GeneralController();

try{

userService.insert(user);

request.getSession().setAttribute(“user”,user);

}catch (Exception e){

logger.info(“用户名已存在”);

return generalController.home(request);

mav.setViewName(“registerSuccess”);

return mav;

后台管理员控制层:

@Controller

@RequestMapping(“/admin”)

public class AdminController {

@Autowired

private UserService userService;

@Autowired

private CategoryService categoryService;

@Autowired

private OrderItemService orderItemService;

@Autowired

private OrderService orderService;

@Autowired

private ProductService productService;

private static Logger logger = Logger.getLogger(AdminController.class);

private ModelAndView mav = new ModelAndView();

// windows系统参考路径 注:此处必须为项目路径

private static String imgPath = “C:\Users\70953\Gotrip\”;

// Mac系统参考路径

// private static String imgPath = “/Users/hanmeng/Desktop/java源码/SSM/012ssm民宿管理系统/源码/Gotrip/”;

private ModelAndView listProduct(Integer cid) {

List products = productService.listProducts(cid);

mav.addObject(“ps”,products);

mav.addObject(“c”,categoryService.getCategory(cid));

mav.setViewName(“/admin/listProduct”);

return mav;

//查询所有房间分类

@RequestMapping(value = “/admin_category_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView listCategory(){

List categories = categoryService.listAll();

mav.addObject(“thecs”, categories);

mav.setViewName(“admin/listCategory”);

return mav;

//打印页面

@RequestMapping(value = “/admin_print_category_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView printListCategory(){

List categories = categoryService.listAll();

mav.addObject(“thecs”, categories);

mav.setViewName(“admin/printListCategory”);

return mav;

//导出分类EXCEL文件

@RequestMapping(value = “/admin_export_category_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public void exportListCategory(HttpServletRequest request, HttpServletResponse response) throws Exception{

List categories = categoryService.listAll();

String []rowsName = new String[]{“id”,“name”};

List<Object[]> dataList = new ArrayList<Object[]>();

for(int i = 0;i < categories.size();i++){

Object[] objs = new Object[rowsName.length];

Category category = categories.get(i);

objs[0] = category.getId();

System.out.println(objs[0]);

objs[1] = category.getName();

System.out.println(objs[1]);

dataList.add(objs);

String fileName = “exportCategoriesExcel”;

//执行导出

ExportExcel.exportExcel(request,response,fileName, rowsName, dataList, “yyyy-MM-dd HH:mm:ss”);

//添加分类

//特别注意,由于本操作涉及图片保存,更换运行环境时需要重新配置路径

@RequestMapping(value = “/admin_category_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_category_add(@RequestParam(“name”) String name, @RequestParam(“filepath”) MultipartFile filepath) throws IOException {

Category category = new Category();

category.setName(name);

Integer cid = categoryService.insert(category);

// windows系统参考路径 注:此处必须为本地src及target下category的路径

String path1 = imgPath+“src\main\webapp\img\category\”+cid.toString()+“.jpg”;

String path2 = imgPath+“target\Gotrip-1.0-SNAPSHOT\img\category\”+cid.toString()+“.jpg”;

// Mac系统参考路径 注:此处必须为本地src及target下category的路径

// String path1 = imgPath+“src/main/webapp/img/category/”+cid.toString()+“.jpg”;

// String path2 = imgPath+“target/Gotrip-1.0-SNAPSHOT/img/category/”+cid.toString()+“.jpg”;

filepath.transferTo(new File(path1));

FileUtils.copyFile(new File(path1),new File(path2));

mav = listCategory();

return mav;

//查询所有订单

@RequestMapping(value = “/admin_order_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView listOrder(){

List orders = orderService.listAll();

for(Order order:orders){

order.setOrderItems(orderItemService.getOrderItem(order.getId()));

mav.addObject(“os”,orders);

mav.setViewName(“/admin/listOrder”);

return mav;

@RequestMapping(value = “/admin_print_order_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView printListOrder(){

mav = listOrder();

mav.setViewName(“/admin/printListOrder”);

return mav;

//导出订单列表

@RequestMapping(value = “/admin_export_order_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public void exportListOrder(HttpServletRequest request, HttpServletResponse response) throws Exception{

List orders = orderService.listAll();

String []rowsName = new String[]{“ID”, “状态”, “金额”, “房间数量”,“买家名称”,“支付时间”};

List<Object[]> dataList = new ArrayList<Object[]>();

for(int i = 0;i < orders.size();i++){

Object[] objs = new Object[rowsName.length];

Order order = orders.get(i);

objs[0] = order.getId();

objs[1] = order.getStatus();

objs[2] = order.getTotal();

objs[3] = order.getTotalNumber();

objs[4] = order.getUser().getName();

objs[5] = order.getPayDate();

dataList.add(objs);

String fileName = “exportOrderExcel”;

//执行导出

ExportExcel.exportExcel(request,response,fileName, rowsName, dataList, “yyyy-MM-dd HH:mm:ss”);

//查询所有属性

@RequestMapping(value = “/admin_property_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView listProperty(@RequestParam(value = “cid”) Integer cid,HttpServletRequest request){

request.getSession().setAttribute(“cid”,cid);

List properties = productService.listProproty(cid);

mav.addObject(“ps”,properties);

mav.addObject(“c”,categoryService.getCategory(cid));

mav.setViewName(“/admin/listProperty”);

return mav;

//编辑属性名称页面

@RequestMapping(value = “/admin_property_edit”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_property_edit(@RequestParam(value = “id”) Integer id){

Property property = productService.getProperty(id);

mav.addObject(“p”,property);

mav.setViewName(“/admin/editProperty”);

return mav;

//提交编辑的属性名称

@RequestMapping(value = “/admin_property_update”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_property_update(Property record){

productService.updateProperty(record);

List properties = productService.listProproty(record.getCid());

mav.addObject(“ps”,properties);

mav.setViewName(“/admin/listProperty”);

return mav;

//删除属性名称

@RequestMapping(value = “/admin_property_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_property_delete(Integer id,HttpServletRequest request){

try{

productService.deleteProperty(id);

}catch (Exception e){

e.printStackTrace();

List properties = productService.listProproty((Integer)request.getSession().getAttribute(“cid”));

mav.addObject(“ps”,properties);

mav.setViewName(“/admin/listProperty”);

return mav;

//房间管理

@RequestMapping(value = “/admin_product_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_list(Integer cid){

return listProduct(cid);

//添加房间

@RequestMapping(value = “/admin_product_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_add(Product product,HttpServletRequest request){

productService.insert(product);

List products = productService.listProducts(product.getCid());

mav.addObject(“ps”,products);

mav.addObject(“c”,categoryService.getCategory(product.getCid()));

mav.setViewName(“/admin/listProduct”);

return mav;

//删除房间

@RequestMapping(value = “/admin_product_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_delete(Integer id,Integer cid, HttpServletRequest request){

productService.delete(id);

return listProduct(cid);

//房间图片管理页面

@RequestMapping(value = “/admin_productImage_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_productImage_list(Integer pid, HttpServletRequest request){

Product product = productService.getProduct(pid);

product.setCategory(categoryService.getCategory(product.getCid()));

List productimages = productService.listProductImage(product.getId());

mav.addObject(“p”,product);

mav.addObject(“pisSingle”,productimages.stream().filter(e -> e.getType().equals(“type_single”)).collect(Collectors.toList()));

mav.addObject(“pisDetail”,productimages.stream().filter(e -> e.getType().equals(“type_detail”)).collect(Collectors.toList()));

mav.setViewName(“/admin/listProductImage”);

return mav;

//删除房间图片

@RequestMapping(value = “/admin_productImage_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_productImage_delete(Integer id,Integer pid, HttpServletRequest request, HttpServletResponse response) throws Exception {

try {

productService.deleteProductImage(id);

} catch (Exception e) {

e.getMessage();

return admin_productImage_list(pid,request);

//添加房间图片

@RequestMapping(value = “/admin_productImage_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_productImage_add(@RequestParam(“filepath”) MultipartFile filepath,@RequestParam(“type”) String type,@RequestParam(“pid”) int pid,HttpServletRequest request) throws IOException {

Productimage productimage = new Productimage();

productimage.setPid(pid);

productimage.setType(type);

Integer imageId = productService.insertImage(productimage);

// Mac系统参考路径 注:此处必须为本地src及target下category的路径

String path1 = “”;

String path2 = “”;

if (type.equals(“type_detail”)){

// windows系统参考路径 注:此处必须为本地src及target下productDetail的路径

path1 = imgPath+“src\main\webapp\img\productDetail\”+imageId.toString()+“.jpg”;

path2 = imgPath+“target\Gotrip-1.0-SNAPSHOT\img\productDetail\”+imageId.toString()+“.jpg”;

// Mac系统参考路径

// path1 = imgPath+“src/main/webapp/img/productDetail/”+imageId.toString()+“.jpg”;

// path2 = imgPath+“target/Gotrip-1.0-SNAPSHOT/img/productDetail/”+imageId.toString()+“.jpg”;

filepath.transferTo(new File(path1));

FileUtils.copyFile(new File(path1),new File(path2));

if (type.equals(“type_single”)){

// windows系统参考路径

path1 = imgPath+“src\main\webapp\img\productSingle\”+imageId.toString()+“.jpg”;

path2 = imgPath+“target\Gotrip-1.0-SNAPSHOT\img\productSingle\”+imageId.toString()+“.jpg”;

String path3 = imgPath+“src\main\/webapp\img\productSingle_middle\”+imageId.toString()+“.jpg”;;

String path4 = imgPath+“target\Gotrip-1.0-SNAPSHOT\img\productSingle_middle\”+imageId.toString()+“.jpg”;

String path5 = imgPath+“src\main\webapp\img\productSingle_small\”+imageId.toString()+“.jpg”;;

String path6 = imgPath+“target\Gotrip-1.0-SNAPSHOT\img\productSingle_small\”+imageId.toString()+“.jpg”;

// Mac系统参考路径

// path1 = imgPath+“src/main/webapp/img/productSingle/”+imageId.toString()+“.jpg”;

// path2 = imgPath+“target/Gotrip-1.0-SNAPSHOT/img/productSingle/”+imageId.toString()+“.jpg”;

// String path3 = imgPath+“src/main/webapp/img/productSingle_middle/”+imageId.toString()+“.jpg”;;

// String path4 = imgPath+“target/Gotrip-1.0-SNAPSHOT/img/productSingle_middle/”+imageId.toString()+“.jpg”;

// String path5 = imgPath+“src/main/webapp/img/productSingle_small/”+imageId.toString()+“.jpg”;;

// String path6 = imgPath+“target/Gotrip-1.0-SNAPSHOT/img/productSingle_small/”+imageId.toString()+“.jpg”;

filepath.transferTo(new File(path1));

FileUtils.copyFile(new File(path1),new File(path2));

FileUtils.copyFile(new File(path1),new File(path3));

FileUtils.copyFile(new File(path1),new File(path4));

FileUtils.copyFile(new File(path1),new File(path5));

FileUtils.copyFile(new File(path1),new File(path6));

return admin_productImage_list(pid,request);

//更改房间属性选项

@RequestMapping(value = “/admin_product_editPropertyValue”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_editPropertyValue(Integer id, HttpServletRequest request){

Product product = productService.getProduct(id);

List values = productService.listProprotyValue(id);

for(Propertyvalue p: values){

p.setProperty(productService.getProperty(p.getPtid()));

mav.addObject(“p”,product);

mav.addObject(“pvs”,values);

mav.setViewName(“/admin/editProductValue”);

return mav;

//提交更新房间属性值

@RequestMapping(value = “/admin_product_updatePropertyValue”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public String admin_product_updatePropertyValue(Integer id, Integer pvid, String value){

productService.updatePropertyValue(pvid, value);

return “success”;

//提交房间修改信息

@RequestMapping(value = “/admin_product_update”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_update(Product product){

productService.update(product);

return admin_product_list(product.getCid());

//编辑房间信息页面

@RequestMapping(value = “/admin_product_edit”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_product_edit(Integer id, HttpServletRequest request){

Product product = productService.getProduct(id);

mav.addObject(“p”,product);

mav.setViewName(“/admin/editProduct”);

return mav;

//编辑房间分类页面

@RequestMapping(value = “/admin_category_edit”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_category_edit(Integer id, HttpServletRequest request){

Category category = categoryService.getCategory(id);

mav.addObject(“c”,category);

mav.setViewName(“/admin/editCategory”);

return mav;

//查询所有用户

@RequestMapping(value = “/admin_user_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView listUser(){

List users = userService.listAll();

mav.addObject(“us”,users);

mav.setViewName(“/admin/listUser”);

return mav;

//打印用户信息

@RequestMapping(value = “/admin_print_user_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView printLlistUser(){

List users = userService.listAll();

mav.addObject(“us”,users);

mav.setViewName(“/admin/printListUser”);

return mav;

//导出用户信息

@RequestMapping(value = “/admin_export_user_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public void exportUserList(HttpServletRequest request, HttpServletResponse response) throws Exception{

List users = userService.listAll();

String []rowsName = new String[]{“id”,“name”,“password”};

List<Object[]> dataList = new ArrayList<Object[]>();

for(int i = 0;i < users.size();i++){

Object[] objs = new Object[rowsName.length];

User user = users.get(i);

objs[0] = user.getId();

objs[1] = user.getName();

objs[2] = user.getPassword();

dataList.add(objs);

String fileName = “exportUserExcel”;

//执行导出

ExportExcel.exportExcel(request,response,fileName, rowsName, dataList, “yyyy-MM-dd HH:mm:ss”);

//删除用户

@RequestMapping(value = “/admin_user_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_user_delete(Integer id, HttpServletRequest request){

try{

userService.deleteByPrimaryKey(id);

}catch (Exception e){

e.getMessage();

List users = userService.listAll();

mav.addObject(“us”,users);

mav.setViewName(“/admin/listUser”);

return mav;

//编辑用户信息页面

@RequestMapping(value = “/admin_user_edit”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_user_edit(Integer id, HttpServletRequest request){

User user = userService.getUser(id);

mav.addObject(“u”,user);

mav.setViewName(“/admin/editUser”);

return mav;

//提交更新用户信息

@RequestMapping(value = “/admin_user_update”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_user_update(User user){

//user = userService.getUser(user.getName());

userService.update(user);

List users = userService.listAll();

mav.addObject(“us”,users);

mav.setViewName(“/admin/listUser”);

return mav;

//添加用户

@RequestMapping(value = “/admin_user_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_user_add(User user,HttpServletRequest request){

userService.insert(user);

List users = userService.listAll();

mav.addObject(“us”,users);

mav.setViewName(“/admin/listUser”);

return mav;

//修改订单信息页面

@RequestMapping(value = “/admin_order_edit”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_order_edit(Integer id, HttpServletRequest request){

Order order = orderService.getOrder(id);

request.getSession().setAttribute(“oid”,id);

mav.addObject(“c”,order);

mav.setViewName(“/admin/editOrder”);

return mav;

//条件查询订单

@RequestMapping(value = “/select_order_list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView select_order_list(@RequestParam(“status”) String status, @RequestParam(“min”) Integer min, @RequestParam(“max”) Integer max){

if(status==null || status.equals(“”)){

status = “%”;

if(min==null){

min = -1;

if(max==null){

max = Integer.MAX_VALUE;

List orders = orderService.selectOrder(status,min,max);

for(Order order:orders){

order.setOrderItems(orderItemService.getOrderItem(order.getId()));

mav.addObject(“os”,orders);

mav.setViewName(“/admin/listOrder”);

return mav;

//提交修改订单信息

@RequestMapping(value = “/admin_order_update”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_order_update(Order order){

Order oldOrder = orderService.getOrder(order.getId());

oldOrder.setReceiver(order.getReceiver());

oldOrder.setTotal(order.getTotal());

oldOrder.setStatus(order.getStatus());

orderService.update(oldOrder);

mav = listOrder();

mav.setViewName(“/admin/listOrder”);

return mav;

//超时三天未评论的订单

@RequestMapping(value = “/outdate_order”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView outdate_order(){

List orders = orderService.outDateOrder();

mav.addObject(“os”,orders);

mav.setViewName(“/admin/listOrder”);

return mav;

//添加订单

@RequestMapping(value = “/admin_order_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_order_add(Order order,HttpServletRequest request){

request.getSession().setAttribute(“id”,order.getId());

orderService.insert(order);

mav = listOrder();

mav.setViewName(“/admin/listOrder”);

return mav;

//删除订单

@RequestMapping(value = “/admin_order_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_order_delete(Integer id){

orderService.deleteOrder(id);

mav = listOrder();

mav.setViewName(“/admin/listOrder”);

return mav;

//删除房间分类

@RequestMapping(value = “/admin_category_delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_category_delete(Integer id, HttpServletRequest request, HttpServletResponse response) throws Exception {

try {

categoryService.delete(id);

} catch (Exception e) {

e.getMessage();

return listCategory();

//添加属性

@RequestMapping(value = “/admin_property_add”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public ModelAndView admin_property_add(Property property) throws Exception {

productService.newProperty(property);

List properties = productService.listProproty(property.getCid());

mav.addObject(“ps”,properties);

mav.setViewName(“/admin/listProperty”);

return mav;

订单管理控制层:

@Controller

@RequestMapping(“/order”)

class OrderController {

private static Logger logger = Logger.getLogger(OrderController.class);

//获取所有订单

@RequestMapping(value = “/list”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public List listOrder(/* @RequestParam(value = “addressId”) int addressId */) throws Exception{

SqlSession sqlSession = MybatisSessionFactory.getSession();

OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);

return orderMapper.selectAll();

@RequestMapping(value = “/deleteOne”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public String deleteById(@RequestParam(value = “orderId”) Integer orderId) throws Exception{

SqlSession sqlSession = MybatisSessionFactory.getSession();

OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);

try{

orderMapper.deleteByPrimaryKey(orderId);

return “删除成功”;

}catch (Exception e){

e.printStackTrace();

return e.getMessage();

@RequestMapping(value = “/delete”,produces = “text/html;charset=UTF-8”)

@ResponseBody

public String deleteById(@RequestParam(value = “orderIds”) List orderIds) throws Exception{

SqlSession sqlSession = MybatisSessionFactory.getSession();

//使用mapper批量删除

OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);

OrderExample orderExample = new OrderExample();

OrderExample.Criteria criteria = orderExample.createCriteria();

criteria.andIdIn(orderIds);

try{

orderMapper.deleteByExample(orderExample);

return “删除成功”;

}catch (Exception e){

e.printStackTrace();

return e.getMessage();


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值