開發(fā)工具:IDEA、微信小程序
服務(wù)器:Tomcat8.0, jdk1.8
項目構(gòu)建:maven
數(shù)據(jù)庫:mysql5.7
前端技術(shù):vue、uniapp
服務(wù)端技術(shù):spring+springmvc+mybatis(ssm框架)?
本系統(tǒng)分微信小程序和管理后臺兩部分,非前后端分離?
一、管理后臺功能包括:
1.個人中心:可以修改自己的登錄密碼,修改自己的信息。
2.用戶管理:可以對用戶信息進行添加、查看、修改或刪除。
3.圖書信息管理:可以對圖書信息進行添加、查看、修改或刪除,對評論信息進行管理。
4.圖書類別管理:可以對圖書類別信息進行添加、查看、修改或刪除。
5.特價圖書管理:可以對特價圖書信息進行添加、查看、修改或刪除,對評論信息進行管理。
6.系統(tǒng)管理:可以對輪播圖信息進行查看或修改。
7.訂單管理:可以對訂單信息進行查看或刪除。
二、小程序功能包括:
1.用戶注冊/登錄:實現(xiàn)用戶的注冊和登錄。
2.首頁:實現(xiàn)圖書信息推薦,特價圖書推薦的顯示。
3.圖書信息:實現(xiàn)圖書信息的列表顯示,可以按:分類瀏覽圖書,點擊可以查看圖書詳情,用戶登錄后可以加入購物車或立即訂購,可以發(fā)表評論。
4.特價圖書:實現(xiàn)特價圖書的列表顯示,可以按:分類瀏覽圖書,點擊可以查看圖書詳情,用戶登錄后可以加入購物車或立即訂購,可以發(fā)表評論。
5.我的:用戶登錄后可以進入個人后臺,在個人后臺可以修改自己的信息,可以充值,可以對購物車圖書信息進行編輯、刪除或立即下單等,可以查看自己的訂單。
文檔截圖:
微信小程序截圖:?
?
?
?
?
?
?
?
?
?
?
?
后臺截圖:
?
?
?
?
?
?
?
?
?
?
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.OrdersEntity;
import com.entity.view.OrdersView;import com.service.OrdersService;
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 2023-05-24 12:54:03
?*/
@RestController
@RequestMapping("/orders")
public class OrdersController {
? ? @Autowired
? ? private OrdersService ordersService;
? ??
? ? /**
? ? ?* 后端列表
? ? ?*/
? ? @RequestMapping("/page")
? ? public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,?
?? ??? ?HttpServletRequest request){
? ? ?? ?if(!request.getSession().getAttribute("role").toString().equals("管理員")) {
? ? ?? ??? ?orders.setUserid((Long)request.getSession().getAttribute("userId"));
? ? ?? ?}? ? ? ? EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
?? ??? ?PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
? ? ? ? return R.ok().put("data", page);
? ? }
? ??
? ? /**
? ? ?* 前端列表
? ? ?*/
? ? @RequestMapping("/list")
? ? public R list(@RequestParam Map<String, Object> params,OrdersEntity orders,?
?? ??? ?HttpServletRequest request){
? ? ? ? EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
?? ??? ?PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
? ? ? ? return R.ok().put("data", page);
? ? }?? ?/**
? ? ?* 列表
? ? ?*/
? ? @RequestMapping("/lists")
? ? public R list( OrdersEntity orders){
? ? ? ??? ?EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
? ? ? ?? ?ew.allEq(MPUtil.allEQMapPre( orders, "orders"));?
? ? ? ? return R.ok().put("data", ordersService.selectListView(ew));
? ? }?? ? /**
? ? ?* 查詢
? ? ?*/
? ? @RequestMapping("/query")
? ? public R query(OrdersEntity orders){
? ? ? ? EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();
??? ??? ?ew.allEq(MPUtil.allEQMapPre( orders, "orders"));?
?? ??? ?OrdersView ordersView = ?ordersService.selectView(ew);
?? ??? ?return R.ok("查詢訂單成功").put("data", ordersView);
? ? }
?? ?
? ? /**
? ? ?* 后端詳情
? ? ?*/
? ? @RequestMapping("/info/{id}")
? ? public R info(@PathVariable("id") Long id){
? ? ? ? OrdersEntity orders = ordersService.selectById(id);
? ? ? ? return R.ok().put("data", orders);
? ? }? ? /**
? ? ?* 前端詳情
? ? ?*/
? ? @RequestMapping("/detail/{id}")
? ? public R detail(@PathVariable("id") Long id){
? ? ? ? OrdersEntity orders = ordersService.selectById(id);
? ? ? ? return R.ok().put("data", orders);
? ? }
? ??? ? /**
? ? ?* 后端保存
? ? ?*/
? ? @RequestMapping("/save")
? ? public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){
? ? ?? ?orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
? ? ?? ?//ValidatorUtils.validateEntity(orders);
? ? ?? ?orders.setUserid((Long)request.getSession().getAttribute("userId"));? ? ? ? ordersService.insert(orders);
? ? ? ? return R.ok();
? ? }
? ??
? ? /**
? ? ?* 前端保存
? ? ?*/
? ? @RequestMapping("/add")
? ? public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){
? ? ?? ?orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
? ? ?? ?//ValidatorUtils.validateEntity(orders);? ? ? ? ordersService.insert(orders);
? ? ? ? return R.ok();
? ? }? ? /**
? ? ?* 修改
? ? ?*/
? ? @RequestMapping("/update")
? ? public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){
? ? ? ? //ValidatorUtils.validateEntity(orders);
? ? ? ? ordersService.updateById(orders);//全部更新
? ? ? ? return R.ok();
? ? }
? ??? ? /**
? ? ?* 刪除
? ? ?*/
? ? @RequestMapping("/delete")
? ? public R delete(@RequestBody Long[] ids){
? ? ? ? ordersService.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<OrdersEntity> wrapper = new EntityWrapper<OrdersEntity>();
?? ??? ?if(map.get("remindstart")!=null) {
?? ??? ??? ?wrapper.ge(columnName, map.get("remindstart"));
?? ??? ?}
?? ??? ?if(map.get("remindend")!=null) {
?? ??? ??? ?wrapper.le(columnName, map.get("remindend"));
?? ??? ?}
?? ??? ?if(!request.getSession().getAttribute("role").toString().equals("管理員")) {
? ? ?? ??? ?wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));
? ? ?? ?}
?? ??? ?int count = ordersService.selectCount(wrapper);
?? ??? ?return R.ok().put("count", count);
?? ?}
?? ?文章來源:http://www.zghlxwxcb.cn/news/detail-436669.html
}
?文章來源地址http://www.zghlxwxcb.cn/news/detail-436669.html
到了這里,關(guān)于基于微信小程序網(wǎng)上書城系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!