基于javaweb+mysql的springboot在线服装销售商城系统(java+springboot+maven+vue+mysql)

基于javaweb+mysql的springboot在线服装销售商城系统(java+springboot+maven+vue+mysql)

运行环境

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

开发工具

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

前端:WebStorm/VSCode/HBuilderX等均可

适用

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

功能说明

基于javaweb+mysql的SpringBoot在线服装销售商城系统(java+springboot+maven+vue+mysql)

一、项目运行 环境配置:

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

项目技术:

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

        return Result.success(null);
    }

    /**
     * @Param:
     * @Date
     */
    @ApiOperation(value = "轮播图展示", notes = "用户端-查询所有轮播图")
    @GetMapping("/rotation_chart")
    public Result<List<Rotation>> rotationChart(){
        List<Rotation> rotationList = homeService.rotationChart();
        return Result.success(rotationList);
    }

    /**
     * @Param: rotationId
     * @Date
     */
    @ApiOperation(value = "删除轮播图", notes = "管理员端-删除轮播图")
    @DeleteMapping("/rotation_delete/{rotationId}")
    public Result<Object> rotationDelete(@PathVariable int rotationId){
        homeService.rotationDelete(rotationId);
        return Result.success(null);
    }

}
package tech.yxing.clothing.myshiro;

public class MyShiro {

    //盐,用于混交md5
    private static final String slat = "@gnihtolc#namoaix$";

    /**
     * @methodDesc 密码加密
     * @param password
     * @return String
     */
    public static String securityPassword(String password){
        String secPassword = "clot" + password + "hing";
        return secPassword;
    }

     */
    @ApiOperation(value = "商品尺码信息页面展示", notes = "用户端-查询某个商品的尺码")
    @GetMapping("/goods_size/{goodsId}")
    public Result<List<GoodsSize>> goodsSize(@PathVariable int goodsId){
        return Result.success(goodsService.goodsSize(goodsId));
    }

