发表于: 2017-10-28 22:12:07

1 721


一.今天完成的主要事情

主要重构了项目代码

重构的点是,创建常量类,将原项目中的数字基本都用常量来代替,还有就是对一些重复的代码进行了优化,提取为功能类

以下是具体实现

创建三个常量类,第一个是合同所需的常量类,;第二个是接口中的code常量类,最后一个是参数常量类

将合同表的常量提取出来是因为合同中需要的常量比较多而且项目中没有设计合同表,其他表中的常量字段都封装在model中

如图:

接口code常量类主要封装了在接口中的各种状态码

如图

参数常量类 主要封装了功能类和接口中用到的全局常量

如图

重构后的代码为:以查询产品详情接口为例


/**
    * @Description: 查询产品详情
    * @param: id 产品ID
    * @return: 返回相应的jsp页面
    * @throws: Exception
    * @author: zhangxin
    * @Date: 2017-10-26
    */
   @RequestMapping(value = "/a/product/{id}", method = RequestMethod.GET)
public String getProductJson(HttpServletRequest request,
HttpServletResponse response, ModelMap model, @PathVariable Long id)
throws Exception {

log.info("getProductJson() parameter :" + "id: " + id);
try{
Product product = productService.getObjectById(id);
if (DataUtils.isNullOrEmpty(product)){
log.info("Couldn't find product by id, id is: " + id);
model.addAttribute("code", InterfaceCodeConstant.Data_NotExist);
model.addAttribute("id", id);
return "/data/json";
}
log.info("get product data, productId is: " + product.getId());

model.addAttribute("code", InterfaceCodeConstant.System_Success);
model.addAttribute("product", product);
} catch (Throwable t){
t.printStackTrace();
log.error(t.getMessage());
log.error("get product data error, id is: " + id);
model.addAttribute("code", InterfaceCodeConstant.System_Exception);
}
return "/polyFinance-business-service/product/json/productDetailJson";
}
}

可以看到,代码中基本没有再出现数字

二.明天计划完成的主要事情

1.请其它人进行codereview

2.开始后台跑批服务的实现

三.遇到的问题

暂无

四.收获

以上

五.项目进度情况

可能要继续延期了,不管怎么说,抓紧时间吧


返回列表 返回列表
评论

    分享到