package com.cloudroam.controller.v1;
|
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.cloudroam.bo.businessDaily.BusinessDailyBO;
|
import com.cloudroam.common.util.PageUtil;
|
import com.cloudroam.dto.businessDaily.BusinessDailyPageDTO;
|
import com.cloudroam.dto.businessDaily.CreateBusinessDailyDTO;
|
import com.cloudroam.dto.businessDaily.UpdateBusinessDailyDTO;
|
import com.cloudroam.service.BusinessDailyService;
|
import com.cloudroam.service.BusinessDailyUserReService;
|
import io.github.talelin.autoconfigure.exception.NotFoundException;
|
import io.github.talelin.core.annotation.Logger;
|
import io.github.talelin.core.annotation.LoginRequired;
|
import io.github.talelin.core.annotation.PermissionMeta;
|
import io.github.talelin.core.annotation.PermissionModule;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import com.cloudroam.model.BusinessDailyDO;
|
import com.cloudroam.vo.CreatedVO;
|
import com.cloudroam.vo.DeletedVO;
|
import com.cloudroam.vo.PageResponseVO;
|
import com.cloudroam.vo.UpdatedVO;
|
|
/**
|
* @author generator@TaoJie
|
* @since 2024-07-11
|
*/
|
@RestController
|
@RequestMapping("/v1/business-daily")
|
@Validated
|
@PermissionModule("商务日志")
|
public class BusinessDailyController {
|
|
@Autowired
|
private BusinessDailyService businessDailyService;
|
|
|
@Autowired
|
private BusinessDailyUserReService businessDailyUserReService;
|
|
|
|
@LoginRequired
|
@PermissionMeta(value = "商务日志创建",mount = true)
|
@Logger(template = "{user.nickname} 创建了商务日志 ")
|
@PostMapping("")
|
public CreatedVO create(@RequestBody @Validated CreateBusinessDailyDTO validatr) {
|
businessDailyService.createBusinessDaily(validatr);
|
return new CreatedVO();
|
}
|
|
@PutMapping("/{id}")
|
@LoginRequired
|
@PermissionMeta(value = "商务日志创建",mount = true)
|
@Logger(template = "{user.nickname} 更新了商务日志 ")
|
public UpdatedVO update(@PathVariable String id,@RequestBody @Validated UpdateBusinessDailyDTO validator) {
|
businessDailyService.UpdateBusinessDaily(validator);
|
return new UpdatedVO();
|
}
|
|
@DeleteMapping("/{id}")
|
@LoginRequired
|
@PermissionMeta(value = "商务日志删除",mount = true)
|
@Logger(template = "{user.nickname} 商务日志删除 ")
|
public DeletedVO delete(@PathVariable String id) {
|
if(StrUtil.isBlank(id)){
|
throw new NotFoundException("id不能为空");
|
}
|
BusinessDailyDO businessDailyDO=businessDailyService.getById(id);
|
if (businessDailyDO == null) {
|
throw new NotFoundException("商务日志不存在");
|
}
|
// 逻辑删除,关联人员不删除
|
businessDailyService.removeById(id);
|
// businessDailyService.removeByIdLogic(id);
|
return new DeletedVO();
|
}
|
|
@GetMapping("/{id}")
|
public BusinessDailyBO get(@PathVariable(value = "id") String id) {
|
return businessDailyService.getBusinessDailyBOById(id);
|
|
}
|
|
@PostMapping("/page")
|
@PermissionMeta(value = "商务日志列表",module = "工作日志", mount = true)
|
@Logger(template = "{user.nickname} 查看了商务日志列表")
|
@LoginRequired
|
public PageResponseVO<BusinessDailyBO> page(
|
@RequestBody @Validated BusinessDailyPageDTO dto
|
) {
|
IPage<BusinessDailyBO> iPage=businessDailyService.getBusinessDailyPage(dto);
|
return PageUtil.build(iPage);
|
}
|
|
}
|