功能介绍
整个网上购物商城管理系统为了便于用户购买与管理员管理,采用了以下几大功能管理模块,包括管理员与用户的设计:
用户模块:该模块包含了几个子模块包括
用户登录:用户登录功能是用来识别已在本网站注册过的用户,能根据用户的信息方便的为用户提供服务。最重要的是,系统需要登记用户所购买的商品的信息等等一些的情况,最后为用户生成购物订单。
用户注册账号:填写相关用户信息的资料,用于用户登录本网站,进行用商品的购买。包括用户的用户名、密码、确认密码、姓名、手机等等信息,可让用户先登录本系统,然后修改自己的信息,用户只有通过注册成为本网站的用户,才能在本网站页面购物商品,否则只能浏览网页上的商品而不能进行购买。
用户资料修改:该模块功能主要是针对用户注册资料的修改,比如用户登录到本系统中,想修改自己的密码、电话号码和家庭住址等信息可以通过用户资料修改页来实现用户资料修改。
浏览商品模块:该模块可让打开本网站的用户看到网站上出售的商品,不管是登录的用户还是未登录的用户都可以查看本网站上的商品。
购买商品模块:此模块功能只提供在本网站已注册的用户,先要登录本网站系统,然后在浏览页选择想购买的商品,可添加删除购物车的物品,然后选择收银台结账功能,可选择修改用户所需的信息,通过此流程可向商城下订单。
商品管理模块:管理员可以管理所有的商品,不同的商品可以分类到不同的列表,这样用户就可以快速找到想要的商品,其中可添加商品信息,可修改和删除上传的记录。
用户管理模块:管理员可查询、验证在本网站注册的用户信息,同时有权限可以修改用户的信息,管理员也可以删除任何一个用户的账号。
订单管理模块:此模块可看到用户在网站买下的商品和一些关于订单的信息,还可查看是否执行些订单。
部分功能模块代码
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 java.io.IOException;
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.CansaishenqingEntity;
import com.entity.view.CansaishenqingView;
import com.service.CansaishenqingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 参赛申请
* 后端接口
* @author
* @email
* @date 2022-04-16 10:40:59
*/
@RestController
@RequestMapping("/cansaishenqing")
public class CansaishenqingController {
@Autowired
private CansaishenqingService cansaishenqingService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,CansaishenqingEntity cansaishenqing,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
cansaishenqing.setYonghuming((String)request.getSession().getAttribute("username"));
}
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
PageUtils page = cansaishenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cansaishenqing), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,CansaishenqingEntity cansaishenqing,
HttpServletRequest request){
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
PageUtils page = cansaishenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cansaishenqing), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( CansaishenqingEntity cansaishenqing){
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
ew.allEq(MPUtil.allEQMapPre( cansaishenqing, "cansaishenqing"));
return R.ok().put("data", cansaishenqingService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(CansaishenqingEntity cansaishenqing){
EntityWrapper< CansaishenqingEntity> ew = new EntityWrapper< CansaishenqingEntity>();
ew.allEq(MPUtil.allEQMapPre( cansaishenqing, "cansaishenqing"));
CansaishenqingView cansaishenqingView = cansaishenqingService.selectView(ew);
return R.ok("查询参赛申请成功").put("data", cansaishenqingView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
CansaishenqingEntity cansaishenqing = cansaishenqingService.selectById(id);
return R.ok().put("data", cansaishenqing);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
CansaishenqingEntity cansaishenqing = cansaishenqingService.selectById(id);
return R.ok().put("data", cansaishenqing);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody CansaishenqingEntity cansaishenqing, HttpServletRequest request){
cansaishenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(cansaishenqing);
cansaishenqingService.insert(cansaishenqing);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody CansaishenqingEntity cansaishenqing, HttpServletRequest request){
cansaishenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(cansaishenqing);
cansaishenqingService.insert(cansaishenqing);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody CansaishenqingEntity cansaishenqing, HttpServletRequest request){
//ValidatorUtils.validateEntity(cansaishenqing);
cansaishenqingService.updateById(cansaishenqing);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
cansaishenqingService.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<CansaishenqingEntity> wrapper = new EntityWrapper<CansaishenqingEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
int count = cansaishenqingService.selectCount(wrapper);
return R.ok().put("count", count);
}
/**
* (按值统计)
*/
@RequestMapping("/value/{xColumnName}/{yColumnName}")
public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = cansaishenqingService.selectValue(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
/**
* (按值统计)时间统计类型
*/
@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
params.put("timeStatType", timeStatType);
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = cansaishenqingService.selectTimeStatValue(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
/**
* 分组统计
*/
@RequestMapping("/group/{columnName}")
public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("column", columnName);
EntityWrapper<CansaishenqingEntity> ew = new EntityWrapper<CansaishenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = cansaishenqingService.selectGroup(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
}
package com.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;
import com.dao.CansaishenqingDao;
import com.entity.CansaishenqingEntity;
import com.service.CansaishenqingService;
import com.entity.vo.CansaishenqingVO;
import com.entity.view.CansaishenqingView;
@Service("cansaishenqingService")
public class CansaishenqingServiceImpl extends ServiceImpl<CansaishenqingDao, CansaishenqingEntity> implements CansaishenqingService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
Page<CansaishenqingEntity> page = this.selectPage(
new Query<CansaishenqingEntity>(params).getPage(),
new EntityWrapper<CansaishenqingEntity>()
);
return new PageUtils(page);
}
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<CansaishenqingEntity> wrapper) {
Page<CansaishenqingView> page =new Query<CansaishenqingView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,wrapper));
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
@Override
public List<CansaishenqingVO> selectListVO(Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectListVO(wrapper);
}
@Override
public CansaishenqingVO selectVO(Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectVO(wrapper);
}
@Override
public List<CansaishenqingView> selectListView(Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectListView(wrapper);
}
@Override
public CansaishenqingView selectView(Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectView(wrapper);
}
@Override
public List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectValue(params, wrapper);
}
@Override
public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectTimeStatValue(params, wrapper);
}
@Override
public List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<CansaishenqingEntity> wrapper) {
return baseMapper.selectGroup(params, wrapper);
}
}
package com.dao;
import com.entity.CansaishenqingEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import org.apache.ibatis.annotations.Param;
import com.entity.vo.CansaishenqingVO;
import com.entity.view.CansaishenqingView;
/**
* 参赛申请
*
* @author
* @email
* @date 2022-04-16 10:40:59
*/
public interface CansaishenqingDao extends BaseMapper<CansaishenqingEntity> {
List<CansaishenqingVO> selectListVO(@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
CansaishenqingVO selectVO(@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
List<CansaishenqingView> selectListView(@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
List<CansaishenqingView> selectListView(Pagination page,@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
CansaishenqingView selectView(@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
List<Map<String, Object>> selectValue(@Param("params")Map<String, Object> params,@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
List<Map<String, Object>> selectTimeStatValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
List<Map<String, Object>> selectGroup(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<CansaishenqingEntity> wrapper);
}
论文目录