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
|