用户完善资料,会进行修改状态, 我本来是在用户添加资料那进行同步操作状态,但是产品经理说,用户可以选择不填满这个档案资料,好吧,只能
改需求30个字段,不可以一个一个去判断是否为NULL把,那么只能用反射机制了, 思路:根据用户填的数据做判断,看是否存在NULL,如果存在,则
进行保存用户此次填的数据,而不修改状态 ,如果用户数据全部完整,那么进行修改订单状态!
/**
* 修改
*/
@ApiOperation(value="修改用户档案资料", notes = ApiNotes.USER_ARCHIVES_ALL)
@RequestMapping(value = "/update",method = RequestMethod.POST)
@ResponseBody
public Object update(@ModelAttribute UserArchives userArchives) {
//cation(userArchives);
checkObjFieldIsNotNull(userArchives,userArchives);
return SUCCESS_TIP;
}
/**
* java反射机制判断对象所有属性是否全部为空
* @param obj
* @return 返回属性名称
*/
public Object checkObjFieldIsNotNull(Object obj,UserArchives userArchives){
try {
for (Field f : obj.getClass().getDeclaredFields()) {
f.setAccessible(true);
if (f.get(obj) == null || f.get(obj) == "") {
for(int i=0; i<=1; i++ ){
userArchives.setCreateTime(new Date());
userArchives.setStatus(0);
userArchivesService.updateById(userArchives);
return SUCCESS_TIP;
}
}
}
userArchives.setCreateTime(new Date());
userArchives.setStatus(1);
userArchivesService.updateById(userArchives);
OrderSupply orderSupply =new OrderSupply();
orderSupply.setId(userArchives.getOrderId());
orderSupply.setCondition(1); //档案完善
orderSupplyService.updateById(orderSupply);
}catch (Exception e){
return null;
}
return null;
}