开源框架
文章平均质量分 56
这是一个极其成熟,极其便捷,极其好用的后端框架
layman .
蒙多,想娶纳尔就娶纳尔......
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【全局过滤器GlobalFilter和自定义过滤器AbstractGatewayFilterFactory】
全局过滤器GlobalFilter是固定写法(public class ****GlobalFilter implements GlobalFilter, Ordered),全局过滤器GlobalFilter无需配置,默认过滤所有请求。官方文档传送门自定义过滤器AbstractGatewayFilterFactory是固定写法...原创 2022-03-11 16:05:17 · 3205 阅读 · 0 评论 -
【BUG】@JsonIgnore注解引发的java.sql.SQLException【已解决】
最近做了一个需求,页面上展示的字段要求尽可能的简介,但是实际插入到数据库的时候,会有很多ID,还有诸如创建人,创建时间,更新人,更新时间等字段。而这些字段,前端要求不展示。最后的页面效果如下:于是我就用了@JsonIgnore注解进行开发。后端的entity实体类是这样的:package com.ruoyi.digital.domain;import com.fasterxml.jackson.annotation.JsonIgnore;import lombok.Data;impor原创 2022-01-20 15:35:13 · 632 阅读 · 0 评论 -
【前端请求头中的Authorization和Cookie是如何设置的】
以一个简单的功能举例,探究前端请求头中的Authorization和Cookie是如何设置的。以后再写新的系统时,可以让gateway网关进行统一管理,不再暴露具体的端口号。后端的代码已经看过了,这里主要是前端。这里主要是在 ruoyi-ui/src/utils/request.js 里进行配置的。这里设置了一个请求拦截器,所有的请求都会先走这个拦截器。// request拦截器service.interceptors.request.use(config => { // 是否需要设原创 2022-01-11 13:10:43 · 27578 阅读 · 0 评论 -
【网关原理】若依开源管理系统
若依权限认证的配置文件比较简单。权限认证:ruoyi-auth-pro.ymlspring: redis: host: localhost port: 6379 password: 只配置了一个redis。其实它的权限认证,大多是在网关部分配置,由各种fileter来完成各种拦截操作。网关:ruoyi-gateway-pro.ymlspring: redis: host: localhost port: 6379 password:原创 2022-01-10 08:10:55 · 1154 阅读 · 0 评论 -
【功能开发】查看程序循环时间
需求分析每台设备上,增加当前设备运行的程序,以及历史运行的程序列表。点击历史运行的程序列表,显示被点击程序运行的循环时间。目前公司在厂区内布置了50台设备,服务器上有个定时任务,每隔10秒钟扫描50台设备上正在运行的程序,然后更新BU_Machine_CurrProgram表中的数据换言之,BU_Machine_CurrProgram表中永远有50条记录,存放着设备当前正在运行的程序。同时,该定时任务还会扫描设备硬盘内,正在执行和等待执行的任务列表(所有的任务清单),将其插入到BU_Machin原创 2022-01-08 11:00:00 · 1052 阅读 · 0 评论 -
【快递时效明细接口不通】BUG修复
昨晚上线了一个新功能,快递时效明细获取快递的预计到达时间。这个接口,我之前已经写好了,原本传参中需要fromCity(出发地城市)和toCity(目的地城市),这两个字段原本是让采购录入的,后来由于某种原因,需要程序自动获取。toCity其实对应的就是供应商的地址,这个字段在SAP中有维护,这个好解决。fromCity怎么获取呢?在推送报文是有resultv2这个字段如果设置为6,那么推送的报文中,将会增加出发城市的名称。因此需要将推送来的报文中,获取这个name的值。我的逻辑是,如果预计原创 2022-01-07 08:03:39 · 369 阅读 · 0 评论 -
【快递100】快递时效接口获取快递预计到达时间【改】
之前上线的fromCity和toCity,获取逻辑有误。唯一能确定的是toCity,快递单只有两种情况1:公司给供应商发货,而供应商的地址信息在SAP中维护,他们的地址就是toCity。2:供应商给公司发货,那么公司的地址就是toCity。因此在调用查询快递明细接口之前,要先确定fromCity,该值可以从推送报文的routeInfo中获取,routeInfo必须在设置resultv2 = 6时才会出现。在account.properties配置如下:开通行政区域解析功能以及物流轨迹增加物流原创 2022-01-07 08:02:43 · 360 阅读 · 0 评论 -
【快递100】快递时效接口获取快递预计到达时间
需求分析目前公司上线了快递100的推送接口,现在需要做一个快递预计到达时间接口。该接口主要是为了对签收和仓库人员进行月末考核,比如某个快递15号就签收,但是20号才入库,这属于失职,应当被处罚。但是公司的快递单均由采购部门维护,他们觉得维护快递单号和快递所属公司已经很麻烦了,不愿意再去维护出发城市(formCity)和目的城市(toCity)(快递时效明细查询时需要用到这两个字段)这就给后台开发增加了难度。原本设想的是,再sys_express中录入维护出发城市(formCity)和目的城市(to原创 2022-01-06 08:17:39 · 1683 阅读 · 0 评论 -
Java实现Excel的导入导出
推荐博客A:https://segmentfault.com/a/1190000039233170推荐博客B:https://segmentfault.com/a/1190000040869466原创 2022-01-05 09:07:10 · 383 阅读 · 0 评论 -
【功能开发】程序文件管理——后端API接口(二)
controller@RestController@RequestMapping("/ProgramFile")public class BuProgramFileController extends BaseController{ @Autowired private IBuProgramFileService programFileService; @Autowired private IBbCompanyService companyService;原创 2021-12-24 10:09:20 · 302 阅读 · 0 评论 -
【功能开发】程序文件管理——后端API接口(一)
需求分析目前公司产线上的芯片制造,需要使用.NC文件。当设计师使用软件绘制好CNC文件后,会使用U盘接入CNC设备中,进行制造。由于没有相应的统计和管理功能,CNC制造非常混乱。公司领导决定开发一个功能,让所有的CNC工程师将自己绘制的CNC图纸记录到系统中,而且要尽可能的简化记录的难度。目前,CNC中最关键的信息,是物料编号,切削时间和理论加工时间。这三个字段,可以通过解析上传的文件获得。另外,上传文件的文件名就是程序的名称,目前CNC工程师只需要填写程序编号,然后选择所属公司和工序号,其余原创 2021-12-23 09:33:58 · 537 阅读 · 0 评论 -
【快递100】订阅地图轨迹推送服务并接收推送
快递100官方文档地址:https://api.kuaidi100.com/document/603f47dfa62a19500e19866f订阅接口代码实现SysExpressController.java /** * 地图轨迹自动订阅接口 */ @Scheduled(cron = "0 0/1 * * * ?") public void autoSubscribeMap() throws Exception { // 获取距今一个月内,所有未原创 2021-12-17 16:53:34 · 1687 阅读 · 0 评论 -
【data直接返回json数组】
data返回返回json数组原创 2021-12-10 10:51:08 · 827 阅读 · 0 评论 -
【org.mybatis.spring.MyBatisSystemException】There is no getter for property named ‘array‘‘
org.mybatis.spring.MyBatisSystemException原创 2021-12-06 15:17:56 · 2879 阅读 · 0 评论 -
【MySQL】查询单表数据大小与索引大小的SQL语句
今天需要做个SQL优化原创 2021-12-05 09:36:18 · 469 阅读 · 0 评论 -
【快递100接口BUG】数据库时区为0时区,而实际时区为东八区时间,导致存入时间多出八个小时
前些天,上线了快递100的订阅推送服务。原创 2021-12-04 09:46:01 · 489 阅读 · 0 评论 -
【快递100接口报错】MysqlDataTruncation: Data truncation: Data too long for column
快递100的短信。原创 2021-12-03 07:56:33 · 482 阅读 · 0 评论 -
【快递100功能开发】系统模块集成快递订阅推送服务(二)——定时扫描快递单号,批量订阅
快递100接口扫描账号信息原创 2021-12-02 14:18:53 · 1519 阅读 · 1 评论 -
【快递100功能开发】系统模块集成快递订阅推送服务(一)——构建项目和建表语句
快递订阅查询快递api接口技术文档原创 2021-12-01 09:10:58 · 1442 阅读 · 8 评论 -
搜罗的技术博客
《后端成长路线》系列 导航篇java多线程-概念内存篇:JVM内存结构java类的加载以及ClassLoader源码分析IDEA中如何使用debug调试项目七大排序算法比较【冒泡、选择、插入、希尔、快排、归并,堆】树与二叉树(递归思想遍历)Spring注解之@Autowired、@Qualifier、@Resource、@ValueJAVA常用数据结构及原理分析(面试总结)【SpringBoot web-2】web项目参数传递【SpringBoot-3】切面AOP实现权限校验:实例演示.原创 2021-11-30 10:55:12 · 678 阅读 · 0 评论 -
【功能开发】从钉钉接口同步部门数据
钉钉接口文档地址:https://developers.dingtalk.com/document/app/queries-the-complete-information-of-a-department-user我写的思路,是先获取所有的部门ID,再通过部门ID查询用户详情,遍历到一个List集合中,进行批量插入。先贴代码,然后详细理清思路/** * 同步钉钉子部门数据 * 此同步方式为全量同步 */ @PreAuthorize(hasPermi = "sys原创 2021-11-29 09:18:56 · 2762 阅读 · 0 评论 -
【BUG】@Transactional注解在同类方法调用中不生效
后台代码今天做系统开发的时候,遇到了一个BUG:@Transactional注解在同类方法调用中不生效代码如下:/** * @description: 快递100接口服务类 * @date 2021/11/23 */@Servicepublic class SysExpressServiceImpl implements ISysExpressService { /** * 处理快递100推送请求并响应 * @param request 快递100的推送请求原创 2021-11-26 16:28:04 · 2170 阅读 · 1 评论 -
【源代码解读】图片上传的组件Apache fileupload如何使用
图片上传的组件在若依框架中,已经事先集成了文件上传,图片上传等功能。该组件使用非常简单。以一个图片上传的功能举例,如下:前端代码如下: <el-form-item label="背景图"> <imageUpload v-model="form.backImg"/> </el-form-item>区区的三行代码就实现了图片上传。backImg对应着实体类中的背景图属性,映射到数据库,实际上存放的是图片上传的路径。如何原创 2021-11-24 22:22:09 · 2084 阅读 · 0 评论 -
【源码解读】Spring Boot中redis缓存如何在项目初次启动时加载
以若依开源框架为例,探究redis缓存中的数据,如何在项目启动时进行加载。该缓存的加载涉及到两张表:sys_dict_data(字典数据) 和 sys_dict_type(字典类型)加载字典类型 SysDictType@Servicepublic class SysDictTypeServiceImpl implements ISysDictTypeService{ /** * 项目启动时,初始化字典到缓存 */ @PostConstruct原创 2021-11-22 09:14:08 · 2946 阅读 · 0 评论 -
【BUG修复】结果集数据无法显示<只显示BaseEntity 中的数据>
查询结果数据集中的数据是 BaseEntity中的数据。如下:public class BaseEntity implements Serializable{ private static final long serialVersionUID = 1L; /** 搜索值 */ private String searchValue; /** 创建者 */ private String createBy; /** 创建时间 */ @Json原创 2021-11-20 10:58:37 · 459 阅读 · 0 评论 -
【BUG】org.springframework.web.HttpMediaTypeNotSupportedException:Content type ‘multipart/form-data;
一个BUG今天开发一个功能,使用APpiPost测试的时候,报了一个错误,如下:08:35:20.818 [http-nio-9203-exec-9] ERROR c.r.c.s.h.GlobalExceptionHandler - [handleException,81] - 请求地址'/coord',发生系统异常.org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-原创 2021-11-21 09:15:00 · 17280 阅读 · 1 评论 -
【BUG修复】com.fasterxml.jackson.databind.exc.InvalidDefinitionException<A>
org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.ruoyi.digital.domain.BbCoordInfo]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found f原创 2021-11-20 08:15:00 · 755 阅读 · 0 评论 -
【令牌不能为空】接口无法调用的原因分析
这是从网关请求转发的,所以无法直接调用原创 2021-11-19 09:03:34 · 6785 阅读 · 0 评论 -
【BUG修复】查询条件中,下拉框的值如何定义---动态值
需求分析隶属公司字段是在数据库中维护的,这个值是动态的,因此不能像固定值那样,写死在页面里。这个需求,可以参考字典管理页面,查询条件中的字典名称是如何实现的。前端展示代码:代码整体执行逻辑执行的SQL语句查询的执行逻辑执行的SQL语句最后的查询条件中有dict_type,这个值正是 typeOptions中的value属性...原创 2021-11-19 09:01:16 · 382 阅读 · 0 评论 -
【BUG修复】查询条件中,下拉框的值如何定义---固定值
原代码:这个下拉框的值是固定的,只有是或者否,两个选项。修改为:<el-form-item label="归属集团" prop="belong"> <el-select v-model="queryParams.belong" size="small"> <el-option v-for="item in belOptions" :key="item.value" .原创 2021-11-18 15:00:36 · 530 阅读 · 0 评论 -
【文件上传服务在生产环境的配置】
本地上传文件配置:# 本地文件上传 file: domain: http://127.0.0.1:9404 path: D:/ruoyi/uploadPath prefix: /statics生产环境文件上传:# 生产环境文件上传 file: domain: http://999.2.2.58:9404 #linux生产环境的IP地址:端口 path: /usr/local/lk-webservice/ruoyi/upload pre原创 2021-11-18 14:58:17 · 474 阅读 · 0 评论 -
若依项目开发完成后,如何打包并启动服务
打包项目首先,进行项目的clean和package然后把打包后的文件放到统一的文件夹中。以下3个jar包是系统运行的关键jar包。备份文件服务器进入项目目录cd /usr/local/lk-webservice创建备份文件夹mkdir bak2021-11-17备份文件cp ruoyi-gateway.jar bak2021-11-17/cp ruoyi-modules-system.jar bak2021-11-17/cp ruoyi-auth.jar bak2021-1原创 2021-11-17 16:43:24 · 3337 阅读 · 0 评论 -
修改公司页面,下拉框在前台如何定义【归属集团字段】
需求这个功能,在前面有点涉及,因为归属集团字段只有两个值,0(否),1(是)需求分析因此这个功能可以参考 data.vue中的回显样式是如何展示的// 数据标签回显样式 listClassOptions: [ { value: "default", label: "默认" }, { value: "primary", label: "主要"原创 2021-11-17 13:30:09 · 935 阅读 · 0 评论 -
【功能完善】公司管理界面--是否归属集团字段,显示是或者否
需求公司管理界面–是否归属集团字段,在数据库中存储的字段是 belong字段,记录如下:这里不想让它显示1或者0,而是让它显示 是或者否这里提供三个解决方案解决方案A在数据库中使用case when进行判断.原SQL语句如下:SELECT company_id, company_name, company_shortname, belong, create_by, create_time, STATUS, del_flag, update_by, update_time原创 2021-11-17 13:27:43 · 7131 阅读 · 0 评论 -
SQLIntegrityConstraintViolationException: Column ‘status‘ in where clause is ambiguous
今天项目启动,遇到一个BUG原创 2021-11-17 12:34:29 · 1363 阅读 · 0 评论 -
【关联字段如何在字典中生成】查询车间功能页面中,显示关联的公司(company)字段
需求查询车间功能页面中,显示关联的公司(company)字段这个字典功能,在之前的添加页面已经初始化好了,现在只要拿过来用就可以了。账号状态(status)这个字段,在初始的查询页面中,就可以使用,我们看下它是如何加载的。隶属公司和账号状态,都应当在页面加载的时候,初始化加载进来。所以只要寻找账号状态字段是如何添加的,就可以明白隶属公司字段应当如何添加。查询前台页面 <el-form-item label="隶属公司" prop="companyId"> &原创 2021-11-16 07:54:16 · 549 阅读 · 0 评论 -
【java.sql.SQLDataException】:Unsupported conversion from LONG to java.sql.Timestamp
今天开发需求的时候,遇到一个喜闻乐见的BUG前台报错如下:后端报错如下:翻译翻译: 把Long类型数据转化为Timestamp出错。定位到错误代码:嗯,这里的方法已经return了,不是这里。应该是数据库列名转化异常了,看下是转化的哪个列。AddTimeStamp这个字段在数据库显示如下,很显然是个毫秒值。再看看在后端实体类中显示的是什么类型。是个Date类型。BigInt类型的数据能转化为Date类型吗?很显然,是能的,但是你什么逻辑代码都不写,直接转化,能吗?能…个原创 2021-11-15 10:45:18 · 11502 阅读 · 0 评论 -
【关联字段如何在字典中生成】修改车间功能页面中,显示关联的公司(company)字段
之前做的添加页面,关联公司字段显示的功能但是我发现修改车间页面这个字段,显示的companyId的值。更令我惊讶的,当我在页面初始化的时候,先点击新增按钮,然后再点击修改按钮,那么修改页面中的隶属公司,就会显示公司的全称,如下:这是怎么一回事呢,首先看代码:先看 修改按钮 对应的方法/** 修改按钮操作 */ handleUpdate(row) { this.reset(); const workshopId = row.workshopId || this.原创 2021-11-15 09:58:12 · 453 阅读 · 0 评论 -
【关联字段如何在列表中显示】查询车间列表页面中,显示关联的公司(company)字段
车间列表显示的隶属公司字段是company_id,该字段是公司表中的主键。如何修改,让它显示公司表中的 company_name,而不是显示company_id。这个功能,需要作两表的关联查询,查询出的company_name放在json数组中,返回到前端显示。前端页面改造<el-table-column label="隶属公司" align="center" prop="companyId" />修改为--><el-table-column label="隶属公司" .原创 2021-11-13 10:30:00 · 1037 阅读 · 0 评论 -
【关联字段如何在字典中生成】添加车间功能页面中,显示关联的公司(company)字段
新增了一个新功能,隶属公司需要从另一张表中获取。下拉框中需要展示的是 company_id 和 company_name前端改造前端改造分为Vue页面和js文件修改Vue页面前端页面展示:<el-form-item label="隶属公司" prop="companyId"> <el-select v-model="form.companyId" placeholder="请选择隶属公司"> <el-option la.原创 2021-11-12 11:30:00 · 563 阅读 · 0 评论
分享