Jelajahi Sumber

二维码类型配置

caiyaru 2 tahun lalu
induk
melakukan
91d8197c16

+ 49 - 0
src/main/java/com/ydtech/modules/admin/controller/SysQRCodeRelationController.java

@@ -0,0 +1,49 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysQRCodeRelation;
+import com.ydtech.modules.admin.model.vo.SysQRCodeRelationVo;
+import com.ydtech.modules.admin.service.SysQRCodeRelationService;
+import com.ydtech.modules.base.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "二维码", value = "二维码")
+@RestController
+@RequestMapping("/qrCode")
+@RequiredArgsConstructor
+public class SysQRCodeRelationController extends BaseController {
+    @Autowired
+    private SysQRCodeRelationService sysQRCodeRelationService;
+
+    @PostMapping(value = "/save")
+    @ApiOperation("添加二维码类型")
+    public HttpResult save(@RequestBody SysQRCodeRelation sysQRCodeRelation) {
+        sysQRCodeRelation.setCreateBy(getUserName());
+        sysQRCodeRelation.setLastUpdateBy(getUserName());
+        return HttpResult.ok("添加成功",sysQRCodeRelationService.save(sysQRCodeRelation));
+    }
+    @PostMapping(value = "/edit")
+    @ApiOperation("修改二维码类型")
+    public HttpResult edit(@RequestBody SysQRCodeRelation sysQRCodeRelation) {
+        sysQRCodeRelation.setLastUpdateBy(getUserName());
+        return HttpResult.ok("修改成功",sysQRCodeRelationService.updateById(sysQRCodeRelation));
+    }
+    @DeleteMapping(value = "/delete")
+    @ApiOperation("删除二维码类型")
+    public HttpResult delete(@RequestParam("id") Integer id) {
+        return HttpResult.ok("删除成功",sysQRCodeRelationService.removeById(id));
+    }
+
+    @PostMapping(value = "/getList")
+    @ApiOperation("获取二维码类型列表")
+    public HttpResult getList(@RequestBody SysQRCodeRelationVo sysQRCodeRelationVo) {
+        return HttpResult.ok("获取成功",sysQRCodeRelationService.getAllForPage(sysQRCodeRelationVo));
+    }
+
+
+}

+ 12 - 0
src/main/java/com/ydtech/modules/admin/dao/SysQRCodeRelationMapper.java

@@ -0,0 +1,12 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.SysQRCodeRelation;
+
+
+public interface SysQRCodeRelationMapper  extends BaseMapper<SysQRCodeRelation> {
+
+
+    Integer getQRCodeType(Integer apiType, String insCompanyId, String insCompanyName);
+
+}

+ 59 - 0
src/main/java/com/ydtech/modules/admin/model/SysQRCodeRelation.java

@@ -0,0 +1,59 @@
+package com.ydtech.modules.admin.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("二维码类型关联表")
+public class SysQRCodeRelation {
+
+    /**
+     * 主键id
+     */
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+    /**
+     * api类型(1、api对接,2、python对接)
+     */
+    @ApiModelProperty(value = "api类型(1、api对接,2、python对接)")
+    private Integer apiType;
+    /**
+     * 保险公司ID
+     */
+    @ApiModelProperty(value = "保险公司ID")
+    private String insCompanyId;
+    /**
+     * 保险公司名称
+     */
+    @ApiModelProperty(value = "保险公司名称")
+    private String insCompanyName;
+    /**
+     * 二维码类型(0:Base64,1:内部链接,2:外部链接)
+     */
+    @ApiModelProperty(value = "二维码类型(0:Base64,1:内部链接,2:外部链接)")
+    private Integer qrCodeType;
+    /**
+     * 创建操作人
+     */
+    @ApiModelProperty(value = "创建操作人")
+    private String createBy;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+    /**
+     * 更新操作人
+     */
+    @ApiModelProperty(value = "更新操作人")
+    private String lastUpdateBy;
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty(value = "更新时间")
+    private Date lastUpdateTime;
+
+}

+ 32 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysQRCodeRelationVo.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.core.page.BasePageVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class SysQRCodeRelationVo extends BasePageVO {
+    /**
+     * api类型(1、api对接,2、python对接)
+     */
+    @ApiModelProperty(value = "api类型(1、api对接,2、python对接)")
+    private Integer apiType;
+    /**
+     * 保险公司ID
+     */
+    @ApiModelProperty(value = "保险公司ID")
+    private String insCompanyId;
+    /**
+     * 保险公司名称
+     */
+    @ApiModelProperty(value = "保险公司名称")
+    private String insCompanyName;
+    /**
+     * 二维码类型(0:Base64,1:内部链接,2:外部链接)
+     */
+    @ApiModelProperty(value = "二维码类型(0:Base64,1:内部链接,2:外部链接)")
+    private Integer qrCodeType;
+
+}

+ 17 - 0
src/main/java/com/ydtech/modules/admin/service/SysQRCodeRelationService.java

@@ -0,0 +1,17 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysQRCodeRelation;
+import com.ydtech.modules.admin.model.vo.SysQRCodeRelationVo;
+
+public interface SysQRCodeRelationService extends IService<SysQRCodeRelation> {
+
+
+    public HttpResult getAllForPage(SysQRCodeRelationVo sysQRCodeRelationVo );
+
+    public Integer getQRCodeType(Integer apiType, String insCompanyId, String insCompanyName);
+
+
+
+}

+ 50 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysQRCodeRelationServiceImpl.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.alibaba.excel.util.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageResult;
+import com.ydtech.modules.admin.dao.SysQRCodeRelationMapper;
+import com.ydtech.modules.admin.model.SysQRCodeRelation;
+import com.ydtech.modules.admin.model.vo.SysQRCodeRelationVo;
+import com.ydtech.modules.admin.service.SysQRCodeRelationService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class SysQRCodeRelationServiceImpl extends ServiceImpl<SysQRCodeRelationMapper, SysQRCodeRelation>
+                                implements SysQRCodeRelationService {
+    private final static Logger LOGGER = LoggerFactory.getLogger(SysQRCodeRelationService.class);
+    @Override
+    public HttpResult getAllForPage(SysQRCodeRelationVo sysQRCodeRelationVo) {
+        LOGGER.info("开始获取二维码关联配置分页列表----");
+        PageHelper.startPage(sysQRCodeRelationVo.getPageNum(), sysQRCodeRelationVo.getPageSize());
+        Map map = new HashMap();
+        if (sysQRCodeRelationVo.getApiType() != null) {
+            map.put("apiType", sysQRCodeRelationVo.getApiType());
+        }
+        if ( StringUtils.isNotBlank(sysQRCodeRelationVo.getInsCompanyId())) {
+            map.put("insCompanyId", sysQRCodeRelationVo.getInsCompanyId());
+        }
+        if ( StringUtils.isNotBlank(sysQRCodeRelationVo.getInsCompanyName())) {
+            map.put("insCompanyName", sysQRCodeRelationVo.getInsCompanyName());
+        }
+        if (sysQRCodeRelationVo.getQrCodeType() != null) {
+            map.put("qrCodeType", sysQRCodeRelationVo.getQrCodeType());
+        }
+        List<SysQRCodeRelation> list =  baseMapper.selectByMap(map);
+        PageResult<SysQRCodeRelation> pageResult = new PageResult<>(list);
+        return HttpResult.ok("查询成功", pageResult);
+    }
+
+    @Override
+    public Integer getQRCodeType(Integer apiType, String insCompanyId, String insCompanyName) {
+        return baseMapper.getQRCodeType(apiType, insCompanyId, insCompanyName);
+    }
+}

