本文主要是对“ppw-最后的todo,永远的todo” 做最后的总结回顾。
1、redis等快捷启动
cd /d D:\Soft\Redis-x64-3.2.100
start /b redis-server.exe
redis-server.exe
各种软件的启动和停止,都应该“浓缩为一个命令”,比如 startRedis.sh stopRedis.sh。
太长了,记不住,操作繁琐。
2、post增加 封面图
文章、分类等多种内容模型,都需要封面图cover字段。
尤其是,移动端展示内容的时候,需要图片,看起来更好点。
3、理财人列表,会员等级 更换成 后台渲染
layui等传统jQuery框架和vue等框架结合的时候,各种问题。
动态渲染的东西,要么纯ajax,要么纯vue,或者纯后端。
4、开户行增加支行,提现时使用 bankBranchName字段
后台可以修改。
模型设计的时候,字段可以设计的详细一点,根据需要展示和修改。
后端修改功能,强一些,还是有好处的。
5、身份证实名改为2要素认证
2要素、3要素、4要素,统一封装到jtn-ai-cloud。
实际认证的时候,可能需要非常严格的认证,也可能需要较为宽松的认证。
根据实际需要。
6、项目图片列表中的图片,增加点击查看大图功能
用户体验优化。
各种图片展示的时候,都先展示“缩略图”,节省带宽,提高访问效率。
增加“查看原图”,提升用户体验。
7、手机号打星
统一封装到 jtn-common的MobileKit.hideMobile。
8、文案内容按照时间倒序排序涉及首页和具体页面,排序规则权重+时间倒序
排序方式多种多样,一般都是按照时间逆序,顶多加个“置顶”。
需求千变万化,设计还是要扩展性。
9、以下页面查询条件增加会员类型(下拉列表形式)同时列表增加会员类型字段
java业务系统,就是crud,查询功能要非常强大才行
10、我要充值说明中去掉第一条,提现说明修改
充值、提现,都是核心业务,文案说明,客户定制会比较强。
11、nginx500-error页面
后台服务异常的时候,nginx展示500异常,不是很友好。
比较懒,一直没能自定义配置。
12、tomcat无法正常杀死 ,末尾有个 sh语句
记不太清了。
今后都用SpringBoot了,有自动化的kill语句。
13、p2p base util
CookieWrapper 等 迁移到 基础工具库,static方法。
通用工具类,都放到jtn基础库,
14、ppw,error错误日志
线上错误日志,需要经常观察下。
目前还没有增加 报警功能。
15、简化jar包
项目中的jar包太多了,都有用吗?
该简化的简化。
16、QueryBox<Loan> queryBox =QueryBox.one();
new QueryBox<Loan>();
matchDbPropertyName
BaseService.buildOrderPairListSql filedName匹配propertyName
统一封装BaseService,在原有CRUD框架的基础上,进一步封装,提高开发效率。
Java程序员,不能专注crud和sql,而是各种API和业务逻辑。
业务才是挣钱的。
17、浏览器检查,ie9提示。
vue对ie的支持不太好,不过ie也该淘汰了。
技术选型的时候,需要考虑浏览器。
如果不支持,给个提示,也挺友好的。
18、360安全扫描
安全检测,CSRF,越权
(XSS用户输入过滤,SQL注入)
安全问题,一直没怎么重视。
好多项目,都没能非常持续,做着做着就停了。
小项目,刚刚起步,安全好像也不是个大事。
19、后端loan最后几个关键页面替换
loan的add,editStatus迁移。
p2p原项目是很老的Spring项目,学习JFinal,改为了JFinal重写。
今后又有可能用SpringBoot那一套,简化。
20、loanRepay
发起还款和审核还款
分成2个函数,前台和后台都是
核心业务逻辑,都分成单独的方法,比较好维护。
21、切换tab时和jtnTabChange(configTab.loanListName);
切换之后,需要更新“左侧菜单”
tab菜单错乱?
菜单太多了,票据项目,中间隔了10多个tab,满标审核tab 无法正常展示出来。
layuiAdmin后台框架,有bug,或者说tab太多,不太好展示。
后台管理系统,今后打算转vue+webpack。
22、sort字段、userLevel奖励年利率、提现和投标金额,都只能输入 正整数。
js函数,提取成 公共方法。
js有单独的jtn-common-js,不过复用性不太强。
核心逻辑,一般都放在后端了。
23、自动关闭的对话框。
封装方法,先打开对话框,再封装定时任务关闭对话框。
24、kindeditor隐藏批量上传图片
批量上传有bug,也不咋用。
有单个上传就行了。
25、JFinal ext认真研究下
JFinal自己有进一步封装成jtn-jfinal,网上有开源的jfinal-ext,大致看了下,感觉不符合自己的理念,没咋用。
26、Maven仓库, js代码,java代码 开始积累。
7月已经解决了这个问题,maven仓库发布自己的jar包,方便代码复用。
27、geetee初步测算
登录的时候,增加安全验证,防止登录无限重试破解。
做了基本的调研,跑通了,没有投入实际使用。
28、大于0.5秒的日志,数据库增加索引。
做新项目的时候,速度至上。
代码效率,只要不是太慢,都还行。
一般来说,不再for循环里查询数据库,都好说。
后期,可以增加CosttimeInterceptor拦截器,每个方法的执行时常都打印出来。
超过1秒的,打印error日志。
然后统一优化,比如增加数据库索引。
29、审核日志
系统的变化,都应该有各种日志。
日志数据,越到后期越有价值。
30、还款 改为 分批还款,1个用户,还款日志。
之前1个标有10个用户投标,10个用户还款是在一个事务里。
如果今后有1000个用户投标,事务就太大了,有一点查错,整个还款都有问题。
所以,可以拆分成单个用户逐步还款。
31、满标页面,未来展示投标和回款计划。
满标的时候,哪些人投了标,未来还多少钱,都可以展示出来了。
方便审核。也好知道,未来该还多少钱,评估下这次招标是不是有问题。
32、Redis分布式锁, 投标、满标审核、还款,1个人同时点多次的情况。
满标审核,loanRepay唯一约束。
这是一个分布式问题,并发问题,重复点击问题。
目前的简单处理:事务,唯一索引,状态检查。
前台控制,点击“投标”之后,立刻置灰,防止重复点击。
未来可以考虑,Redis单点分布式锁。
33、宝付,充值成功,返回商户的地址。
之前做p2p网贷的时候,有和宝付对接。
支付这一块,没啥完全统一的封装。今后选择主流友好的支付方式。
34、项目时间 没有到,不允许投标
项目过期 不考虑。
初期,没有考虑那么严格。代码重写,工作量还是蛮大的。
35、阿里短信(后面再考虑,多接入几个)。
发送短信,可以统一封装成工具方法。
配置账号和密码,就可以使用才好。
36、https。
现在都在搞https,http用的越来越少了。
有很多免费证书了,能用就行。
https安全证书贵的要死,一年5000元,收割的也太狠了。
37、“2个service互相引用很麻烦,如果需要,增加manager层,互相不调用
复杂的核心业务,JFinal 引入manager层,不考虑事务
service不能引入service”
JFinal的bug,debug也看不出来啥问题。
38、“fillModelList,手动选择,不能默认调用
怎么只 fill 某几个字段呢?
前台fill和后台fill 各自维护,后台更全面,前台要安全,尽可能少
”
Post模型里,有类目、用户等关联模型。
有通用的填充方法fillModel,但是 有的地方只需要 用户,有的地方需要用户和类目。
通用封装和快捷高效,存在冲突。
还有就是,自动调用好呢,还是手动调用好呢?目前看,手动调用好一些。
39、暴露了太多的字段信息,怎么隐藏呢?
简单起见,前台展示的json字符串,都是后台 数据库model,暴露字段太多了。
今后对于重要的项目,还是要进一步简化下,去除不必要的字段。
40、“user_info,后续也简化成1张表
展示个人资料,认证、修改密码入口
用户名、手机号、姓名、身份证号、
银行卡、交易密码、登录密码等”
user和user_info,有没有必要设计成2张表呢?
真难说。
41、“3.5版本中,如何在afterJFinalStart中调用controller中的方法把数据库中的固定配置放在session中
这种情况不用配置在 session 中, 在 session 中不划算,直接用 enjoy 的 shared object 扩展即可,例如:
engine.addSharedObject("myConfig", myConfig);
用的时候直接用,例如:
#(myConfig.value)
”
选择更好的方式,而不是啥都向session里扔。
本文总结了PPW项目的多项改进措施,包括软件快捷启动、封面图添加、会员等级后台渲染、身份证实名认证优化、图片查看大图功能、手机号遮掩、文案排序规则、充值提现说明调整、安全扫描与防护、核心业务逻辑分解、数据库性能优化等。
2241

被折叠的 条评论
为什么被折叠?



