wenhongquan 1 год назад
Родитель
Сommit
a3fd8b2f49
28 измененных файлов с 534 добавлено и 1 удалено
  1. 6 0
      pom.xml
  2. 13 0
      ruoyi-admin/pom.xml
  3. 94 0
      ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
  4. 51 0
      ruoyi-admin/src/main/java/org/dromara/web/util/WxPayConfiguration.java
  5. 83 0
      ruoyi-admin/src/main/java/org/dromara/web/util/WxPayProperties.java
  6. BIN
      ruoyi-admin/src/main/resources/apiclient_cert.p12
  7. 25 0
      ruoyi-admin/src/main/resources/apiclient_cert.pem
  8. 28 0
      ruoyi-admin/src/main/resources/apiclient_key.pem
  9. 4 0
      ruoyi-admin/src/main/resources/application-dev.yml
  10. 9 1
      ruoyi-admin/src/main/resources/application.yml
  11. 1 0
      ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java
  12. 2 0
      ruoyi-modules/pom.xml
  13. 134 0
      ruoyi-modules/ruoyi-dzbc/pom.xml
  14. BIN
      ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/单列表.xlsx
  15. BIN
      ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/多sheet列表.xlsx
  16. BIN
      ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/多列表.xlsx
  17. 11 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/demo/TestDemoMapper.xml
  18. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/demo/TestTreeMapper.xml
  19. 3 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/package-info.md
  20. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcAreaMapper.xml
  21. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcBannerMapper.xml
  22. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcCarMapper.xml
  23. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcKyzMapper.xml
  24. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcOrderLogMapper.xml
  25. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcOrderMapper.xml
  26. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcPathMapper.xml
  27. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcPathSchedulingMapper.xml
  28. 7 0
      ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcSiteMapper.xml

+ 6 - 0
pom.xml

@@ -345,6 +345,12 @@
                 <version>${revision}</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.dromara</groupId>
+                <artifactId>ruoyi-dzbc</artifactId>
+                <version>${revision}</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>
 

+ 13 - 0
ruoyi-admin/pom.xml

@@ -84,6 +84,12 @@
             <artifactId>ruoyi-khy</artifactId>
         </dependency>
 
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-dzbc</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>de.codecentric</groupId>
             <artifactId>spring-boot-admin-starter-client</artifactId>
@@ -107,6 +113,13 @@
             <version>4.6.7.B</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-pay</artifactId>
+            <version>4.6.7.B</version>
+        </dependency>
+
+
 
         <!-- skywalking 整合 logback -->
 <!--        <dependency>-->

+ 94 - 0
ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java

