QrCodeController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.ydtech.modules.order.controller;
  2. import com.ydtech.modules.order.entity.InsAreaCompany;
  3. import com.ydtech.modules.order.entity.InsOrderQrCode;
  4. import com.ydtech.modules.order.entity.InsOrders;
  5. import com.ydtech.modules.order.entity.vo.QrCodeVo;
  6. import com.ydtech.modules.order.service.InsAreaCompanyService;
  7. import com.ydtech.modules.order.service.InsOrderQrCodeService;
  8. import com.ydtech.modules.order.service.InsOrdersService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.servlet.ModelAndView;
  17. import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
  18. import javax.annotation.Resource;
  19. import java.util.Date;
  20. import java.util.Objects;
  21. @Api(tags = "订单二维码管理")
  22. @Controller
  23. @RequestMapping(value = "/order/qrCode")
  24. public class QrCodeController {
  25. @Resource
  26. private InsOrderQrCodeService insOrderQrCodeService;
  27. @Resource
  28. private InsAreaCompanyService insAreaCompanyService;
  29. @Resource
  30. private InsOrdersService insOrdersService;
  31. //二维码生成地址
  32. @Value("${qrcode.genAddress}")
  33. private String qrCodeGenAddress;
  34. @GetMapping(value = "/getQrCode")
  35. @ApiOperation(value = "获取二维码")
  36. public ModelAndView getQrCode(String areaCompanyId) {
  37. InsOrderQrCode insOrderQrCode = insOrderQrCodeService.getOneOrSave(areaCompanyId);
  38. InsAreaCompany insAreaCompany = insAreaCompanyService.getById(areaCompanyId);
  39. ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
  40. if (!Objects.isNull(insOrderQrCode)) {
  41. InsOrders insOrders = insOrdersService.getById(insOrderQrCode.getOrderno());
  42. QrCodeVo qrCodeVo = new QrCodeVo();
  43. String qrCodeUrl = qrCodeGenAddress + "?areaCompanyId=" + areaCompanyId;
  44. qrCodeVo.setQrCodeUrl(qrCodeUrl);
  45. qrCodeVo.setInscompany(insAreaCompany.getInscompany());//保险公司
  46. qrCodeVo.setSumpremium(insAreaCompany.getSumpremium());//总保费
  47. qrCodeVo.setSypremium(insAreaCompany.getSypremium());//商业险
  48. qrCodeVo.setJqpremium(insAreaCompany.getJqpremium());//交强险
  49. qrCodeVo.setTaxamount(insAreaCompany.getTaxamount());//车船税
  50. qrCodeVo.setJypremium(insAreaCompany.getJypremium());//驾驭险
  51. qrCodeVo.setCInsuredNme(insOrders.getInsuredname());//投保人
  52. qrCodeVo.setCPlateNo(insOrders.getLicenseno());//车牌号
  53. qrCodeVo.setJqStartDate(insAreaCompany.getJqStartDate());//交强开始时间
  54. qrCodeVo.setJqEndDate(insAreaCompany.getJqEndDate());//交强结束时间
  55. qrCodeVo.setSyStartDate(insAreaCompany.getSyStartDate());
  56. qrCodeVo.setSysEndDate(insAreaCompany.getSyEndDate());
  57. modelAndView.addObject("code", 200);
  58. modelAndView.addObject("data", qrCodeVo);
  59. modelAndView.addObject("msg", "");
  60. } else {
  61. modelAndView.addObject("code", 500);
  62. modelAndView.addObject("data", "");
  63. modelAndView.addObject("msg", "二维码不存在");
  64. }
  65. return modelAndView;
  66. }
  67. @PostMapping(value = "/destructionQrCode")
  68. @ApiOperation(value = "销毁二维码")
  69. public ModelAndView destructionQrCode(String areaCompanyId) {
  70. boolean b = insOrderQrCodeService.updateQrCode(areaCompanyId, 0);
  71. ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
  72. if (b) {
  73. modelAndView.addObject("code", 200);
  74. modelAndView.addObject("data", "");
  75. modelAndView.addObject("msg", "二维码销毁成功");
  76. } else {
  77. modelAndView.addObject("code", 500);
  78. modelAndView.addObject("data", "");
  79. modelAndView.addObject("msg", "二维码销毁失败");
  80. }
  81. return modelAndView;
  82. }
  83. @GetMapping(value = "/index")
  84. @ApiOperation(value = "扫描二维码地址")
  85. public String index(String areaCompanyId) {
  86. InsOrderQrCode insOrderQrCode = insOrderQrCodeService.getOne(areaCompanyId);
  87. if (insOrderQrCode != null) {
  88. //更新二维码扫描时间
  89. insOrderQrCode.setScanCodeTime(new Date());
  90. insOrderQrCodeService.updateById(insOrderQrCode);
  91. //直接重定向到jumlurl
  92. return "redirect:" + insOrderQrCode.getJumpUrl();
  93. }
  94. //重定向到错误页面中
  95. return "redirect:/order/qrCode/error";
  96. }
  97. @GetMapping(value = "/error")
  98. @ApiOperation(value = "错误页面显示")
  99. public String error() {
  100. return "qrcode_error";
  101. }
  102. }