- 博客(56)
- 收藏
- 关注
原创 异步审核3
在admin端添加依赖,引入heima-leadnews-feignapi模块依赖。目前项目中已经全部集成了seata,在对应的业务方法上进行注解控制即可。在saveArticle方法上添加注解。开启远程调用,在引导类中新增注解。
2024-11-12 14:45:43
330
原创 minoString
在使用拦截器解析后的用户id需要放在当前线程中,可以使用工具类来实现,在heima-leadnews-common中添加如下类。/** 设置当前线程中的用户 @param userId *//* 上传图片String接口* ///得到header中的信息。/** 获取线程中的用户 *//** 存放用户id的容器 *//** 上传文件 */
2024-11-12 14:24:43
535
原创 异步审核1
status字段:0 草稿 1 待审核 2 审核不通过 3 待人工审核 4 人工审核通过 8 审核通过。log.info("阿里云图片检测不通过,wmNewsId={}", wmNewsId);借助阿里云文本 提供的接口审核文本-调用敏感词审核接口 图片将存储在minIO中的图片,先下载然后上传到阿里云进行审核。log.info("阿里云文本检测不通过,wmNewsId={}", wmNewsId);log.info("阿里云图片审核不确定,转人工审核");
2024-11-12 14:24:01
927
原创 fegin频道列表展示-根据id删除-批量保存
待审核包括 1-已提交待审核,3-待人工审核保存文章,除了保存wm_news表以外,还需要保存wm_new_material文章素材关系表,用来记录文章中使用的素材信息 wm_news_material 文章素材关系表 wm_material 素材表如果有id修改文章,先删除所有素材关联关系(一般一对多关系都是如此处理)如果没有id,保存文章WmNewsDto/* 根据自媒体文章id 删除关系 *//* 批量保存文章素材中间表 */
2024-11-12 14:09:08
600
原创 自媒体模块 保存intger
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出sql日志。# 设置Mapper接口所对应的XML文件位置,如果你在Mapper接口中有自定义方法,需要进行该配置。// 根据ap_user_id 查询自媒体用户信息。# 设置别名包扫描路径,通过该属性可以给包中的类注册别名。// 新增或修改自媒体用户。// 自媒体用户不存在,新增。// 判断是否存在数据。
2024-11-12 09:58:14
362
原创 nginx前端
这是我们配置的负载均衡,前端先把请求发给nginx,由nginx把请求转发给网关 localhost:6001。location ~/service_admin/(.*) 匹配 路径中包含service_6001的请求。# 不改变源请求头的值。
2024-11-07 14:45:35
264
原创 say网关全局过滤器实现jwt校验
解析token,获取用户信息,判断是否有响应权限,如果有就放行,如果没有就返回认证错误信息。用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务进行登录。网关过滤器解析TOKEN ,判断是否有权限,如果有,则放行,如果没有则返回未认证错误。// 如果token为空,返回401未授权状态。用户再次进入网关开始访问,网关过滤器接收用户携带的TOKEN。// 不是登录请求,需要验证token。// 判断当前请求路径是否是登录。
2024-11-07 14:41:35
738
原创 搭建gateway服务
pom.xml<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId
2024-11-07 14:39:46
954
原创 nacos
nacos在admin微服务中加入依赖在admin服务创建bootstrap.yml配置文件server:port: 9001spring:cloud:nacos:discovery:config:把application.yml.bak中的部分内容复制到Nacos中spring:# 设置Mapper接口所对应的XML文件位置,如果你在Mapper接口中有自定义方法,需要进行该配置。
2024-11-07 14:37:41
598
原创 登录map
throw new LeadException(AppHttpCodeEnum.DATA_NOT_EXIST, "用户不存在");// 使用BCryptPasswordEncoder提供的方法,比对密码。// 如果根据用户名查询不到用户,报错。// 如果密码不匹配,报错。// 设置token和用户信息返回。// 构造查询条件。* 管理平台用户登录。// 查询。
2024-11-07 14:34:51
390
原创 validation验证
NotBlank(message = "姓名不能为空")@NotBlank(message = "密码不能为空")在前面定义的ExceptionCatch中添加异常处理。// 返回通用异常信息。
2024-11-07 14:22:17
398
原创 token认证JWT ,
Payload 一个json对象,它是存放有效信息的地方,它可以存放jwt提供的现成字段,比 如:iss(签发者),exp(过期时间戳), sub(面向的用户)等,也可自定义字段。secret:签名所使用的密钥。.setIssuedAt(new Date(System.currentTimeMillis())) //签发时间。.setIssuedAt(new Date(System.currentTimeMillis())) //签发时间。.setAudience("app") //接收用户。
2024-11-07 14:10:52
500
原创 加密BCrypt
BCrypt 在加密过程中会生成一个独特的盐,并将其与密码进行混合。每次加密时,盐都会不同,因此即使原始密码相同,每次加密生成的加密值也会不同。/** * : 10 # 加密强度4~31,决定了密码和盐加密时的运算次数,超过10以后加密耗时会显著增加 */private int seedLength = 32;// 加密前度,数字越大强度越大,越安全,越耗时。
2024-11-07 14:04:43
256
原创 通用异常通用异常
在heima-leadnews-common创建LeadException 作为头条项目自己的异常@Getter在heima-leadnews-common模块中新建类ExceptionCatch@RestControllerAdvice 控制器增强注解@ExceptionHandler 异常处理器 与上面注解一起使用,可以拦截指定的异常信息@Slf4j@ExceptionHandler(Exception.class) // 捕获异常类型。
2024-11-07 11:16:25
381
原创 Swagger
Contact contact = new Contact("黑马程序员","","");// 要扫描的API(Controller)基础包。.description("平台管理服务api")在heima-leadnews-admin工程的config包中添加一个配置类。.title("黑马头条-平台管理API文档")在heima-leadnews-model模块中引入该依赖。
2024-11-07 11:10:59
380
原创 分页分页分页
/ 如果有返回值,对象转换。* 根据名称分页查询频道列表。// 如果没有返回值。// 构造分页条件。// 构造查询条件。// 分页查询。
2024-11-07 11:00:52
249
原创 eleven接口、多态
1.抽象方法: public abstract 返回值类型 方法名称(形式参数列表...);2.默认方法【jdk8开始】: public default 返回值类型 方法名称(形式参数列表...) {...}3.静态方法【jdk8开始】: public static 返回值类型 方法名称(形式参数列表...) {...}4.常量: public staitc final 数据类型 变量名称 = 数据值;
2024-07-31 21:11:02
777
原创 ten 继承、抽象
*3.抽象类的定义格式:public abstract class 类名 {...4.抽象方法的定义格式:修饰符 abstract 返回值类型 方法名称(参数列表...);注意:(1)和以前定义方法一样,但是去掉{},添加abstract关键字(2)返回值类型和参数列表根据需求确定(3)含有抽象方法的类,必须定义为抽象类,但是抽象类中不一定含有抽象方法5.抽象类的使用(1)不能直接创建抽象类的对象(2)定义子类,继承抽象父类(3)子类中覆盖重写抽象父类中的所有抽象方法。
2024-07-31 21:06:55
831
原创 sevenclass类
b.是否有未知数据参加运算: 有 定义一个和成员变量类型相同的变量。(2)修饰成员方法: private 返回值类型 方法名称(参数列表...){...}定义类,规定了成员变量的含义,但是却无法保证成员变量的取值在一个合理有效的范围。成员变量作用就是用来存/取值的,被private修饰后,在其它类中,c.是否有结果数据产生: 有,成员变量的类型。(1)被private修饰的成员变量,只能在本类中直接使用,每个方法内部都有一个this关键字,用来接收调用方法的对象的地址值,
2024-07-29 17:31:59
1396
原创 sevencalss类文档
/成员变量//成员方法定义类:就是定义类的成员,包括成员变量和成员方法。成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。成员方法:和以前定义方法几乎是一样的。只不过把static去掉,static的作用在面向对象后面课程中再详细讲解。类的定义格式举例://成员变量//姓名int age;//年龄//成员方法//学习的方法System.out.println("好好学习,天天向上");//吃饭的方法。
2024-07-28 21:54:11
1622
原创 six文档
是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。使用IDEA的断点调试功能,查看程序的运行过程 Debug调试窗口介绍。
2024-07-28 21:33:51
684
原创 fivemethod文档
/定义2个int变量a和b,并初始化//调用方法完成求和//打印结果//定义方法完成计算两个int数据之和根据以上关于方法的说明,完成方法的定义,不需要完成方法内部的功能代码1.定义方法,计算两个double数据的最小值2.定义方法,判断一个字符是否是字母3.定义方法,判断一个int数字是否是偶数4.定义方法,计算一个int数组的和5.定义方法,计算两个int数组是否相同修饰符 返回值类型 方法名(参数列表){//代码省略...return 结果;
2024-07-28 21:17:05
576
原创 fourarray数组
一个变量中只能存储一个数据,新的数据进来,老的数据将被替换,如果需要存储多个数据,需要使用容器(大的容器)容器概念容器:是将多个数据存储到一起,每个数据称为该容器的元素。生活中的容器:水杯,衣柜,鞋柜, 教室数组:1.概念: java中的数组就是一个容器,可以存储多个数据,但是多个数据的类型必须保持一致2.特点:(1)可以存储多个数据(2)多个数据的类型必须保持一致(3)数组的长度一旦确定,将永远不可以发生改变。
2024-07-28 21:05:46
2007
原创 three流程控制
英文单词if是: 如果的意思1.if语句的第一种格式:if(布尔表达式){语句体;其它语句;2.执行流程:(1)计算布尔表达式的结果,看是true还是false(2)如果布尔表达式的结果是true,就执行if后面{}中的语句体,接着执行其它语句(3)如果布尔表达式的结果是false,不执行if后面{}中的语句体,直接执行其它语句3.注意(不要死记硬背,多看看):(1)if语句的第一种格式,只适用于有一种情况的场景。
2024-07-28 20:51:52
784
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人