操作日志
这里介绍一下操作日志的使用。
功能介绍
主要包含在 wmeimob-spring-boot-starter-operationlog
jar 中。
引入公共依赖:
xml
<dependency>
<groupId>com.wmeimob</groupId>
<artifactId>wmeimob-spring-boot-starter-operationlog</artifactId>
</dependency>
与标品的集成
java
/**
* Banner
*
* @author mjyang
* @date 2021-08-27 17:07:32
**/
@Api(tags = "Banner")
@RestController
@RequestMapping("/mall/banner")
@RequiredArgsConstructor
public class BannerController {
private static final String MODULE = "Banner";
private final BannerService bannerService;
@ApiOperation("列表")
@GetMapping("/queryList")
@LogRecord(subType = "查询", type = MODULE, bizNo = "", extra = "{{#dto}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
public JsonResult<PagedResult<BannerOutputDto>> list(BannerQuery dto) {
return JsonResult.ok(this.bannerService.list(dto));
}
@ApiOperation("详情")
@GetMapping("/get/{id}")
@LogRecord(subType = "查询", type = MODULE, bizNo = "{{#id}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
public JsonResult<BannerOutputDto> get(@PathVariable("id") Long id) {
return JsonResult.ok(this.bannerService.get(id));
}
@ApiOperation("新增")
@PostMapping("/add")
@LogRecord(subType = "新增", type = MODULE, bizNo = "{{#_ret.data}}", extra = "{{#dto}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
@Lock4j(name = "BANNER_REPEAT_KEY", keys = "REPEAT")
public JsonResult<Long> insert(@RequestBody @Validated BannerCreateInputDto dto) {
return JsonResult.ok(this.bannerService.insert(dto));
}
@ApiOperation("编辑")
@PutMapping("/update")
@LogRecord(subType = "修改", type = MODULE, bizNo = "{{#dto.id}}", extra = "{{#dto}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
public JsonResult<Void> update(@RequestBody @Validated BannerModifyInputDto dto) {
this.bannerService.update(dto);
return JsonResult.ok();
}
@ApiOperation("修改状态")
@PutMapping("/updateStatus")
@LogRecord(subType = "修改", type = MODULE, bizNo = "{{#dto.id}}", extra = "{{#dto}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
public JsonResult<Void> updateStatus(@RequestBody @Validated BannerModifyStatusInputDto dto) {
this.bannerService.updateStatus(dto);
return JsonResult.ok();
}
@ApiOperation("删除")
@DeleteMapping("/delete/{id}")
@LogRecord(subType = "删除", type = MODULE, bizNo = "{{#id}}", success = "{{#_ret}}", fail = "{{#_errorMsg}}")
public JsonResult<Void> delete(@PathVariable("id") Long id) {
this.bannerService.delete(id);
return JsonResult.ok();
}
}
其他
该组件使用了美团开源操作日志组件,更多用法可以参考