12.20周报
12.16:完成用户编辑接口的开发;用户编辑功能和创建功能有很多类似的地方,因此为了避免重复代码,我将参数校验抽取成了一个公共方法;且由于官网已经上过了编辑功能,基本逻辑和后台编辑用户是类似的,唯一的区别在于,web端需要回显个人信息,而后台则返回true或者false就可以。
而又由于保存了用户的变更记录,因此从数据库获取的敏感信息,不能解密,需要加密保存到变更记录里面,因此web端就还需要将敏感信息单独解密,回显到个人信息;
12.17:完成用户编辑接口提测,修改留资推送线索中的语言动态;
原有的推送线索里包含了语言,但是是在代码中写死的常量-英语,由于现在多语言表已经创建,可以获取用户选择的语言,因此将语言通过获取当前支持的语言列表来动态获取;然后推送给ocrm
12.18:专项代码review,优化已有的代码;
在代码review的过程中,我的接口返回值,是基本数据类型boolean,而通用的都是返回Boolean,于是stone老师给我提了个问题,接口返回到底选择boolean还是Boolean?
然后我去查资料我本以为是序列化的问题,但其实返回的时候底层已经转成了包装类Boolean,所以本质的区别其实是特殊值的问题,boolean是基本变量,只有两个值:true和false;而Boolean是包装类,有三个值:true、false和null,在某些特殊场景,用null可以进行一些特殊判断;因此接口返回布尔值最好选择包装类。
12.19:修改seo设置出现的bug;在解决这个bug的时候,我发现项目中的多语言获取其实存在问题,现有的多语言配置涉及三张表,字典、模板配置表和多语言字段表,而在配置多语言时,仅仅修改了配置表,但是获取多语言字段时,只获取了字典表,因此就会出现一个问题:配置默认语言的时候,只修改了配置表,如果这个时候去获取多语言表,默认语言还是修改前的默认语言,导致了数据不一致。和孙老师讨论后,孙老师在配置默认语言时,同步修改多语言表,解决了这个问题。
而seo的bug也类似,由于我是直接获取的多语言表,假如现在只有一种语言,我去新增语言,多语言字段仍然只有原先语言字段,导致回显seo时仍然只有一种语言,因此我需要去读取配置表,根据配置表的语言去获取多语言字段值。
12.20:后台筛选整合优化;主要完成了字段整合的需求,例如学员邮箱分为注册邮箱和备用邮箱,现在整合到一起,并且支持多选。
而又由于保存了用户的变更记录,因此从数据库获取的敏感信息,不能解密,需要加密保存到变更记录里面,因此web端就还需要将敏感信息单独解密,回显到个人信息;
12.17:完成用户编辑接口提测,修改留资推送线索中的语言动态;
原有的推送线索里包含了语言,但是是在代码中写死的常量-英语,由于现在多语言表已经创建,可以获取用户选择的语言,因此将语言通过获取当前支持的语言列表来动态获取;然后推送给ocrm
12.18:专项代码review,优化已有的代码;
在代码review的过程中,我的接口返回值,是基本数据类型boolean,而通用的都是返回Boolean,于是stone老师给我提了个问题,接口返回到底选择boolean还是Boolean?
然后我去查资料我本以为是序列化的问题,但其实返回的时候底层已经转成了包装类Boolean,所以本质的区别其实是特殊值的问题,boolean是基本变量,只有两个值:true和false;而Boolean是包装类,有三个值:true、false和null,在某些特殊场景,用null可以进行一些特殊判断;因此接口返回布尔值最好选择包装类。
12.19:修改seo设置出现的bug;在解决这个bug的时候,我发现项目中的多语言获取其实存在问题,现有的多语言配置涉及三张表,字典、模板配置表和多语言字段表,而在配置多语言时,仅仅修改了配置表,但是获取多语言字段时,只获取了字典表,因此就会出现一个问题:配置默认语言的时候,只修改了配置表,如果这个时候去获取多语言表,默认语言还是修改前的默认语言,导致了数据不一致。和孙老师讨论后,孙老师在配置默认语言时,同步修改多语言表,解决了这个问题。
而seo的bug也类似,由于我是直接获取的多语言表,假如现在只有一种语言,我去新增语言,多语言字段仍然只有原先语言字段,导致回显seo时仍然只有一种语言,因此我需要去读取配置表,根据配置表的语言去获取多语言字段值。
12.20:后台筛选整合优化;主要完成了字段整合的需求,例如学员邮箱分为注册邮箱和备用邮箱,现在整合到一起,并且支持多选。
全部评论
相关推荐