基于java SpringBoot和Vue零食销售网站毕业设计,附源码
实现的功能:
系统分为普通用户、商家和管理员三种角色;
本系统的功能应该包括:用户登录和注册、订单管理、钱包管理、商品管理、交易管理、充值管理、用户管理等功能。
注册、登录:未注册用户可以注册,包括普通用户注册和商家注册,有了账号后可以登录网站;
订单管理:普通用户可以查看和管理自己的购买订单,商家可以查看买家的购买订单;
钱包管理:普通用户和商家可以查看自己的钱包余额等信息;
商品管理:主要是商家可以上传、编辑、上架、下架商品等操作,管理员可以审核商家的商品,审核通过可以展示在网站首页;
交易管理:主要是管理员可以查看普通用户和商家的交易信息;
充值管理:管理员可以给普通用户和商家进行钱包的充值,方便使用;
用户管理:管理员可以审核用户的注册信息,只有审核通过才可以登录网站。
用到的技术:
后端 java语言,SpringBoot框架,MySql数据库,Maven依赖管理;
前端 Vue,element-ui等。
部分代码展示
/**
* 订单(Order)表控制层
*
*/
@Slf4j
@RestController
@RequestMapping("order")
public class OrderController extends ApiController {
/**
* 服务对象
*/
@Autowired
private OrderService orderService;
@Autowired
private UserService userService;
@Autowired
private ShopService shopService;
@Autowired
private MiddleCountService middleCountService;
@Autowired
private CommodityService commodityService;
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("{id}")
public R selectOne(@PathVariable Serializable id) {
return success(this.orderService.getById(id));
}
@GetMapping("user/{userId}")
public R selectByUserID(@RequestParam("page") long page, @PathVariable Serializable userId) {
return success(this.orderService.page(new Page<>(page, 20),
new LambdaQueryWrapper<Orders>().eq(Orders::getUserId, userId)));
}
@GetMapping("shop/{shopId}")
public R selectByShopID(@RequestParam("page") long page, @PathVariable Serializable shopId) {
return success(this.orderService.page(new Page<>(page, 20),
new LambdaQueryWrapper<Orders>().eq(Orders::getShopId, shopId).between(Orders::getStatus,2,8)));
}
@GetMapping
public R selectAll(@RequestParam("page") long page){
return success(this.orderService.pageByStatus(new Page<>(page, 20),8));
}
/**
* 修改数据
*
* @param orders 实体对象
* @return 修改结果
*/
@PostMapping("update")
public R update(@RequestBody Orders orders) {
if (orders.getCanReturn() == 1) {
if (orders.getStatus() == 5 || orders.getStatus() == 6) {
return failed("支付超过24h,无法退货");
}
}
else if (orders.getStatus() == 6) {
MiddleCount middleCount = middleCountService.getMiddleCountByOrderId(orders.getId());
User user = userService.getById(orders.getUserId());
user.setWallet(user.getWallet() + middleCount.getAmount());
middleCountService.removeById(middleCount.getId());
}
if (orders.getStatus() == 1 || orders.getStatus() == 6) {
Commodity commodity = commodityService.getById(orders.getCommodityId());
commodity.setInventory(commodity.getInventory() + orders.getQuantity());
commodityService.updateById(commodity);
}
return success(this.orderService.updateById(orders));
}
@PostMapping("pay")
public R payOrders(@RequestBody List<Orders> orders) {
User user = userService.getById(orders.get(0).getUserId());
double sum = orders.stream().mapToDouble(Orders::getAmount).sum();
if (user.getWallet() < sum) {
return failed("余额不足");
}
for (Orders order : orders) {
MiddleCount middleCount = new MiddleCount();
middleCount.setOrderId(order.getId());
middleCount.setUserId(user.getId());
middleCount.setAmount(order.getAmount());
middleCount.setSellerId(shopService.getById(order.getShopId()).getSellerId());
middleCountService.save(middleCount);
user.setWallet(user.getWallet() - order.getAmount());
order.setStatus(2);
orderService.updateById(order);
}
return success(userService.updateById(user));
}
}
正文到此结束
- 本文标签: Java Spring Boot SSM
- 版权声明: 本站原创文章,于2023年08月09日由程序猿大波发布,转载请注明出处