| | |
| | | import com.sinata.appointment.dto.ContentSettingsSaveRequest; |
| | | import com.sinata.appointment.dto.ContentSettingsVo; |
| | | import com.sinata.appointment.dto.FieldConfigPatchRequest; |
| | | import com.sinata.appointment.dto.SensitiveWordCreateRequest; |
| | | import com.sinata.appointment.dto.SensitiveWordEnabledPatchRequest; |
| | | import com.sinata.appointment.dto.SensitiveWordImportResultVo; |
| | | import com.sinata.appointment.dto.SensitiveWordListVo; |
| | | import com.sinata.appointment.dto.SensitiveWordUpdateRequest; |
| | | import com.sinata.appointment.dto.VisitReasonCreateRequest; |
| | | import com.sinata.appointment.dto.VisitReasonListVo; |
| | | import com.sinata.appointment.dto.VisitReasonUpdateRequest; |
| | |
| | | import jakarta.validation.constraints.NotBlank; |
| | | import java.util.List; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PatchMapping; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | @Tag(name = "系统配置") |
| | | @RestController |
| | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-分页") |
| | | @GetMapping("/sensitive-words/manage") |
| | | @SaCheckPermission("config:sensitive-words:page") |
| | | public Result<List<SensitiveWordListVo>> pageSensitiveWords( |
| | | @RequestParam(defaultValue = "1") long page, |
| | | @RequestParam(defaultValue = "10") long size, |
| | | @RequestParam(required = false) String keyword) { |
| | | return ResultUtil.page(configApplicationService.pageSensitiveWords(page, size, keyword)); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-新增") |
| | | @PostMapping("/sensitive-words/manage") |
| | | @SaCheckPermission("config:sensitive-words:create") |
| | | public Result<Void> createSensitiveWord(@Valid @RequestBody SensitiveWordCreateRequest request) { |
| | | configApplicationService.createSensitiveWord(request); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-编辑") |
| | | @PutMapping("/sensitive-words/manage/{id}") |
| | | @SaCheckPermission("config:sensitive-words:update") |
| | | public Result<Void> updateSensitiveWord( |
| | | @PathVariable Long id, @Valid @RequestBody SensitiveWordUpdateRequest request) { |
| | | configApplicationService.updateSensitiveWord(id, request); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-启停") |
| | | @PatchMapping("/sensitive-words/manage/{id}/enabled") |
| | | @SaCheckPermission("config:sensitive-words:status") |
| | | public Result<Void> updateSensitiveWordEnabled( |
| | | @PathVariable Long id, @Valid @RequestBody SensitiveWordEnabledPatchRequest request) { |
| | | configApplicationService.updateSensitiveWordEnabled(id, request); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-删除") |
| | | @DeleteMapping("/sensitive-words/manage/{id}") |
| | | @SaCheckPermission("config:sensitive-words:delete") |
| | | public Result<Void> deleteSensitiveWord( |
| | | @PathVariable Long id, @RequestParam @NotBlank(message = "uuid 不能为空") String uuid) { |
| | | configApplicationService.deleteSensitiveWord(id, uuid); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-导入") |
| | | @PostMapping("/sensitive-words/manage/import") |
| | | @SaCheckPermission("config:sensitive-words:import") |
| | | public Result<SensitiveWordImportResultVo> importSensitiveWords(@RequestParam("file") MultipartFile file) { |
| | | return ResultUtil.data(configApplicationService.importSensitiveWords(file)); |
| | | } |
| | | |
| | | @Operation(summary = "敏感词库-导入模板") |
| | | @GetMapping("/sensitive-words/manage/import-template") |
| | | @SaCheckPermission("config:sensitive-words:import") |
| | | public ResponseEntity<byte[]> sensitiveWordImportTemplate() { |
| | | return ResponseEntity.ok() |
| | | .contentType( |
| | | MediaType.parseMediaType( |
| | | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) |
| | | .header( |
| | | HttpHeaders.CONTENT_DISPOSITION, |
| | | "attachment; filename=\"sensitive-word-import-template.xlsx\"") |
| | | .body(configApplicationService.sensitiveWordImportTemplateExcel()); |
| | | } |
| | | |
| | | @GetMapping("/fields") |
| | | @SaCheckPermission("config:booking-settings:page") |
| | | public Result<List<BizFieldConfig>> listFields() { |