发表于: 2017-04-15 02:51:33

0 1367


今天完成的事:萝卜多后端评审,没有通过;

存在问题:

1)文章管理前台后台接口混在一起,理解有问题;
2)接口url命名不规范;
3)文章修改状态请求参数多写一个;
4) 后台管理理解不到位;

一.这个问题我忽略了我们公司使用的是分布式框架,前台后台接口使用的端口都不一样,所以需要作区分.

二.

Article管理列表接口

GET
 /a/u/article/search 

搜索列表接口标识不够清晰规范,修改后:/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两个空格;


幸好我及时发现自己已经变成一个不会思考的机器,不然这辈子就真的没办法去写自己喜欢的代码了.


返回列表 返回列表
评论

    分享到