SSM+Vue+小程序+基于小程序的服装电商系统

2024-05-06 02:36

本文主要是介绍SSM+Vue+小程序+基于小程序的服装电商系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

maven工具管理依赖,数据库mysql,mybatsi处理数据库交互,一共12张表,小程序为客户端,vue页面为管理端。我的vue项目会给好modlues依赖包,安装好node启动即可,项目代文档。

可以在最下方扫码加我,可以加购调试,讲解。

图示:

部分数据库设计:

tongzhuangshangcheng表

列名

数据类型

长度

约束

id

bigint

19

NOT NULL

addtime

varchar

255

NOT NULL

mingcheng

varchar

255

NOT NULL

fenlei

varchar

255

NOT NULL

leibie

varchar

255

NOT NULL

pinpai

varchar

255

NOT NULL

chima

varchar

255

NOT NULL

yanse

varchar

255

NOT NULL

tupian

varchar

255

NOT NULL

xiangqing

varchar

255

NOT NULL

yonghu表

列名

数据类型

长度

约束

id

int

11

NOT NULL

addtime

varchar

255

NOT NULL

zhanghao

varchar

255

NOT NULL

mima

varchar

255

NOT NULL

xingming

varchar

255

NOT NULL

xingbie

varchar

255

NOT NULL

nianling

varchar

255

NOT NULL

shouji

varchar

255

NOT NULL

youxiang

varchar

255

NOT NULL

zhaopian

varchar

255

NOT NULL

jifen

varchar

255

NOT NULL

yuyueshijian

varchar

255

NOT NULL

EXISTS表

列名

数据类型

长度

约束

id

 int

9

NOT NULL

addtime

varchar

255

NOT NULL

userid

varchar

255

NOT NULL

username

varchar

255

NOT NULL

tablename

varchar

255

NOT NULL

role

varchar

255

NOT NULL

token

varchar

255

NOT NULL

addtime

varchar

255

NOT NULL

部分代码设计

服装产品接口

package com.controller;import java.text.SimpleDateFormat;
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 javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.TongzhuangshangchengEntity;
import com.entity.view.TongzhuangshangchengView;import com.service.TongzhuangshangchengService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;/*** 童装商城后端接口*/
@RestController
@RequestMapping("/tongzhuangshangcheng")
public class TongzhuangshangchengController {@Autowiredprivate TongzhuangshangchengService tongzhuangshangchengService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request) {EntityWrapper<TongzhuangshangchengEntity> ew = new EntityWrapper<TongzhuangshangchengEntity>();PageUtils page = tongzhuangshangchengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tongzhuangshangcheng), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request) {EntityWrapper<TongzhuangshangchengEntity> ew = new EntityWrapper<TongzhuangshangchengEntity>();PageUtils page = tongzhuangshangchengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tongzhuangshangcheng), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list(TongzhuangshangchengEntity tongzhuangshangcheng) {EntityWrapper<TongzhuangshangchengEntity> ew = new EntityWrapper<TongzhuangshangchengEntity>();ew.allEq(MPUtil.allEQMapPre(tongzhuangshangcheng, "tongzhuangshangcheng"));return R.ok().put("data", tongzhuangshangchengService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(TongzhuangshangchengEntity tongzhuangshangcheng) {EntityWrapper<TongzhuangshangchengEntity> ew = new EntityWrapper<TongzhuangshangchengEntity>();ew.allEq(MPUtil.allEQMapPre(tongzhuangshangcheng, "tongzhuangshangcheng"));TongzhuangshangchengView tongzhuangshangchengView = tongzhuangshangchengService.selectView(ew);return R.ok("查询童装商城成功").put("data", tongzhuangshangchengView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id) {TongzhuangshangchengEntity tongzhuangshangcheng = tongzhuangshangchengService.selectById(id);tongzhuangshangcheng.setClicknum(tongzhuangshangcheng.getClicknum() + 1);tongzhuangshangcheng.setClicktime(new Date());tongzhuangshangchengService.updateById(tongzhuangshangcheng);return R.ok().put("data", tongzhuangshangcheng);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id) {TongzhuangshangchengEntity tongzhuangshangcheng = tongzhuangshangchengService.selectById(id);tongzhuangshangcheng.setClicknum(tongzhuangshangcheng.getClicknum() + 1);tongzhuangshangcheng.setClicktime(new Date());tongzhuangshangchengService.updateById(tongzhuangshangcheng);return R.ok().put("data", tongzhuangshangcheng);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R thumbsup(@PathVariable("id") String id, String type) {TongzhuangshangchengEntity tongzhuangshangcheng = tongzhuangshangchengService.selectById(id);if (type.equals("1")) {tongzhuangshangcheng.setThumbsupnum(tongzhuangshangcheng.getThumbsupnum() + 1);} else {tongzhuangshangcheng.setCrazilynum(tongzhuangshangcheng.getCrazilynum() + 1);}tongzhuangshangchengService.updateById(tongzhuangshangcheng);return R.ok();}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request) {tongzhuangshangcheng.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());tongzhuangshangchengService.insert(tongzhuangshangcheng);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request) {tongzhuangshangcheng.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());tongzhuangshangchengService.insert(tongzhuangshangcheng);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request) {tongzhuangshangchengService.updateById(tongzhuangshangcheng);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids) {tongzhuangshangchengService.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<TongzhuangshangchengEntity> wrapper = new EntityWrapper<TongzhuangshangchengEntity>();if (map.get("remindstart") != null) {wrapper.ge(columnName, map.get("remindstart"));}if (map.get("remindend") != null) {wrapper.le(columnName, map.get("remindend"));}int count = tongzhuangshangchengService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params, TongzhuangshangchengEntity tongzhuangshangcheng, HttpServletRequest request, String pre) {EntityWrapper<TongzhuangshangchengEntity> ew = new EntityWrapper<TongzhuangshangchengEntity>();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 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 = tongzhuangshangchengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tongzhuangshangcheng), params), params));return R.ok().put("data", page);}
}

需要请扫码联系我:

                                

这篇关于SSM+Vue+小程序+基于小程序的服装电商系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963277

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造