coinex 笔记

1.// 权限是数据库表sys_privilege 中web_config_query
@PreAuthorize("hasAuthority('web_config_query')") 

2.分页查询

// WebConfigController // 调用findByPage

public R<Page<WebConfig>> findByPage(@ApiIgnore Page<WebConfig> page , String name , String type ){
        Page<WebConfig> webConfigPage = webConfigService.findByPage(page,name,type)  ;
        return R.ok(webConfigPage) ;
    }
// WebConfigService // 写接口
public interface WebConfigService extends IService<WebConfig>{

    Page<WebConfig> findByPage(Page<WebConfig> page, String name, String type);
// imp中实现
@Service
public class WebConfigServiceImpl extends ServiceImpl<WebConfigMapper, WebConfig> implements WebConfigService{

    @Override
    public Page<WebConfig> findByPage(Page<WebConfig> page, String name, String type) {

        return page(page ,new LambdaQueryWrapper<WebConfig>()
                .like(!StringUtils.isEmpty(name),WebConfig::getName ,name)
                .eq(!StringUtils.isEmpty(type),WebConfig::getType ,type)
        );
    }
 }

3. @Validated 表单校验

// controller中

@PreAuthorize("hasAuthority('web_config_create')")
    // @Validated 校验 表格中不能为空 之类验证
    public  R add(@RequestBody  @Validated  WebConfig webConfig){ 
        boolean save = webConfigService.save(webConfig);
        if(save){
            return  R.ok() ;
        }
        return  R.fail("新增失败") ;
    }
// 实体类中 @NotBlank

    @TableField(value = "type")
    @ApiModelProperty(value="分组, LINK_BANNER ,WEB_BANNER")
    @NotBlank // 校验
    private String type;

    @TableField(value = "name")
    @ApiModelProperty(value="名称")
    @NotBlank // 校验
    private String name;

    @TableField(value = "value")
    @ApiModelProperty(value="值")
    @NotBlank // 校验
    private String value;

4.连表查询 @TableField(exist = false) 表示不在同一个表

// 实体类中 // 暂时全赋值为"测试用户"

    @TableField(exist = false)
    @ApiModelProperty(value = "创建工单的用户名称")
    public String username ="测试用户" ;


    @TableField(exist = false)
    @ApiModelProperty(value = "创建工单的用户真实名称")
    private String realName= "测试用户" ;

5.从多个表中查询数据 然后再封装成一个对象 p70

 /**
     * 差询用户的认证详情 ---> 三个表 --> 新建一个对象
     * {
     * user: 
     * userAuthInfoList:[]
     * userAuditRecordList:[]
     * }
     */
// 额外建一个包 vo 创建一个实体类

@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "用户认证的详细信息")
public class UseAuthInfoVo  implements Serializable{

    @ApiModelProperty(value = "用户")
    private User user ;

    @ApiModelProperty(value = "用户认证的详情列表")
    private List<UserAuthInfo> userAuthInfoList ;

    @ApiModelProperty(value = "用户审核历史")
    private List<UserAuthAuditRecord> authAuditRecordList ;

}
// usercontroller 中
// 封装成对象 new UseAuthInfoVo(user, userAuthInfoList, userAuthAuditRecordList)

@GetMapping("/auth/info")
    @ApiOperation(value = "查询用户的认证详情")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "用户的Id")
    })
    public R<UseAuthInfoVo> getUseAuthInfo(Long id) {

        }
        return R.ok(new UseAuthInfoVo(user, userAuthInfoList, userAuthAuditRecordList));
    }
// usercontroller 完整查询

    public R<UseAuthInfoVo> getUseAuthInfo(Long id) {

        User user = userService.getById(id);
        List<UserAuthAuditRecord> userAuthAuditRecordList = null;
        List<UserAuthInfo> userAuthInfoList = null;
        if (user != null) {
            // 用户的审核记录
            Integer reviewsStatus = user.getReviewsStatus();
            if (reviewsStatus == null || reviewsStatus == 0) { // 待审核
                userAuthAuditRecordList = Collections.emptyList(); // 用户没有审核记录
                //
                userAuthInfoList = userAuthInfoService.getUserAuthInfoByUserId(id);
            } else {
                userAuthAuditRecordList = userAuthAuditRecordService.getUserAuthAuditRecordList(id);
                // 查询用户的认证详情列表-> 用户的身份信息
                UserAuthAuditRecord userAuthAuditRecord = userAuthAuditRecordList.get(0);// 之前我们查询时,是按照认证的日志排序的,第0 个值,就是最近被认证的一个值
                Long authCode = userAuthAuditRecord.getAuthCode(); // 认证的唯一标识
                userAuthInfoList = userAuthInfoService.getUserAuthInfoByCode(authCode);
            }
        }
        return R.ok(new UseAuthInfoVo(user, userAuthInfoList, userAuthAuditRecordList));
    }

6. 处理空值的写法 p71

return list == null ? Collections.emptyList() : list ;

7. 批量查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值