feat:新增数据下拉管理(key,value),返回必要值即可;
This commit is contained in:
parent
9c278649e1
commit
2038c219f1
@ -0,0 +1,62 @@
|
||||
package com.aircraft.modules.system.controller;
|
||||
|
||||
import com.aircraft.annotation.rest.AnonymousPostMapping;
|
||||
import com.aircraft.modules.system.domain.vo.KeyValueEntity;
|
||||
import com.aircraft.modules.system.service.KeyValueEntityService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据下拉管理控制层
|
||||
*
|
||||
* @author chenxiky
|
||||
* @version 1.0.0
|
||||
* @since 2025/7/27
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/dataDropdown")
|
||||
@Api(tags = "数据下拉管理")
|
||||
public class KeyValueEntityController {
|
||||
|
||||
@Resource
|
||||
private KeyValueEntityService keyValueEntityService;
|
||||
|
||||
|
||||
@ApiOperation(value = "获取用户名称下拉-根据不同类型获取")
|
||||
@AnonymousPostMapping("/obtainUserListByType/{userType}")
|
||||
public ResponseEntity<List<KeyValueEntity>> obtainUserListByType(
|
||||
@ApiParam(value = "用户类型(后台用户=0,飞行端用户=1,客户端用户=2)", required = true, example = "0")
|
||||
@PathVariable Integer userType) {
|
||||
List<KeyValueEntity> keyValueEntityList = keyValueEntityService.obtainUserListByType(userType);
|
||||
return ResponseEntity.ok(keyValueEntityList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取景区下拉值
|
||||
*/
|
||||
@ApiOperation(value = "获取景区下拉值")
|
||||
@AnonymousPostMapping("/obtainScenicList")
|
||||
public ResponseEntity<List<KeyValueEntity>> obtainScenicList() {
|
||||
List<KeyValueEntity> keyValueEntityList = keyValueEntityService.obtainScenicList();
|
||||
return ResponseEntity.ok(keyValueEntityList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备下拉列表
|
||||
*/
|
||||
@ApiOperation(value = "获取设备下拉列表")
|
||||
@AnonymousPostMapping("/obtainDeviceList")
|
||||
public ResponseEntity<List<KeyValueEntity>> obtainDeviceList() {
|
||||
List<KeyValueEntity> keyValueEntityList = keyValueEntityService.obtainDeviceList();
|
||||
return ResponseEntity.ok(keyValueEntityList);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.aircraft.modules.system.domain.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
*
|
||||
* 返回枚举下拉值
|
||||
*
|
||||
* @author chenxiky
|
||||
* @version 1.0.0
|
||||
* @since 2025/7/27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class KeyValueEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
public Long key;
|
||||
/**
|
||||
* 中文值(名称)
|
||||
*/
|
||||
@ApiModelProperty(value = "中文值")
|
||||
public String value;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.aircraft.modules.system.service;
|
||||
|
||||
import com.aircraft.modules.system.domain.vo.KeyValueEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenxiky
|
||||
* @version 1.0.0
|
||||
* @since 2025/7/27
|
||||
*/
|
||||
public interface KeyValueEntityService {
|
||||
|
||||
/**
|
||||
* 根据不同的业务类型获取不同的用户下拉
|
||||
*
|
||||
* @param userType 用户类型
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
List<KeyValueEntity> obtainUserListByType(Integer userType);
|
||||
|
||||
/**
|
||||
* 获取景区下列值
|
||||
*
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
List<KeyValueEntity> obtainScenicList();
|
||||
|
||||
/**
|
||||
* 获取设备下拉列表
|
||||
*
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
List<KeyValueEntity> obtainDeviceList();
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
package com.aircraft.modules.system.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.aircraft.exception.BadRequestException;
|
||||
import com.aircraft.modules.aircraft.domain.AircraftDevice;
|
||||
import com.aircraft.modules.aircraft.service.AircraftDeviceService;
|
||||
import com.aircraft.modules.system.domain.CnCustomer;
|
||||
import com.aircraft.modules.system.domain.EmEmployees;
|
||||
import com.aircraft.modules.system.domain.EmScenic;
|
||||
import com.aircraft.modules.system.domain.User;
|
||||
import com.aircraft.modules.system.domain.vo.KeyValueEntity;
|
||||
import com.aircraft.modules.system.service.*;
|
||||
import com.aircraft.utils.enums.UserTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author chenxiky
|
||||
* @version 1.0.0
|
||||
* @since 2025/7/27
|
||||
*/
|
||||
@Service
|
||||
public class KeyValueEntityServiceImpl implements KeyValueEntityService {
|
||||
|
||||
@Resource
|
||||
private UserService userService;
|
||||
@Resource
|
||||
private CnCustomerService customerService;
|
||||
@Resource
|
||||
private EmEmployeesService employeesService;
|
||||
@Resource
|
||||
private EmScenicService scenicService;
|
||||
@Resource
|
||||
private AircraftDeviceService deviceService;
|
||||
|
||||
@Override
|
||||
public List<KeyValueEntity> obtainUserListByType(Integer userType) {
|
||||
// 获取用户列表校验
|
||||
UserTypeEnum userTypeEnum = UserTypeEnum.getByValue(userType);
|
||||
if (userTypeEnum == null) {
|
||||
throw new BadRequestException("用户类型错误");
|
||||
}
|
||||
List<KeyValueEntity> keyValueEntityList = new ArrayList<>();
|
||||
|
||||
switch (userTypeEnum) {
|
||||
case ADMIN:
|
||||
keyValueEntityList = obtainAdminUserList();
|
||||
break;
|
||||
case EMPLOYEES:
|
||||
keyValueEntityList = obtainEmployeesUserList();
|
||||
break;
|
||||
case CUSTOMER:
|
||||
keyValueEntityList = obtainCustomerUserList();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return keyValueEntityList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<KeyValueEntity> obtainScenicList() {
|
||||
List<EmScenic> list = scenicService.list(Wrappers.lambdaQuery(EmScenic.class).select(EmScenic::getId, EmScenic::getName).orderByAsc(EmScenic::getId));
|
||||
if (CollectionUtil.isEmpty( list)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return list.stream().map(employees -> KeyValueEntity.builder().key(employees.getId()).value(employees.getName())
|
||||
.build()).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<KeyValueEntity> obtainDeviceList() {
|
||||
List<AircraftDevice> list = deviceService.list(Wrappers.lambdaQuery(AircraftDevice.class)
|
||||
.select(AircraftDevice::getId, AircraftDevice::getName).orderByAsc(AircraftDevice::getId));
|
||||
if (CollectionUtil.isEmpty( list)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return list.stream().map(device -> KeyValueEntity.builder().key(device.getId()).value(device.getName()).build()).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户列表
|
||||
*
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
private List<KeyValueEntity> obtainCustomerUserList() {
|
||||
List<CnCustomer> list = customerService.list(Wrappers.lambdaQuery(CnCustomer.class)
|
||||
.select(CnCustomer::getId, CnCustomer::getName).orderByAsc(CnCustomer::getId));
|
||||
if (CollectionUtil.isEmpty( list)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return list.stream().map(customer -> KeyValueEntity.builder().key(customer.getId()).value(customer.getName()).build())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取飞行员端用户列表
|
||||
*
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
private List<KeyValueEntity> obtainEmployeesUserList() {
|
||||
List<EmEmployees> list = employeesService.list(Wrappers.lambdaQuery(EmEmployees.class)
|
||||
.select(EmEmployees::getId, EmEmployees::getName).orderByAsc(EmEmployees::getId));
|
||||
if (CollectionUtil.isEmpty( list)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return list.stream().map(employees -> KeyValueEntity.builder().key(employees.getId()).value(employees.getName()).build())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 后台端用户下拉值
|
||||
*
|
||||
* @return List<KeyValueEntity>
|
||||
*/
|
||||
private List<KeyValueEntity> obtainAdminUserList() {
|
||||
List<User> list = userService.list(Wrappers.lambdaQuery(User.class).select(User::getId, User::getNickName).orderByAsc(User::getId));
|
||||
if (CollectionUtil.isEmpty( list)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return list.stream().map(user -> KeyValueEntity.builder().key(user.getId()).value(user.getNickName()).build())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user