package com.doumee.api.business; import com.doumee.api.BaseController; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.dao.business.dto.*; import com.doumee.dao.business.vo.CompensationVO; import com.doumee.dao.business.vo.RiskConfigVO; import com.doumee.dao.business.vo.dataBoard.InsuranceDataVO; import com.doumee.dao.business.vo.dataBoard.SettleClaimsDataVO; import com.doumee.service.business.InsuranceApplyService; import com.doumee.service.business.SettleClaimsService; import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @author 江蹄蹄 * @date 2024/01/16 10:03 */ @Api(tags = "报案理赔(新)") @RestController @RequestMapping("/business/settleRisk") public class SettleRiskController extends BaseController { @Autowired private SystemDictDataService systemDictDataService; @Autowired private SettleClaimsService settleClaimsService; @ApiOperation("获取风险配置") @GetMapping("/getRiskConfig") public ApiResponse getRiskConfig() { return ApiResponse.success(systemDictDataService.getRiskConfig()); } @ApiOperation("更新风险配置") @PostMapping("/updRiskConfig") @RequiresPermissions("business:settleRisk:updRiskConfig") public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) { systemDictDataService.updRiskConfig(riskConfigDTO); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("补充说明") @PostMapping("/saveSupplementDescribe") @RequiresPermissions("business:settleRisk:saveSupplementFile") public ApiResponse saveSupplementDescribe(@RequestBody SaveSupplementDescribeDTO dto) { settleClaimsService.saveSupplementDescribe(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("添加材料") @PostMapping("/saveSupplementFile") @RequiresPermissions("business:settleRisk:saveSupplementFile") public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) { settleClaimsService.saveSupplementFile(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("平台立案或退回") @PostMapping("/register") @RequiresPermissions("business:settleRisk:register") public ApiResponse register(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.register(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("添加报案号") @PostMapping("/addReportNum") @RequiresPermissions("business:settleRisk:addReportNum") public ApiResponse addReportNum(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.addReportNum(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("添加备注") @PostMapping("/addRemark") @RequiresPermissions("business:settleRisk:addRemark") public ApiResponse addRemark(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.addRemark(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("受理业务") @PostMapping("/acceptance") @RequiresPermissions("business:settleRisk:acceptance") public ApiResponse acceptance(@RequestBody AcceptanceSettleClaimsDTO dto) { settleClaimsService.acceptance(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("理赔费用项信息") @PostMapping("/getCompensation") public ApiResponse> getCompensation(@RequestBody CompensationFeeDTO dto) { return ApiResponse.success(settleClaimsService.getCompensation(dto)); } @PreventRepeat @ApiOperation("理算") @PostMapping("/compensation") @RequiresPermissions("business:settleRisk:compensation") public ApiResponse compensation(@RequestBody CompensationDTO dto) { settleClaimsService.compensation(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("商议审批") @PostMapping("/discussAudit") @RequiresPermissions("business:settleRisk:discussAudit") public ApiResponse discussAudit(@RequestBody DiscussAuditDTO dto) { settleClaimsService.discussAudit(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("核赔") @PostMapping("/nuclearCompensation") @RequiresPermissions("business:settleRisk:nuclearCompensation") public ApiResponse nuclearCompensation(@RequestBody CompensationDTO dto) { settleClaimsService.nuclearCompensation(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("修改金额") @PostMapping("/updFee") @RequiresPermissions("business:settleRisk:updFee") public ApiResponse updFee(@RequestBody CompensationDTO dto) { settleClaimsService.updFee(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("修改案件类型") @PostMapping("/updCaseType") @RequiresPermissions("business:settleRisk:updCaseType") public ApiResponse updCaseType(@RequestBody CaseTypeDTO dto) { settleClaimsService.updCaseType(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("确认打款") @PostMapping("/payCash") @RequiresPermissions("business:settleRisk:payCash") public ApiResponse payCash(@RequestBody PayCashDTO dto) { settleClaimsService.payCash(dto); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("修改伤残类型") @PostMapping("/updHurtType") @RequiresPermissions("business:settleRisk:updHurtType") public ApiResponse updHurtType(@RequestBody UpdHurtTypeDTO dto) { settleClaimsService.updHurtType(dto); return ApiResponse.success(null); } @ApiOperation("获取商议问题类型内容") @GetMapping("/getDiscussProblemType") public ApiResponse> getDiscussProblemType() { return ApiResponse.success(settleClaimsService.getDiscussProblemType()); } @ApiOperation("理赔报案数据报表") @GetMapping("/getSettleClaimsDataVO") public ApiResponse getSettleClaimsDataVO() { return ApiResponse.success(settleClaimsService.getSettleClaimsDataVO()); } @ApiOperation("保单数据报表") @GetMapping("/getInsuranceDataVO") public ApiResponse getInsuranceDataVO() { return ApiResponse.success(settleClaimsService.getInsuranceDataVO()); } }