+ 6 - 1
src/main/java/com/ydtech/modules/order/controller/QrCodeController.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.controller;
 
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.service.SysQRCodeRelationService;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrderQrCode;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -40,6 +41,8 @@ public class QrCodeController {
 
     @Resource
     private InsOrdersService insOrdersService;
+    @Resource
+    SysQRCodeRelationService sysQRCodeRelationService;
 
     //二维码生成地址
     @Value("${qrcode.genAddress}")
@@ -51,7 +54,8 @@ public class QrCodeController {
     public ModelAndView getQrCode(String areaCompanyId) {
         InsOrderQrCode insOrderQrCode = insOrderQrCodeService.getOneOrSave(areaCompanyId);
         InsAreaCompany insAreaCompany = insAreaCompanyService.getById(areaCompanyId);
-
+        Integer qrCodeType = sysQRCodeRelationService.getQRCodeType(insAreaCompany.getApiType(),insAreaCompany.getCompanyId(),
+                insAreaCompany.getInscompany());
         ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
         if (!Objects.isNull(insOrderQrCode)) {
             InsOrders insOrders = insOrdersService.getById(insOrderQrCode.getOrderno());
@@ -79,6 +83,7 @@ public class QrCodeController {
             qrCodeVo.setJqEndDate(insAreaCompany.getJqEndDate());//交强结束时间
             qrCodeVo.setSyStartDate(insAreaCompany.getSyStartDate());
             qrCodeVo.setSysEndDate(insAreaCompany.getSyEndDate());
+            qrCodeVo.setQrCodeType(qrCodeType);
 
             modelAndView.addObject("code", 200);
             modelAndView.addObject("data", qrCodeVo);

+ 5 - 0
src/main/java/com/ydtech/modules/order/entity/vo/QrCodeVo.java

@@ -82,5 +82,10 @@ public class QrCodeVo implements Serializable {
      */
     @JsonProperty("sysEndDate")
     private String sysEndDate;
+    /**
+     * 二维码类型 (0:Base64,1:内部链接,2:外部链接)
+     */
+    @JsonProperty("qrCodeType")
+    private Integer qrCodeType;
 
 }

+ 61 - 0
src/main/resources/mapper/modules/admin/SysQRCodeRelationMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.admin.dao.SysQRCodeRelationMapper">
+    <resultMap id="sysQRCodeRelationMap" type="com.ydtech.modules.admin.model.SysQRCodeRelation">
+        <id column="id" jdbcType="INTEGER" property="id"/>
+        <result column="api_type" jdbcType="INTEGER" property="apiType"/>
+        <result column="ins_company_id" jdbcType="VARCHAR" property="insCompanyId"/>
+        <result column="ins_company_name" jdbcType="VARCHAR" property="insCompanyName"/>
+        <result column="qr_code_type" jdbcType="INTEGER" property="qrCodeType"/>
+        <result column="create_by" jdbcType="VARCHAR" property="createBy"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="last_update_by" jdbcType="VARCHAR" property="lastUpdateBy"/>
+        <result column="last_update_time" jdbcType="TIMESTAMP" property="lastUpdateTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, api_type, ins_company_id, ins_company_name, qr_code_type,create_by,create_time,last_update_by,last_update_time
+    </sql>
+
+    <insert id="insert" parameterType="com.ydtech.modules.admin.model.SysQRCodeRelation">
+        insert into sys_qr_code_relation(api_type, ins_company_id, ins_company_name, qr_code_type,create_by,create_time,
+                                         last_update_by,last_update_time)
+        values (#{apiType},#{insCompanyId},#{insCompanyName},#{qrCodeType},#{createBy},current_timestamp,
+                #{lastUpdateBy},current_timestamp)
+    </insert>
+
+    <update id="updateById" parameterType="com.ydtech.modules.admin.model.SysQRCodeRelation">
+        update sys_qr_code_relation set api_type = #{et.apiType},ins_company_id = #{et.insCompanyId},
+                                        ins_company_name = #{et.insCompanyName},qr_code_type = #{et.qrCodeType},
+                                        last_update_by = #{et.lastUpdateBy}, last_update_time = current_timestamp
+        where id = #{et.id}
+    </update>
+
+    <select id="selectByMap" resultMap="sysQRCodeRelationMap">
+        select  <include refid="Base_Column_List"/>  from sys_qr_code_relation
+        <where>
+            <if test="cm.apiType != null ">
+               and  api_type = #{cm.apiType}
+            </if>
+            <if test="cm.insCompanyId != null ">
+                and  ins_company_id = #{cm.insCompanyId}
+            </if>
+            <if test="cm.insCompanyName != null ">
+                and  ins_company_name = #{cm.insCompanyName}
+            </if>
+            <if test="cm.qrCodeType != null ">
+                and  qr_code_type = #{cm.qrCodeType}
+            </if>
+        </where>
+    </select>
+
+    <delete id="deleteById">
+        delete from sys_qr_code_relation where id = #{id}
+    </delete>
+
+    <select id="getQRCodeType" resultType="java.lang.Integer">
+        select qr_code_type
+        from sys_qr_code_relation
+        where  api_type = #{apiType} and ins_company_id = #{insCompanyId} and ins_company_name = #{insCompanyName}
+    </select>
+</mapper>