基于javaweb和mysql的springboot在线商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven)
·
基于javaweb和mysql的springboot在线商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot在线商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven)
一、项目简述
本系统功能包括: 前台展示+后台管理,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看 吧。
二、项目运行
环境配置: Jdk1.8 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。
项目技术: Springboot + Maven + Mybatis + Vue + HTML 等 等组成,B/S模式+ Maven管理等等。
/**
* 向表中添加一条记录
*/
@PostMapping("/user/register")
public Result save(@RequestBody User user) {
user.setRoleId(4);
if (StringUtils.isEmpty(user.getPassword())){
user.setPassword(ShaUtil.getSHA256("123456"));
} else {
user.setPassword(ShaUtil.getSHA256(user.getPassword()));
}
if (userService.save(user)){
return Result.getSuccessResult("","注册成功");
}
return Result.getFailResult("","注册失败");
}
/**
* 商品搜索
* @param param
* @return
*/
@GetMapping("/goods/search")
public Result getList(@RequestParam Map<String, Object> param) {
int num = 1;
if (!StringUtils.isEmpty(param.get("page"))){
num = Integer.parseInt(param.get("page").toString());
}
QueryWrapper<Goods> wrapper = new QueryWrapper<>();
wrapper.eq("active",1);
Object name = param.get("name");
if (!StringUtils.isEmpty(name)) {
wrapper.like("name",name).or().like("detail",name);
}
IPage<Goods> page = new Page<>(num, 8);
return Result.getSuccessResult(goodsService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/goods/{id}")
public Result getById(@PathVariable int id) {
Goods iGoods = goodsService.getById(id);
if (iGoods == null) {
return Result.getFailResult("","无记录");
}
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/address")
public class AddressController {
@Resource
private IAddressService iAddressService;
private void judge(HttpServletRequest request,int id){
QueryWrapper<Address> wrapper = new QueryWrapper<>();
String token = request.getHeader("Authorization");
int userId = JWT.decode(token).getClaim("id").asInt();
wrapper.eq("user_id",userId).eq("id",id);
if (iAddressService.getOne(wrapper)==null){
throw new NotExistException();
}
}
/**
* 进行分页查询
*/
@GetMapping
public Result getList(HttpServletRequest request) {
QueryWrapper<Address> wrapper = new QueryWrapper<>();
String token = request.getHeader("Authorization");
int userId = JWT.decode(token).getClaim("id").asInt();
wrapper.eq("active",1).eq("user_id",userId);
return Result.getSuccessResult(iAddressService.list());
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/{id}")
/**
* <p>
* 角色 前端控制器
* </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/roles")
public class RoleController {
@Resource
private IRoleService iRoleService;
/**
* 进行分页查询
*/
@GetMapping
public Result getList(@RequestParam Map<String, Object> param) {
InitUtil.initPage(param);
int num = Integer.parseInt(param.get("page").toString());
int limit = Integer.parseInt(param.get("limit").toString());
QueryWrapper<Role> wrapper = new QueryWrapper<>();
InitUtil.initLike(param, wrapper, "name");
InitUtil.initEq(param, wrapper, "active");
IPage<Role> page = new Page<>(num, limit);
return Result.getSuccessResult(iRoleService.page(page, wrapper));
}
/**
* 获取所有角色
* @return
*/
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/goods")
public class GoodsController {
@Value("${server.port}")
private String port;
@Resource
private IGoodsService iGoodsService;
/**
* 进行分页查询
*/
@GetMapping
public Result getList(@RequestParam Map<String, Object> param) {
InitUtil.initPage(param);
int num = Integer.parseInt(param.get("page").toString());
int limit = Integer.parseInt(param.get("limit").toString());
QueryWrapper<Goods> wrapper = new QueryWrapper<>();
InitUtil.initEq(param, wrapper, "active","user_id");
IPage<Goods> page = new Page<>(num, limit);
return Result.getSuccessResult(iGoodsService.page(page, wrapper));
}
* active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
*/
@PutMapping("/del/{id}")
public Result loginDel(@PathVariable int id) {
Goods iGoods = new Goods();
iGoods.setId(id);
iGoods.setActive(0);
if (iGoodsService.updateById(iGoods)){
return Result.getSuccessResult("","设置失效成功");
}
return Result.getFailResult("","设置失效失败");
}
/**
* 批量设置 active=0
*/
@PutMapping("/batchDel")
public Result LoginBatchDel(@RequestParam String ids) {
Goods iGoods = new Goods();
iGoods.setActive(0);
String[] idList = ids.split(",");
for (String id : idList) {
iGoods.setId(Integer.parseInt(id));
iGoodsService.updateById(iGoods);
}
return Result.getSuccessResult("","批量失效成功");
}
/**
* 在数据表中真正的删除一条记录
*/
@DeleteMapping("/{id}")
public Result delById(@PathVariable int id) {
if (id<21) {
return Result.getFailResult("","不能删除系统预留项");
}
if (iGoodsService.removeById(id)){
return Result.getSuccessResult("","删除成功");
}
return Result.getFailResult("","删除失败");
@Transactional(noRollbackFor={MyException.class},rollbackFor = Exception.class)
public class OrderController {
@Resource
private IOrderdetailService orderDetailService;
@Resource
private IOrdersService ordersService;
@Resource
private IGoodsService goodsService;
@Resource
private IShoppingcartService cartService;
@Resource
private IAddressService addressService;
@Resource
private IPayService payService;
@PostMapping()
public Result addOrder(@RequestBody Map<String,Object> param , HttpServletRequest request){
int userId = JwtUtil.getUserId(request);
String orderNo = System.currentTimeMillis()+""+userId;
Orders orders = new Orders();
orders.setPayment(new BigDecimal(param.get("payment").toString()));
orders.setOrderNo(orderNo);
orders.setUserId(userId);
if (!ordersService.save(orders)){
return Result.getFailResult("订单创建失败");
}
QueryWrapper<Shoppingcart> wrapper = new QueryWrapper<>();
String ids=param.get("ids").toString();
wrapper.inSql("id",ids);
List<Shoppingcart> goods = cartService.list(wrapper);
List<Orderdetail> orderList = new ArrayList<>();
for (Shoppingcart i:goods){
Orderdetail order = new Orderdetail();
order.setOrderNo(orderNo);
order.setUserId(userId);
order.addOrderItem(i);
orderList.add(order);
}
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/users")
public class UserController {
@Resource
private IUserService iUserService;
/**
* 进行分页查询
*/
@GetMapping
public Result getList(@RequestParam Map<String, Object> param) {
InitUtil.initPage(param);
int num = Integer.parseInt(param.get("page").toString());
int limit = Integer.parseInt(param.get("limit").toString());
QueryWrapper<User> wrapper = new QueryWrapper<>();
InitUtil.initEq(param, wrapper, "active","username");
IPage<User> page = new Page<>(num, limit);
return Result.getSuccessResult(iUserService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/{id}")
public Result getById(@PathVariable int id) {
User iUser = iUserService.getById(id);
if (iUser == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iUser);
}
/**
* name : 需要检查那个字段的value是否在数据库存在
* 比如/check/RegistworkName?value=阿司匹林 :检查数据库是否存在RegistworkName='阿司匹林'
*/
@GetMapping("/check/{name}")
return Result.getSuccessResult(iUser);
}
/**
* name : 需要检查那个字段的value是否在数据库存在
* 比如/check/RegistworkName?value=阿司匹林 :检查数据库是否存在RegistworkName='阿司匹林'
*/
@GetMapping("/check/{name}")
public Result checkName(@PathVariable String name,@RequestParam String value){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq(name, value);
if (iUserService.getOne(wrapper) != null){
return Result.getFailResult();
}
return Result.getSuccessResult();
}
/**
* 向表中添加一条记录
*/
@PostMapping()
public Result save(@RequestBody User iUser) {
if (StringUtils.isEmpty(iUser.getPassword())){
iUser.setPassword(ShaUtil.getSHA256("123456"));
} else {
iUser.setPassword(ShaUtil.getSHA256(iUser.getPassword()));
}
if (iUserService.save(iUser)){
return Result.getSuccessResult("","添加成功");
}
return Result.getFailResult("","添加失败");
}
/**
* 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
*/
@PutMapping("/{id}")
public Result update(@RequestBody User iUser, @PathVariable int id) {
iUser.setId(id);
if (!StringUtils.isEmpty(iUser.getPassword())){
iUser.setPassword(ShaUtil.getSHA256(iUser.getPassword()));
}
if (iUserService.updateById(iUser)){
return Result.getSuccessResult("","修改成功");
}
return Result.getFailResult("","修改失败");
}
/**
* name : 需要检查那个字段的value是否在数据库存在
* 比如/check/RegistworkName?value=阿司匹林 :检查数据库是否存在RegistworkName='阿司匹林'
*/
@GetMapping("/check/{name}")
public Result checkName(@PathVariable String name,@RequestParam String value){
QueryWrapper<Role> wrapper = new QueryWrapper<>();
wrapper.eq(name, value);
if (iRoleService.getOne(wrapper) != null){
return Result.getFailResult();
}
return Result.getSuccessResult();
}
/**
* 向表中添加一条记录
*/
@PostMapping()
public Result save(@RequestBody Role iRole) {
if (iRoleService.save(iRole)){
return Result.getSuccessResult("","添加成功");
}
return Result.getFailResult("","添加失败");
}
/**
* 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
*/
@PutMapping("/{id}")
public Result update(@RequestBody Role iRole, @PathVariable int id) {
iRole.setId(id);
if (iRoleService.updateById(iRole)){
return Result.getSuccessResult("","修改成功");
}
return Result.getFailResult("","修改失败");
}
/**
* active 字段 相当于激活一样 设置字段的有效性 active=1 有效
*/
@PutMapping("/back/{id}")
public Result back(@PathVariable int id) {
Role iRole = new Role();
iRole.setId(id);
iRole.setActive(1);
if (iRoleService.updateById(iRole)){
return Result.getSuccessResult("","激活成功");
}
return Result.getFailResult("","激活失败");
}
/**
* active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
User user = new User();
user.setId(JWT.decode(token).getClaim("id").asInt());
user.setUsername(JWT.decode(token).getClaim("username").asString());
return user;
}catch (Exception e) {
e.printStackTrace();
throw new MyException(e.getMessage());
}
}
public static void main(String[] args){
User user = new User();
user.setId(1);
user.setUsername("admin");
System.out.println(user);
String token = create(user);
System.out.println("-------------------token----------------");
System.out.println(getUser(token));
}
}
@RestController
@Slf4j
@RequestMapping("/user")
public class UserControl {
@Resource
private IUserService userService;
@GetMapping("/info")
public Result getUserById(HttpServletRequest request){
User user = userService.getUserById(JwtUtil.getUserId(request));
return Result.getSuccessResult(user);
}
return Result.getSuccessResult("","批量失效成功");
}
/**
* 在数据表中真正的删除一条记录
*/
@DeleteMapping("/{id}")
public Result delById(@PathVariable int id) {
if (iPayService.removeById(id)){
return Result.getSuccessResult("","删除成功");
}
return Result.getFailResult("","删除失败");
}
}
@RequestMapping("/shop")
@RestController
@Slf4j
public class indexController {
@Resource
private ICategoryService categoryService;
@Resource
private IGoodsService goodsService;
@Resource
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/users")
public class UserController {
@Resource
private IUserService iUserService;
/**
* 进行分页查询
*/
@GetMapping
public Result getList(@RequestParam Map<String, Object> param) {
InitUtil.initPage(param);
int num = Integer.parseInt(param.get("page").toString());
int limit = Integer.parseInt(param.get("limit").toString());
QueryWrapper<User> wrapper = new QueryWrapper<>();
InitUtil.initEq(param, wrapper, "active","username");
IPage<User> page = new Page<>(num, limit);
return Result.getSuccessResult(iUserService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/{id}")
public Result getById(@PathVariable int id) {
User iUser = iUserService.getById(id);
if (iUser == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iUser);
}
}
/**
* 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
*/
@PutMapping("/{id}")
public Result update(@RequestBody Shoppingcart iShoppingcart, @PathVariable int id) {
iShoppingcart.setId(id);
if (iShoppingcartService.updateById(iShoppingcart)){
return Result.getSuccessResult("","修改成功");
}
return Result.getFailResult("","修改失败");
}
/**
* active 字段 相当于激活一样 设置字段的有效性 active=1 有效
*/
@PutMapping("/back/{id}")
public Result back(@PathVariable int id) {
Shoppingcart iShoppingcart = new Shoppingcart();
iShoppingcart.setId(id);
iShoppingcart.setActive(1);
if (iShoppingcartService.updateById(iShoppingcart)){
return Result.getSuccessResult("","激活成功");
}
return Result.getFailResult("","激活失败");
}
/**
* active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
*/
@PutMapping("/del/{id}")
public Result loginDel(@PathVariable int id) {
Shoppingcart iShoppingcart = new Shoppingcart();
iShoppingcart.setId(id);
iShoppingcart.setActive(0);
if (iShoppingcartService.updateById(iShoppingcart)){
return Result.getSuccessResult("","设置失效成功");
}
return Result.getFailResult("","设置失效失败");
}
/**
/**
* 进行分页查询
*/
@GetMapping
public Result getList(@RequestParam Map<String, Object> param) {
InitUtil.initPage(param);
int num = Integer.parseInt(param.get("page").toString());
int limit = Integer.parseInt(param.get("limit").toString());
QueryWrapper<Goods> wrapper = new QueryWrapper<>();
InitUtil.initEq(param, wrapper, "active","user_id");
IPage<Goods> page = new Page<>(num, limit);
return Result.getSuccessResult(iGoodsService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/{id}")
public Result getById(@PathVariable int id) {
Goods iGoods = iGoodsService.getById(id);
if (iGoods == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iGoods);
}
/**
* name : 需要检查那个字段的value是否在数据库存在
* 比如/check/RegistworkName?value=阿司匹林 :检查数据库是否存在RegistworkName='阿司匹林'
*/
@GetMapping("/check/{name}")
public Result checkName(@PathVariable String name,@RequestParam String value){
QueryWrapper<Goods> wrapper = new QueryWrapper<>();
wrapper.eq(name, value);
if (iGoodsService.getOne(wrapper) != null){
return Result.getFailResult();
}
return Result.getSuccessResult();
}
/**
public Result getById(@PathVariable int id) {
Address iAddress = iAddressService.getById(id);
if (iAddress == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iAddress);
}
/**
* 向表中添加一条记录
*/
@PostMapping()
public Result save(@RequestBody Address iAddress,HttpServletRequest request) {
QueryWrapper<Address> wrapper = new QueryWrapper<>();
String token = request.getHeader("Authorization");
int userId = JWT.decode(token).getClaim("id").asInt();
iAddress.setUserId(userId);
if (iAddressService.save(iAddress)){
return Result.getSuccessResult("","添加成功");
}
return Result.getFailResult("","添加失败");
}
/**
* 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
*/
@PutMapping("/{id}")
public Result update(@RequestBody Address iAddress, @PathVariable int id,HttpServletRequest request) {
judge(request,id);
iAddress.setId(id);
if (iAddressService.updateById(iAddress)){
return Result.getSuccessResult("","修改成功");
}
return Result.getFailResult("","修改失败");
}
/**
* 在数据表中真正的删除一条记录, 先根据用户token和id 判断 地址记录是否存在
*/
@DeleteMapping("/{id}")
public Result delById(@PathVariable int id,HttpServletRequest request) {
judge(request,id);
if (iAddressService.removeById(id)){
return Result.getSuccessResult("","删除成功");
}
return Result.getFailResult("","删除失败");
}
}
wrapper.like("name",name).or().like("detail",name);
}
IPage<Goods> page = new Page<>(num, 8);
return Result.getSuccessResult(goodsService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/goods/{id}")
public Result getById(@PathVariable int id) {
Goods iGoods = goodsService.getById(id);
if (iGoods == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iGoods);
}
}
/**
* <p>
@RequestMapping("/shop")
@RestController
@Slf4j
public class indexController {
@Resource
private ICategoryService categoryService;
@Resource
private IGoodsService goodsService;
@Resource
private IUserService userService;
@GetMapping("/category")
public Result getListByTree() {
return Result.getSuccessResult(categoryService.listByTree());
}
@GetMapping("/goods")
public Result getGoods(){
QueryWrapper<Category> wrapper = new QueryWrapper<>();
wrapper.eq("active",1).eq("parent_id",0);
List<Category> categories = categoryService.list(wrapper);
List<JSONObject> result = new ArrayList<>();
for (Category i:categories) {
wrapper.clear();
wrapper.eq("active",1).eq("parent_id",i.getId());
/**
* 向表中添加一条记录
*/
@PostMapping("/user/register")
public Result save(@RequestBody User user) {
user.setRoleId(4);
if (StringUtils.isEmpty(user.getPassword())){
user.setPassword(ShaUtil.getSHA256("123456"));
} else {
user.setPassword(ShaUtil.getSHA256(user.getPassword()));
}
if (userService.save(user)){
return Result.getSuccessResult("","注册成功");
}
return Result.getFailResult("","注册失败");
}
/**
* 商品搜索
* @param param
* @return
*/
@GetMapping("/goods/search")
public Result getList(@RequestParam Map<String, Object> param) {
int num = 1;
if (!StringUtils.isEmpty(param.get("page"))){
num = Integer.parseInt(param.get("page").toString());
}
QueryWrapper<Goods> wrapper = new QueryWrapper<>();
wrapper.eq("active",1);
Object name = param.get("name");
if (!StringUtils.isEmpty(name)) {
wrapper.like("name",name).or().like("detail",name);
}
IPage<Goods> page = new Page<>(num, 8);
return Result.getSuccessResult(goodsService.page(page, wrapper));
}
/**
* 通过主键id在表中查找信息
*/
@GetMapping("/goods/{id}")
public Result getById(@PathVariable int id) {
Goods iGoods = goodsService.getById(id);
if (iGoods == null) {
return Result.getFailResult("","无记录");
}
return Result.getSuccessResult(iGoods);
}





更多推荐


所有评论(0)