1.// 权限是数据库表sys_privilege 中web_config_query @PreAuthorize("hasAuthority('web_config_query')")
2.分页查询
// WebConfigController // 调用findByPagepublic 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{@Overridepublic 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 = ById(id);List<UserAuthAuditRecord> userAuthAuditRecordList = null;List<UserAuthInfo> userAuthInfoList = null;if (user != null) {// 用户的审核记录Integer reviewsStatus = ReviewsStatus();if (reviewsStatus == null || reviewsStatus == 0) { // 待审核userAuthAuditRecordList = ptyList(); // 用户没有审核记录//userAuthInfoList = UserAuthInfoByUserId(id);} else {userAuthAuditRecordList = UserAuthAuditRecordList(id);// 查询用户的认证详情列表-> 用户的身份信息UserAuthAuditRecord userAuthAuditRecord = (0);// 之前我们查询时,是按照认证的日志排序的,第0 个值,就是最近被认证的一个值Long authCode = AuthCode(); // 认证的唯一标识userAuthInfoList = UserAuthInfoByCode(authCode);}}return R.ok(new UseAuthInfoVo(user, userAuthInfoList, userAuthAuditRecordList));}
6. 处理空值的写法 p71
return list == null ? ptyList() : list ;
7. 批量查询
本文发布于:2024-01-28 02:59:50,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063819964292.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |