00:00
接下来我们编写库存系统相关的功能,首先库存系统呢,对应我们数据库古ma WMS这个库,这里边呢有几张关键的表,特别是我们这个VR info,这就是我们的仓库表,代表呢我们当前有几个仓库,就像京东的各种几号仓库一样,然后呢,在这里边有一个wherere SQ,代表了每一个仓库哪一个商品保存了几件,而且这有一个sto lock,叫库存锁定的几件,其他这两个呢,是库存工作单的详情,这个是跟订单所库存有关的,我们后来说还有这是我们的采购需求以及采购单,这相当于模拟了库存系统的几个核心功能,那库存系统呢,对应我们这个WMS,我们这个外微服务,所以我们来编写库存系统功能,我们先要启动这个微服务,而且要把它加入到注册中心中,好,我们先来看一下这一块的配置,有没有加上我们的这个W。
01:00
MS,我们先来把它加到注册中心中,那么就需要写一个discovery server a DR,我们来指定一下我们nacos的注册中心地址,本机的8848端口,然后呢,我们同时要指定我们项目的名字application.name我们来写一下application name,我们这个项目的名字呢就叫古mail where,而且呢,我们得开启服务的注册发现功能,我们在这来一并开启有一个叫enable discovery client开启服务注册发现功能,同时我们再来开启我们的myab,让他member sc进行包扫描我们这些Du注写。好,把这些do接口我们都扫描进来。而且呢,如果有事物,我们也一定要使用enable transition management来开启我们的事物,那这个鼓励mail well,我们这个服务就配置好了,我们先来启动一下,看他先能不能加入到我们的注册中心,同时呢,我们这个批量启动,我们也将这一块加入进来,那鼓励ma w Ms就是这个wi,我们把这个wi呢也修改一下,让它占用的内存好,这以前都修改过了,那没问题。
02:12
我们现在加进来以后呢,他现在先启动起来,上面的这个报报错,那是配置中心的,我们先不用管,我后来服务上线以后,我们全部配置搬家,好,我们现在来监控一下NAS local host,我们的8848。来看一下NAS里边有没有我们这个服务的启动NASNAS,那现在的服务列表里边WMS已经启动了,没问题,那要我们的这个。前端项目能进行访问,比如我们仓库维护,我点一个它,那现在默认的这些接口请求发出去,都是我们来看一下,都是404的,404的原因就是我们来可以看一下它的这个报错,他说这个past,它找路径,找人人fast wherere wherere info下边的这个路径没找到,也就是说网关默认把它给路由到这儿了,那以后只要有一个新的微服务一启动,除了配置这些外,我们还要配置网关,我们给网关这一块来配置上它的路由规则。
03:15
那么库存管理系统呢?我们路由规则就是这样子的,好放在这,这是我们用户系统的路由规则啊,我们再把库存系统的加上,比如我们就叫where root,我们库存系统首先它的这个名字应用名字叫古力ma where,然后呢,我们的库存系统的所有路径都是以这个where开头的。而且呢,我们要进行截串,把后边的保留API截掉,那我们把这一块配置好,网关呢,我们也来重启一下走。那只有当我们把这些整体全部配置完成以后,我们这个库存系统前端这一块才能访问,那先来看一下。我们稍等一阵呢,我现在来点了一个查询,我们现在这个请求已经发出去了。
04:02
那第一次查询呢,我们现在已经查到数据了,这是我给表里边填的一个测试数据,我们有一个仓库,包括呢,得益于我们之前的逆向生成,那这些东西都是好用的,比如仓库名,我们就叫一号仓库,仓库地址比如我们写北京什么什么地方好,包括区域编码我们都可以来写上,我点一个确定。那么这个修改也是可以的,包括我们来新增仓库,那二号仓库来写一下二号。包括他的这个地址,比如我们去到上海市什么什么好,包括它的区域编码,我们也随便来写一下,这块呢,我们可以写他的邮政编码,我来点一个确定。我们这里呢,就添加了这两个仓库,而且删除功能也都是能用的,都是逆向生成好的,包括我们这个查询,只不过现在这个默认查询呢,我们有模糊检索,所以我们把这个查询来写一下,Where info,我们来看发送的请求,我们这个where INF for where INF for list好们来到库存系统里边,Where仓库系统好,那现在来找到这个where controller where info controller找到这个where info list,我们这个分页查询我们自己来写一下,那这个cor re page呢,需要带上模糊条件pars,如果点一个get key,我们有传这个模糊条件,那么就可以给它进行模糊检索,我们来写上string。
05:31
好,然后我们这一块的检索的条件就是我们把这个qua quary rapper拿到最外边,把这个rapper呢,最终要放到这里边。我们先得来判断if,如果我们给的这个条件是有的,String UUS is empty,我们的这个K它不为空,那么就来给它拼装上我们这个查询条件,然后条件呢,就是它里边点一个。
06:00
E口,首先我们的ID等于指定的值,我们仓库有一个仓库的ID,或者呢是我们仓库的名字或者地址,或者区域编码,我们这些都可以拿来进行查询,那ID等于指定的这个K。我们或者或者或者呢,我们还有一个叫。我们的仓库的名字是我们指定的。这个值我们like,那现在就用like,名字是我们指定的它。把这个K加上,或者呢,我们继续来填上,或者我是搜某一个地址上的也行,Like。我们按照地址进行模糊匹配也行,包括它的这个区域编码我们的这个K或者点继续哦。Like,我们的区域编码,这有一个a code。是我们指定的值,我们把指定的这个值放到这。
07:03
好,那么这个条件呢,就拼装好了,然后我们以后用这个条件来进行检索,那么这个仓库的这个检索我们就修改好了,我们可以来测试一下。好,我们来清空控制台,我先来点一个查询。比如我来搜一个一,我点一个查询,那这个一呢,既有能查出ID是一的,或者我们这个仓库里边包含一的,或者编码里边都行,所以我们看我们的这个SQL语句,那最终就是我们来到我们的。We系统啊,这一块没有打印circle,我们想要打印呢,我们必须来修改一下配置文件,在配置文件里边修改我们日志的等级,这里边有一个log level level呢,我们现在主要是来调整我们com at硅谷的等级,来写我们包。com.at硅谷这个包下的所有我们都给它调成debug。那现在来进行启动,我们来监控一下它的SQL语句。
08:02
我们把控制台清空,我现在来刷新,我们来进行查询,我们看一下这个SQL语句,这个SQL语句呢,Select ID这些where ID等于这个值,或者name like,或者我们这个address like,好,我们这个条件呢,都是没问题的,那么库存系统呢,现在就是调通了,下节课我们来继续编写它的其他接口。
我来说两句