基于javaweb+mysql的ssm+maven出租车管理系统(java+ssm+html+javascript+jsp+mysql)

基于javaweb+mysql的ssm+maven出租车管理系统(java+ssm+html+javascript+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM+Maven出租车管理系统(java+ssm+html+javascript+jsp+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/ 登录
					carsMileage.getCarsMileageId(), carsMileage.getMileage(),
					carsMileage.getSales(), carsMileage.getCarId(),
					carsMileage.getCreateTime(), "信息失踪了", "信息失踪了");
		}else{
			Cars queryById = carsService.queryById(carId);
			if(queryById==null){
				cms = new CarsMileageShow(
						carsMileage.getCarsMileageId(), carsMileage.getMileage(),
						carsMileage.getSales(), carsMileage.getCarId(),
						carsMileage.getCreateTime(), "信息失踪了", "信息失踪了");
			}else{
				Integer driverId = queryById.getDriverId();
				if(driverId==null){
					cms = new CarsMileageShow(
							carsMileage.getCarsMileageId(), carsMileage.getMileage(),
							carsMileage.getSales(), carsMileage.getCarId(),
							carsMileage.getCreateTime(), queryById.getCarNumber(),
							"信息失踪了");
				}else{
					Drivers queryById2 = driversService.queryById(driverId);
					if(queryById2==null){
						cms = new CarsMileageShow(
								carsMileage.getCarsMileageId(), carsMileage.getMileage(),
								carsMileage.getSales(), carsMileage.getCarId(),
								carsMileage.getCreateTime(), queryById.getCarNumber(),
								"信息失踪了");
					}else{
						cms = new CarsMileageShow(
								carsMileage.getCarsMileageId(), carsMileage.getMileage(),
								carsMileage.getSales(), carsMileage.getCarId(),
								carsMileage.getCreateTime(), queryById.getCarNumber(),
								queryById2.getDriverName());
					}
				}
				
			}
		}
		return cms;
	}
	
}
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAll(Integer page, Integer rows){
		PageInfo<CarsMileage> queryPageList = carsMileageService.queryPageList(page, rows);
		List<CarsMileage> list = queryPageList.getList();
		List<CarsMileageShow> listShow=new ArrayList<CarsMileageShow>();
		for (CarsMileage carsMileage : list) {
			listShow.add(pingJie(carsMileage));
		}
		Integer countNumber = carsMileageService.queryCount(null);
		return new Pager(countNumber,listShow);
	}
	
	
	@RequestMapping(value="/queryLikeAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeAll(CarsMileageShow carsMileageShow,Integer page,Integer rows){
		Pager queryLikeAll = carsMileageService.queryLikeAll(carsMileageShow,page,rows);
		return queryLikeAll;
	}
	
	@RequestMapping(value="/saveUpdateDeleteCarsMileage",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateDeleteCarsMileage(CarsMileage carsMileage){
		Integer saveNoNull = null;
		if(carsMileage.getCarsMileageId()==null){
			saveNoNull =carsMileageService.saveNoNull(carsMileage);
		}else{
			if(carsMileage.getCarId()==null){
				saveNoNull = carsMileageService.delete(carsMileage.getCarsMileageId());
			}else{
				saveNoNull = carsMileageService.updateNoNull(carsMileage);
			}
		}
		if(saveNoNull>0)
			return "true";
		return "false";
	}
	 * 新增 车辆维修保养记录
	 * 
	 * @param carsRepair
	 * @return
	 */
	@RequestMapping(value = "/saveCarsRepair", produces = "text/html;charset=UTF-8")
	@ResponseBody
	public String saveCarsRepair(CarsRepair carsRepair) {
		Integer saveNoNull = carsRepairService.saveNoNull(carsRepair);
		if (saveNoNull > 0)
			return "true";
		return "false";
	}

	/**
	 * 分页查询全部
	 * 
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value = "/queryAllCarsRepair", produces = "text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAllAdvice(Integer page, Integer rows) {
		PageInfo<CarsRepair> queryPageList = carsRepairService.queryPageList(
				page, rows);
		List<CarsRepair> list = queryPageList.getList();
		List<CarsRepairShow> listShow = new ArrayList<CarsRepairShow>();
		for (CarsRepair carsRepair : list) {
			listShow.add(pinJie(carsRepair));
		}
		Integer countNumber = carsRepairService.queryCount(null);
		return new Pager(countNumber, listShow);
	}

	@RequestMapping(value = "/queryLikeAll", produces = "text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeAll(CarsRepairShow carsRepairShow, Integer page,
			Integer rows) {
		Pager queryLikeAll = carsRepairService.queryLikeAll(carsRepairShow,
				page, rows);
		return queryLikeAll;
	}

			listShow.add(pinJie(carsRepair));
		}
		Integer countNumber = carsRepairService.queryCount(null);
		return new Pager(countNumber, listShow);
	}

	@RequestMapping(value = "/queryLikeAll", produces = "text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeAll(CarsRepairShow carsRepairShow, Integer page,
			Integer rows) {
		Pager queryLikeAll = carsRepairService.queryLikeAll(carsRepairShow,
				page, rows);
		return queryLikeAll;
	}

	@RequestMapping(value = "/saveUpdateDeleteCarsRepair", produces = "text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateDeleteAdvice(CarsRepair carsRepair) {
		Integer saveNoNull = null;
		if (carsRepair.getCarsRepairId() == null) {
			saveNoNull = carsRepairService.saveNoNull(carsRepair);
		} else {
			if (carsRepair.getCarsRepairType() == null) {
				saveNoNull = carsRepairService.delete(carsRepair
						.getCarsRepairId());
			} else {
				saveNoNull = carsRepairService.updateNoNull(carsRepair);
			}
		}
		if (saveNoNull > 0)
			return "true";
		return "false";
	}

	private CarsRepairShow pinJie(CarsRepair carsRepair) {
		Integer carId = carsRepair.getCarId();
		CarsRepairShow crs = new CarsRepairShow();
		if(carId==null){
			crs = new CarsRepairShow(carsRepair.getCarsRepairId(),
					carsRepair.getCarsRepairType(),
					carsRepair.getCarsRepairText(), carsRepair.getCarId(),
					carsRepair.getCreateTime(), "信息失踪了", "信息失踪了");
		}else{
			Cars queryById = carsService.queryById(carId);
			if(queryById==null){
	public void afterCompletion(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex)
			throws Exception {

	}

}

@Controller
@RequestMapping("/advices")
public class AdvicesController {

	@Autowired
	private AdvicesService advicesService;
	
	/**
	 * 查询全部
	 * @return
	 */
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	public List<Advices> queryAll(){
		return advicesService.queryAllList();
	}
	
	/**
	 * 分页查询全部
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryAllAdvice",produces="text/html;charset=UTF-8")
	 */
	@RequestMapping(value="/saveUpdateCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateCars(Cars car,@RequestParam MultipartFile carPhoto,HttpServletRequest request){
		String uploadFile = uploadFile(carPhoto,request,car.getEngineNumber());
		car.setPhoto(uploadFile);
		Integer saveNoNull =null;
		if(car.getCarId()==null){
			
			//添加
			car.setCreateTime(new Date());
			saveNoNull=carsService.saveNoNull(car);
		}else{
			//修改
			saveNoNull = carsService.updateNoNull(car);
		}
		if(saveNoNull>0)
			return "true";
		return "false";
	}
	
	/**
	 * 删除司机信息
	 * @param driverId
	 * @return
	 */
	@RequestMapping(value="/deleteCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String deleteDrivers(Integer carId){
		//首先去查询是否在使用
		carsService.delete(carId);
		return "true";
	}
	
	@RequestMapping(value="/queryCars",produces="text/html;charset=UTF-8")
	public ModelAndView queryCars(Integer driverId){
		Cars c=new Cars();
		c.setDriverId(driverId);
		Cars queryById=carsService.queryByParam(c);
		return new ModelAndView("car","car",queryById);
	
	/**
	 * 删除司机信息
	 * @param driverId
	 * @return
	 */
	@RequestMapping(value="/deleteCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String deleteDrivers(Integer carId){
		//首先去查询是否在使用
		carsService.delete(carId);
		return "true";
	}
	
	@RequestMapping(value="/queryCars",produces="text/html;charset=UTF-8")
	public ModelAndView queryCars(Integer driverId){
		Cars c=new Cars();
		c.setDriverId(driverId);
		Cars queryById=carsService.queryByParam(c);
		return new ModelAndView("car","car",queryById);
	}
	@RequestMapping(value="/queryCarsById",produces="text/html;charset=UTF-8")
	public ModelAndView queryCarsById(Integer carId){
		Cars queryById=carsService.queryById(carId);
		return new ModelAndView("car","car",queryById);
	}
	
	
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public List<Cars> queryAll(){
		return carsService.queryAllList();
	}
	
	/**
	 * 文件上传
	 * @param file
	 * @param request
	 * @param sellerId
	 * @return
	 */
	private String uploadFile(MultipartFile file, HttpServletRequest request,String engineNumber){
						cms = new CarsMileageShow(
								carsMileage.getCarsMileageId(), carsMileage.getMileage(),
								carsMileage.getSales(), carsMileage.getCarId(),
								carsMileage.getCreateTime(), queryById.getCarNumber(),
								queryById2.getDriverName());
					}
				}
				
			}
		}
		return cms;
	}
	
}

