nidapeng
2024-03-20 c9f07c1f79e7ea9eb00925975d3ae2c9e8dcbd25
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -6,11 +6,16 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.dto.CountCyclePriceDTO;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.model.InsuranceApply;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.doumee.service.business.InsuranceApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import io.swagger.models.auth.In;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -20,7 +25,7 @@
/**
 * @author 江蹄蹄
 * @date 2024/01/15 15:07
 * @date 2024/01/16 10:03
 */
@Api(tags = "投保申请信息表")
@RestController
@@ -36,6 +41,14 @@
    @RequiresPermissions("business:insuranceapply:create")
    public ApiResponse create(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.create(insuranceApply));
    }
    @PreventRepeat
    @ApiOperation("修改")
    @PostMapping("/updateData")
    @RequiresPermissions("business:insuranceapply:create")
    public ApiResponse updateData(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.updateData(insuranceApply));
    }
    @ApiOperation("根据ID删除")
@@ -70,21 +83,71 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<PageData<InsuranceApply>> findPage (@RequestBody PageWrap<InsuranceApply> pageWrap) {
    public ApiResponse<PageData<InsuranceApply>> findPage (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap) {
        return ApiResponse.success(insuranceApplyService.findPage(pageWrap));
    }
    @ApiOperation("列表")
    @PostMapping("/findListByDTO")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<List<InsuranceApply>> findListByDTO (@RequestBody InsuranceApplyQueryDTO insuranceApplyQueryDTO) {
        return ApiResponse.success(insuranceApplyService.findListByDTO(insuranceApplyQueryDTO));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:insuranceapply:exportExcel")
    public void exportExcel (@RequestBody PageWrap<InsuranceApply> pageWrap, HttpServletResponse response) {
    public void exportExcel (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(InsuranceApply.class).export(insuranceApplyService.findPage(pageWrap).getRecords(), "投保申请信息表", response);
    }
    @ApiOperation("导出投保详情单")
    @PostMapping("/exportDetailExcel")
    @RequiresPermissions("business:insuranceapply:exportExcel")
    public void exportDetailExcel (@RequestBody  InsuranceApply model, HttpServletResponse response) {
        ExcelExporter.build(InsuranceApply.class).exportApplyDetail(insuranceApplyService.findDetailForExport(model),  response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.findById(id));
    public ApiResponse<InsuranceApply> findById(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.findDetail(id));
    }
    @ApiOperation("企业签署保单")
    @GetMapping("/getSignLink/{id}")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<String> getSignLink(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.getSignLink(id));
    }
    @ApiOperation("申请记录状态处理")
    @PostMapping("/applyOpt")
    public ApiResponse applyOpt (@RequestBody InsuranceApplyOptDTO insuranceApplyOptDTO) {
        insuranceApplyService.applyOpt(insuranceApplyOptDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("获取保单止期与初始金额")
    @PostMapping("/getCountCyclePriceVO")
    public ApiResponse<CountCyclePriceVO> getCountCyclePriceVO (@RequestBody CountCyclePriceDTO countCyclePriceDTO) {
        return ApiResponse.success("操作成功",insuranceApplyService.getCountCyclePriceVO(countCyclePriceDTO));
    }
    @ApiOperation("测试实际金额")
    @GetMapping("/testFee")
    public ApiResponse testFee(Integer id) {
        insuranceApplyService.updateApplyCurrentFee(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("测试生成待续保通知")
    @GetMapping("/generateNotice")
    public ApiResponse generateNotice() {
        insuranceApplyService.generateNotice();
        return ApiResponse.success(null);
    }
}