工具类--给不缺确定的实体类中的某个固定字段赋值

/**
* 需要将masterDataOperateDTO 实体类中的groupId,companyId,创建人,赋值给传入的实体
* @param t
* @param masterDataOperateDTO
* @param <T>
* @return
* @throws Exception
*/
public static <T> T gentEntity(T t,ResultModel<MasterDataOperateDTO> masterDataOperateDTO) throws Exception{
if (SettingConst.RETCODE_SUCCESS.equals(masterDataOperateDTO.getRetCode())) {
MasterDataOperateDTO result = masterDataOperateDTO.getResult();

Class<?> aClass = t.getClass();
Field[] declaredFields = aClass.getDeclaredFields();

for (Field field:declaredFields) {
//添加权限
field.setAccessible(true);

//根据field.getType() 反射获取字段类型,可以扩展
if("groupId".equals(field.getName())){
if(StringUtils.isNotBlank(result.getGroupId())){
field.set(t,Long.valueOf(result.getGroupId()));
}
}
if("companyId".equals(field.getName())){
if(StringUtils.isNotBlank(result.getCompanyId())){
field.set(t,Long.valueOf(result.getCompanyId()));
}

}
if("createUser".equals(field.getName())){
if(StringUtils.isNotBlank(result.getOperator())) {
field.set(t, result.getOperator());
}
}
}
}

return t;
}


调用
ResultModel<MasterDataOperateDTO> masterDataOperateDTOResultModel = new AuthorityUtils(clientMasterDataService).postDataEntity(unusedGasDTO.getGroupId(), unusedGasDTO.getCompanyId());
UnusedGasDTO unusedGasDTO1 = AuthorityUtils.gentEntity(unusedGasDTO, masterDataOperateDTOResultModel);

byte[] bytes = clientUnusedGasService.queryUnusedGasListExcel(unusedGasDTO1);


posted @ 2019-05-27 15:14  有容奶大  阅读(720)  评论(0)    收藏  举报