springboot vue宠物美容机构CRM系统源码和答辩PPT论文862

随着网络科技的不断发展以及人们经济水平的逐步提高,网络技术如今已成为人们生活中不可缺少的一部分,信息管理系统是通过计算机技术针对用户需求开发与设计,该技术尤其在各行业领域发挥了巨大的作用,有效地促进了宠物美容机构CRM的发展。然而,由于用户量和需求量的增加,信息过载等问题暴露出来,为改善传统线下管理中的不足,本文将提出一宠物美容机构CRM系统计算机技术作为近十年来新发展起来的科技,可运用于众多领域中,尤其在宠物美容机构CRM中,可有效地提升其效率。提高现下宠物美容机构CRM系统的准确度,同时降低经济波动带来的不良影响,希望本文能对广大学者的研究提供参考。

关键词宠物美容机构CRM系统

成品,调试 讲解 定制计算机JAVA、PHP、爬虫、APP、小程序 文档

演示视频:

【java毕业设计】springboot vue宠物美容机构CRM系统源码和答辩PPT论文

Abstract

With the continuous development of network technology and the gradual improvement of people's economic level, network technology has now become an indispensable part of people's lives. The information management system is developed and designed according to user needs through computer technology. This technology has played a huge role in various industries and effectively promoted the development of pet beauty institutions CRM. However, due to the increase of users and demand, information overload and other problems are exposed. In order to improve the shortcomings of traditional offline management, this paper will propose a pet beauty agency CRM system. As a newly developed technology in the past decade, computer technology can be applied in many fields, especially in pet beauty agency CRM, which can effectively improve its efficiency. Improve the accuracy of the current CRM system of pet beauty institutions and reduce the adverse impact of economic fluctuations. I hope this paper can provide a reference for the majority of scholars.

            Key words: pet beauty agency CRM system;

2.1 Java语言简介

Java,目前Internet中最流行的编程语言之一。它吸取了C++编程语言的长处的同时还摒弃了许多复杂抽象不易掌握的问题使得Java编程语言不但功能强大而且使用方便。

Java技术在使用过程中有优势也有劣势。其优势在于,因为Java本身相对严格的语法,所以可以强化程序员在编程时的规范性问题,不容易出现明显结构错乱的问题。因此,规范将是Java的巨大优势。但是它也有劣势,就是不太适应互联网模式下的不断修改,总是修改容易破坏架构。

面向对象的三种特征封装继承和多态。

密封主要是指对数据信息的隐藏通过把数据信息类别与通过数据信息的功能密封在一块让数据信息被保存在数据信息类别的里面只留下一部分可以对外的接口以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了专业的分工同时也隐藏了信息保证了安全。

继承这就像是实际人生中的父子关系一样孩子要承袭父母的特点。类似的一个种类同时也继承了另一个种类的某些特性父属之间有一种特别的一般性的联系是is-a的关系从根本上来说都属于同一个实体。

多态多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样的子类对象因而能够显示出各种各样的现象给多态的编程带来了良好的扩展。

2.2 SpringBoot框架介绍

现如今后台开源框架主流的有SSH、SSM、SpringBoot,但是SSH、SSM框架的环境配置项较多,而SpringBoot主要的设计思想就是约定大于配置,故而SpingBoot在设计时几乎达到零配置。SpringBoot整合了业界上的开源框架。具体采用技术框架描述如下:

(1)Mybatis:Mybatis提供自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性,使用方便,同时也对SQL进行优化。

(2)SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求。

(3)SpringBoot从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。

SpringBoot是一款非常强大后台框架,因为SpringBoot开发时可以基本不用写配置文件,所以使用SpringBoot搭建网站的后台环境,在SpringBoot的yml配置文件中写入项目启动端口,项目就可以启动。项目的Java文件还有静态文件都是由SpringBoot来管理。

2.3 MySQL数据库

MySQL是一种用于数据存储的关系数据库管理系统,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。由于计算机是一个巨大的数据处理工具,所以数据库管理系统在计算机中占有重要地位。数据的管理不仅仅只是数据的存储,而是已经转变成用户需要的许多的数据的管理。其也有很多不同的类型,能够做到有简单的数据管理到大量的数据的管理能力。

