发表于: 2017-04-15 02:51:33
0 1367
今天完成的事:萝卜多后端评审,没有通过;
存在问题:
一.这个问题我忽略了我们公司使用的是分布式框架,前台后台接口使用的端口都不一样,所以需要作区分.
二.
Article管理列表接口
搜索列表接口标识不够清晰规范,修改后:/a/u/articlelist/search;
三.
上线操作:
请求参数:id,stats;
logger.info("id is " + id);
if (ID是否存在){
返回错误code值;
logger.info("id is Null");
}
/** type=0上线状态,type=1下线状态 */
if(type == 0){
logger.info("status update is start");
上线操作;
logger.info("status is " + status);
} else if (type == 1){
logger.info("status update is start");
下线操作;
logger.info("status is " + status);
} else {
logger.info("illegal parameter is " + type);
code;//非法参数
}
如果验证都通过了执行updateStatus
我的想法是自定义一个状态来判断前端想进行什么操作,判断完了再用自己的status进行状态修改;结果多此一举;
四.问题主要出在这么多权限的组合如何用简洁的代码实现,和如何赋予账号权限;我的解决办法很啰嗦,实现很复杂,不同权限回显的内容不同;
明天的计划:完善萝卜多方案,修复威威化运订单管理BUG;
遇到的问题:权限管理不知道如何实现,明天会参考公司其他项目是怎么实现的;
ch.setDriving_img_id(BigDecimal.valueOf((long) pd.get("driving_img_id") ));
使用这段代码会出现类型转换异常.
ch.setDriving_img_id(BigDecimal.valueOf(Long.parseLong(pd.get("driving_img_id") + "")));
Long.ParseLong(String)方法,将 string 参数解析为有符号十进制 long,字符串中的字符必须都是十进制数字,然后再转换为BigDecimal类型;
我换成下面的代码就解决了这个BUG,driving_img_id本身就是BigDecimal类型,不知道为什么要这样做,这个一个图片上传操作,有一个工具类,对图片进行储存然后生成一个id放入数据库,通过id查找图片;明天搜索整理;
收获:
作为一个菜鸡Java,怎么写方案
1.在哪里记录日志;
2.要记录错误日志,捕获异常;
3.业务代码(非法非空,逻辑校验);
4.可读性,返回code值用枚举;
5.注释风格统一,例如单行注释用//就全部用//;
6.格式化,tab两个空格;
幸好我及时发现自己已经变成一个不会思考的机器,不然这辈子就真的没办法去写自己喜欢的代码了.
评论