Files
smartDriveEE/src/main/java/com/rj/controller/LbUserController.java
2026-05-30 23:32:23 +08:00

139 lines
6.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rj.controller;
import com.rj.entity.LbUser;
import com.rj.service.ILbUserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/api/lbUser")
@Tag(name = "LB 用户", description = "lb_user 增删改查与分页")
public class LbUserController {
@Autowired
private ILbUserService lbUserService;
@PostMapping("/add")
@Operation(summary = "新增")
public ResponseEntity<Map<String, Object>> add(
@Parameter(description = "实体id 为外部用户 id需调用方指定", required = true)
@RequestBody LbUser entity) {
Map<String, Object> result = lbUserService.add(entity);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@PutMapping("/update")
@Operation(summary = "编辑")
public ResponseEntity<Map<String, Object>> update(
@Parameter(description = "实体", required = true) @RequestBody LbUser entity) {
Map<String, Object> result = lbUserService.update(entity);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@DeleteMapping("/delete/{id}")
@Operation(summary = "删除")
public ResponseEntity<Map<String, Object>> delete(
@Parameter(description = "主键(用户 id", required = true) @PathVariable Long id) {
Map<String, Object> result = lbUserService.deleteById(id);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@GetMapping("/get/{id}")
@Operation(summary = "根据ID查询")
public ResponseEntity<Map<String, Object>> getById(
@Parameter(description = "用户 id", required = true) @PathVariable Long id) {
LbUser data = lbUserService.getById(id);
if (data == null) {
return ResponseEntity.badRequest().body(Map.of("success", false, "message", "记录不存在"));
}
return ResponseEntity.ok(Map.of("success", true, "message", "查询成功", "data", data));
}
@GetMapping("/list")
@Operation(summary = "分页查询")
public ResponseEntity<Map<String, Object>> list(
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String tenantId,
@RequestParam(required = false) Long pid,
@RequestParam(required = false) String username,
@RequestParam(required = false) String nickname,
@RequestParam(required = false) String mobile,
@RequestParam(required = false) String invite,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Integer isVip,
@RequestParam(required = false) Integer isResell,
@RequestParam(required = false) Integer level,
@RequestParam(required = false) String pname,
@Parameter(description = "注册开始时间格式yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) String joinTimeStart,
@Parameter(description = "注册结束时间格式yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) String joinTimeEnd,
@Parameter(description = "更新开始时间格式yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) String updatedAtStart,
@Parameter(description = "更新结束时间格式yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) String updatedAtEnd) {
Map<String, Object> result =
lbUserService.pageQuery(
current,
size,
tenantId,
pid,
username,
nickname,
mobile,
invite,
status,
isVip,
isResell,
level,
pname,
joinTimeStart,
joinTimeEnd,
updatedAtStart,
updatedAtEnd);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
if (result.get("message") != null && result.get("message").toString().contains("格式错误")) {
return ResponseEntity.badRequest().body(result);
}
return ResponseEntity.internalServerError().body(result);
}
@PostMapping("/sync-from-hxr")
@Operation(
summary = "从 hxrd 后台同步用户",
description =
"分页调用 /app/admin/user/select将 data 解析为 LbUser 后立即 upsert 到 lb_user"
+ "cookie、URL、Referer 等从 lb_third_integration_config 按 tenantId 读取")
public ResponseEntity<Map<String, Object>> syncFromHxr(
@Parameter(description = "租户 id", required = true) @RequestParam String tenantId) {
Map<String, Object> result = lbUserService.syncFromHxrAdmin(tenantId);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
}