You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#框架
|
|
|
|
|
[mybatis-plus](http://mp.baomidou.com/#/)
|
|
|
|
|
|
|
|
|
|
##常用
|
|
|
|
|
- 生成java 类
|
|
|
|
|
|
|
|
|
|
使用 CustomGenerator.java 自动生成 ,里面的表名等参数自己修改
|
|
|
|
|
|
|
|
|
|
需要注意 xml 文件要拷贝到 resource 或者扫描的时候自己修改位置,本项目是直接拷贝到resource mapper下
|
|
|
|
|
注意如果 xml 开启了二级缓存 ,报错的话需要注释掉
|
|
|
|
|
|
|
|
|
|
- 常用的对象注解
|
|
|
|
|
```
|
|
|
|
|
mybatis-plus注解
|
|
|
|
|
@TableField(exist = false)
|
|
|
|
|
private String name;
|
|
|
|
|
|
|
|
|
|
@TableField("name")
|
|
|
|
|
private String name;
|
|
|
|
|
``````
|
|
|
|
|
Jackson 注解
|
|
|
|
|
@JsonIgnore
|
|
|
|
|
private String name;
|
|
|
|
|
|
|
|
|
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 入
|
|
|
|
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") 出
|
|
|
|
|
private Date updateTime
|
|
|
|
|
```
|
|
|
|
|
- 在线用户统计
|
|
|
|
|
实现方式(不记录在mysql中): redis bitmap 。 t_user 表的 id作为偏移量 记录数据的方法在网关层 (其他的信息自己百度关键字)
|
|
|
|
|
1. 计算每条记录(所有的用户登录信息就是一条记录) 的登录用户数 ,key 就是那条redis的记录
|
|
|
|
|
``` jedis.bitcount (key) ```
|
|
|
|
|
2. 计算活跃度 假设 7天连续登录
|
|
|
|
|
``` bitSet = bitSet.and(bitSet2); bitSet.and(bitSet2); bitSet.and(bitSet3)。。。。 ```
|
|
|
|
|
求合集就是7天连续登录的数据了,就可以求数量,判断某个用户是否是活跃用户 (求所有的活跃用户好像会麻烦点)
|
|
|
|
|
|
|
|
|
|
每天每个时段(为了实现SB需求做的)的数据可能会有很多,注意定时清理, (每天可能会有24条记录产生)
|
|
|
|
|
- doc 文件生成
|
|
|
|
|
1. 早先的实现方案 doc 直接 改格式成xml ,替换里面的数据 例子: 报表.doc 改成 报表.xml 增加freemark数据 ,生成文件的时候生成 名字改回报表.doc
|
|
|
|
|
2. 当前实现方案, docx 文件解压 ,替换里面的 document.xml 文件,重新生成 docx 文件
|
|
|
|
|
#公用
|
|
|
|
|
- 异常处理
|
|
|
|
|
|
|
|
|
|
统一异常处理 在 包 com.charge.user.advice 下
|
|
|
|
|
|
|
|
|
|
- log报错问题(get set 问题也是一样)
|
|
|
|
|
引入@Slf4j 注解导致,本身执行没问题。 只是IDE 提示问题,可file -setting -plugin 中搜索 lom 安装lomk插件
|
|
|
|
|
|
|
|
|
|
|