基于SpringBoot的美容院管理系统

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SpringBoot
前端:Vue
数据库:MySQL5.7和Navicat管理工具结合
开发软件:IDEA / Eclipse
是否Maven项目:是


目录

一、项目简介

二、系统功能

管理员功能结构图

​编辑技师功能结构图

前台功能结构图

普通用户功能结构图

会员功能结构图

三、系统项目截图

3.1管理员

3.2技师

3.3普通用户 

3.4会员 

 3.5前台

四、核心代码

4.1登录相关

4.2文件上传

4.3封装


一、项目简介

如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让美容院信息的管理模式进行升级,也为了更好的维护美容院信息,美容院管理系统的开发运用就显得很有必要。并且通过开发美容院管理系统,不仅可以让所学的SpringBoot框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象,无论是前期的分析与设计,还是后期的编码测试等环节,都可以有一个深刻的了解。

美容院管理系统根据调研,确定其实现的功能主要包括美容用品管理,美容项目管理,美容部位管理,销量信息管理,订单管理,美容项目预约信息管理等功能。

借助于美容院管理系统这样的工具,让信息系统化,流程化,规范化是最终的发展结果,让其遵循实际操作流程的情况下,对美容院信息实施规范化处理,让美容院信息通过电子的方式进行保存,无论是管理人员检索美容院信息,维护美容院信息都可以便利化操作,真正缩短信息处理时间,节省人力和信息管理的成本。


二、系统功能

管理员功能结构图

技师功能结构图

前台功能结构图

普通用户功能结构图

会员功能结构图



三、系统项目截图

3.1管理员

实现管理员权限的美容部位管理功能,其运行效果见下图。管理员修改美容部位信息,删除美容部位信息,新增美容部位信息。

实现管理员权限的销量信息统计功能,其运行效果见下图。管理员通过销量统计报表查看各种美容用品的销量信息。

 

实现管理员权限的已支付订单功能,其运行效果见下图。管理员查看已支付订单信息,查看下单人提供的收货地址,然后进行订单发货。

3.2技师

实现技师权限的统计美容用品库存功能,其运行效果见下图。技师可以通过统计报表查看各种美容用品对应的现有库存量。


实现技师权限的预约信息管理功能,其运行效果见下图。会员预约技师提供的美容项目,技师则需要进行查看和审核。 

3.3普通用户 

实现前台权限的普通用户管理功能,其运行效果见下图。普通用户的基本信息也能让前台进行增删改查管理。

 

3.4会员 

实现前台权限的会员管理功能,其运行效果见下图。会员的基本信息可以让前台进行修改,也能让前台进行查询或删除。

 3.5前台

实现普通用户权限的美容用品功能,其运行效果见下图。普通用户查看美容用品,在本页面购买美容用品,或把美容用品添加购物车。

实现普通用户权限的购物车功能,其运行效果见下图。普通用户在本模块购买美容用品,需要提供收货地址,然后选择支付方式支付订单。

 

实现普通用户权限的我的订单功能,其运行效果见下图。普通用户在本模块查看不同状态的订单,已支付订单在未发货前也能退款。 

实现会员权限的美容项目功能,其运行效果见下图。会员查看美容项目介绍,预约美容项目。

 

实现会员权限的预约信息管理功能,其运行效果见下图。会员提交了美容项目预约信息之后,需要到自己的后台查看预约项目审核情况。


四、核心代码

4.1登录相关


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

4.2文件上传

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

4.3封装

package com.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回数据
 */