这种数据库是比较灵活的方式,优势就在于更加的切合开发者的思考逻辑,所以理解起来也会比较的方便,还能够和其他的语言一起使用,在连接起来就是比较的易懂,同时对于一些基本的查询以及添加的操作也是必须能够掌握的功能。

2.4  系统运行环境

本系统是一个B/S版的应用程序,需要在服务器上部署MySQL数据库,其他的客户端通过运行程序既可

(1)硬件平台:

CPU:酷睿i3 -3.0GHZ

运行内存:4G以上

电脑硬盘:128GB

(2)系统运行平台:

操作系统:Windows 7

开发工具:Eclipse

数据库:MySQL

语言;Java

    框架;SpringBoot

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.MeirongtaocanEntity;
import com.entity.view.MeirongtaocanView;

import com.service.MeirongtaocanService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
import com.service.StoreupService;
import com.entity.StoreupEntity;

/**
 * 美容套餐
 * 后端接口
 * @author 
 * @email 
 * @date 2023-01-20 12:05:00
 */
@RestController
@RequestMapping("/meirongtaocan")
public class MeirongtaocanController {
    @Autowired
    private MeirongtaocanService meirongtaocanService;

    @Autowired
    private StoreupService storeupService;

    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,MeirongtaocanEntity meirongtaocan,
		HttpServletRequest request){
        EntityWrapper<MeirongtaocanEntity> ew = new EntityWrapper<MeirongtaocanEntity>();

		PageUtils page = meirongtaocanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, meirongtaocan), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,MeirongtaocanEntity meirongtaocan, 
		HttpServletRequest request){
        EntityWrapper<MeirongtaocanEntity> ew = new EntityWrapper<MeirongtaocanEntity>();

		PageUtils page = meirongtaocanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, meirongtaocan), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(MeirongtaocanEntity meirongtaocan){
        EntityWrapper< MeirongtaocanEntity> ew = new EntityWrapper< MeirongtaocanEntity>();
 		ew.allEq(MPUtil.allEQMapPre( meirongtaocan, "meirongtaocan")); 
		MeirongtaocanView meirongtaocanView =  meirongtaocanService.selectView(ew);
		return R.ok("查询美容套餐成功").put("data", meirongtaocanView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        MeirongtaocanEntity meirongtaocan = meirongtaocanService.selectById(id);
		meirongtaocan.setClicknum(meirongtaocan.getClicknum()+1);
		meirongtaocan.setClicktime(new Date());
		meirongtaocanService.updateById(meirongtaocan);
        return R.ok().put("data", meirongtaocan);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        MeirongtaocanEntity meirongtaocan = meirongtaocanService.selectById(id);
		meirongtaocan.setClicknum(meirongtaocan.getClicknum()+1);
		meirongtaocan.setClicktime(new Date());
		meirongtaocanService.updateById(meirongtaocan);
        return R.ok().put("data", meirongtaocan);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody MeirongtaocanEntity meirongtaocan, HttpServletRequest request){
    	meirongtaocan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(meirongtaocan);
        meirongtaocanService.insert(meirongtaocan);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody MeirongtaocanEntity meirongtaocan, HttpServletRequest request){
    	meirongtaocan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(meirongtaocan);
        meirongtaocanService.insert(meirongtaocan);
        return R.ok();
    }



    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody MeirongtaocanEntity meirongtaocan, HttpServletRequest request){
        //ValidatorUtils.validateEntity(meirongtaocan);
        meirongtaocanService.updateById(meirongtaocan);//全部更新
        return R.ok();
    }


    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        meirongtaocanService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<MeirongtaocanEntity> wrapper = new EntityWrapper<MeirongtaocanEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = meirongtaocanService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,MeirongtaocanEntity meirongtaocan, HttpServletRequest request,String pre){
        EntityWrapper<MeirongtaocanEntity> ew = new EntityWrapper<MeirongtaocanEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicknum");
        params.put("order", "desc");
		PageUtils page = meirongtaocanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, meirongtaocan), params), params));
        return R.ok().put("data", page);
    }








}

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