基于SSM+VUE的销售系统
一、系统截图
二、系统架构
系统架构:本系统使用Java作为主要的编程语言编程开发,后台以SSM框架作为主要的技术支撑,数据库采用采用MySQL,前端采用VUE同时配合JavaScript语言,同时引入百度的Ueditor编辑器丰富页面的内容。
开发环境:JDK8+IDEA+MySQL8.0
功能需求:
基于SSM的药品销售管理系统,用于药店的经营管理中,系统分为前台的服务以及后台的管理,前台的服务是用户操作的,后台的管理员是药店的经营者,用户可以查看以及订购药品信息,查看药品资讯,留言,在线问药等,管理员管理用户信息,药品信息,订单信息,回复留言等。
前台服务
首页 查看热门的药品信息,资讯信息
药品信息 查看药品的列表信息,支持按照药品的名称,类型,批次号等进行搜索
药品详情 查看药品的基本信息包括,类型,生产时间,生产厂商,药品的使用事项等。
药品资讯 查看热门的药品新闻资讯信息
登陆与注册 用户可以在网站注册信息后进行登录
留言反馈 用户登陆后可以向管理员留言
收藏评价 登陆后可以对药品进行收藏以及评价
在线问药 登录后可以询问管理员药品的注意事情
个人中心 查看以及修改个人的基本资料信息,密码信息
我的订单 查看管理个人的订单信息,包括未支付,已支付,已发货,已完成,已退款,已取消等
我的地址 对个人的收货地址进行管理
我的收藏 查看我收藏的药品列表
个人后台:
个人中心管理 修改个人的基本信息以及登录信息
留言板管理 管理个人留言的信息
我的收藏管理 管理收藏药品的列表
管理员后台:
个人中心管理 修改管理员的基本信息以及登录信息
用户管理 管理前台用户注册的基本信息,支持修改,删除,分页查询,条件查询
药品信息管理 管理药品的基本信息,支持新增,修改,删除,分夜查询,条件查询
销售登记管理 对每一种药品的销售信息进行登记,包括销售额,成本,利润等信息
留言管理 对用户的留言信息进行查看,支持回复,删除,分页查询,条件查询等
药品资讯管理 管理药品的资讯信息,支持新增,修改,删除,分夜查询,条件查询
在线问药 管理前台用户的咨询信息,及时进行回复
订单管理 对用户的订单订单信息进行管理,订单分为未支付,已支付,已发货,已完成,已退款,已取消,根据管理员的操作进行订单状态的变更。
三、下载链接
更多关于项目的描述可以点击基于SSM+VUE的销售管理系统
四、核心代码
controller代码
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.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.AddressEntity;
import com.entity.view.AddressView;
import com.service.AddressService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 地址
* 后端接口
*/
@RestController
@RequestMapping("/address")
public class AddressController {
@Autowired
private AddressService addressService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,AddressEntity address,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
address.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();
PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,AddressEntity address,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
address.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();
PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( AddressEntity address){
EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();
ew.allEq(MPUtil.allEQMapPre( address, "address"));
return R.ok().put("data", addressService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(AddressEntity address){
EntityWrapper< AddressEntity> ew = new EntityWrapper< AddressEntity>();
ew.allEq(MPUtil.allEQMapPre( address, "address"));
AddressView addressView = addressService.selectView(ew);
return R.ok("查询地址成功").put("data", addressView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable