| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package com.ydtech.modules.order.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.exception.SystemException;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.order.components.InsOrdersComponents;
- import com.ydtech.modules.order.entity.BasePageResult;
- import com.ydtech.modules.order.entity.InsAccidentalDriving;
- import com.ydtech.modules.order.entity.InsAreaCompany;
- import com.ydtech.modules.order.entity.InsOrders;
- import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
- import com.ydtech.modules.order.entity.vo.*;
- import com.ydtech.modules.order.service.InsAccidentalDrivingService;
- import com.ydtech.modules.order.service.InsAreaCompanyService;
- import com.ydtech.modules.order.service.InsOrdersService;
- import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.util.ObjectUtils;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.util.List;
- @Api(tags = "订单")
- @RequestMapping("/insurance/order")
- @RestController
- public class InsOrdersController extends BaseController {
- private final InsOrdersService insOrdersService;
- private final InsAreaCompanyService insAreaCompanyService;
- private final InsOrdersComponents insOrdersComponents;
- private final InsAccidentalDrivingService insAccidentalDrivingService;
- public InsOrdersController(InsAreaCompanyService insAreaCompanyService, InsOrdersService insOrdersService, InsOrdersComponents insOrdersComponents, InsAccidentalDrivingService insAccidentalDrivingService) {
- this.insAreaCompanyService = insAreaCompanyService;
- this.insOrdersService = insOrdersService;
- this.insOrdersComponents = insOrdersComponents;
- this.insAccidentalDrivingService = insAccidentalDrivingService;
- }
- @GetMapping("/getAgreementInsCompany")
- @ApiOperation(value = "获取协议报价保险公司")
- public HttpResult<List<PtlAgreementInsCompanyDto>> getAgreementInsCompany() {
- return this.insOrdersService.getAgreementInsCompany(getDeptId());
- }
- @PostMapping("/generateOrder")
- @ApiOperation(value = "生成订单")
- public HttpResult<InsOrders> generateOrder(@Validated @RequestBody BaseQuoteInfoVo quoteInfoVo) {
- String userId = getUserId();
- InsOrders insOrders = this.insOrdersService.generateOrder(userId, quoteInfoVo);
- return HttpResult.ok("success", insOrders);
- }
- @PostMapping("/getByOrderNo")
- @ApiOperation(value = "通过订单ID查询订单信息")
- public HttpResult<BaseQuoteInfoVo> getByOrderNo(@RequestSingleParam(value = "orderNo") String orderNo) {
- BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(orderNo);
- return HttpResult.ok("success", quoteInfo);
- }
- @PostMapping("/revise")
- @ApiOperation(value = "查询订单和子订单")
- public HttpResult<InsOrders> revise(@RequestSingleParam(value = "orderNo") String orderNo) {
- InsOrders insOrders = this.insOrdersService.revise(orderNo);
- return HttpResult.ok("success", insOrders);
- }
- @PostMapping("/queryPageOrder")
- @ApiOperation(value = "[1]分页查询订单接口")
- public HttpResult<BasePageResult<InsOrders>> queryPageOrder(@RequestBody @Valid OrderQueryVo orderQueryVo) {
- BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageOrder(orderQueryVo);
- return HttpResult.ok("success", quoteResult);
- }
- @PostMapping("/querySuborder")
- @ApiOperation(value = "[2]通过订单号查询子订单")
- public HttpResult<List<InsAreaCompanyQueryDto>> querySuborder(@RequestSingleParam(value = "orderNo") String orderNo) {
- List<InsAreaCompanyQueryDto> quoteResult = this.insOrdersService.querySuborder(orderNo);
- return HttpResult.ok("success", quoteResult);
- }
- @PostMapping("/queryOrders")
- @ApiOperation(value = "查询订单和子订单")
- public HttpResult<BasePageResult<InsOrders>> queryOrders(@RequestBody @Valid OrderQueryVo orderQueryVo) {
- BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryOrders(orderQueryVo);
- return HttpResult.ok("success", quoteResult);
- }
- @PostMapping("/queryInsAreaCompany")
- @ApiOperation(value = "通过主订单ID查询子订单")
- public HttpResult<List<InsAreaCompany>> queryInsAreaCompany(@RequestSingleParam(value = "orderNo") String orderNo) {
- this.insOrdersService.existOrder(orderNo);
- List<InsAreaCompany> insAreaCompanies = this.insAreaCompanyService.lambdaQuery().eq(InsAreaCompany::getOrderno, orderNo).list();
- return HttpResult.ok("success", insAreaCompanies);
- }
- @PostMapping("/queryQuoteHistory")
- @ApiOperation(value = "查询报价历史")
- public HttpResult<List<InsAreaCompany>> queryQuoteHistory(@RequestBody QuoteHistoryVo quoteHistoryVo) {
- this.insOrdersService.existOrder(quoteHistoryVo.getOrderNo());
- LambdaQueryWrapper<InsAreaCompany> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(!ObjectUtils.isEmpty(quoteHistoryVo.getOrderNo()), InsAreaCompany::getOrderno, quoteHistoryVo.getOrderNo()).eq(!ObjectUtils.isEmpty(quoteHistoryVo.getOrderStatus()), InsAreaCompany::getOrderstatus, quoteHistoryVo.getOrderStatus()).orderByAsc(InsAreaCompany::getCreatetime);
- List<InsAreaCompany> insAreaCompanies = this.insAreaCompanyService.getBaseMapper().selectList(wrapper);
- return HttpResult.ok("success", insAreaCompanies);
- }
- @PostMapping("/getByCompanyId")
- @ApiOperation(value = "通过子订单查询订单信息")
- public HttpResult<OrderVo> getByCompanyId(@RequestSingleParam(value = "companyId") String companyId) {
- return this.insOrdersService.getByCompanyId(companyId);
- }
- @PostMapping("/getAccidentalDriving")
- @ApiOperation(value = "获取驾意险")
- public HttpResult<List<InsAccidentalDriving>> getAccidentalDriving(@RequestBody @Valid AccidentalDrivingQueryVo accidentalDrivingVo) {
- LambdaQueryWrapper<InsAccidentalDriving> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(InsAccidentalDriving::getCompanyCode, accidentalDrivingVo.getCompanyCode())
- .and(i -> i.eq(InsAccidentalDriving::getSeatNumMax, accidentalDrivingVo.getSeatNum())
- .or(j -> j.le(InsAccidentalDriving::getSeatNumMax, accidentalDrivingVo.getSeatNum())
- .ge(InsAccidentalDriving::getSeatNumMax, accidentalDrivingVo.getSeatNum())));
- List<InsAccidentalDriving> insAccidentalDrivings = insAccidentalDrivingService.list(wrapper);
- if (insAccidentalDrivings.isEmpty()) {
- throw new SystemException("查询结果为空");
- }
- return HttpResult.ok(insAccidentalDrivings);
- }
- @PostMapping("/verifyOrders")
- @ApiOperation(value = "验证近期是否出过单")
- public HttpResult<InsOrders> verifyOrders(@RequestBody VerifyOrdersVo verifyOrdersVo) {
- return insOrdersService.verifyOrders(verifyOrdersVo);
- }
- }
|