基于javaweb+mysql的springboot校园二手商品系统(java+springboot+vue+maven+mysql+redis)

基于javaweb+mysql的springboot校园二手商品系统(java+springboot+vue+maven+mysql+redis)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot校园二手商品系统(java+springboot+vue+maven+mysql+redis)

一、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。

    }

    @PostMapping("/reCharge")
    public Result reCharge(@RequestBody Map<String, Object> map){
        UpdateWrapper<Bank> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("bank_account", map.get("bankAccount"));
        updateWrapper.set("money", map.get("money"));
        bankService.update(updateWrapper);
        return Result.success(null);
    }

    @PostMapping("/changeUserInfo")
    public Result changeUserInfo(@RequestBody Map<String, Object> map){
        UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", map.get("id"));
        updateWrapper.set("telephone", map.get("telephone")).set("email", map.get("email"))
                .set("city", map.get("city")).set("bankAccount", map.get("bankAccount"));
        userService.update(updateWrapper);
        UpdateWrapper<Bank> updateWrapper1 = new UpdateWrapper<>();
        updateWrapper1.eq("id", map.get("bankId"));
        updateWrapper1.set("bank_account", map.get("bankAccount"));
        bankService.update(updateWrapper1);
        return Result.success(null);
    }
}

@RestController
        bankService.update(updateWrapper);
        return Result.success(null);
    }

    @PostMapping("/changeUserInfo")
    public Result changeUserInfo(@RequestBody Map<String, Object> map){
        UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", map.get("id"));
        updateWrapper.set("telephone", map.get("telephone")).set("email", map.get("email"))
                .set("city", map.get("city")).set("bankAccount", map.get("bankAccount"));
        userService.update(updateWrapper);
        UpdateWrapper<Bank> updateWrapper1 = new UpdateWrapper<>();
        updateWrapper1.eq("id", map.get("bankId"));
        updateWrapper1.set("bank_account", map.get("bankAccount"));
        bankService.update(updateWrapper1);
        return Result.success(null);
    }
}

@RestController
@CrossOrigin
public class ShoppingController {

    @Autowired
    CartService cartService;

    @Autowired
            business.setPass(-1);
            changePassDTO.setPass(-1);
        } else {
            business.setPass(1);
            changePassDTO.setPass(1);
        }
        boolean update = businessService.saveOrUpdate(business);
        return Result.success(changePassDTO);
    }
}

@RestController
@CrossOrigin
public class AccountController {

    @Autowired
    JwtUtils jwtUtils;

    @Autowired
    UserService userService;

    @Autowired
    IntegralService integralService;

//    @PostMapping("/save")
//    public Result save(@Validated @RequestBody User user){
//
//        return Result.success(user);

@RestController
@CrossOrigin
public class GetVerifyController {

    @GetMapping("/verify")
    public void verify(String num, HttpServletResponse response) throws IOException {
        VerifyCode verifyCode = GetVerifyCode.getVerify(num);
        response.setDateHeader("expires", 0);
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setContentType("image/jpeg");
        response.getOutputStream().write(verifyCode.getImgBytes());
        response.getOutputStream().flush();
    }

    @GetMapping("/code")
    public Result code(String num) throws IOException {
        VerifyCode verifyCode = GetVerifyCode.getVerify(num);
        return Result.success(verifyCode.getCode());
    }
}

@Slf4j
@RestControllerAdvice
public class GlobExceptionHandler {

    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ExceptionHandler(value = MethodArgumentNotValidException.class)
    public Result handler(MethodArgumentNotValidException e){
        log.error("------实体校验异常-------");
        return Result.fail(e.getFieldError().getDefaultMessage());
    }

    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ExceptionHandler(value = ExpiredCredentialsException.class)
    public Result handler(ExpiredCredentialsException e){
    }

    @PostMapping("/changeGood")
    public Result changeGood(@RequestBody Goods goods){
        UpdateWrapper<Goods> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", goods.getId());
        updateWrapper.set("piece", goods.getPiece()).set("pass", goods.getPass());
        goodsService.update(updateWrapper);
        return Result.success(null);
    }
}

@RestController
@CrossOrigin
public class OrderController {

	@Autowired
	OrderService orderService;

	@Autowired
	GoodsService goodsService;