@Controller
@RequestMapping("/drivers")
public class DriversController {
	
	
	private Logger log=Logger.getLogger(DriversController.class.getName());
	
	@Autowired
	private DriversService driversService;
	
	/**

@Controller
@RequestMapping("/drivers")
public class DriversController {
	
	
	private Logger log=Logger.getLogger(DriversController.class.getName());
	
	@Autowired
	private DriversService driversService;
	
	/**
	 * 分页查询,所有司机信息
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryAllDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAllDrivers(Integer page, Integer rows){
		PageInfo<Drivers> queryPageList = driversService.queryPageList(page, rows);
		List<Drivers> list = queryPageList.getList();
		Integer queryCount = driversService.queryCount(null);
		return new Pager(queryCount,list);
	}
	
	/**
	 * 模糊查询
	 * @param driver
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryLikeDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeDrivers(Drivers driver,Integer page,Integer rows){
		return driversService.queryLikeDrivers(driver, rows, page);
	}
	
	/**
	 * 添加司机信息与更新司机信息
	 * @param driver
	 * @return
	 */
	@RequestMapping(value="/saveUpdateDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody

public class SessionInterceptor implements HandlerInterceptor {

	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		// TODO Auto-generated method stub
		
		
		HttpSession session = request.getSession();
		Object attribute = session.getAttribute("loginNickName");
		if (attribute == null) {
//			String requestUri = request.getRequestURI();
//			System.out.println("拦截的"+attribute+"  "+requestUri);
			response.sendRedirect(request.getContextPath()+"/login.jsp");
			return false;
		}
		return true;
		/*String requestUri = request.getRequestURI();
		if (requestUri.startsWith(request.getContextPath())) {
			requestUri = requestUri.substring(
					request.getContextPath().length(), requestUri.length());
		}
		// /sellers/queryPagerAll.action

		String[] strUrl = { "/sellerinfo/querySellerInfo.action",
				"/sellers/queryPagerAll.action",
				"/sellers/queryCondition.action",
				"/sellerwork/queryAll.action", "/sellerwork/queryOne.action",
				"/userinfo/queryUserInfo.action",
				"/users/queryPagerAll.action", "/users/queryCondition.action",
				"/worktype/queryPagerAll.action",
				"/worktype/saveUpdate.action", "/worktype/delete.action" };
		HttpSession session = request.getSession();
		for (String string : strUrl) {
	
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public List<Cars> queryAll(){
		return carsService.queryAllList();
	}
	
	/**
	 * 文件上传
	 * @param file
	 * @param request
	 * @param sellerId
	 * @return
	 */
	private String uploadFile(MultipartFile file, HttpServletRequest request,String engineNumber){
		//传入的是身份证号
		File targetFile = null;
		String substring=null;
		try {
			String path = request.getSession().getServletContext()
					.getRealPath("upload");
			if(path==null){
				path="/yjdata/www/www/chebida/upload";
			}
			String fileName = file.getOriginalFilename();
			int lastIndexOf = fileName.lastIndexOf(".");
			substring = fileName.substring(lastIndexOf);
			targetFile = new File(path, engineNumber+substring);
			if (!targetFile.exists()) {
				targetFile.mkdirs();
			}
			file.transferTo(targetFile);
			// request.setAttribute("filePath",targetFile.getAbsolutePath());
		} catch (Exception e) {
		}
		return engineNumber+substring;
	}
	
}


@Controller
@RequestMapping("/users")
public class UsersController {
	
	@Autowired
	private UsersService usersService;

	/**
	 * 分页查询全部
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryAllUsers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAllUsers(Integer page,Integer rows){
		PageInfo<Users> queryPageList = usersService.queryPageList(page, rows);
		List<Users> list = queryPageList.getList();
		Integer countNumber = usersService.queryCount(null);
		return new Pager(countNumber,list);
	}
	
	@RequestMapping(value="/saveUpdateDeleteUsers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateDeleteUsers(Users user){
		Integer saveNoNull =null;
		if(user.getUserId()==null){
			Users u=new Users();
			u.setUserName(user.getUserName());
			Users queryByParam = usersService.queryByParam(u);
			if(queryByParam==null){
				saveNoNull = usersService.saveNoNull(user);
			}else{
				return "yicunzai";
			}
		}else{
			if(user.getUserName()==null){
				saveNoNull =usersService.delete(user.getUserId());
			}else{
				Users u=new Users();
				u.setUserName(user.getUserName());
		List<Drivers> list = queryPageList.getList();
		Integer queryCount = driversService.queryCount(null);
		return new Pager(queryCount,list);
	}
	
	/**
	 * 模糊查询
	 * @param driver
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryLikeDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeDrivers(Drivers driver,Integer page,Integer rows){
		return driversService.queryLikeDrivers(driver, rows, page);
	}
	
	/**
	 * 添加司机信息与更新司机信息
	 * @param driver
	 * @return
	 */
	@RequestMapping(value="/saveUpdateDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateDrivers(Drivers driver, @RequestParam MultipartFile filePhoto, HttpServletRequest request){
		Integer saveNoNull =null;
		String uploadFile = uploadFile(filePhoto,request,driver.getIdCard());
		driver.setPhoto(uploadFile);
		if(driver.getDriverId()==null){
			driver.setCreateTime(new Date());
			saveNoNull = driversService.saveNoNull(driver);
		}else{
			saveNoNull =driversService.updateNoNull(driver);
		}
		if(saveNoNull>0)
			return "true";
		return "false";
	}
	
	/**
	 * 删除司机信息
	 * @param driverId
	 */
	@RequestMapping(value="/queryAllCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAllCars(Integer page, Integer rows){
		PageInfo<Cars> queryPageList = carsService.queryPageList(page, rows);
		List<Cars> list = queryPageList.getList();
		Integer countNumber = carsService.countNumber(null);
		return new Pager(countNumber,list);
	}
	/**
	 * 分页,模糊查询
	 * @param car
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryLikeCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryLikeCars(Cars car,Integer page,Integer rows){
		return carsService.queryListCars(car, rows, page);
	}
	
	/**
	 * 新增或修改车辆信息
	 * @param car
	 * @return
	 */
	@RequestMapping(value="/saveUpdateCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String saveUpdateCars(Cars car,@RequestParam MultipartFile carPhoto,HttpServletRequest request){
		String uploadFile = uploadFile(carPhoto,request,car.getEngineNumber());
		car.setPhoto(uploadFile);
		Integer saveNoNull =null;
		if(car.getCarId()==null){
			
			//添加
			car.setCreateTime(new Date());
			saveNoNull=carsService.saveNoNull(car);
		}else{
			//修改
			saveNoNull = carsService.updateNoNull(car);
		}
				"/users/queryPagerAll.action", "/users/queryCondition.action",
				"/worktype/queryPagerAll.action",
				"/worktype/saveUpdate.action", "/worktype/delete.action" };
		HttpSession session = request.getSession();
		for (String string : strUrl) {
			if(string.equals(requestUri)){
				Object attribute = session.getAttribute("nickname");
				if (attribute == null) {
					System.out.println(string+"被拦截进去了");
					response.sendRedirect(request.getContextPath()+"/");
					return false;
				}
			}
		}
		return true;*/
	}

	@Override
	public void postHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public void afterCompletion(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex)
			throws Exception {

	}

}

@Controller
@RequestMapping("/advices")
public class AdvicesController {

