作者主页:编程指南针
简介:Java领域优质创作者、CSDN博客专家 Java项目、简历模板、学习资料、面试题库、技术互助
文末获取源码
项目编号:BS-XCX-002
运行环境
jdk8+tomcat8+mysql5.7以上+eclipse+maven
项目技术(必填)
spring+spring mvc+mybatis+dubbo+zookeeper+redis
项目说明:
本项目实现了一个微信小程序商城系统,后台主要基于SSM框架开发,前端使用微信小程序开发实现,实现了一个商城系统的基本功能。
后台功能实现主要包含:
商品管理订单管理图片管理评论管理用户管理地址管理系统管理
前端小程序主要实现了:
商品浏览信息查询添加购物车在线下单购买收货地址管理订单信息查询
下面展示一个前后台系统:
后台管理系统:
登陆系统
商品管理
订单管理
图片管理
评论管理
用户管理
地址管理
系统管理
前端小程序展示:
首页
详情展示
添加购物车
确认订单
分类查看
我的订单
系统部分核心代码:
package com.yun.smart.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.yun.smart.builder.JsonResultBuilder;
import com.yun.smart.consts.SessionConsts;
import com.yun.smart.enums.BussinessType;
import com.yun.smart.log.BussinessLogger;
import com.yun.smart.log.BussinessLoggerPool;
import com.yun.smart.model.OrderComment;
import com.yun.smart.param.OrderCommentAddParams;
import com.yun.smart.param.OrderCommentDeleteParams;
import com.yun.smart.param.OrderCommentResponseParams;
import com.yun.smart.param.OrderCommentSearchParams;
import com.yun.smart.param.OrderCommentUpdateParams;
import com.yun.smart.result.JsonResult;
import com.yun.smart.service.OrderCommentService;
import com.yun.smart.utils.AssertUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping("/smart/orderComment")
@Api(value = "评论接口")
public class OrderCommentController extends baseController {
private BussinessLogger logger = BussinessLoggerPool.getLogger(this.getClass(), BussinessType.ORDERCOMMENT);
@Resource
private OrderCommentService orderCommentService;
@RequestMapping(value="/pc/v1/searchPage",method=RequestMethod.POST)
@ApiOperation(value = "分页查询订单评论", notes = "分页查询订单评论")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult searchPage(OrderCommentSearchParams params){
logger.info("OrderCommentController-分页查询订单评论入参:{}",params);
AssertUtil.notNull(params, "参数为空");
Page
package com.yun.smart.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.yun.smart.builder.JsonResultBuilder;
import com.yun.smart.consts.SessionConsts;
import com.yun.smart.result.JsonResult;
import com.yun.smart.controller.baseController;
import com.yun.smart.enums.BussinessType;
import com.yun.smart.log.BussinessLogger;
import com.yun.smart.log.BussinessLoggerPool;
import com.yun.smart.model.OrderInfo;
import com.yun.smart.param.OrderInfoAddParams;
import com.yun.smart.param.OrderInfoDeleteParams;
import com.yun.smart.param.OrderInfoSearchParams;
import com.yun.smart.param.OrderInfoSubmitParams;
import com.yun.smart.param.OrderInfoUpdateParams;
import com.yun.smart.service.OrderInfoService;
import com.yun.smart.utils.AssertUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping("/smart/orderInfo")
@Api(value = "订单接口")
public class OrderInfoController extends baseController {
private BussinessLogger logger = BussinessLoggerPool.getLogger(this.getClass(), BussinessType.ORDERINFO);
@Resource
private OrderInfoService orderInfoService;
@RequestMapping(value="/pc/v1/searchPage",method=RequestMethod.POST)
@ApiOperation(value = "分页查询订单", notes = "分页查询所有订单")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult searchPage(OrderInfoSearchParams params){
logger.info("OrderInfoController-分页查询入参:{}",params);
Page
package com.yun.smart.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.yun.smart.builder.JsonResultBuilder;
import com.yun.smart.consts.SessionConsts;
import com.yun.smart.result.JsonResult;
import com.yun.smart.controller.baseController;
import com.yun.smart.enums.BussinessType;
import com.yun.smart.log.BussinessLogger;
import com.yun.smart.log.BussinessLoggerPool;
import com.yun.smart.model.OrderNotice;
import com.yun.smart.param.OrderNoticeAddParams;
import com.yun.smart.param.OrderNoticeDeleteParams;
import com.yun.smart.param.OrderNoticeSearchParams;
import com.yun.smart.param.OrderNoticeUpdateParams;
import com.yun.smart.service.OrderNoticeService;
import com.yun.smart.utils.AssertUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping("/smart/orderNotice")
@Api(value = "消息接口")
public class OrderNoticeController extends baseController {
private BussinessLogger logger = BussinessLoggerPool.getLogger(this.getClass(), BussinessType.ORDERNOTICE);
@Resource
private OrderNoticeService orderNoticeService;
@RequestMapping(value="/pc/v1/searchPage",method=RequestMethod.POST)
@ApiOperation(value = "分页查询消息", notes = "分页查询消息")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult searchPage(OrderNoticeSearchParams params){
logger.info("OrderNoticeController-分页查询入参:{}",params);
Page> result = orderNoticeService.searchPage(params);
return JsonResultBuilder.ok(result);
}
@RequestMapping(value="/pc/v1/searchList",method=RequestMethod.POST)
@ApiOperation(value = "查询消息列表", notes = "查询消息列表")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult searchList(OrderNoticeSearchParams params){
logger.info("OrderNoticeController-查询列表入参:{}",params);
List result = orderNoticeService.searchList(params);
return JsonResultBuilder.ok(result);
}
@RequestMapping(value="/pc/v1/searchDetail",method=RequestMethod.POST)
@ApiOperation(value = "查询消息详情", notes = "查询消息详情")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult searchDetail(OrderNoticeSearchParams params){
logger.info("OrderNoticeController-查询详情入参:{}",params);
OrderNotice result = orderNoticeService.searchDetail(params);
return JsonResultBuilder.ok(result);
}
@RequestMapping(value="/pc/v1/add",method=RequestMethod.POST)
@ApiOperation(value = "新建消息", notes = "新建消息")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult add(OrderNoticeAddParams params){
logger.info("OrderNoticeController-新建入参:{}",params);
orderNoticeService.add(params);
return JsonResultBuilder.ok();
}
@RequestMapping(value="/pc/v1/update",method=RequestMethod.POST)
@ApiOperation(value = "更新消息", notes = "更新消息")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult update(OrderNoticeUpdateParams params){
logger.info("OrderNoticeController-更新入参:{}",params);
orderNoticeService.update(params);
return JsonResultBuilder.ok();
}
@RequestMapping(value="/pc/v1/delete",method=RequestMethod.POST)
@ApiOperation(value = "删除消息", notes = "删除消息")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult delete(OrderNoticeDeleteParams params){
logger.info("OrderNoticeController-删除入参:{}",params);
orderNoticeService.delete(params);
return JsonResultBuilder.ok();
}
@RequestMapping(value="/pc/v1/deleteByIds",method=RequestMethod.POST)
@ApiOperation(value = "批量删除消息", notes = "批量删除消息")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult deleteByIds(OrderNoticeDeleteParams params){
logger.info("OrderNoticeController-批量删除入参:{}",Arrays.toString(params.getIds()));
orderNoticeService.deleteByIds(params);
return JsonResultBuilder.ok();
}
@RequestMapping(value="/pc/v1/changeNoticeStatus",method=RequestMethod.POST)
@ApiOperation(value = "设置消息已读", notes = "设置消息已读")
@ApiImplicitParams({
@ApiImplicitParam(name = SessionConsts.AUTH_TOKEN_NAME, value = "token", paramType = "header", dataType = "string")
})
public JsonResult changeNoticeStatus(OrderNoticeUpdateParams params){
logger.info("OrderNoticeController-设置消息已读入参:{}",params);
AssertUtil.notNull(params, "参数为空");
AssertUtil.notNull(params.getId(), "消息ID为空");
orderNoticeService.changeNoticeStatus(params);
return JsonResultBuilder.ok();
}
}