ppw-最后的todo,永远的todo(最后的41点总结和提升)

本文主要是对“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里扔。

发布了1320 篇原创文章 · 获赞 2523 · 访问量 341万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览