技术栈:
-
后端:SSM
-
前端:VUE
功能模块:
-
管理端(PC后台管理)
-
管理员管理(分为超级管理员和普通管理员)
-
手机商品信息管理
-
手机商品分类管理
-
营销活动管理(秒杀活动,团购活动)
-
手机标签管理
-
订单管理
-
数据统计(销量排行,营业额统计)
-
-
用户端(PC页面)
-
用户登录注册
-
用户个人信息管理
-
商品列表,详情
-
商品购买
-
分类,标签筛选
-
秒杀,团购活动
-
购物车
-
订单管理
-
代码简介
@PostMapping("/save")
public SimpleResponse save(@RequestBody Seckill seckill) throws Exception {
seckill.setCreateTime(new Date());
seckill.setStatus(0);
seckill.setStock(seckill.getNum());
Long seckillPhoneId = seckill.getPhoneId();
Phone byId = phoneService.getById(seckillPhoneId);
if (byId.getStock() <= seckill.getNum()) {
throw new Exception("当前商品【" + byId.getName() + "】,库存不足,库存为【" + byId.getStock() + "】,请重新选择数量!");
} else {
byId.setStock(byId.getStock() - seckill.getNum());
phoneService.updateById(byId);
}
seckillService.save(seckill);
return SimpleResponse.success();
}
@PostMapping("/update")
public SimpleResponse update(@RequestBody Seckill seckill) {
seckillService.updateById(seckill);
return SimpleResponse.success();
}
@PostMapping("/del")
public SimpleResponse del(@RequestBody List<Long> ids) {
return SimpleResponse.success(seckillService.removeByIds(ids));
}
@GetMapping("/all/phone")
public SimpleResponse allPhone() {
List<Phone> phoneList = phoneService.list(new Phone());
List<BaseSelectEntity> list = new ArrayList<>();
if (CollectionUtil.isNotEmpty(phoneList)) {
for (Phone phone : phoneList) {
BaseSelectEntity baseSelectEntity = new BaseSelectEntity();
baseSelectEntity.setKey(phone.getId());
baseSelectEntity.setValue(phone.getName());
list.add(baseSelectEntity);
}
}
return SimpleResponse.success(list);
}
Object lock = new Object();
@PostMapping("/add/order")
@Transactional(rollbackFor = Exception.class)
public SimpleResponse addOrder(@RequestBody Orders orders) throws Exception {
synchronized (lock) {
Long seckillId = orders.getSeckillId();
// 判断用户是够参与过此活动
Orders userOrder = new Orders();
userOrder.setUserId(orders.getUserId());
userOrder.setActiveId(seckillId);
userOrder.setType(1);
List<Orders> ordersList = ordersService.list(userOrder);
if (CollectionUtil.isNotEmpty(ordersList)) {
throw new Exception("您已参与过本次活动,不能重复参与!");
}
// 判断库存是否足够
Seckill serviceById = seckillService.getById(seckillId);
if (serviceById.getStock() < 1) {
throw new Exception("库存不足!");
}
serviceById.setStock(serviceById.getStock() - 1);
seckillService.updateById(serviceById);
// 添加用户订单
orders.setType(1);
orders.setCreateTime(new Date());
orders.setStatus(0);
orders.setActiveId(seckillId);
orders.setOrderNo(UUID.randomUUID().toString().substring(0, 8));
Address address = new Address();
address.setUserId(orders.getUserId());
address.setType(0);
List<Address> addresses = addressService.list(address);
if (CollectionUtil.isNotEmpty(addresses)) {
Address address1 = addresses.get(0);
orders.setAddress(address1.getName() + "-" + address1.getTel() + "-" + address1.getAddressInfo());
}
ordersService.save(orders);
// 添加订单详情
OrderDetail detail = new OrderDetail();
detail.setCreateTime(new Date());
detail.setOrderId(orders.getId());
detail.setNum(1);
detail.setPhoneId(orders.getPhoneId());
orderDetailService.save(detail);
}
return SimpleResponse.success();
}