@@ -221,12 +221,106 @@ public class AuthController {
         String logincode = jsonObject.getStr("logincode");
         String phonecode = jsonObject.getStr("phonecode");
 
+
+
         AuthRequest authRequest = SocialUtils.getAuthRequest("wechat_mini_program", socialProperties);
         AuthResponse<AuthUser> response = authRequest.login(AuthCallback.builder().code(logincode).build());
         AuthUser authUserData = response.getData();
         if (!response.ok()) {
             return R.fail(response.getMsg());
         }
+
+        wxMaService.switchover(socialProperties.getType().get("wechat_mini_program").getClientId());
+        WxMaPhoneNumberInfo phone = wxMaService.getUserService().getPhoneNumber(phonecode);
+        SysUserVo userVo = sysUserService.selectUserByUserName(phone.getPhoneNumber());
+        if(userVo==null){
+            //注册
+            RegisterBody user = new RegisterBody();
+            user.setUsername(phone.getPhoneNumber());
+            user.setPassword(UuidUtils.getUUID().substring(0,6));
+            user.setUserType("app_user");
+            user.setPhonenumber(phone.getPhoneNumber());
+            registerService.register(user);
+            userVo =  sysUserService.selectUserByUserName(phone.getPhoneNumber());
+        }
+
+        try {
+            SysUserBo bo = BeanUtil.toBean(userVo, SysUserBo.class);
+            if (bo.getRoleIds() == null) {
+                bo.setRoleIds(new Long[]{1763484977044361217L});
+                bo.setPassword(null);
+                bo.setUserType(null);
+            } else {
+                List<Long> a = Arrays.stream(bo.getRoleIds()).toList();
+                if(!a.contains(1763484977044361217L)){
+                    a.add(1763484977044361217L);
+                }
+                bo.setPassword(null);
+                bo.setUserType(null);
+                bo.setRoleIds((Long[]) a.toArray());
+
+            }
+            DataPermissionHelper.ignore(() -> sysUserService.updateUser(bo));
+        }catch (Exception e){}
+
+        //绑定微信
+        SysSocialBo bo = BeanUtil.toBean(authUserData, SysSocialBo.class);
+        String authId = authUserData.getSource() + authUserData.getUuid();
+        BeanUtil.copyProperties(authUserData.getToken(), bo);
+        bo.setUserId(userVo.getUserId());
+        bo.setAuthId(authId);
+        bo.setOpenId(authUserData.getUuid());
+        bo.setUserName(authUserData.getUsername());
+        bo.setNickName(authUserData.getNickname());
+        // 查询是否已经绑定用户
+        List<SysSocialVo> list = sysSocialService.selectByAuthId(authId);
+        if (CollUtil.isEmpty(list)) {
+            // 没有绑定用户, 新增用户信息
+            sysSocialService.insertByBo(bo);
+        } else {
+            // 更新用户信息
+            bo.setId(list.get(0).getId());
+            sysSocialService.updateByBo(bo);
+        }
+
+        SysClient client = clientService.queryByClientId("e5cd7e4891bf95d1d19206ce24a7b32e");
+        LoginUser loginUser = loginService.buildLoginUser(userVo);
+        loginUser.setClientKey(client.getClientKey());
+        loginUser.setDeviceType(client.getDeviceType());
+        SaLoginModel model = new SaLoginModel();
+        model.setDevice(client.getDeviceType());
+        model.setTimeout(client.getTimeout());
+        model.setActiveTimeout(client.getActiveTimeout());
+        model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId());
+        // 生成token
+        LoginHelper.login(loginUser, model);
+
+        LoginVo loginVo = new LoginVo();
+        loginVo.setAccessToken(StpUtil.getTokenValue());
+        loginVo.setExpireIn(StpUtil.getTokenTimeout());
+        loginVo.setClientId(client.getClientId());
+
+        return R.ok(loginVo);
+
+    }
+
+
+    @PostMapping("/BC/loginByPhoneCodeAndLoginCode")
+    public R<LoginVo> BcregisterByPhonecode(@RequestBody String loginbody) throws WxErrorException {
+        JSONObject jsonObject = JSONUtil.parseObj(loginbody);
+        String logincode = jsonObject.getStr("logincode");
+        String phonecode = jsonObject.getStr("phonecode");
+
+
+
+        AuthRequest authRequest = SocialUtils.getAuthRequest("wechat_mini_program_1", socialProperties);
+        AuthResponse<AuthUser> response = authRequest.login(AuthCallback.builder().code(logincode).build());
+        AuthUser authUserData = response.getData();
+        if (!response.ok()) {
+            return R.fail(response.getMsg());
+        }
+
+        wxMaService.switchover(socialProperties.getType().get("wechat_mini_program_1").getClientId());
         WxMaPhoneNumberInfo phone = wxMaService.getUserService().getPhoneNumber(phonecode);
         SysUserVo userVo = sysUserService.selectUserByUserName(phone.getPhoneNumber());
         if(userVo==null){

+ 51 - 0
ruoyi-admin/src/main/java/org/dromara/web/util/WxPayConfiguration.java

@@ -0,0 +1,51 @@
+package org.dromara.web.util;
+import com.github.binarywang.wxpay.config.WxPayConfig;
+import com.github.binarywang.wxpay.service.WxPayService;
+import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author Binary Wang
+ */
+@Configuration
+@ConditionalOnClass(WxPayService.class)
+@EnableConfigurationProperties(WxPayProperties.class)
+@AllArgsConstructor
+public class WxPayConfiguration {
+
+
+
+        private WxPayProperties properties;
+
+        @Bean
+        @ConditionalOnMissingBean
+        public WxPayService wxService() {
+            WxPayConfig payConfig = new WxPayConfig();
+            payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));//V3商户模式需要
+            payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));//V3商户模式需要
+            payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
+            payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
+            payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
+            payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
+            payConfig.setApiV3Key(StringUtils.trimToNull(this.properties.getApiV3Key()));//V3商户模式需要
+            payConfig.setCertSerialNo(StringUtils.trimToNull(this.properties.getCertSerialNo()));//V3商户模式需要
+            payConfig.setPrivateCertPath(StringUtils.trimToNull(this.properties.getPrivateCertPath()));//V3商户模式需要
+            payConfig.setPrivateKeyPath(StringUtils.trimToNull(this.properties.getPrivateKeyPath()));//V3商户模式需要
+
+            // 可以指定是否使用沙箱环境
+            payConfig.setUseSandboxEnv(false);
+
+            WxPayService wxPayService = new WxPayServiceImpl();
+            wxPayService.setConfig(payConfig);
+            return wxPayService;
+        }
+
+
+}