	@Autowired
	ReceiveService receiveService;

	@Autowired
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", loginDTO.getId());
        User user = userService.getOne(queryWrapper);
        if(user.getPass() == 1){
            user.setPass(-1);
        } else {
            user.setPass(1);
        }
        boolean update = userService.update(user, queryWrapper);
        return Result.success(user);
    }
    public static void main(String[] args) {
    	System.out.println(SecureUtil.md5("admin"));
	}
}

@RestController
@CrossOrigin
public class BankController {

	@Autowired
	BankService bankService;

	@Autowired
	UserService userService;

	@Autowired
	IntegralService integralService;


@RestController
@CrossOrigin
public class UserInfoController {

    @Autowired
    EvaluatesService evaluatesService;

    @Autowired
    ReceiveService receiveService;

    @Autowired
    UserService userService;

    @Autowired
    BankService bankService;

    @PostMapping("/address")
    public Result addAddress(@RequestBody Receive receive){
        receiveService.save(receive);
        return Result.success(null);
    }

    @GetMapping("/address/{userId}")
    public Result getAddress(@PathVariable Long userId){
        List<Receive> addresses = receiveService.getAddressByUserId(userId);
        return Result.success(addresses);
    }

    @PostMapping("/deleteAddress")
    public Result deleteAddress(@RequestBody Map<String, Long> map){
        receiveService.removeById(map.get("id"));
        return Result.success(null);
    }

    @GetMapping("/getUserInfo/{userId}")
    public Result getUserInfo(@PathVariable Long userId){
        User user = userService.getById(userId);
        QueryWrapper<Bank> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("bank_account", user.getBankaccount());
        Bank bank = bankService.getOne(queryWrapper);
        Map<String, Object> map = BeanUtil.beanToMap(user);
        map.put("money", bank.getMoney());
        map.put("bankId", bank.getId());
        return Result.success(map);
    }


    /**
     * 管理员查看所有商品
     * @param loginDTO
     * @return
     */
    @RequiresAuthentication
    @PostMapping("/goods")
    public Result allGoods(@RequestBody LoginDTO loginDTO){
        if(loginDTO.getLevel() == 1){
            List<Goods> allGoods = goodsService.getAllGoods();
            List<Map<String, Object>> goodsInfo = new ArrayList<>();
            allGoods.forEach(goods -> {
                Map<String, Object> map = BeanUtil.beanToMap(goods);
                String shopName = businessService.getShopName(goods.getBelongId());
                map.remove("belongId");
                map.put("shopName", shopName);
                map.put("created", goods.getCreated().toLocalDate());
                map.put("picGoods", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(goods.getPicGoods()));
                goodsInfo.add(map);
            });
            return Result.success(goodsInfo);
        } else {
            return Result.fail("无权查看信息!!!");
        }
    }

    /**
     * 管理员修改商品状态
     * @param changePassDTO
     * @return
     */
    @PostMapping("/goodsPass")
    public Result gPass(@RequestBody ChangePassDTO changePassDTO){
        Goods goods = goodsService.getById(changePassDTO.getId());
        if(goods.getPass() == 1){
            goods.setPass(-1);
            changePassDTO.setPass(-1);
        } else {
            goods.setPass(1);
            changePassDTO.setPass(1);
        }
        goodsService.saveOrUpdate(goods);
        return Result.success(changePassDTO);
    }

    @GetMapping("/good/{goodId}")
    public Result getGoodById(@PathVariable("goodId") Integer goodId){
        return Result.success(goodsService.getById(goodId));
            return Result.success(listMap);
        }else{
            return Result.success(myGoods);
        }
    }

    /**
     * 商家添加商品
     * @param shopId
     * @param goods
     * @param goodsPic
     * @return
     * @throws IOException
     */
    @PostMapping("/goods/{shopId}")
    public Result addGoods(@PathVariable("shopId") Integer shopId, Goods goods, MultipartFile goodsPic) throws IOException {
        goods.setBelongId(shopId.longValue());
        goods.setPicGoods(goodsPic.getBytes());
        goods.setCreated(LocalDateTime.now());
        boolean result = goodsService.save(goods);
        return Result.success(null);
    }

    /**
     * 管理员查看所有商品
     * @param loginDTO
     * @return
     */
    @RequiresAuthentication
    @PostMapping("/goods")
    public Result allGoods(@RequestBody LoginDTO loginDTO){
        if(loginDTO.getLevel() == 1){
            List<Goods> allGoods = goodsService.getAllGoods();
            List<Map<String, Object>> goodsInfo = new ArrayList<>();
            allGoods.forEach(goods -> {
                Map<String, Object> map = BeanUtil.beanToMap(goods);
                String shopName = businessService.getShopName(goods.getBelongId());
                map.remove("belongId");
                map.put("shopName", shopName);
                map.put("created", goods.getCreated().toLocalDate());
                map.put("picGoods", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(goods.getPicGoods()));
                goodsInfo.add(map);
            });
            return Result.success(goodsInfo);
        } else {
            return Result.fail("无权查看信息!!!");
        }
            }
            if(user.getPass() == 0){
                return Result.fail("账户正在审核中!");
            } else if(user.getPass() == -1){
                return Result.fail("此账户已被锁定!");
            }
        } else {
            return Result.fail("用户名或密码错误!");
        }
        String jwt = jwtUtils.generateToken(user.getId());
        response.setHeader("Authorization", jwt);
        response.setHeader("Access-control-Expose-Headers", "Authorization");

        return Result.success(MapUtil.builder()
                .put("id", user.getId())
                .put("username", user.getUsername())
                .put("sex", user.getSex())
                .put("telephone", user.getTelephone())
                .put("email", user.getEmail())
                .put("city", user.getCity())
                .put("bank", user.getBankaccount())
                .put("level", user.getLevel())
                .map()
        );
    }

    @RequiresAuthentication
    @GetMapping("/logout")
    public Result logout(){
        SecurityUtils.getSubject().logout();
        return Result.success(null);
    }

    @PostMapping("/register")
    public Result register(@Validated @RequestBody User registerUser){
        User user = userService.getOne(new QueryWrapper<User>().eq("username", registerUser.getUsername()));
        if(user != null){
            return Result.fail("用户已存在!");
        } else {
            //registerUser.setPassword(SecureUtil.md5(registerUser.getPassword()));
            registerUser.setPassword((registerUser.getPassword()));
            registerUser.setCreated(LocalDateTime.now());
            registerUser.setLevel(0);
            registerUser.setPass(1);
            userService.save(registerUser);
            User result = userService.getOne(new QueryWrapper<User>().eq("username", registerUser.getUsername()));

        }
        return false;
    }
}

@RestController
@CrossOrigin
public class IntegralController {

	@Autowired
	IntegralService integralService;

	@PostMapping("/addIntegral")
	public Result addIntegral(@RequestBody Integral integral){
		integralService.save(integral);
		return Result.success(null);
	}

	@GetMapping("/getIntegral/{userId}")
	public Result getIntegral(@PathVariable Long userId){
		QueryWrapper<Integral> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("user_id", userId);
		Integral integral = integralService.getOne(queryWrapper);
		return Result.success(integral.getNumber());
	}

