SpringBoot 微信小程序 二手汽车交易系统 二手手机交易系统

73 篇文章 1 订阅
18 篇文章 0 订阅

SpringBoot 微信小程序 二手汽车交易系统 二手手机交易系统

二手汽车交易系统 二手手机交易系统 功能介绍

微信小程序: 微信授权登录 主页图片轮播 新品推荐 优惠券 猜您喜欢 分类展示 商品详情 加入购物车 立即购买 购物车 结算提交订单 我的订单(待付款 待发货 待收货 待评价) 收货地址管理 我的优惠券 我的积分

后台管理: 登录 验证码 首页统计图

系统管理: 系统用户管理 角色管理 菜单管理 部门管理 日志管理 系统监控管理 地图管理 文件管理

商城(汽车或手机)管理: 汽车信息管理 分类管理 库存管理 商城设置 轮播图管理 积分管理 订单管理 营销(优惠券)管理 我的帮助 评论管理

微信管理: 接口管理

角色:微信用户 超级管理员 系统管理员 商城管理员

使用技术
  • SpringBoot框架

  • Mybaits

  • Mysql数据库

  • shiro(权限)

  • 微信小程序

  • html(freemarker)后台管理

功能展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

文件管理FileController.java
package com.mall.modules.system.controller;

import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;

import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mall.common.bean.Rest;
import com.mall.common.constant.Constants;
import com.mall.common.utils.JsonUtils;
import com.mall.common.utils.PropertiesUtil;
import com.mall.common.utils.idwork.DistributedIdWorker;
import com.mall.modules.common.BaseController;
import com.mall.modules.oss.OssFactory;
import com.mall.modules.system.entity.SysUploadFile;
import com.mall.modules.system.service.ISysConfigService;
import com.mall.modules.system.service.ISysUploadFileService;
import com.mall.modules.system.vo.ConfigStorageVo;

@Controller
@RequestMapping("/system/sysfile")
public class FileController extends BaseController {

	@Autowired
	private ISysUploadFileService uploadFileService;

	@Autowired
	private ISysConfigService configService;

	/**
	 * 列表页
	 */
	@RequiresPermissions("listFile")
	@RequestMapping("/list")
	public String list() {
		return "system/sysfile/list";
	}

	@RequiresPermissions("listFile")
	@PostMapping("/listPage")
	@ResponseBody
	public Rest listPage(String search, Integer start, Integer length) {
		Integer pageIndex = start / length + 1;
		Rest resultMap = new Rest();
		Page<SysUploadFile> page = getPage(pageIndex, length);
		// 查询分页
		QueryWrapper<SysUploadFile> ew = new QueryWrapper<SysUploadFile>();
		if (StringUtils.isNotBlank(search)) {
			ew.like("roleName", search);
		}
		ew.orderByDesc("createTime");
		IPage<SysUploadFile> pageData = uploadFileService.page(page, ew);
		resultMap.put("iTotalDisplayRecords", pageData.getTotal());
		resultMap.put("iTotalRecords", pageData.getTotal());
		resultMap.put("aaData", pageData.getRecords());
		return resultMap;
	}

	@RequiresPermissions("addFile")
	@PostMapping("/upload")
	@ResponseBody
	public Rest uploadImageFile(MultipartFile file) throws Exception {
		try {
			if (file.isEmpty()) {
				return Rest.failure("请选择文件!");
			} else {
				SysUploadFile fileResult = Objects.requireNonNull(OssFactory.init()).uploadFile(file, true);
				fileResult.setFileId(DistributedIdWorker.nextId());
				fileResult.setGroupId(0L);
				uploadFileService.save(fileResult);
				return Rest.ok("上传成功");
			}
		} catch (Exception e) {
			logger.error("文件上传失败", e);
			return Rest.failure("服务器异常请联系管理员!");
		}
	}

	@RequiresPermissions("deleteFile")
	@PostMapping("/delete")
	@ResponseBody
	public Rest delete(String id) {
		String[] idArry = id.split(",");
		List<SysUploadFile> files = (List<SysUploadFile>) uploadFileService.listByIds(Arrays.asList(idArry));
		for (SysUploadFile file : files) {
			Objects.requireNonNull(OssFactory.init(file.getOssType())).delete(file.getFilePath());
		}
		uploadFileService.removeByIds(Arrays.asList(idArry));
		return Rest.ok("删除文件成功");
	}

	@GetMapping(value = "/setStorage")
	public String setConfig(Model model) {
		String json = configService.selectAll();
		ConfigStorageVo configStorageVo = JsonUtils.jsonToBean(json, ConfigStorageVo.class);
		String workDir = PropertiesUtil.getString(Constants.WORK_DIR_KEY);
		model.addAttribute("workDir", workDir.endsWith(File.separator) ? workDir : workDir + File.separator);
		model.addAttribute("storageConfig", configStorageVo);
		return "system/sysfile/config";
	}

}

运行

创建数据库, 然后修改数据库连接相关信息。

启动 Springboot 类的main方法

访问地址:http://localhost:8080/

超级管理员账号:admin 密码:123456

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值