基于javaweb的SpringBoot前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm+oss)

运行环境

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

开发工具

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

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

适用

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

功能说明

170123052402

180123052402

190123052402

200123052402

210123052402

220123052402

230123052402

122024373108

基于javaweb的SpringBoot前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm+oss)

1
2
3
4
5
6
7
8
9
10

后台管理员:
1325554003@qq.com/123456

前台用户:
user1@qq.com/123456

1 启动后端:StartApplication
2 启动前端:npm run dev

  1. 用户注册和登录功能。

2) 用户信息的管理以及角色的管理、不同用户角色具有不同的功能权限操作。 

  1. 商品的操作、包括商品列表信息、商品的分离、商品的详情、品牌和规格等操作。

4) 购物车的管理操作

5) 订单管理操作

6)用户退货管理

7)商品类型的管理

8)商品信息的预览、查看、搜索

9)修改密码、退出登录等功能

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
}


/*
https://qiustudy.utools.club/alipay/refund?orderNo=10060&payPrice=4000
*/
@ResponseBody
@RequestMapping(value = "/refund")
public CommonResult refund(@RequestParam("orderNo") String orderNo,
@RequestParam("payPrice") String payPrice) {
//发起支付
try {
alipayService.refund(orderNo,payPrice);
} catch (AlipayApiException e) {
log.info("【支付宝支付】退款失败 error={}", e.toString());
}
return CommonResult.success("退款成功");
}