+ 83 - 0
ruoyi-admin/src/main/java/org/dromara/web/util/WxPayProperties.java

@@ -0,0 +1,83 @@
+package org.dromara.web.util;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * wxpay pay properties.
+ *
+ * @author Binary Wang
+ */
+@Data
+@ConfigurationProperties(prefix = "wx.pay")
+public class WxPayProperties {
+
+        /**
+         * 设置微信公众号或者小程序等的appid
+         * (V3商户模式需要)
+         */
+        private String appId;
+
+        /**
+         * 微信支付商户号
+         * (V3商户模式需要)
+         */
+        private String mchId;
+
+        /**
+         * 微信支付商户密钥
+         */
+        private String mchKey;
+
+        /**
+         * 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除
+         */
+        private String subAppId;
+
+        /**
+         * 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除
+         */
+        private String subMchId;
+
+        /**
+         * apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定
+         */
+        private String keyPath;
+
+        /**
+         * apiV3 秘钥值
+         * (V3商户模式需要)
+         */
+        private String apiV3Key;
+
+        /**
+         * apiV3 证书序列号值
+         * (V3商户模式需要)
+         */
+        private String certSerialNo;
+
+        /**
+         * apiclient_cert.pem证书文件的绝对路径或者以classpath:开头的类路径.
+         * (V3商户模式需要,这里用的是文件路径,可以用其它base64编码或字节数组参数替代)
+         */
+        private String privateCertPath;
+
+        /**
+         * apiclient_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
+         * (V3商户模式需要,这里用的是文件路径,可以用其它base64编码或字节数组参数替代)
+         */
+        private String privateKeyPath;
+
+        /**
+         * 微信支付公钥,pub_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
+         * (V3商户模式需要,这里用的是文件路径,可以用其它base64编码或字节数组参数替代,2024.08后的新商户验签需要用此公钥)
+         */
+        private String publicKeyPath;
+
+        /**
+         * 微信支付公钥ID
+         * (V3商户模式需要,2024.08后的新商户验签需要用此公钥ID)
+         */
+        private String publicKeyId;
+
+
+}

BIN
ruoyi-admin/src/main/resources/apiclient_cert.p12


+ 25 - 0
ruoyi-admin/src/main/resources/apiclient_cert.pem

