分布式电商项目四十八:库存服务

库存服务

本章开始编写库存服务相关的内容,首先把库存的微服务添加到注册中心中,添加配置文件:

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://IP地址/mall_wms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: mall-ware
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 11000

同时主程序开启注册发现的注解:

package com.lastingwar.mall.ware;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class MallWareApplication {
   

    public static void main(String[] args) {
   
        SpringApplication.run(MallWareApplication.class, args);
    }

}

之后启动ware的微服务:
在这里插入图片描述
之后配置网关的路由规则
来到gateway的配置文件:

        #库存服务
        - id: ware_route
          uri: lb://mall-ware
          predicates:
            - Path=/api/ware/**
          filters:
            - RewritePath=/api/(?<segment>.*),/$\{segment}

之后重启服务,能够正常访问前端的仓库页面:

在这里插入图片描述
同时逆向生成的代码,使用给出的添加修改删除功能也是可行的。

在这里插入图片描述

添加仓库查询系统

完成仓库维护中的模糊查询功能,来到查询请求对应的响应

@RestController
@RequestMapping("ware/wareinfo")
public class WareInfoController {
   
    @Autowired
    private WareInfoService wareInfoService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    //@RequiresPermissions("ware:wareinfo:list")
    public R list(@RequestParam Map<String, Object> params){
   
        PageUtils page = wareInfoService.queryPage(params);

        return R.ok().put("page", page);
    }

进入到对应.queryPage(params),对方法进行修改,能够携带关键字的模糊查询:

    /**
     * 
     * @param params 请求内容
     * @return  携带关键字模糊查询的分页内容
     */
    
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
   

        QueryWrapper<WareInfoEntity> wareInfoEntityQueryWrapper = new QueryWrapper<>();
        String key = (String) params.get("key");
        if(!StringUtils.isEmpty(key)){
   
            wareInfoEntityQueryWrapper.eq("id",key).or()
                    .like("name",key)
                    .or().like("address",key)
                    .or().like("areacode",key);
        }

        IPage<WareInfoEntity> page = this.page(
                new Query<WareInfoEntity>().getPage(params),
                wareInfoEntityQueryWrapper
        );

        return new PageUtils(page);
    }

查询库存

对应前端页面:
在这里插入图片描述
编写对应库存产品的查询功能,对应API文档:

02、查询商品库存
GET
/ware/waresku/list
请求参数
{
   
   page: 1,//当前页码
   limit: 10,//每页记录数
   sidx: 'id',//排序字段
   order: 'asc/desc',//排序方式
   wareId: 123,//仓库id
   skuId: 123//商品id
}
分页数据

响应数据
{
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值