@GetMapping(value = "/paySuccess")
@ResponseBody
public void success(@RequestParam Map<String, String> map,HttpServletResponse response) {
try{
String tradeNo =map.get("out_trade_no");
if(tradeNo.contains("Vip")){
Integer orderId = orderService.selectIdByKey(tradeNo);
Order order = new Order();
order.setOrderId(orderId);
order.setOrderState("开通成功");
String serialNumber = redisTemplate.opsForValue().get(tradeNo);
if(serialNumber !=null){
response.sendRedirect("http://"+hostAddress+"/?#/personalCenter?serialNumber="+serialNumber);
redisTemplate.delete(tradeNo);
}else{
response.sendRedirect("http://"+hostAddress+"/?#/personalCenter?serialNumber="+"ERROR");
}
orderService.updateById(order);
}else{
String Str = redisTemplate.opsForValue().get(tradeNo);
redisTemplate.delete(tradeNo);
assert Str != null;
String[] ordersNo = Str.split(",");
System.out.println(Arrays.toString(ordersNo));
for (String orderNo : ordersNo) {
Integer orderId = orderService.selectIdByKey(orderNo);
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 CommonResult.error("退货原因数据不存在");
}

/*查询商品退货信息*/
@RequestMapping(value = "/returnGoods/findReturnById")
private CommonResult findReturnById(Integer returnId) {
ReturnGoods returnGoods = returnGoodsService.selectById(returnId);
if(returnGoods!=null){
return CommonResult.success("退货商品查询成功",returnGoods);
}else{
return CommonResult.error("退货商品查询失败");
}
}
/*查询全部退货商品*/
@RequestMapping(value = "/returnGoods/findAllReturn")
private CommonResult findAllReturn() {
List<ReturnGoods> returnGoods = returnGoodsService.selectAll();
if(returnGoods!=null){
return CommonResult.success("退货商品查询成功",returnGoods);
}else{
return CommonResult.error("退货商品查询失败");
}
}

@RequestMapping(value = "/returnGoods/findCount")
private CommonResult findCount() {
Integer count = returnGoodsService.selectCount();
if(count!=null){
return CommonResult.success("退货订单数量查询成功",count);
}else{
return CommonResult.error("退货订单数量查询失败");
}
}

@RequestMapping(value = "/returnGoods/addReturn")
private CommonResult addReturn(ReturnGoods returnGoods) {
if(returnGoods!=null){
Integer orderId = orderService.selectIdByKey(returnGoods.getOrderNo());
System.out.println(returnGoods);
System.out.println(orderId);
Order order = new Order();
order.setOrderId(orderId);
order.setOrderState("待处理");
if (orderService.updateById(order)){
if(returnGoodsService.insertData(returnGoods)){
return CommonResult.success("添加成功",returnGoods);
}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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@RequestMapping(value = "/allow/sendHtmlRole")
public CommonResult sendRoleInfo(String sendTo, String userName, String roleInfo) {
try {
Map<String, Object> data = new HashMap<>();
data.put("userName", userName);
data.put("roleInfo", roleInfo);
data.put("year", Calendar.getInstance().get(Calendar.YEAR));
mailService.sendTemplateMail(sendTo, "权限管理", "role", data);
return CommonResult.success("授权信息发送成功");
} catch (Exception e) {
return CommonResult.error("授权信息发送失败");
}
}

@RequestMapping(value = "/allow/sendHtmlResetPwd")
public CommonResult sendResetPwd(String sendTo, String pwd) {
try {
Map<String, Object> data = new HashMap<>();
data.put("password", pwd);
data.put("year", Calendar.getInstance().get(Calendar.YEAR));
mailService.sendTemplateMail(sendTo, "重置密码", "resetpwd", data);
return CommonResult.success("新密码信息发送成功");
} catch (Exception e) {
return CommonResult.error("新密码信息发送失败");
}
}


/**
* 发送一个邮箱附件
*
* @param sendTo 收件人
*/
@RequestMapping(value = "/util/sendFile")
public String sendmailFile(String sendTo, String content) {
try {
String filePath = "F:\\IDEA\\JAVA_Program\\Springboot-Mall\\src\\main\\resources\\static\\1.zip";
mailService.sendAttachmentsMail(sendTo, "文件操作", content, filePath);
return "发送成功!";
} catch (Exception e) {
e.printStackTrace();
return "发送邮件时发生异常,稍后请重新发送!";
}
}


/**
* 验证输入的验证码是否正确
*
* @param key 验证的依据
* @param code 验证码
*/
@RequestMapping(value = "/allow/checkCode")
public CommonResult checkCode(String key, String code) {
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
            return CommonResult.error("vip信息更新失败");
}
}

//删除vip信息
@RequestMapping(value = "/vip/deleteVip")
private CommonResult deleteVip(Integer vipId) {
if(vipService.deleteById(vipId)){
return CommonResult.success("删除成功",vipId);
}else{
return CommonResult.error("删除失败");
}
}
}
package com.qiu.controller;


@CrossOrigin
@RequestMapping("/alipay")
@Slf4j
@Controller
public class AlipayController {
private final AlipayService alipayService;
private final OrderService orderService;
private final RedisTemplate<String,String> redisTemplate;
private final String hostAddress;
public AlipayController(AlipayService alipayService,OrderService orderService,RedisTemplate<String,String> redisTemplate) {
this.alipayService = alipayService;
this.orderService = orderService;
this.redisTemplate = redisTemplate;
this.hostAddress= PropertiesUtil.getServerHost() +":"+PropertiesUtil.getPort();
}

@RequestMapping("/")
private String index(){
return "index.html";
}

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
49
50
51
52
        returnGoods.setReturnState("退货完成");
returnGoods.setDealTime(new Date());
if(returnGoodsService.updateById(returnGoods)){
return CommonResult.success("更新成功",returnGoods);
}else{
return CommonResult.error("更新失败");
}
}
return CommonResult.error("商品退货数据不完整");
}

@RequestMapping(value = "/returnGoods/deleteReturn")
private CommonResult deleteReturn(Integer returnId) {
if(returnId!=null){
if(returnGoodsService.deleteById(returnId)){
return CommonResult.success("删除成功",returnId);
}else{
return CommonResult.error("删除失败");
}
}
return CommonResult.error("商品退货数据不存在");
}

/*查询物流信息*/
@RequestMapping(value = "/logistics/findInfoById")
private CommonResult findInfoById(Integer logisticId) {
Logistics logistics = logisticsService.selectById(logisticId);
if(logistics!=null){
return CommonResult.success("物流信息查询成功",logistics);
}else{
return CommonResult.error("物流信息查询失败");
}
}

/*查询全部物流信息*/
@RequestMapping(value = "/logistics/findAllInfo")
private CommonResult findAllInfo() {
List<Logistics> logistics = logisticsService.selectAll();
if(logistics!=null){
return CommonResult.success("物流信息查询成功",logistics);
}else{
return CommonResult.error("物流信息查询失败");
}
}


@RequestMapping(value = "/logistics/addInfo")
private CommonResult addInfo(Logistics logistics) {
if(logistics!=null){
if(logisticsService.insertData(logistics)){
return CommonResult.success("物流信息添加成功",logistics);
}else{


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