public class R extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;
	
	public R() {
		put("code", 0);
	}
	
	public static R error() {
		return error(500, "未知异常,请联系管理员");
	}
	
	public static R error(String msg) {
		return error(500, msg);
	}
	
	public static R error(int code, String msg) {
		R r = new R();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static R ok(String msg) {
		R r = new R();
		r.put("msg", msg);
		return r;
	}
	
	public static R ok(Map<String, Object> map) {
		R r = new R();
		r.putAll(map);
		return r;
	}
	
	public static R ok() {
		return new R();
	}

	public R put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

曾几何时…
关注 关注
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于jsp+mysql+Spring+mybatis的SpringBoot美容院预约管理系统
weixin_42315649的博客
03-02 736
基于jsp+mysql+Spring+mybatis的SpringBoot美容院预约管理系统 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 硬件环境: windows 7/8/10 2G内存以上(推荐4G,4G以上更好) 主要功能说明: 管理员角色包含以下功能:登录,首页,新增管理员,管理员信息列表,网站用户信息列表,新增新闻公告信
java 美发管理系统_美容美发管理系统毕业论文.doc
weixin_29219189的博客
02-24 682
第*章 具体章节标题最新精品文档,知识共享!本科学生毕业论文论文题目:美容美发管理系统的设计与实现学 院:软件学院年 级:2010级专 业:软件工程姓 名:魏悦明学 号:指导教师:玄萍2014年 5月 10日最新精品文档,知识共享!PAGE i摘要随着国内经济形势持续发展,国内餐饮业进入了市场发展高峰期。在信息高度发达的今天,非计算化的管理方法与策略已经无法满足用...
基于springboot美容美妆管理系统
wangbuerCoder的博客
10-14 264
基于springboot美容美妆管理系统1拥有多种角色,管理员可以不同的员工设置不同的角色权限。功能有: 会员类型管理、产品分类管理、产品管理、库存管理、顾客管理、进货管理、数据统计、顾客购买产品、顾客签到、员工打卡签到、顾客考勤、顾客活跃度、套餐管理、员工管理、销售报表、角色管理等
基于springboot美容美妆管理系统的设计与实现 (含源码+sql+视频导入教程)
coderWangbuer的博客
08-12 646
基于springboot美容美妆管理系统1拥有多种角色,管理员可以不同的员工设置不同的角色权限。功能有:   会员类型管理、产品分类管理、产品管理、库存管理、顾客管理、进货管理、数据统计、顾客购买产品、顾客签到、员工打卡签到、顾客考勤、顾客活跃度、套餐管理、员工管理、销售报表、角色管理等
Java基于springboot+vue的美容服务预约+美容用品购物商城管理系统
z459382737的博客
06-23 306
如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让美容院信息的管理模式进行升级,也为了更好的维护美容院信息,美容院管理系统的开发运用就显得很有必要。并且通过开发美容院管理系统,不仅可以让所学的SpringBoot框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象,无论是前期的分析与设计,还是后期的编码测试等环节,都可以有一个深刻的了解。
springboot044基于Springboot美容院管理系统毕业源码案例设计.zip
02-24
首先,我们来看项目的标题——"springboot044基于Springboot美容院管理系统毕业源码案例设计.zip"。这个标题明确地告诉我们,这是一个关于SpringBoot的毕业设计项目,主要关注的是美容院管理系统的实现。通过这个...
美容院管理系统-java-基于springBoot美容院管理系统设计与实现(毕业论文)
03-12
管理员修改美容部位信息,删除美容部位信息,新增美容部位信息 销量信息统计 实现管理员权限的销量信息统计功能 已支付订单 实现管理员权限的已支付订单功能 技师功能实现 统计美容用品库存 技师可以通过统计报表...
美容院管理&java&基于springBoot美容院管理系统设计与实现(毕业论文)
最新发布
10-17
管理员修改美容部位信息,删除美容部位信息,新增美容部位信息 销量信息统计 实现管理员权限的销量信息统计功能 已支付订单 实现管理员权限的已支付订单功能 技师功能实现 统计美容用品库存 技师可以通过统计报表...
springboot044基于Springboot美容院管理系统毕业源码案例设计
01-22
并且通过开发美容院管理系统,不仅可以让所学的SpringBoot框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象,无论是前期的...
基于springboot美容院管理系统设计与实现.docx
08-31
基于springboot美容院管理系统设计与实现.docx
java美容院管理系统设计与实现毕业设计程序
07-31
采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结。 包括程序毕设程序源代码一份,数据库一份,完美运行。配置环境里面有说明。
美容院javaEE 项目ssh框架 前后台
08-27
美容院javaEE 项目ssh框架 前后台
Java基于SpringBoot美容美发管理系统(附源码)
qq_15801219的博客
11-11 564
今天带来的是基于SpringBoot美容美发管理系统美容美发行业在促进我国经济建设等方面具有不可替代的作用,然而目前与之有关的信息化建设相对滞后,不仅限制了服务质量的提高,而且还严重的阻碍了整个行业内部管理体制的完善和营销渠道的扩大。为此,开展美容美发管理系统的设计与实现研究并帮助这些行业实现科学化,规范化和标准化的管理。计算机毕业设计精品项目案例-200套(值得订阅)
基于Java美容院管理系统详细设计和实现
java李阳勇的博客
01-12 1014
首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过美容院管理系统将会使美容院各个方面的工作效率带来实质性的提升。
java毕业设计论文题目SpringBoot美容院后台管理系统
luochunlong123的博客
08-19 520
计算机毕业设计java毕设之SpringBoot美容院后台管理系统_哔哩哔哩_bilibili项目资料网址: http://itzygogogo.com软件下载地址:http://itzygogogo.com/itszy/website/list毕业设计课程设计项目资料加老师主页微信或直接进入网站重磅福利:三连并关注老师的同学可加老师微信赠送论文不限次数免费查重权限以及项目免费指导+答辩指导和答疑!
Springboot美容院管理系统 java idea mysql
QQ242219979的博客
01-31 365
美容院管理都是传统手工操作,对于产品销售、库存、和顾客资料等管理都是由人工完成,工作人员的工作量非常巨大和烦琐,同时,效率也很低下,出错概率大大增加,对于发展新顾客、留住旧顾客非常不利。进入系统可以实现主页、个人中心、用户管理、医生管理、美容师管理、项目部门管理、项目类型管理、产品分类管理、产品信息管理、医美项目管理、美容项目管理、预约美容管理、预约医美管理、系统管理等功能。entity: 实体,用来放与数据库表里对应的实体类,表中的字段对应类中的属性值,并附有set/get方法。
基于 SpringBoot + Vue3.2 + Element Plus 的后台管理系统
默存
12-28 8878
简介 TANSCI 基于 SpringBoot + Vue3.2 + Element Plus 的后台管理系统。 包含基础模块:菜单管理、角色管理、组织管理、用户管理、字典管理、日志管理(操作日志、异常日志) Gitee: https://gitee.com/typ1805/tansci GitHup: 架构 技术栈 1、环境要求 名称 版本号 描述 JDK 1.8+ 强制要求 mysql 5.7+ 数据库 node 14.16+ 前端环境要求 npm 6.14+ 前端框架包管理
【计算机毕业设计】112卓越导师双选系统设计与实现
卓怡学长的博客
03-30 563
如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让导师选择信息的管理模式进行升级,也为了更好的维护导师选择信息,卓越导师双选系统的开发运用就显得很有必要。并且通过开发卓越导师双选系统,不仅可以让所学的SpringBoot框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象,无论是前期的分析与设计,还是后期的编码测试等环节,都可以有一个深刻的了解。 卓越导师双选系统根据调研,确定管理员管理
SpringBoot美容院管理系统源码解析与实践指南
资源摘要信息: "该文档介绍了一个基于Java技术栈的美容院管理系统项目,该系统采用前后端分离的开发模式,并且提供了完整的源代码、数据库以及毕业论文。技术实现部分详细说明了项目所需的技术环境和工具,系统功能...
写文章

热门文章

  • MyBatis Plus 中 LocalDateTime 引发的一些问题和解决办法 7906
  • 一篇文章让你秒懂Dao层 7326
  • 基于SpringBoot的自习室预约管理系统 6956
  • 基于协同过滤算法的电影推荐系统 6587
  • 基于JavaWeb的学生信息管理系统 5674

分类专栏

  • 微信小程序 56篇
  • vue 213篇
  • springboot 239篇
  • 毕设 451篇
  • SSM 80篇
  • Java基础合集 35篇
  • Java合集 9篇
  • 并发编程 1篇
  • JSP 35篇
  • python 1篇
  • Django 1篇
  • nodejs 5篇
  • hbuilder 5篇
  • Android 2篇
  • php 1篇
  • mysql 1篇

最新评论

  • Spring Boot底层源码深度解析

    ꯭匿꯭名꯭: 这也叫深度解析,源码都没有,笑掉大牙

  • 基于Spring Boot的志同道合交友网站设计与实现

    CSDN-Ada助手: 云原生入门 技能树或许可以帮到你:https://edu.csdn.net/skill/cloud_native?utm_source=AI_act_cloud_native

  • 工厂管理||基于Java+Spring Boot+MySQL的工厂车间管理系统设计与实现(源码+数据库+文档)

    2301_77553562: 老厉害勒

  • 基于java web的物流配送管理系统的设计与实现

    第二印象Coder: 一个车辆编号怎么有一辆以上的车

  • Spring Boot项目中解决跨域问题深度解析

    斩影: 我这里为什么get可以post不行

最新文章

  • 基于微信小程序的订餐系统
  • 基于微信小程序教师管理系统
  • 基于微信小程序的实习记录
2024
10月 30篇
09月 56篇
08月 48篇
07月 5篇
05月 5篇
04月 24篇
03月 64篇
02月 125篇
01月 213篇
2023年560篇
2022年151篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家河北商场主题创意商业美陈道具北京户外商场美陈订购广州品牌玻璃钢卡通雕塑宝鸡玻璃钢雕塑生产蒙城玻璃钢牛雕塑摆件佛山玻璃钢仿铜浮雕塑南京镜面玻璃钢雕塑价格永康玻璃钢人物雕塑生产厂家仙桃玻璃钢雕塑制作厂家娄底玻璃钢牛雕塑锦州人物玻璃钢雕塑制作商丘玻璃钢名人肖像雕塑哪家好邵阳仿木玻璃钢雕塑2018年商场美陈布置海南玻璃钢彩绘雕塑公园商场美陈装饰系列韶关玻璃钢公园雕塑芜湖玻璃钢雕塑制作玻璃钢果篮雕塑生产厂家江油玻璃钢长颈雕塑玻璃钢雕塑定做组图上海定制玻璃钢雕塑推荐贵州校园玻璃钢雕塑订制陕西人物校园玻璃钢景观雕塑贵州欧式玻璃钢雕塑价位玻璃钢造型雕塑怎么做无棣玻璃钢造型雕塑商场里美陈吊顶南昌公园玻璃钢雕塑定做校庆玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化