@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIELjCCAxagAwIBAgIULYljK6v/kXrS57ZwD2pdzdw8C54wDQYJKoZIhvcNAQEL
+BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
+FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
+Q0EwHhcNMjUwMjEwMDgyNDI5WhcNMzAwMjA5MDgyNDI5WjCBhzETMBEGA1UEAwwK
+MTY3NjE1ODE1NDEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTMwMQYDVQQL
+DCrlroHlvrfluILlsI/mlbDngrnmlbDmja7np5HmioDmnInpmZDlhazlj7gxCzAJ
+BgNVBAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBALJRW2+8eDAFfZF6leDxBBdAjvKq2v+sqKSkOPj4tnIJSFLl
+7jA9mVVUfVJ6YJKEYjrE0rFEG7vVvr3Epw7qt65TCRt18mRMXeZPjQzKp2AZW5H1
+aayaM7iemJ1Ks02tbVvGhkMDac6WA0ZzkvxF58W7oD1lrkCQB8w/3E+uU0KkglCj
+2DF2Hjiz2eKks/8qk5DqhuOG6iDjPG/xPz86T6tDnPZofoQJAyQBcBJu42kx6Peo
+V6nCJasux2P/IyBXiHum9Efv3srk7Z/Wdp5XIPfKoKb+76piEwdap9MUskFdXs/n
+PMKx1zeDb6UtD9ndDrl5OQk3H/leJpIDB7lTCNsCAwEAAaOBuTCBtjAJBgNVHRME
+AjAAMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDov
+L2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUw
+REJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJF
+MTJCMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IB
+AQBBMfwjbIT6JnCsg58ik/+n9kyrm6ZI5dXcXmq1dSj7jw5LlAtBRE//vPYEGU28
++bJ0JwXjuYdVdXm2Lci1EI7XsCg2bg/jZqakSwLTS2KcDCdweYRFQH9oJxcrxQBJ
+tmUyv9iue5bD9GMUW90csRglsWyJp4+M9U14quldzaQlzWJz+zRmKRyMxXXgk8sO
+p5oPDhMNW8pdKcmgr8p5f0zqTL6ZFKl9T3/3RRubw+qum0PZMqKw7NnEneEogYm9
+q2wrsVPSMKunMz0mRkK+kPr9FXPzzQLe7X5aOpDR9+Z1SD3lQ09ejWGhZ4KPzlc4
+uMit4S3vsxLJ9AZmpUpon/2I
+-----END CERTIFICATE-----

