QrCodeController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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 = "";
  44. //是否是太平洋保险
  45. if("TPIC1000000".equals(insAreaCompany.getCompanyId())){
  46. qrCodeUrl = insAreaCompany.getPaymentLink();
  47. }else{
  48. qrCodeUrl = qrCodeGenAddress + "?areaCompanyId=" + areaCompanyId;
  49. }
  50. qrCodeVo.setQrCodeUrl(qrCodeUrl);
  51. qrCodeVo.setInscompany(insAreaCompany.getInscompany());//保险公司
  52. qrCodeVo.setSumpremium(insAreaCompany.getSumpremium());//总保费
  53. qrCodeVo.setSypremium(insAreaCompany.getSypremium());//商业险
  54. qrCodeVo.setJqpremium(insAreaCompany.getJqpremium());//交强险
  55. qrCodeVo.setTaxamount(insAreaCompany.getTaxamount());//车船税
  56. qrCodeVo.setJypremium(insAreaCompany.getJypremium());//驾驭险
  57. qrCodeVo.setCInsuredNme(insOrders.getInsuredname());//投保人
  58. qrCodeVo.setCPlateNo(insOrders.getLicenseno());//车牌号
  59. qrCodeVo.setJqStartDate(insAreaCompany.getJqStartDate());//交强开始时间
  60. qrCodeVo.setJqEndDate(insAreaCompany.getJqEndDate());//交强结束时间
  61. qrCodeVo.setSyStartDate(insAreaCompany.getSyStartDate());
  62. qrCodeVo.setSysEndDate(insAreaCompany.getSyEndDate());
  63. modelAndView.addObject("code", 200);
  64. modelAndView.addObject("data", qrCodeVo);
  65. modelAndView.addObject("msg", "");
  66. } else {
  67. modelAndView.addObject("code", 500);
  68. modelAndView.addObject("data", "");
  69. modelAndView.addObject("msg", "二维码不存在");
  70. }
  71. return modelAndView;
  72. }
  73. @PostMapping(value = "/destructionQrCode")
  74. @ApiOperation(value = "销毁二维码")
  75. public ModelAndView destructionQrCode(String areaCompanyId) {
  76. boolean b = insOrderQrCodeService.updateQrCode(areaCompanyId, 0);
  77. ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
  78. if (b) {
  79. modelAndView.addObject("code", 200);
  80. modelAndView.addObject("data", "");
  81. modelAndView.addObject("msg", "二维码销毁成功");
  82. } else {
  83. modelAndView.addObject("code", 500);
  84. modelAndView.addObject("data", "");
  85. modelAndView.addObject("msg", "二维码销毁失败");
  86. }
  87. return modelAndView;
  88. }
  89. @GetMapping(value = "/index")
  90. @ApiOperation(value = "扫描二维码地址")
  91. public String index(String areaCompanyId) {
  92. InsOrderQrCode insOrderQrCode = insOrderQrCodeService.getOne(areaCompanyId);
  93. if (insOrderQrCode != null) {
  94. //更新二维码扫描时间
  95. insOrderQrCode.setScanCodeTime(new Date());
  96. insOrderQrCodeService.updateById(insOrderQrCode);
  97. //直接重定向到jumlurl
  98. return "redirect:" + insOrderQrCode.getJumpUrl();
  99. }
  100. //重定向到错误页面中
  101. return "redirect:/order/qrCode/error";
  102. }
  103. @GetMapping(value = "/error")
  104. @ApiOperation(value = "错误页面显示")
  105. public String error() {
  106. return "qrcode_error";
  107. }
  108. }