bug描述
jack用户可以删除订单 rose删除订单失败
项目结构
结构一:每个项目下的每一个微服务,需要创建一个project,尽可能的降低耦合。 结构二:创建一个Project, 项目下的多个微服务是Project下的Module,方便管理。适用于中小型项目。
其中有的module是微服务,例如tj-auth;有的module则是工具包例如tj-commom
tj-auth
权限服务,用户授权,权限校验,用户登录认证等功能。
tj-auth-service跟权限有关的业务代码,会被部署,例如做用户登录的认证。
tj-auth-common 放一些通用的工具模块。
tj-auth-resource-sdk 工具包,给其他资源服务用的工具包。
tj-auth-gateway-sdk 工具包,给网关服务用的工具包。
基本配置
nacos中配置
除了基本的配置外,其他配置都放在了nacos中共享,包括两大类:
1.共享的配置 例如很多微服务都需要去使用到mysql,redis,es,rabbitmq等。
2.微服务中可能会根据业务变化的配置
跟业务进行强关联的配置。
找到请求入口
理清请求链路
访问的是api.tianji.com 也就是网关微服务 在看后面是/ts
可以看出访问的是trade-service微服务
idea远程调试功能
host就是服务器的ip
port是自动生成的,不用管
use module classpath 表示对应的本地代码的module
分析bug并解决
享元模式
Long封装类对象,如果在-128到127之间,不会创建一个Long对象,而是从缓存池中(共享对象)直接取出。
采用逻辑删除(利用mybatis-plus实现)
deleted tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
如果在本地仅仅测试tj-trade微服务,有两种办法
1.停掉服务器上tj-trade的微服务 2.在nacos上,将服务器的tj-trade的权重设置为0
将dev分支代码,在服务器环境将各个微服务都部署起来,进行测试
jeankins配置修改
表示监听到dev分支代码发生变化则进行重新构建
这里表示构建那个分支的代码,应该也改成dev分支上
结果就成功删除订单