+ 28 - 0
ruoyi-admin/src/main/resources/apiclient_key.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyUVtvvHgwBX2R
+epXg8QQXQI7yqtr/rKikpDj4+LZyCUhS5e4wPZlVVH1SemCShGI6xNKxRBu71b69
+xKcO6reuUwkbdfJkTF3mT40MyqdgGVuR9WmsmjO4npidSrNNrW1bxoZDA2nOlgNG
+c5L8RefFu6A9Za5AkAfMP9xPrlNCpIJQo9gxdh44s9nipLP/KpOQ6objhuog4zxv
+8T8/Ok+rQ5z2aH6ECQMkAXASbuNpMej3qFepwiWrLsdj/yMgV4h7pvRH797K5O2f
+1naeVyD3yqCm/u+qYhMHWqfTFLJBXV7P5zzCsdc3g2+lLQ/Z3Q65eTkJNx/5XiaS
+Awe5UwjbAgMBAAECggEAXRFDVN0cKYwkDnLZmO6SAQTL1vG/nWPjHRMtPRyqNHiN
+y95/46OyzKttQUfn8XCwyBWEFcsDYpTbmbXyr0FoHs7t2OxFV33YIGVyq7N1ih2S
+AmsA/Xn59qin5KhhTvBuPFEwL/evGIiJKxMVKx/dKQGVT5YrTT0fJMZL2TaV9BiC
+e9hIbPFpP8L68otE0A38yfHKniO/5Jew1MRo8QDKaJS5b3cF5IL0Ld0WEjnLhi5O
+lfY5UQdofNAUYqaJEvj3gCYeDHihx1Heb1HzDjsBzZey+E7x0tju59sW4FC1Eahk
+bLk5DXq5pYBnODBKuKLHUY0HTv+MwEPMYcQSlIJtqQKBgQDquQku2+L8ruRGkStT
+zamR3IWFR8NCnE5Oq9vSVceRozrCMSUOfQJcw4smH4QtZTqC5oMLHI6Lb5DDY6Kc
+zK8OzgUhQyCnFHdzLQ80ILREIt7qbBcS/JYL4Zb3kwA/OJAg2UWP75vDHY+Si4y3
+ajC+4kQoUILTQ6pXyyMUpi1ozQKBgQDCe2Pf3POjsj0+sIP0s56nMLJcElAHhhTr
+/wkdsAnLaRb+BSdBsC/cVwHmtmCgtyQ3Yq5RupLIpCshXyxGjKSltRqzln5TWjlQ
+jrEeT3Upz4NqApRhnchNdsY8MimHmx+g4eFYeK1/6Stt2WhIBhLU+89x2jR8IbBj
+2iS4U4bYRwKBgCquXOIdb8f80VuXmCZT9mqki87xfqsFGyQpEf7MRE7SPKQFJbTd
+vGk70XisMG/EwX/+BIQnvC/UqKEu4+nZOlfZ1Ir41t4q1ZGm9uXGsKDXKmu8HfIA
+5hPhAH+iRmA4m9StTX3f1xYCsRG3uG29rIF5SWV/Rlq+KiJuuMFPemBdAoGAXaJM
+rp5RizGofQM9NNY5/2LZrKyAbW7nqcvLVsjHnnCFSl2uzdiG4n3dg3exRA+I10Wi
+ieTbANDRlyqcRYc3SjTMm0RMo9Lfn2Jj8iTtUuj+6048pFbz9h/GR3sbNZfA/ZNj
+DFZlqhzX9PZkV7Dc5kAqWzVkaZNKunhvj3Nfi8cCgYEA6dNDR27uafNCrQOBIgbi
+Rue+ixcUQFNQswZRUpnpE7itF8/PhbQHDnFE4oQptm7kzpTELxwVxHLQ7aUEZWB7
+uug9m9hHA6aKNkjP7sghnJsK3cu5FR137wN43b/wcY40Yi4usEiA/gIGA1VBr1XU
+TFCDIzRldcB1ZwYlYE813pE=
+-----END PRIVATE KEY-----

+ 4 - 0
ruoyi-admin/src/main/resources/application-dev.yml

@@ -240,6 +240,10 @@ justauth:
       client-id: wx01d09951c567089d
       client-secret: 079494f2fa6ecdc47c46f872bae769e7
       redirect-uri: ${justauth.address}/social-callback?source=wechat_mini_program
+    wechat_mini_program_1:
+      client-id: wx01
+      client-secret: 079494f2fa6ecdc47c46f872bae769e7
+      redirect-uri: ${justauth.address}/social-callback?source=wechat_mini_program_1
     wechat_enterprise:
       client-id: 10**********6
       client-secret: 1f7d08**********5b7**********29e

+ 9 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -281,5 +281,13 @@ wx:
         secret: 079494f2fa6ecdc47c46f872bae769e7 #微信小程序的Secret
         aesKey: 1KCaxm0aNaDljRKW+nFywcs6218h9k5Ek3Mj9u60HGU= #微信小程序消息服务器配置的EncodingAESKey
         msgDataFormat: JSON
