基于SSM技客户管理系统源码和论文

基于SSM技客户管理系统源码和论文079

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

一、课题的背景和意义

1、课题目的

客户管理是每个企业中最重要的模块,对客户的分类管理有利于更有效地了解从而提高工作效率,一个良好的客户管理系统对于每个企业是至关重要的,记录到系统的数据库中的不仅是客户的基本信息资料,也可以对客户添加各种标签利于分类。设计一个多用途的客户管理系统也是必要的,可以对所记录的数据准确的记录和有效的利用。

2、课题意义

本课题主要研究和开发客户管理系统,以及对客户数据准确的记录和分类查看的应用。

目前我们已经生活在一个相当数字化信息化时代中计算机的应用时刻影响着我们中的每一个人,它可以在工作中和学习中给我们带来很大的帮助。然而,大量的信息既给我们带来益处,同时也带来了很多的麻烦数据的多样化使我们难以分类记录,数据的多量化也会使我们不好记录和利用。因此,我们要想对数据有效的记录和高效的利用,就必须开发一个数据管理系统。在此本课题研究的主要是对客户资料信息进行记录和利用,是对大量客户资料进行提取记录和有效利用的一个过程。

客户管理系统是为实现对客户资料记录和而开发的一套软件系统,以提高客户信息的利用速度,改变传统客户信息资料的收集和查看的方式,实现高效的收集客户资料信息和随时随地查看并统计。本系统的最终用户为企业员工和系统管理员。该系统的研制具有以下几点意义:

1)该系统可适用于大部分企业中收集客户资料信息

2)该系统的存在图形分析,可实时统计相关数据,以更易懂的形式展示出来

3、国内外发展状况

近几年随着科技的发展,市场上也出现了各种各样的客户管理系统,改变了传统上的对客户资料信息的管理,也是对此行业的一次革命。传统上的客户管理只是对客户资料的简单的收集并分类,但对其的利用率很低,并未有效地使用。目前很多企业开发的客户管理系统也是对特定的公司而设计开发的,满足其公司对客户管理的需求,市面上极小存在符合大部分公司的客户管理系统,并且市面上出现的客户管理系统也并不完善,只满足了用户的基本的需求,并未对其优化,因此,在客户管理方面的研发仍在不断地进行着。

package com.controller;


import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;

import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;

import com.entity.KehuEntity;

import com.service.KehuService;
import com.entity.view.KehuView;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 客户
 * 后端接口
 * @author
 * @email
 * @date 2021-03-13
*/
@RestController
@Controller
@RequestMapping("/kehu")
public class KehuController {
    private static final Logger logger = LoggerFactory.getLogger(KehuController.class);

    @Autowired
    private KehuService kehuService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;


    //级联表service


    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
            params.put("yonghuId",request.getSession().getAttribute("userId"));
        }
        PageUtils page = kehuService.queryPage(params);

        //字典表数据转换
        List<KehuView> list =(List<KehuView>)page.getList();
        for(KehuView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c);
        }
        return R.ok().put("data", page);
    }
    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        KehuEntity kehu = kehuService.selectById(id);
        if(kehu !=null){
            //entity转view
            KehuView view = new KehuView();
            BeanUtils.copyProperties( kehu , view );//把实体数据重构到view中

            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody KehuEntity kehu, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,kehu:{}",this.getClass().getName(),kehu.toString());
        Wrapper<KehuEntity> queryWrapper = new EntityWrapper<KehuEntity>()
            .eq("phone", kehu.getPhone())
            .or()
            .eq("id_number", kehu.getIdNumber());
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KehuEntity kehuEntity = kehuService.selectOne(queryWrapper);
        if(kehuEntity==null){
            kehu.setInsertTime(new Date());
            kehu.setCreateTime(new Date());
        //  String role = String.valueOf(request.getSession().getAttribute("role"));
        //  if("".equals(role)){
        //      kehu.set
        //  }
            kehuService.insert(kehu);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody KehuEntity kehu, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,kehu:{}",this.getClass().getName(),kehu.toString());
        //根据字段查询是否有相同数据
        Wrapper<KehuEntity> queryWrapper = new EntityWrapper<KehuEntity>()
            .notIn("id",kehu.getId())
            .andNew()
            .eq("phone", kehu.getPhone())
            .or()
            .eq("id_number", kehu.getIdNumber())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KehuEntity kehuEntity = kehuService.selectOne(queryWrapper);
        if("".equals(kehu.getMyPhoto()) || "null".equals(kehu.getMyPhoto())){
                kehu.setMyPhoto(null);
        }
        if(kehuEntity==null){
            //  String role = String.valueOf(request.getSession().getAttribute("role"));
            //  if("".equals(role)){
            //      kehu.set
            //  }
            kehuService.updateById(kehu);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        kehuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值