    /**
     * @Param: goodsId
     * @return: Result<>
     */
    @ApiOperation(value = "下架商品", notes = "管理员端-删除商品")
    @DeleteMapping("/goods_delete/{goodsId}")
    public Result<Object> goodsDelete(@PathVariable int goodsId){
        goodsService.goodsDelete(goodsId);
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员上架某商品1:上传图片
     * @Param: MultipartFile
     * @return: Result<>
     */
    @ApiOperation(value = "上架商品-上传图片", notes = "管理员端-上架商品-上传图片")
    @PostMapping("/goods_upload")
    public Result<String> goodsInsert(@RequestParam("imge") MultipartFile picture) throws Exception {
        String pictureUrl = goodsService.goodsImgUpload(picture);
        return Result.success(pictureUrl);
    }

    /**
     * @methodDesc: 管理员上架某商品2:添加商品信息
     * @Param: GoodsUploadVo
     * @return: Result<>
     */
    @ApiOperation(value = "上架商品-添加商品信息", notes = "管理员端-上架商品-添加商品信息")
    @PostMapping("/goods_insert")
    public Result<Object> goodsInsert(@RequestBody GoodsUploadVo goodsUploadVo) {
        goodsService.goodsInsert(goodsUploadVo);
        return Result.success(null);
    }

    @GetMapping("/get_edit/{goodsId}")
    public Result<GoodsSizeDto> getGoodsAndSize(@PathVariable int goodsId){
        return Result.success(goodsService.getGoodsAndSize(goodsId));
    }
 */
@Api(tags = "用户端-用户服务接口列表")
@RestController
@RequestMapping("/user")
public class UserController {

    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private UserService userService;
//    @Autowired
//    private RedisService redisService;

    /**
     * @methodDesc: 用户信息管理
     * @Param: userVo
     * @return: Result<UserVo>
     */
    @ApiOperation(value = "修改用户信息管理", notes = "用户端-添加用户信息")
    @PutMapping("/user_info/{userId}")
    public Result<UserVo> insertUserInfo(@PathVariable int userId,@RequestBody UserVo userVo){
        logger.info(userId+userVo.toString());
        return Result.success(userService.insertUserInfo(userId,userVo));
    }

    /**
     * @methodDesc: 用户信息管理
     * @Param: userVo
     * @return: Result<UserVo>
     */
    @ApiOperation(value = "修改用户信息管理", notes = "用户端-添加用户信息")
    @PutMapping("/update_info")
    public Result<UserVo> updateUserInfo(HttpServletRequest request,@RequestBody UserVo userVo){
        logger.info(userVo.toString());
        String token = request.getHeader("Authorization");
        logger.info("token:"+token);
        if (token == null || "".equals(token)){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
        User user = userService.getUserByUname(username);
        logger.info(user.toString());
        if (user == null){
    @Autowired
    private CartService cartService;
    @Autowired
    private UserService userService;
    /**
     * @Param:
     * @return: Result<>
     */
    @ApiOperation(value = "商品加入购物车", notes = "用户端-商品添加购物车")
    @PostMapping("/cart_insert")
    public Result<Object> cartInsert(HttpServletRequest request, @RequestBody CartVo cartVo){
        //提取token的username
        String username = MyShiro.drawUsername(request);
        User user = userService.getUserByUname(username);
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(request.getHeader("Authorization"),user.getUsername(),user.getPassword());
        //判断result是否为null
        if (result == null) {
            //为null返回错误信息
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        //result不为null继续操作
        cartService.cartInsert(cartVo);
        return Result.success(null);
    }

    /**
     * @Param: userId
     * @return: List<ShoppingCart>
     */
    @ApiOperation(value = "购物车列表", notes = "用户端-显示购物车")
    @GetMapping("/cart_show")
    public Result<List<CartAndGoodsDto>> cartShow(HttpServletRequest request){
        String username = MyShiro.drawUsername(request);
        User user = userService.getUserByUname(username);
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(request.getHeader("Authorization"),user.getUsername(),user.getPassword());
        //判断result是否为null
        if (result == null) {
            //为null返回错误信息和登录url
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Double balance = userService.getBalance(user.getUserId());
        return Result.success(String.valueOf(balance));
    }

    @DeleteMapping("/delete/{userId}")
    public Result<Object> delUser(@PathVariable int userId){
        userService.delUser(userId);
        return Result.success(null);
    }

    @GetMapping("/list/{page}")
    public Result<PageInfo<User>> listUser(@PathVariable String page){
        Integer num = Integer.parseInt(page);
        PagesVo pagesVo = new PagesVo(num);
        return Result.success(userService.listUser(pagesVo));
    }
}
package tech.yxing.clothing.controller;

//        mqSender.sendHeader("hello,imooc");
//        return Result.success("Hello , world");
//    }
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-用户服务接口列表")
@RestController
@RequestMapping("/user")
public class UserController {

    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private UserService userService;
//    @Autowired
//    private RedisService redisService;

@RequestMapping("orders")
public class OrdersController {
    @Autowired
    private OrdersService ordersService;
    @Autowired
    private UserService userService;
//    @Autowired
//    private MQReceiver mqReceiver;
//    @Autowired
//    private MQSender mqSender;
    /**
     * @methodDesc: 用户购买商品
     * @Param: ordersList
     * @return: Result<Orders>
     */
    @ApiOperation(value = "添加订单", notes = "用户端-通过页面传值把商品的信息提交到确认订单页面,点击提交订单把该订单信息存到order_list、order,并在order_log里记录下单时间。")
    @PostMapping("/orders_submit")
    public Result<Orders> ordersSubmit(HttpServletRequest request, @RequestBody OrdersListVo ordersListVo){
        String username = MyShiro.drawUsername(request);
        User user = userService.getUserByUname(username);
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(request.getHeader("Authorization"),user.getUsername(),user.getPassword());
        if (result == null) {
            //为null返回错误信息
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        //result不为null继续操作
        return Result.success(ordersService.ordersSubmit(ordersListVo));
    }

    /**
     * @methodDesc: 用户支付
     * @Param: orderId
     * @return: Result<Object>
     */
    @ApiOperation(value = "用户支付", notes = "用户端-提交订单后根据订单id,查询该订单的价钱,完成支付,在order_log中记录支付时间提示支付成功,返回首页")
    @PutMapping("/order_pay/{orderId}")
    public Result<Object> ordersPay(@PathVariable int orderId){
        ordersService.ordersPay(orderId);
        return Result.success(null);
    }

    /**
     * @methodDesc: 查询所有订单
     * @Param: userId
     * @return: Result<>
     */
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-主页服务接口列表")
@RestController
@RequestMapping("/home")
public class HomeController {

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    @Autowired
    private HomeService homeService;
    /**
     * @Param: keyWord
     * @Date
     */
    @ApiOperation(value = "搜索商品", notes = "用户端-查询商品")
    @GetMapping("/search/{keyWord}")
    public Result<List<Goods>> search(@PathVariable String keyWord){
        return Result.success(homeService.search(keyWord));
    }

    /**
     * @methodDesc: 管理员上传轮播图1:上传图片
     * @Param: MultipartFile
     * @Date
     */
    @ApiOperation(value = "上传轮播图", notes = "管理员端-管理员上传轮播图")
    @PostMapping("/rotation_upload")
        return Result.success(cartService.cartOrder(shoppingCartList));
    }
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-管理员服务接口列表")
@RestController
@RequestMapping("/manager")
public class ManagerController {

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    @Autowired
    private ManagerService managerService;
    /**
     * @methodDesc: 管理员登录
     * @Param: username.password,model
     * @return: Result<>
     */
    @ApiOperation(value = "管理员登录", notes = "管理员端-管理员登录")
    @PostMapping("/manager_login")
    public Result<TokenId> managerLogin(@RequestBody LoginVo loginVo){
        return Result.success(managerService.managerLogin(loginVo));
    }

    /**
     * @methodDesc: 管理员注册
    public Result<Object> ordersAppraise(@PathVariable int orderListId, @RequestBody AppraiseVo appraiseVo){
        ordersService.goodsAppraise(orderListId,appraiseVo.getAppraise());
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员查询所有订单
     * @Param:
     * @return: Result<List<Orders>>
     */
    @ApiOperation(value = "查询所有订单", notes = "管理员端-获取用户下的所有订单")
    @GetMapping("/orders_show_all")
    public Result<List<Orders>> ordersShowAll(){
        return Result.success(ordersService.ordersShowAll());
    }

    /**
     * @methodDesc: 管理员修改订单状态,记录日志
     * @Param: orderId,managerId
     * @return: Result<>
     */
    @PutMapping("/orders_log")
    @ApiOperation(value = "修改订单状态,记录日志", notes = "管理员端-管理员通过orderId修改订单状态,记录日志")
    public Result<Object> ordersLog(@RequestBody ChangeStateVo changeStateVo){
        ordersService.ordersLog(changeStateVo);
        return Result.success(null);
    }
    /**
     * @methodDesc: 获取评论
     * @Param: goodsId
     * @return: Result<String>
     */
    @ApiOperation(value = "显示某商品所有评价", notes = "用户端-查询某商品的累计评价")
    @GetMapping("/goods_appraise/{goodsId}")
    public Result<List<String>> ordersAppraise(@PathVariable int goodsId){
        System.out.println(goodsId);
        return Result.success(ordersService.ordersAppraise(goodsId));
    }

    /**
     * @methodDesc: 获取所有订单(AllOrderDto)
     * @Param: userId
     * @return: Result<AllOrderDto>
     */
    @ApiOperation(value = "用户查询所有订单", notes = "用户端-用户查询所有订单")
    @GetMapping("/get_orders/{userId}")
    public Result<List<AllOrdersDto>> getOrders(@PathVariable int userId){
        managerService.editGoods(goodsSizeDto);
        return Result.success(null);
    }
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-登录服务接口列表")
@RestController
@RequestMapping("/login")
public class LoginController {
    @Autowired
    private UserService userService;
    /**
     * @methodDesc: 用户登录
     * @Param: username.password
     * @return: Result<>
    @PostMapping("/manager_register")
    public Result<Integer> managerRegister(@RequestBody LoginVo loginVo){
        return Result.success(managerService.managerRegister(loginVo));
    }

    /**
     * @methodDesc: 管理员信息管理
     * @Param: managerVo
     * @return: Result<ManagerVo>
     */
    @ApiOperation(value = "管理员信息管理", notes = "管理员端-管理员信息管理添加、修改")
    @PutMapping("/manager_info{managerId}")
    public Result<ManagerVo> managerInfo(@PathVariable int managerId,@RequestBody ManagerVo managerVo){
        return Result.success(managerService.managerInfo(managerId,managerVo));
    }

    /**
     * @Param: managerId
     * @Date
     */
    @ApiOperation(value = "显示管理员信息", notes = "管理员端-查询管理员信息")
    @GetMapping("/manager_show/{managerId}")
    public Result<ManagerVo> managerShow(HttpServletRequest request,@PathVariable int managerId){
        String token = request.getHeader("Authorization");
        logger.info("token:"+token);
        if (token == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
        Manager manager = managerService.getManagerByUname(username);
        logger.info(manager.toString());
        if (manager == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(token,manager.getUsername(),manager.getPassword());
        //判断result是否为null
        if (result == null) {
            //为null返回错误信息和登录url
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        ManagerVo managerVo = managerService.managerShow(managerId);
        return Result.success(managerVo);
    }

    @PostMapping("/edit")
    public Result<Object> editGoods(@RequestBody GoodsSizeDto goodsSizeDto){
        managerService.editGoods(goodsSizeDto);
     * @param request
     * @return String
     */
    public static String drawUsername(HttpServletRequest request){
        String token = request.getHeader("Authorization");
        System.out.println("token:"+token);
        if (token == null){
            throw new GlobleException(CodeMsg.NOT_YET_LOGIN);
        }
        try {
            String username = token.substring(0,token.indexOf("."));
            System.out.println("username:"+username);
            return username;
        } catch (Exception e){
            throw new GlobleException(CodeMsg.NOT_YET_LOGIN);
        }

    }

    public static void main(String[] args){
        LoginVo loginVo1 = new LoginVo("966966","966966");
        LoginVo loginVo2 = new LoginVo("efg","456");
        String token1 = MyShiro.createToken(loginVo1);
        String token2 = MyShiro.createToken(loginVo2);
        System.out.println(token1);
        System.out.println(token1.substring(0,token1.indexOf(".")));
//        System.out.println("D:\\work\\workspace\\clothing\\static\\1.jpg".substring("D:\\work\\workspace\\clothing\\static\\1.jpg".indexOf("g")+1));
    }
}
package tech.yxing.clothing.exception;

@ControllerAdvice(basePackages = "tech.yxing.clothing.controller")
@ResponseBody
public class GlobleExceptionHandler {
	@ExceptionHandler(value = Exception.class)
	public Result<String> exceptionHandler(HttpServletRequest request, Exception e) {

		if (e instanceof BindException) {//绑定异常(端口被占用,通常出现在启动服务的时候)
			e.printStackTrace();
			BindException exception = (BindException) e;
			//异常信息
			String message = exception.getMessage();
			return Result.error(CodeMsg.BIND_ERROR.fillArgs(message));
//
//    @PostMapping("/mq/topic")
//    public Result<String> topic(){
//        mqSender.sendTopic("hello,imooc");
//        return Result.success("Hello , world");
//    }
//
//    @PostMapping("/mq/fanout")
//    public Result<String> fanout(){
//        mqSender.sendFanout("hello,imooc");
//        return Result.success("Hello , world");
//    }
//
//    @PostMapping("/mq/header")
//    public Result<String> header(){
//        mqSender.sendHeader("hello,imooc");
//        return Result.success("Hello , world");
//    }
}
package tech.yxing.clothing.controller;

/**
 */

/**
 */
@Api(tags = "用户端-订单服务接口列表")
@RestController
@RequestMapping("orders")
public class OrdersController {
    @Autowired
    private OrdersService ordersService;
    @Autowired
    private UserService userService;
//    @Autowired
//    private MQReceiver mqReceiver;
//    @Autowired
//    private MQSender mqSender;
    /**
     * @methodDesc: 用户购买商品
     * @Param: ordersList
     * @return: Result<Orders>
     */
    @ApiOperation(value = "添加订单", notes = "用户端-通过页面传值把商品的信息提交到确认订单页面,点击提交订单把该订单信息存到order_list、order,并在order_log里记录下单时间。")
    @PostMapping("/orders_submit")
    public Result<Orders> ordersSubmit(HttpServletRequest request, @RequestBody OrdersListVo ordersListVo){
        logger.info("token:"+token);
        if (token == null || "".equals(token)){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
//        User user = redisService.get(UserKey.usrByUname, ""+username, User.class);
        User user = userService.getUserByUname(username);
        logger.info(user.toString());
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(token,user.getUsername(),user.getPassword());
        //判断result是否为null
        if (result == null) {
            //为null返回错误信息和登录url
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        UserVo userVo = userService.getUserInfo(user.getUserId());
        return Result.success(userVo);
    }

    /**
     * @methodDesc: 显示余额(查询)
     * @Param: token
     * @return: Result<Double>
     */
    @ApiOperation(value = "查询用户信息", notes = "用户端-查询用户信息")
    @GetMapping("/user_balance")
    public Result<String> getBalance(HttpServletRequest request){
        String token = request.getHeader("Authorization");
        logger.info("token:"+token);
        if (token == null || "".equals(token)){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
        User user = userService.getUserByUname(username);
        logger.info(user.toString());
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        logger.info("token:"+token);
        if (token == null || "".equals(token)){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
        User user = userService.getUserByUname(username);
        logger.info(user.toString());
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(token,user.getUsername(),user.getPassword());
        //判断result是否为null
        if (result == null) {
            //为null返回错误信息和登录url
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        return Result.success(userService.insertUserInfo(user.getUserId(),userVo));
    }

    /**
     * @methodDesc: 用户信息管理(查询)
     * @Param: userId
     * @return: Result<User>
     */
    @ApiOperation(value = "查询用户信息", notes = "用户端-查询用户信息")
    @GetMapping("/user_info")
    public Result<UserVo> getUserInfo(HttpServletRequest request){
        String token = request.getHeader("Authorization");
        logger.info("token:"+token);
        if (token == null || "".equals(token)){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        String username = token.substring(0,token.indexOf("."));
        logger.info("username:"+username);
//        User user = redisService.get(UserKey.usrByUname, ""+username, User.class);
        User user = userService.getUserByUname(username);
        logger.info(user.toString());
        if (user == null){
            return Result.error(CodeMsg.NOT_YET_LOGIN);
        }
        Integer result = MyShiro.checkToken(token,user.getUsername(),user.getPassword());
        ordersService.ordersPay(orderId);
        return Result.success(null);
    }

    /**
     * @methodDesc: 查询所有订单
     * @Param: userId
     * @return: Result<>
     */
    @ApiOperation(value = "查询所有订单", notes = "用户端-用户id查询所有订单")
    @GetMapping("/orders_show/{userId}")
    public Result<List<Orders>> ordersShow(@PathVariable int userId){
        return Result.success(ordersService.ordersShow(userId));
    }

    /**
     * @methodDesc: 查询某订单状态的订单
     * @Param: state,userId
     * @return: Result<List<Orders>>
     */
    @ApiOperation(value = "查询某状态订单", notes = "用户端-查询某订单状态的订单")
    @GetMapping("/orders_state")
    public Result<List<OrdersAndListGoodsDto>> ordersState(int state, int userId){
        return Result.success(ordersService.ordersState(state,userId));
    }

    /**
     * @methodDesc: 用户对某商品的评价
     * @Param: appraise,orderListId,userId
     * @return: Result<>
     */
    @ApiOperation(value = "添加评论", notes = "用户端-当订单查询到为待评论状态,点击待评论跳转到评论页面(携带该商品的订单列表信息),在评论页面提交评论,把评论和订单列表id传到后端,添加评论")
    @PutMapping("/orders_appraise/{orderListId}")
    public Result<Object> ordersAppraise(@PathVariable int orderListId, @RequestBody AppraiseVo appraiseVo){
        ordersService.goodsAppraise(orderListId,appraiseVo.getAppraise());
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员查询所有订单
     * @return: Result<String>
     */
    @ApiOperation(value = "显示某商品所有评价", notes = "用户端-查询某商品的累计评价")
    @GetMapping("/goods_appraise/{goodsId}")
    public Result<List<String>> ordersAppraise(@PathVariable int goodsId){
        System.out.println(goodsId);
        return Result.success(ordersService.ordersAppraise(goodsId));
    }

    /**
     * @methodDesc: 获取所有订单(AllOrderDto)
     * @Param: userId
     * @return: Result<AllOrderDto>
     */
    @ApiOperation(value = "用户查询所有订单", notes = "用户端-用户查询所有订单")
    @GetMapping("/get_orders/{userId}")
    public Result<List<AllOrdersDto>> getOrders(@PathVariable int userId){
        System.out.println(userId);
        return Result.success(ordersService.getOrders(userId));
    }

    /**
     * @methodDesc: 查询某订单状态的订单
     * @Param: state,userId
     * @return: Result<List<AllOrdersDto>>
     */
    @ApiOperation(value = "查询某状态订单", notes = "用户端-查询某订单状态的订单")
    @GetMapping("/get_state")
    public Result<List<AllOrdersDto>> getStateOrder(int state,int userId){
        return Result.success(ordersService.getStateOrder(state,userId));
    }

    /**
     * @methodDesc: 确认收货
     * @Param: orderId
     * @return: Result<>
    @PutMapping("/orders_appraise/{orderListId}")
    public Result<Object> ordersAppraise(@PathVariable int orderListId, @RequestBody AppraiseVo appraiseVo){
        ordersService.goodsAppraise(orderListId,appraiseVo.getAppraise());
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员查询所有订单
     * @Param:
     * @return: Result<List<Orders>>
     */
    @ApiOperation(value = "查询所有订单", notes = "管理员端-获取用户下的所有订单")
    @GetMapping("/orders_show_all")
    public Result<List<Orders>> ordersShowAll(){
        return Result.success(ordersService.ordersShowAll());
    }

    /**
     * @methodDesc: 管理员修改订单状态,记录日志
     * @Param: orderId,managerId
     * @return: Result<>
     */
    @PutMapping("/orders_log")
    @ApiOperation(value = "修改订单状态,记录日志", notes = "管理员端-管理员通过orderId修改订单状态,记录日志")
    public Result<Object> ordersLog(@RequestBody ChangeStateVo changeStateVo){
        ordersService.ordersLog(changeStateVo);
        return Result.success(null);
    }
    /**
     * @methodDesc: 获取评论
     * @Param: goodsId
     * @return: Result<String>
     */
    @ApiOperation(value = "显示某商品所有评价", notes = "用户端-查询某商品的累计评价")
    @GetMapping("/goods_appraise/{goodsId}")
    public Result<List<String>> ordersAppraise(@PathVariable int goodsId){
        System.out.println(goodsId);
        return Result.success(ordersService.ordersAppraise(goodsId));
    /**
     * @Param: goodsId
     * @return: Result<GoodsSize>
     */
    @ApiOperation(value = "商品尺码信息页面展示", notes = "用户端-查询某个商品的尺码")
    @GetMapping("/goods_size/{goodsId}")
    public Result<List<GoodsSize>> goodsSize(@PathVariable int goodsId){
        return Result.success(goodsService.goodsSize(goodsId));
    }

    /**
     * @Param: goodsId
     * @return: Result<>
     */
    @ApiOperation(value = "下架商品", notes = "管理员端-删除商品")
    @DeleteMapping("/goods_delete/{goodsId}")
    public Result<Object> goodsDelete(@PathVariable int goodsId){
        goodsService.goodsDelete(goodsId);
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员上架某商品1:上传图片
     * @Param: MultipartFile
     * @return: Result<>
     */
    @ApiOperation(value = "上架商品-上传图片", notes = "管理员端-上架商品-上传图片")
    @PostMapping("/goods_upload")
    public Result<String> goodsInsert(@RequestParam("imge") MultipartFile picture) throws Exception {
        String pictureUrl = goodsService.goodsImgUpload(picture);
        return Result.success(pictureUrl);
    }

    /**
     * @methodDesc: 管理员上架某商品2:添加商品信息
     * @Param: GoodsUploadVo
     * @return: Result<>
     */
    @ApiOperation(value = "上架商品-添加商品信息", notes = "管理员端-上架商品-添加商品信息")
    @PostMapping("/goods_insert")
    public Result<Object> goodsInsert(@RequestBody GoodsUploadVo goodsUploadVo) {
        goodsService.goodsInsert(goodsUploadVo);
        return Result.success(null);
    }

    @GetMapping("/get_edit/{goodsId}")
    @ApiOperation(value = "用户支付", notes = "用户端-提交订单后根据订单id,查询该订单的价钱,完成支付,在order_log中记录支付时间提示支付成功,返回首页")
    @PutMapping("/order_pay/{orderId}")
    public Result<Object> ordersPay(@PathVariable int orderId){
        ordersService.ordersPay(orderId);
        return Result.success(null);
    }

    /**
     * @methodDesc: 查询所有订单
     * @Param: userId
     * @return: Result<>
     */
    @ApiOperation(value = "查询所有订单", notes = "用户端-用户id查询所有订单")
    @GetMapping("/orders_show/{userId}")
    public Result<List<Orders>> ordersShow(@PathVariable int userId){
        return Result.success(ordersService.ordersShow(userId));
    }

    /**
     * @methodDesc: 查询某订单状态的订单
     * @Param: state,userId
     * @return: Result<List<Orders>>
     */
    @ApiOperation(value = "查询某状态订单", notes = "用户端-查询某订单状态的订单")
    @GetMapping("/orders_state")
    public Result<List<OrdersAndListGoodsDto>> ordersState(int state, int userId){
        return Result.success(ordersService.ordersState(state,userId));
    }

    /**
     * @methodDesc: 用户对某商品的评价
     * @Param: appraise,orderListId,userId
     * @return: Result<>
     */
    @ApiOperation(value = "添加评论", notes = "用户端-当订单查询到为待评论状态,点击待评论跳转到评论页面(携带该商品的订单列表信息),在评论页面提交评论,把评论和订单列表id传到后端,添加评论")
    @PutMapping("/orders_appraise/{orderListId}")
    public Result<Object> ordersAppraise(@PathVariable int orderListId, @RequestBody AppraiseVo appraiseVo){
        ordersService.goodsAppraise(orderListId,appraiseVo.getAppraise());
        return Result.success(null);
    }

    /**
     * @methodDesc: 管理员查询所有订单
     * @Param:
     * @return: Result<List<Orders>>
    /**
     * @methodDesc: 通过购物车下单
     * @Param: shoppingCart
     * @return: Result<>
     */
    @ApiOperation(value = "购物车下单", notes = "用户端-通过购物车下单")
    @PostMapping("/cart_order")
    public Result<Orders> cartOrder(@RequestBody List<ShoppingCart> shoppingCartList){
        System.out.println("check:"+shoppingCartList);
        return Result.success(cartService.cartOrder(shoppingCartList));
    }
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-管理员服务接口列表")
@RestController
@RequestMapping("/manager")
public class ManagerController {
    }
    /**
     * @Param:goodsId
     * @return: Result<>
     */
    @ApiOperation(value = "某个商品的页面", notes = "用户端-查询某个商品")
    @GetMapping("/goods_show/{goodsId}")
    public Result<Goods> goodsShow(@PathVariable int goodsId){
        return Result.success(goodsService.goodsShow(goodsId));
    }

    /**
     * @Param:
     * @return: Result<>
     */
    @ApiOperation(value = "显示所有分类", notes = "用户端-查询所有分类")
    @GetMapping("/goods_type")
    public Result<List<GoodsType>> goodsType(){
        return Result.success(goodsService.goodsType());
    }
    /**
     * @Param:
     * @return: Result<>
     */
    @ApiOperation(value = "分类信息页面展示", notes = "用户端-查询某个分类的商品")
    @GetMapping("/type_show/{typeId}")
    public Result<List<Goods>> typeShow(@PathVariable int typeId){
        return Result.success(goodsService.typeShow(typeId));
    }
    /**
     * @Param: goodsId
     * @return: Result<GoodsSize>
     */
    @ApiOperation(value = "商品尺码信息页面展示", notes = "用户端-查询某个商品的尺码")
    @GetMapping("/goods_size/{goodsId}")
    public Result<List<GoodsSize>> goodsSize(@PathVariable int goodsId){
        return Result.success(goodsService.goodsSize(goodsId));
    }

    /**

/**
 */
@Api(tags = "用户端-登录服务接口列表")
@RestController
@RequestMapping("/login")
public class LoginController {
    @Autowired
    private UserService userService;
    /**
     * @methodDesc: 用户登录
     * @Param: username.password
     * @return: Result<>
     */

    @ApiOperation(value = "用户登录", notes = "用户端-用户登录")
    @PostMapping("/user_login")
    public Result<TokenId> userLogin(@RequestBody LoginVo loginVo){

        System.out.println(loginVo.toString());
//        LoginVo loginVo = new LoginVo(username,password);
        return Result.success(userService.userLogin(loginVo));
    }
    @PostMapping("/edit")
    public Result<Object> editGoods(@RequestBody GoodsSizeDto goodsSizeDto){
        managerService.editGoods(goodsSizeDto);
        return Result.success(null);
    }
}
package tech.yxing.clothing.controller;

/**
 */
@Api(tags = "用户端-登录服务接口列表")
@RestController
@RequestMapping("/login")
public class LoginController {
    @Autowired
    private UserService userService;
    /**
     * @methodDesc: 用户登录
     * @Param: username.password
     * @return: Result<>
     */

    @ApiOperation(value = "用户登录", notes = "用户端-用户登录")
    @PostMapping("/user_login")
    public Result<TokenId> userLogin(@RequestBody LoginVo loginVo){

        System.out.println(loginVo.toString());
//        LoginVo loginVo = new LoginVo(username,password);
        return Result.success(userService.userLogin(loginVo));

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值