	@PostMapping("/useIntegral")
	public Result useIntegral(@RequestBody Integral integral){
		QueryWrapper<Integral> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("user_id", integral.getUserId());
		Integral getIntegral = integralService.getOne(queryWrapper);
     * @param loginDTO
     * @return
     */
    @RequiresAuthentication
    @PostMapping("/goods")
    public Result allGoods(@RequestBody LoginDTO loginDTO){
        if(loginDTO.getLevel() == 1){
            List<Goods> allGoods = goodsService.getAllGoods();
            List<Map<String, Object>> goodsInfo = new ArrayList<>();
            allGoods.forEach(goods -> {
                Map<String, Object> map = BeanUtil.beanToMap(goods);
                String shopName = businessService.getShopName(goods.getBelongId());
                map.remove("belongId");
                map.put("shopName", shopName);
                map.put("created", goods.getCreated().toLocalDate());
                map.put("picGoods", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(goods.getPicGoods()));
                goodsInfo.add(map);
            });
            return Result.success(goodsInfo);
        } else {
            return Result.fail("无权查看信息!!!");
        }
    }

    /**
     * 管理员修改商品状态
     * @param changePassDTO
     * @return
     */
    @PostMapping("/goodsPass")
    public Result gPass(@RequestBody ChangePassDTO changePassDTO){
        Goods goods = goodsService.getById(changePassDTO.getId());
        if(goods.getPass() == 1){
            goods.setPass(-1);
            changePassDTO.setPass(-1);
        } else {
            goods.setPass(1);
            changePassDTO.setPass(1);
        }
        goodsService.saveOrUpdate(goods);
        return Result.success(changePassDTO);
    }

            String time = (String) myGoodsMap.get(0).get("created");
            int size = 0;
            int index = 0;
            for (int i = 0; i < myGoodsMap.size(); i++) {
                String created = (String) myGoodsMap.get(i).get("created");
                if(created.equals(time)){
                    size++;
                } else {
                    time = created;
                    List<Map<String, Object>> goods = myGoodsMap.subList(index, index + size);
                    list.add(goods);
                    index += size;
                    size = 1;
                }
            }
            list.add(myGoodsMap.subList(index, index + size));
            List<Map<String, Object>> listMap = new ArrayList<>();
            list.forEach(val -> {
                Map<String, Object> map = new HashMap<>();
                map.put("created", val.get(0).get("created"));
                map.put("goods", val);
                listMap.add(map);
            });
            return Result.success(listMap);
        }else{
            return Result.success(myGoods);
        }
    }

    /**
     * 商家添加商品
     * @param shopId
     * @param goods
     * @param goodsPic
     * @return
     * @throws IOException
     */
    @PostMapping("/goods/{shopId}")
    public Result addGoods(@PathVariable("shopId") Integer shopId, Goods goods, MultipartFile goodsPic) throws IOException {
        goods.setBelongId(shopId.longValue());
        goods.setPicGoods(goodsPic.getBytes());
        goods.setCreated(LocalDateTime.now());
        boolean result = goodsService.save(goods);
        return Result.success(null);
    }

    @GetMapping("/goods")
    public Result getProducts(@RequestParam(defaultValue = "1") Integer currentPage){
        Page page = new Page(currentPage, 12);
        IPage pageData = goodsService.page(page, new QueryWrapper<Goods>().eq("pass", 1).orderByDesc("created"));
        return Result.success(pageData);
    }

    @GetMapping("/goodsByName")
    public Result goodsByName(@RequestParam(defaultValue = "1") Integer currentPage, String search){
        Page page = new Page(currentPage, 12);
        IPage pageData = goodsService.page(page,
                new QueryWrapper<Goods>().eq("pass", 1)
                        .like("goods_name", search)
                        .orderByDesc("created"));
        return Result.success(pageData);
    }

    @GetMapping("/goodsByShop")
    public Result goodsByShop(@RequestParam(defaultValue = "1") Integer currentPage, String search){
        Business shop = businessService.getOne(new QueryWrapper<Business>().like("shop_name", search));
        Long shopId;
        if(shop != null){
            shopId = shop.getId();
        }else{
            shopId = -1L;
        }
        Page page = new Page(currentPage, 12);
        IPage pageData = goodsService.page(page,
                new QueryWrapper<Goods>().eq("pass", 1)
                        .eq("belong_id", shopId)
                        .orderByDesc("created"));
        return Result.success(pageData);
    }

    /**
     * 商家查看自己店铺中的商品
     * @param shopId
     * @return
     */
    @GetMapping("/goods/{shopId}")
    public Result getMyProducts(@PathVariable("shopId") Integer shopId){
        List<Goods> myGoods = goodsService.getMyGoods(shopId.longValue());
        if(myGoods.size() != 0){
            List<Map<String, Object>> myGoodsMap = new ArrayList<>();
            myGoods.forEach(goods -> {
                Map<String, Object> map = BeanUtil.beanToMap(goods);
                map.put("created", goods.getCreated().toLocalDate().toString());
                map.put("picGoods", "data:image/jpeg;base64,"+Base64.getEncoder().encodeToString(goods.getPicGoods()));
                myGoodsMap.add(map);
            });
            List<List<Map<String, Object>>> list = new ArrayList<>();
            String time = (String) myGoodsMap.get(0).get("created");
        if(loginDTO.getLevel() == 1){
            List<Business> allBusiness = businessService.getAllBusiness();
            List<Map<String, Object>> shopInfo = new ArrayList<>();
            allBusiness.forEach(business -> {
                Map<String, Object> map = BeanUtil.beanToMap(business);
                String userName = userService.getUserName(business.getUserId());
                map.remove("userId");
                map.put("username", userName);
                map.put("created", LocalDateTimeUtil.parseDate(map.get("created").toString(), DateTimeFormatter.ISO_DATE_TIME));
                map.put("picShop", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString((byte[])map.get("picShop")));
                map.put("picId", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString((byte[])map.get("picId")));
                shopInfo.add(map);
            });
            return Result.success(shopInfo);
        } else {
            return Result.fail("无权查看信息!");
        }
    }

    @PostMapping("/businessPass")
    public Result bPass(@RequestBody ChangePassDTO changePassDTO){
        Business business = businessService.getById(changePassDTO.getId());
        if(business.getPass() == 1){
            business.setPass(-1);
            changePassDTO.setPass(-1);
        } else {
            business.setPass(1);
            changePassDTO.setPass(1);
        }
        boolean update = businessService.saveOrUpdate(business);
        return Result.success(changePassDTO);
    }
}


}

