后端java遇到的问题

复制代码
export function A(query) {
  return request({
    url: '/sys/B/A',
    method: 'get',
    params: query
  })
}
复制代码
@GetMapping("/A")
public AjaxResult A(@RequestParam String NO) {
复制代码
A({NO: value})
@RequestParam实际就像是一个实体类,如果只是传一个字段就需要{NO: value}

2.导入组件运用
复制代码
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body
           :close-on-click-modal="false">
  <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url"
             :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
             :on-success="handleFileSuccess"
             :auto-upload="false" drag v-loading="upload.isUploading">
    <i class="el-icon-upload"></i>
    <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
    <div class="el-upload__tip text-center" slot="tip">
      <span>仅允许导入xls、xlsx格式文件。</span>
      <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"
               @click="importTemplate">下载模板
      </el-link>
    </div>
  </el-upload>
  <div slot="footer" class="dialog-footer">
    <el-button type="primary" @click="submitFileForm" :disabled="upload.isUploading">确 定</el-button>
    <el-button @click="upload.open = false" :disabled="upload.isUploading">取 消</el-button>
  </div>
</el-dialog>

其中on-progress:控制过程中展示的状态,
复制代码
:on-success="handleFileSuccess":是成功时候的状态
复制代码
upload: {
  // 是否显示弹出层
  open: false,
  // 弹出层标题
  title: "",
  // 是否禁用上传
  isUploading: false,
  // 设置上传的请求头部
  headers: {Authorization: "Bearer " + getToken()},
  // 上传的地址
  url: process.env.VUE_APP_BASE_API + "/wms/inventory/importData"
},
通过url的地址来导入数据库中

2.有关SQL 的聚合规则

当你使用 GROUP BY 时,SQL 规范要求所有在 SELECT 语句中列出的字段,除了聚合函数外,必须出现在 GROUP BY 子句中。

违反SQL 的聚合规则:

如果在 SELECT 语句中有一些列没有被 GROUP BY 包含,并且这些列不涉及聚合函数(如 SUM(), AVG(), COUNT() 等),就会导致 SQL 报错。在开启 ONLY_FULL_GROUP_BY 模式时,这种情况会严格检查并直接报错。

所以结论:

如果你的 SELECT 语句中有多个列,并且你在使用 GROUP BY 时只对其中一些列进行了聚合操作,其他的非聚合列都必须包含在 GROUP BY 子句中,以遵循 SQL 的标准规则(尤其是在开启 ONLY_FULL_GROUP_BY 模式时)。这确实可能导致长 GROUP BY 列表,特别是当你选择的列很多时。

3.定时任务

4.权限分离

首先创建用户表,

用户工厂表,用户采购组织表,用户销售组织表,用户角色表,角色工厂表(存的是uesr_id和和对应的工厂),角色销售组织表,角色采购组织表,工厂表,采购组织表,销售组织表

其次在查询权限的时候,

复制代码
删除所有用户权限缓存
复制代码
keys = redisCache.keys(Constants.SYS_USER_ACCESS_DATA + userId);

将上述表中数据通过user_id进行分组,遍历用户,将每一个用户的的数据填入
复制代码
// 存入 Redis
String redisKey = Constants.SYS_USER_ACCESS_DATA + sysUserId;
redisCache.setCacheObject(redisKey, accessData);

需要用的时候
复制代码
(SysUserAccessData) redisCache.getCacheObject(Constants.SYS_USER_ACCESS_DATA + userId);

最后,对用户进行数据分离的时候,先查出这个用户的相关权限信息,比如属于那个工厂,那个采购组织,然后比如用户如果查询出库表,那么就需要提取用户相关权限信息中的工厂详情,在select方法中加入权限中工厂详情的条件,这样就完成权限数据分离
相关推荐
消失的旧时光-19434 分钟前
Spring Boot 核心机制之 @Conditional:从原理到实战(一次讲透)
java·spring boot·后端
量子炒饭大师6 分钟前
【C++11】RAII 义体加装指南 ——【包装器 与 异常】C++11中什么是包装器?有哪些包装器?C++常见异常有哪些?(附带完整代码讲解)
开发语言·c++·c++11·异常·包装器
石榴树下的七彩鱼7 分钟前
智能抠图 API 接入实战:3 行代码实现图片自动去背景(Python / Java / PHP / JS)
java·图像处理·人工智能·python·php·api·抠图
telllong10 分钟前
Python异步编程从入门到不懵:asyncio实战踩坑指南
开发语言·python
知兀10 分钟前
【Result类】(使用/不使用<T> data的情况);自带静态方法、纯数据类;
java·开发语言
达帮主11 分钟前
25.C语言 递归函数
c语言·开发语言·汇编
Seven9711 分钟前
【从0到1构建一个ClaudeAgent】协作-自主Agent
java
整点薯条77817 分钟前
用 Python 给家里做一次噪音频谱审计:程序员的声学工程实践(含完整源码)
开发语言·python·噪音控制
洋不写bug17 分钟前
Java线程(三):线程执行顺序问题、可重入锁、加锁操作解析,死锁解决
java·开发语言
子非吾喵18 分钟前
本地部署AI大模型:Ollama + Qwen3 完整指南,用Python打造智能聊天助手
开发语言·人工智能·python