-
+      - appid: wx5c9baacf2aab55b8
+        secret: 09b62981f58c2aa01b06cff12a5abd76
+        aesKey: f0iY7PWvrjz6zlOKmsv3cVyWm75nxOf8WNqqhSFl0aX
+        msgDataFormat: JSON
+  pay:
+    appId: wx5c9baacf2aab55b8 #微信公众号或者小程序等的appid (V3商户模式需要)
+    mchId: 1676158154 #微信支付商户号 (V3商户模式需要)
+    mchKey: FP1arPM22zIjZeQUniJO2vMEHxf4KjHh #微信支付商户密钥
+    keyPath: apiclient_cert.p12 # p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
 

+ 1 - 0
ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java

@@ -62,6 +62,7 @@ public class SocialUtils  {
             case "gitlab" -> new AuthGitlabRequest(builder.build(), STATE_CACHE);
             case "wechat_mp" -> new AuthWeChatMpRequest(builder.build(), STATE_CACHE);
             case "wechat_mini_program" -> new AuthWechatMiniProgramRequest(builder.ignoreCheckRedirectUri(true).ignoreCheckState(true).build(), STATE_CACHE);
+            case "wechat_mini_program_1" -> new AuthWechatMiniProgramRequest(builder.ignoreCheckRedirectUri(true).ignoreCheckState(true).build(), STATE_CACHE);
             case "aliyun" -> new AuthAliyunRequest(builder.build(), STATE_CACHE);
             case "maxkey" -> new AuthMaxKeyRequest(builder.build(), STATE_CACHE);
             default -> throw new AuthException("未获取到有效的Auth配置");

+ 2 - 0
ruoyi-modules/pom.xml

@@ -11,9 +11,11 @@
 
     <modules>
         <module>ruoyi-khy</module>
+        <module>ruoyi-dzbc</module>
         <module>ruoyi-generator</module>
         <module>ruoyi-job</module>
         <module>ruoyi-system</module>
+
     </modules>
 
     <artifactId>ruoyi-modules</artifactId>

+ 134 - 0
ruoyi-modules/ruoyi-dzbc/pom.xml

@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.dromara</groupId>
+        <artifactId>ruoyi-modules</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>ruoyi-dzbc</artifactId>
+
+    <description>
+        dzbc模块
+    </description>
+
+    <properties>
+
+        <iotucy.version>3.1.0</iotucy.version>
+    </properties>
+
+    <dependencies>
+
+        <!-- 通用工具-->
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.38.Final</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.belerweb</groupId>
+            <artifactId>pinyin4j</artifactId>
+            <version>2.5.1</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-doc</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-sms</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-mail</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-idempotent</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-log</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-excel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-security</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-ratelimiter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-translation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-sensitive</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-encrypt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-tenant</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-websocket</artifactId>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-system</artifactId>
+        </dependency>
+
+
+
+    </dependencies>
+
+</project>

BIN
ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/单列表.xlsx


BIN
ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/多sheet列表.xlsx


BIN
ruoyi-modules/ruoyi-dzbc/src/main/resources/excel/多列表.xlsx


+ 11 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/demo/TestDemoMapper.xml

@@ -0,0 +1,11 @@
+<?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="org.dromara.demo.mapper.TestDemoMapper">
+
+    <select id="customPageList" resultType="org.dromara.demo.domain.vo.TestDemoVo">
+        SELECT * FROM test_demo ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/demo/TestTreeMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.demo.mapper.TestTreeMapper">
+
+</mapper>

+ 3 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/package-info.md

@@ -0,0 +1,3 @@
+java包使用 `.` 分割 resource 目录使用 `/` 分割
+<br>
+此文件目的 防止文件夹粘连找不到 `xml` 文件

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcAreaMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcAreaMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcBannerMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcBannerMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcCarMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcCarMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcKyzMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcKyzMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcOrderLogMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcOrderLogMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcOrderMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcOrderMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcPathMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcPathMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcPathSchedulingMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcPathSchedulingMapper">
+
+</mapper>

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/resources/mapper/system/TblDzbcSiteMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.dromara.system.mapper.TblDzbcSiteMapper">
+
+</mapper>