@RestController
@CrossOrigin
public class UserInfoController {

    @Autowired
    EvaluatesService evaluatesService;

    @Autowired
    ReceiveService receiveService;

    @Autowired
    UserService userService;

    @Autowired
    BankService bankService;

    @PostMapping("/address")
    public Result addAddress(@RequestBody Receive receive){
        receiveService.save(receive);
        return Result.success(null);
    }

    @GetMapping("/address/{userId}")
    public Result getAddress(@PathVariable Long userId){
        List<Receive> addresses = receiveService.getAddressByUserId(userId);
        return Result.success(addresses);
    }

    @PostMapping("/deleteAddress")
    public Result deleteAddress(@RequestBody Map<String, Long> map){

@RestController
@CrossOrigin
public class GetVerifyController {

    @GetMapping("/verify")
    public void verify(String num, HttpServletResponse response) throws IOException {
        VerifyCode verifyCode = GetVerifyCode.getVerify(num);
        response.setDateHeader("expires", 0);
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setContentType("image/jpeg");
        response.getOutputStream().write(verifyCode.getImgBytes());
        response.getOutputStream().flush();
    }

    @GetMapping("/code")
    public Result code(String num) throws IOException {
        VerifyCode verifyCode = GetVerifyCode.getVerify(num);
        return Result.success(verifyCode.getCode());
    }
}

@Slf4j
@RestControllerAdvice
public class GlobExceptionHandler {
        goods.setCreated(LocalDateTime.now());
        boolean result = goodsService.save(goods);
        return Result.success(null);
    }

    /**
     * 管理员查看所有商品
     * @param loginDTO
     * @return
     */
    @RequiresAuthentication
    @PostMapping("/goods")
    public Result allGoods(@RequestBody LoginDTO loginDTO){
        if(loginDTO.getLevel() == 1){
            List<Goods> allGoods = goodsService.getAllGoods();
            List<Map<String, Object>> goodsInfo = new ArrayList<>();
            allGoods.forEach(goods -> {
                Map<String, Object> map = BeanUtil.beanToMap(goods);
                String shopName = businessService.getShopName(goods.getBelongId());
                map.remove("belongId");
                map.put("shopName", shopName);
                map.put("created", goods.getCreated().toLocalDate());
                map.put("picGoods", "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(goods.getPicGoods()));
                goodsInfo.add(map);
            });
            return Result.success(goodsInfo);
        } else {
            return Result.fail("无权查看信息!!!");
        }
    }

    /**
     * 管理员修改商品状态
     * @param changePassDTO
     * @return
     */
    @PostMapping("/goodsPass")
    public Result gPass(@RequestBody ChangePassDTO changePassDTO){
        Goods goods = goodsService.getById(changePassDTO.getId());
        if(goods.getPass() == 1){
            goods.setPass(-1);
            changePassDTO.setPass(-1);
        } else {
            goods.setPass(1);
            changePassDTO.setPass(1);
        }
        goodsService.saveOrUpdate(goods);
        return Result.success(changePassDTO);
    }

    @GetMapping("/good/{goodId}")

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值