	@Autowired
	
	/**
	 * 删除司机信息
	 * @param driverId
	 * @return
	 */
	@RequestMapping(value="/deleteCars",produces="text/html;charset=UTF-8")
	@ResponseBody
	public String deleteDrivers(Integer carId){
		//首先去查询是否在使用
		carsService.delete(carId);
		return "true";
	}
	
	@RequestMapping(value="/queryCars",produces="text/html;charset=UTF-8")
	public ModelAndView queryCars(Integer driverId){
		Cars c=new Cars();
		c.setDriverId(driverId);
		Cars queryById=carsService.queryByParam(c);
		return new ModelAndView("car","car",queryById);
	}
	@RequestMapping(value="/queryCarsById",produces="text/html;charset=UTF-8")
	public ModelAndView queryCarsById(Integer carId){
		Cars queryById=carsService.queryById(carId);
		return new ModelAndView("car","car",queryById);
	}
	
	
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public List<Cars> queryAll(){
		return carsService.queryAllList();
	}
	
	/**
	 * 文件上传
	 * @param file
	 * @param request
	 * @param sellerId
	 * @return
	 */
	private String uploadFile(MultipartFile file, HttpServletRequest request,String engineNumber){
		//传入的是身份证号
		File targetFile = null;
		String substring=null;
		try {
			String path = request.getSession().getServletContext()
					.getRealPath("upload");
			if(path==null){
				path="/yjdata/www/www/chebida/upload";
		Cars queryById=carsService.queryByParam(c);
		return new ModelAndView("car","car",queryById);
	}
	@RequestMapping(value="/queryCarsById",produces="text/html;charset=UTF-8")
	public ModelAndView queryCarsById(Integer carId){
		Cars queryById=carsService.queryById(carId);
		return new ModelAndView("car","car",queryById);
	}
	
	
	@RequestMapping(value="/queryAll",produces="text/html;charset=UTF-8")
	@ResponseBody
	public List<Cars> queryAll(){
		return carsService.queryAllList();
	}
	
	/**
	 * 文件上传
	 * @param file
	 * @param request
	 * @param sellerId
	 * @return
	 */
	private String uploadFile(MultipartFile file, HttpServletRequest request,String engineNumber){
		//传入的是身份证号
		File targetFile = null;
		String substring=null;
		try {
			String path = request.getSession().getServletContext()
					.getRealPath("upload");
			if(path==null){
				path="/yjdata/www/www/chebida/upload";
			}
			String fileName = file.getOriginalFilename();
			int lastIndexOf = fileName.lastIndexOf(".");
			substring = fileName.substring(lastIndexOf);
			targetFile = new File(path, engineNumber+substring);
			if (!targetFile.exists()) {
				targetFile.mkdirs();
			}
			file.transferTo(targetFile);
			// request.setAttribute("filePath",targetFile.getAbsolutePath());
		} catch (Exception e) {
		}
		return engineNumber+substring;
	}
	
}


@Controller
@RequestMapping("/drivers")
public class DriversController {
	
	
	private Logger log=Logger.getLogger(DriversController.class.getName());
	
	@Autowired
	private DriversService driversService;
	
	/**
	 * 分页查询,所有司机信息
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping(value="/queryAllDrivers",produces="text/html;charset=UTF-8")
	@ResponseBody
	public Pager queryAllDrivers(Integer page, Integer rows){
		PageInfo<Drivers> queryPageList = driversService.queryPageList(page, rows);
		List<Drivers> list = queryPageList.getList();
		Integer queryCount = driversService.queryCount(null);
		return new Pager(queryCount,list);
	}
	
	/**
	 * 模糊查询
	 * @param driver
	 * @param page
	 * @param rows
	 * @return

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值