美文网首页
210113:业务与图片关联-异常处理-未登录如何测试接口

210113:业务与图片关联-异常处理-未登录如何测试接口

作者: 弹钢琴的崽崽 | 来源:发表于2021-01-13 20:04 被阅读0次

一. 业务与图片关联

图片添加修改-数据库实体类增加字段图片id-------契约平台增加图片id和图片url字段,当查详情时组成图片url返回给前端

SlxfCombatPersonnelService

@Override
public TSlxfCombatPersonnel findPersonnel(String s) {
    CombatPersonnel one = slxfCombatPersonnelRepository.findOne(s);
    TSlxfCombatPersonnel convertor = generalConvertor.convertor(one, TSlxfCombatPersonnel.class);
    /*
        生成图片url
         */
    List<UploaderFile> fileByBusinessType = erticleRepository.findFileByBusinessType(s);
    List<CodeRecord> list = CodeInfoUtils.getCodeListByCodeDicId(SysEnum.QQSH.getCode());
    if(CollectionUtils.isNotEmpty(fileByBusinessType)){
        String url = list.get(0).getValue() + ErticleEnum.URL.getDesc() + fileByBusinessType.get(0).getId();
        convertor.setPictureUrl(url);
    }
    return convertor;
}
@Override
public CombatPersonnel savePersonel(TSlxfCombatPersonnel tSlxfCombatPersonnel) {
    List<Map<String,Object>> map = slxfCombatFaculyRepository.findSortNoByCode(tSlxfCombatPersonnel.getDept());
    tSlxfCombatPersonnel.setSortNo(Integer.parseInt(map.get(0).get("SORT_NO").toString()));
    // 默认排序字段为0
    tSlxfCombatPersonnel.setSort(0);
    CombatPersonnel convertor = generalConvertor.convertor(tSlxfCombatPersonnel, CombatPersonnel.class);
    CombatPersonnel save = slxfCombatPersonnelRepository.save(convertor);
    /**
         * 将图片与业务关联
         */
    //先删除业务与图片的关联,用于编辑操作
    erticleRepository.updateDelFile(save.getId());
    String pictureId = tSlxfCombatPersonnel.getPictureId();
    erticleRepository.updateFile(save.getId(), CombatPersonnelEnum.RYBC_IMG.getCode(),pictureId);
    return save;
}

与附件表相关的操作

/**
     * 将业务与附件做关联
     * @param
     */
@Modifying
@NativeQuery("UPDATE T_UPLOADER_FILE SET BUSINESS_ID = :businessId, BUSINESS_TYPE = :businessType WHERE ID = :fileId")
void updateFile(@Param("businessId") String businessId, @Param("businessType") String businessType, @Param("fileId") String fileId);

/**
     * 删除业务与附件的关联
     * @param
     */
@Modifying
@NativeQuery("UPDATE T_UPLOADER_FILE SET BUSINESS_ID = '', BUSINESS_TYPE = '' WHERE BUSINESS_ID = :businessId")
void updateDelFile(@Param("businessId") String businessId);
/**
     * 根据业务类型获取业务附件
     * @return
     */
@NativeQuery(value = "SELECT * from T_UPLOADER_FILE WHERE BUSINESS_ID =:businessId  ORDER by GENERATE_TIME ASC")
List<UploaderFile> findFileByBusinessType(@Param("businessId") String businessId);

二. 异常处理

异常信息:

SQLSyntaxErrorException: ORA-01747: user.table.column, table.column 或列说明无效

解决:列名不能用关键字如number,level

列名不能用关键字参考文章

异常信息:

MissingServletRequestParameterException: Required String parameter 's' is not present

解决:修改Controller参数名为id

三. 未登录如何测试接口

配置文件中添加,过滤登陆

duceap.security.dcuc.ignorePattern=/js/*|/img/*|/css/*|/dcuclogin/*|/authorizationPage.html|/importAuthorizationFile.html|/license/LicenseManagerServlet|/authorizationFile/|/v2/|/v1/home/|/v1/txry/|/v1/txzb/|/v1/dict/|/api/file/|/v1/

相关文章

网友评论

      本文标题:210113:业务与图片关联-异常处理-未登录如何测试接口

      本文链接:https://www.haomeiwen.com/subject/mgepaktx.html