/**
* 需要将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);