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 page( @RequestBody @Validated BusinessDailyPageDTO dto ) { IPage iPage=businessDailyService.getBusinessDailyPage(dto); return PageUtil.build(iPage); } }