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

运行环境

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

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

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

功能说明

010923551103

020923551103

030923551103

040923551103

050923551103

060923551103

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

1
2
3
4
5
6
前端启动命令:npm run serve

登录用户:
admin 123456——管理员
user1 123456
user2 123456

一、项目运行 环境配置:

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

项目技术:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
}

@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);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
        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()));
Integral integral = new Integral();
integral.setUserId(result.getId());
integralService.save(integral);
return Result.success("提交成功", null);
}
}

@RequiresAuthentication
@PostMapping("/users")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42


@RestController
@CrossOrigin
public class ProductController {

@Autowired
GoodsService goodsService;

@Autowired
BusinessService businessService;

/**
* 商城首页按分页展示所有商品
* @param currentPage
* @return
*/
// @RequiresAuthentication
@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{
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
		BigDecimal price = new BigDecimal(String.valueOf(map.get("money")));
price = price.multiply(new BigDecimal(String.valueOf(percent)));

QueryWrapper<Bank> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("bank_account", map.get("bankAccount"));
Bank businessBank = bankService.getOne(queryWrapper);
Bank managerBank = bankService.getById(5L);
businessBank.setMoney(businessBank.getMoney().add(price));
// managerBank.setMoney(managerBank.getMoney().subtract(price));
List<Bank> list = new ArrayList<>();
list.add(businessBank);
// list.add(managerBank);
bankService.updateBatchById(list);
return Result.success(null);
}

@PostMapping("/reMoney")
public Result reMoney(@RequestBody Map<String, Object> map){
QueryWrapper<Bank> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("bank_account", map.get("bankAccount"));
Bank userBank = bankService.getOne(queryWrapper);
Bank managerBank = bankService.getById(5L);
BigDecimal price = new BigDecimal(String.valueOf(map.get("price")));
userBank.setMoney(userBank.getMoney().add(price));
managerBank.setMoney(managerBank.getMoney().subtract(price));
List<Bank> list = new ArrayList<>();
list.add(userBank);
list.add(managerBank);
bankService.updateBatchById(list);
return Result.success(null);
}

}
package com.myspring.xixi.controller;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

@PostMapping("/useIntegral")
public Result useIntegral(@RequestBody Integral integral){
QueryWrapper<Integral> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", integral.getUserId());
Integral getIntegral = integralService.getOne(queryWrapper);
getIntegral.setNumber(getIntegral.getNumber() - integral.getNumber());
integralService.updateById(getIntegral);
return Result.success(null);
}
}
package com.myspring.xixi.controller;



@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());
}
}
package com.myspring.xixi.controller;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
			map.put("rate", step);
map.put("userMsg", list);
return Result.success(map);
}
}

@GetMapping("/getShopDetail/{shopId}")
public Result getShopDetail(@PathVariable Long shopId){
List<Integer> goodEvaluate = evaluatesService.getGoodEvaluate(shopId);
BigDecimal rate = new BigDecimal(0);
if(goodEvaluate.size() != 0){
int step = 0;
for (Integer integer : goodEvaluate) {
step += integer;
}
rate = new BigDecimal(step);
rate = rate.divide(new BigDecimal(goodEvaluate.size()), 1, RoundingMode.HALF_UP);
}
String shopName = businessService.getShopName(shopId);
Map<String, Object> map = new HashMap<>();
map.put("rate", rate);
map.put("shopName", shopName);
return Result.success(map);
}
}
package com.myspring.xixi.shiro;



@Component
public class JwtFilter extends AuthenticatingFilter {

@Autowired
JwtUtils jwtUtils;

@Override
protected AuthenticationToken createToken(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {


项目链接:
https://javayms.github.io?id=481023491103200yw
https://javayms.pages.dev?id=481023491103200yw