实现操作
实现如图所示功能,前端没有学习,故本文只写后端内容。
一、数据库
CREATE TABLE `axa_risk_quantification` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`assets` varchar(255) DEFAULT NULL COMMENT '资产',
`assets_health` double(12,2) DEFAULT NULL COMMENT '资产健康度%',
`assets_risk` double(12,2) DEFAULT NULL COMMENT '资产风险值',
`business_system` varchar(255) DEFAULT NULL COMMENT '所属业务系统',
`assets_level` varchar(255) DEFAULT NULL COMMENT '资产等级',
`events_num` int(10) DEFAULT NULL COMMENT '事件数量',
`responsibility_person` varchar(255) DEFAULT NULL COMMENT '责任人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间\r\n',
`update_by` varchar(50) DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='风险量化';
二、pojo和vo
涉及隐私,不放具体代码
- VO中创建一个字符串接受传过来的下拉列表,
- 另外创建一个数组用来传给mybatis
@Data
public class RiskQuantificationVO {
//开始时间 + 结束时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
//资产
private String assets;
//所属业务系统(单选:A系统、B系统...)
private String businessSystem;
//资产等级(组合:低、中、高、全部)
private String assetsLevelStr;
private List<String> assetsLevelList;
private Integer assetsLevelListIsNull;
//事件数量
private Integer eventsNum;
//责任人
private String responsibilityPerson;
}
三、业务代码
controller层接受前端传的字符串参数assetsLevelStr,使用spilt方法去除逗号,转换为Array数组传给service和mapper.xml
//查询风险量化列表
@ApiOperation(value = "查询风险量化列表", notes = "查询风险量化列表")
@PreAuthorize("@ss.hasPermi('axa:quantification:list')")
@GetMapping("/list")
public TableDataInfo list(RiskQuantificationVO riskQuantificationVO)
{
Assert.isTrue(null != riskQuantificationVO, "riskQuantificationVO null");
riskQuantificationVO.setAssetsLevelList(null);
if (StringUtils.isNotEmpty(riskQuantificationVO.getAssetsLevelStr())) {
riskQuantificationVO.setAssetsLevelList(Arrays.asList(riskQuantificationVO.getAssetsLevelStr().split(",")));
if (riskQuantificationVO.getAssetsLevelList().contains("999999")) {
riskQuantificationVO.setAssetsLevelListIsNull(1);
}
}
startPage();
//initPageNum();
List<RiskQuantification> list = riskQuantificationService.selectRiskQuantificationList(riskQuantificationVO);
return getDataTable(list);
}
//1. 获取资产等级列表
@ApiOperation("获取资产等级列表")
@PreAuthorize("@ss.hasPermi('axa:RiskQuantification:list')")
@GetMapping("/getAssetsLevelList")
public AjaxResult getAssetsLevelList() {
List<String> assetsLevelList = riskQuantificationService.getAssetsLevelList();
return AjaxResult.success(assetsLevelList);
}
//2. 获取所属业务系统列表
@ApiOperation("获取所属业务系统列表")
@PreAuthorize("@ss.hasPermi('axa:RiskQuantification:list')")
@GetMapping("/getBusinessSystemList")
public AjaxResult getBusinessSystemList() {
List<String> businessSystemList = riskQuantificationService.getBusinessSystemList();
return AjaxResult.success(businessSystemList);
}
mybatis使用foreach接受参数
测试后成功完成功能。