package com.loan.system.controller.wechat; import cn.hutool.core.bean.BeanUtil; import cn.hutool.http.server.HttpServerResponse; import com.loan.system.context.BaseContext; import com.loan.system.domain.dto.DocumentDTO; import com.loan.system.domain.entity.Contract; import com.loan.system.domain.entity.Document; import com.loan.system.domain.enums.ExceptionEnum; import com.loan.system.domain.pojo.ContractInformation; import com.loan.system.domain.vo.CustomerVO; import com.loan.system.domain.vo.LoanCaseSimpleVO; import com.loan.system.exception.DescribeException; import com.loan.system.service.*; import com.loan.system.utils.PoiWordUtil; import com.loan.system.domain.enums.StepEnum; import com.loan.system.domain.enums.StepPropertyEnum; import com.loan.system.domain.pojo.Result; import com.loan.system.domain.vo.ContractVO; import com.loan.system.domain.vo.StepVO; import com.loan.system.utils.ResultUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.UUID; import static com.loan.system.domain.enums.ExceptionEnum.STEP_HAS_NOT_PROCESS; import static com.loan.system.domain.enums.ExceptionEnum.STEP_USER_NOT_EXPECTED; @RestController @RequestMapping("/wechat/contract") @Api(tags = "合同签订接口") public class ContractController { @Value("${upload.templatePath}") private String contractPath; @Autowired private ContractService contractService; @Autowired private StepService stepService; @Autowired private DocumentService documentService; @Autowired private CustomerService customerService; @Autowired private LoanService loanService; @GetMapping @ApiOperation("显示所有合同(内部人员)") @PreAuthorize("@pms.hasAnyRoles('SYSTEM_ADMIN','APPROVER','LEAD_SALES', 'ASSIST_SALES', 'FINANCE', 'BACK_OFFICE')") public Result findContracts(@RequestParam Long caseId){ return ResultUtil.success("success",contractService.findContractByCaseId(caseId)); } @GetMapping("/{id}") @ApiOperation("显示合同文件详情(内部人员)") @PreAuthorize("@pms.hasAnyRoles('SYSTEM_ADMIN','APPROVER','LEAD_SALES', 'ASSIST_SALES', 'FINANCE', 'BACK_OFFICE')") public void findContractsDetails(@PathVariable("id") Long contractId , @RequestParam Long caseId , HttpServletResponse response){ //获取合同信息 Contract contractById = contractService.findContractById(contractId); if(ObjectUtils.isEmpty(contractById)) throw new DescribeException(ExceptionEnum.CONTRACT_NOT_EXIST); getContractInformation(response,caseId,BeanUtil.copyProperties(contractById,ContractVO.class)); } // @GetMapping("/{contractSeq}") // @ApiOperation("显示合同表详情(内部人员)") // @PreAuthorize("@pms.hasAnyRoles('SYSTEM_ADMIN','APPROVER','LEAD_SALES', 'ASSIST_SALES', 'FINANCE', 'BACK_OFFICE')") // public Result findContractsDetails(@PathVariable("contractSeq") Integer contractSeq , @RequestParam Long caseId , HttpServletResponse response){ // //获取合同信息 // List contractVOS = contractService.findContractByCaseId(caseId); // if(contractVOS.size() contracts = contractService.findContractByCaseIdAndIsPush(caseId,true); // if(contracts.size()