From f4d4a0939bc85317eac8a2e6132b316d9631ffa0 Mon Sep 17 00:00:00 2001
From: yangjiarong <y@yyyyyy.work>
Date: Fri, 5 Aug 2022 22:59:35 +0800
Subject: [PATCH] 1.0.1版本交付_v1.0.1_8_05

---
 .DS_Store                                                                                                                                         | Bin 6148 -> 0 bytes
 api/.DS_Store                                                                                                                                     | Bin 10244 -> 0 bytes
 api/icloud-dependencies/pom.xml                                                                                                                   |   9 ++++++++-
 api/icloud-framework/.DS_Store                                                                                                                    | Bin 0 -> 6148 bytes
 api/icloud-framework/icloud-common/target/icloud-common-1.0.2-snapshot.jar                                                                        | Bin 2368 -> 0 bytes
 api/icloud-framework/icloud-common/target/maven-archiver/pom.properties                                                                           |   5 -----
 api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst                             |   0
 api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst                               |   1 -
 api/icloud-framework/icloud-pay/pom.xml                                                                                                           |   7 ++++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java                                                        | 256 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java                                                          |  57 +++++++++++++++++++++++++++++----------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java                                                        |  27 ---------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java                                                         | 225 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java                                                             |  46 ----------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/config/AlipayConfig.java                                             |  55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/sign/MD5.java                                                        |  67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayCore.java                                                 | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayNotify.java                                               | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipaySubmit.java                                               | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/UtilDate.java                                                   |  71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/httpClient/HttpResultType.java                                  |  27 +++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java                                           | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java                                                      |  27 ++++++++++++++++++++++++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java                                              |  15 ---------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java                                                   |   2 ++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java                                               |   6 ++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AliPayNotify.java                                                 | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java                                        | 100 ----------------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java                                                 |  26 --------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java                                        |  41 -----------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java                                             |  27 ---------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java                                         |  74 --------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java                                    |  32 --------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java                                            |  16 ----------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WXPayXmlUtil.java                                                 |  27 +++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WxPayNotify.java                                                  | 258 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/XMLUtil.java                                                      |  46 ++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/t.java                                                            |  86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/tt.java                                                                  |  32 ++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/Demo.scala                                                                  |  13 ++++++++++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/AbstractCache.scala                                            |   3 +++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/GoodsCache.scala                                               |  80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/Context.scala                                                |   2 +-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/PayRequest.scala                                             |   9 ++++++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayMapper.scala                                         |  37 ++++++++++++++++++++-----------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayService.scala                                        |   9 +++++++--
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OnloadPayLink.scala                                          |   1 +
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OptisizingSelectionService.scala                             |  49 +++++++++++++++++++++++++++++--------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/PayOrderServer.scala                                         |  59 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/PayControllerPlus.scala                                          |  63 ++++++++++++++++++++++++---------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/test.scala                                                       |  74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodsController.scala                                                 |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodspayRepository1.scala                                             |  10 ++++++++--
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/h5/H5PayPageCtroller.scala                                                  |  12 +++++++++---
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayController.scala                                                     | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayRealmNameCotroller.scala                                             |   6 +++---
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/TenantController.scala                                                  |   2 +-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/test.scala                                                              |   5 ++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/paynotify/PayNotifyRepository.scala                                         |  31 ++++++++++++++++++-------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderController.scala                                              |  11 ++++++++---
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderServer.scala                                                  |   4 ++--
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/PayOrderRepository.scala                                           |   2 ++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pub/PublicUnite.scala                                                       |   2 +-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/route/RouteController.scala                                                 |   2 +-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserController.scala                                                  |   2 +-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserService.scala                                                     |   6 ++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/AESUtil.java                                                                 |  89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/Constants.java                                                               |  91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/Constants.java                                                              |  36 ++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/R.java                                                                      |  91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/annotation/AccessRequired.java                                              |  15 +++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/http/Net.scala                                                              |  15 +++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/GetRedThreads.java                                                  |  32 ++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/Threads.java                                                        |  33 +++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTFilter.java                                                           | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTToken.java                                                            |  21 +++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTUtil.java                                                             |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/UserRealm.java                                                           |  79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java                                                                |  22 ++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java                                                            | 138 ------------------------------------------------------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java                                                             |  21 ---------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java                                                              |  95 -----------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java                                                 |   3 ++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java                            | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java                                        |  20 +++++++++++++++++++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/GlobalCorsConfig.java                                            |  55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java                                                 |  87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/StatelessAuthcFilter.java                                        | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java                                        |  38 --------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java                                        | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/LoginInfoThreadLocal.java                                       |  25 +++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/TokenValidateInterceptor.java                                   | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/UserToken.java                                                  |  63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java                                                          |  19 +++++++++++++++++++
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java                                                    |  26 ++++++++++++++------------
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java                                                       |   4 +++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java                                                             |   3 ++-
 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java                                                            |   4 +++-
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayClient.class                                                 | Bin 4204 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayCodeMapping.class                                            | Bin 1331 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify$1.class                                                    | Bin 810 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify.class                                                      | Bin 11070 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClient.class                                                         | Bin 1415 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientConfig.class                                                   | Bin 1327 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactory.class                                                  | Bin 462 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl$1.class                                            | Bin 1161 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl.class                                              | Bin 4643 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayCommonResult.class                                                   | Bin 4477 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayEntiy.class                                                          | Bin 9230 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayService.class                                                        | Bin 9175 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WXPayXmlUtil.class                                                      | Bin 1397 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WxPayNotify.class                                                       | Bin 6846 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/XMLUtil.class                                                           | Bin 1750 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AbstractAlipayClient.class                                       | Bin 10028 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AliPayController.class                                           | Bin 10898 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayConfig.class                                               | Bin 329 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModeCertificate.class                      | Bin 283 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModePublicKey.class                        | Bin 279 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig.class                                      | Bin 7938 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.class                                       | Bin 881 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayQrPayClient.class                                          | Bin 3798 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayWapPayClient.class                                         | Bin 4622 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/BaseDO.class                                                        | Bin 3667 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO$PayNotifyDataDTOBuilder.class                      | Bin 1733 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO.class                                              | Bin 2815 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyTaskDO.class                                               | Bin 10443 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO$PayOrderDOBuilder.class                                  | Bin 6242 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO.class                                                    | Bin 19883 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO$PayOrderNotifyRespDTOBuilder.class            | Bin 2214 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.class                                         | Bin 4592 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.class                                         | Bin 5827 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO$PayRefundNotifyDTOBuilder.class                  | Bin 2233 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO.class                                            | Bin 4211 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO$PayRefundUnifiedReqDTOBuilder.class          | Bin 2361 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.class                                        | Bin 5016 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO$PayRefundUnifiedRespDTOBuilder.class        | Bin 1266 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.class                                       | Bin 2020 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/IntArrayValuable.class                                            | Bin 169 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/PayTypeEnum.class                                                 | Bin 1640 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDao.class                                                 | Bin 327 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDaoImpl.class                                             | Bin 2811 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsRepositorye.class                                            | Bin 654 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/Goodspayentity.class                                              | Bin 1029 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/testt.class                                                       | Bin 1360 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/job/JobHandler.class                                                    | Bin 239 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/AppPayOrderController.class                                      | Bin 5318 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyJob.class                                               | Bin 945 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.class                                      | Bin 442 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyService.class                                           | Bin 368 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyServiceImpl.class                                       | Bin 2838 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyStatusEnum.class                                        | Bin 1925 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO$PayNotifyTaskCreateReqDTOBuilder.class | Bin 1625 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.class                                  | Bin 2852 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTypeEnum.class                                          | Bin 1627 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyConstants.class                                          | Bin 149 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$KeyTypeEnum.class                                 | Bin 1931 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$TimeoutTypeEnum.class                             | Bin 1753 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine.class                                             | Bin 5813 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyRegistry.class                                           | Bin 1039 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderService.class                                             | Bin 334 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderServiceImpl.class                                         | Bin 4295 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/CommonResult.class                                                 | Bin 6210 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/PageParam.class                                                    | Bin 2699 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXCodeMapping.class                                                  | Bin 1533 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXH5PayClient.class                                                  | Bin 14191 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXLitePayClient.class                                                | Bin 14054 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXNativePayClient.class                                              | Bin 12708 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V2.class                                           | Bin 237 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V3.class                                           | Bin 237 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig.class                                              | Bin 6486 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPubPayClient.class                                                 | Bin 14103 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/AmountRedis.class                                                          | Bin 7389 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/PayRedis.class                                                             | Bin 2260 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/pushred.class                                                              | Bin 2717 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A$.class                                                                   | Bin 2117 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A.class                                                                    | Bin 5703 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B$.class                                                                   | Bin 1988 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B.class                                                                    | Bin 5526 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/Demo.class                                                                 | Bin 5456 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/AbstractCache.class                                           | Bin 2310 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/GoodsCache.class                                              | Bin 9623 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/Context.class                                               | Bin 10909 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest$.class                                           | Bin 3417 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest.class                                            | Bin 11273 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType$.class                                              | Bin 3747 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType.class                                               | Bin 11318 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl$.class                                               | Bin 2069 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl.class                                                | Bin 6384 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AbstractFilter.class                                         | Bin 5223 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AmountRiskFilter.class                                       | Bin 3873 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/IpFilter.class                                               | Bin 2978 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RandomFilter.class                                           | Bin 1676 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RealmNameFilter.class                                        | Bin 1688 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RedisFilter.class                                            | Bin 1672 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RiskFilter.class                                             | Bin 3118 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TimeFilter.class                                             | Bin 1668 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TodayRiskFilter.class                                        | Bin 3539 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/WeightFilter.class                                           | Bin 1676 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Alipaye.class                                               | Bin 8889 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayController1.class                                   | Bin 2950 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayService.class                                       | Bin 3996 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodse.class                                                | Bin 11060 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodspayRepositorye.class                                   | Bin 1625 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspayditche.class                                        | Bin 8127 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspaye.class                                             | Bin 18191 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OnloadPayLink.class                                         | Bin 5893 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OptisizingSelectionService.class                            | Bin 15699 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayFilterService.class                                      | Bin 12236 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayOrderServer.class                                        | Bin 11102 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayRealmName1.class                                         | Bin 7670 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Wxpaye.class                                                | Bin 8716 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA$.class                                                       | Bin 2298 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA.class                                                        | Bin 5669 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB$.class                                                       | Bin 2085 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB.class                                                        | Bin 5402 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/PayControllerPlus.class                                         | Bin 12005 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test$.class                                                     | Bin 1987 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test.class                                                      | Bin 1084 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq$.class                                                | Bin 3758 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq.class                                                 | Bin 11034 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename$.class                                                | Bin 2477 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename.class                                                 | Bin 6485 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods.class                                                          | Bin 15300 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods2.class                                                         | Bin 14311 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsController.class                                                | Bin 31015 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage.class                                                   | Bin 6370 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage2.class                                                  | Bin 5395 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackageRepository.class                                         | Bin 1540 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository.class                                                | Bin 2844 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository1.class                                               | Bin 2382 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay.class                                                       | Bin 12787 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay2.class                                                      | Bin 15086 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase$.class                                                  | Bin 4460 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase.class                                                   | Bin 12873 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository.class                                             | Bin 2039 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository1.class                                            | Bin 2136 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch.class                                                  | Bin 8443 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch2.class                                                 | Bin 7967 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase$.class                                             | Bin 3151 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase.class                                              | Bin 9931 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchRepository.class                                        | Bin 1444 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl$.class                                                     | Bin 2430 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl.class                                                      | Bin 6427 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1$.class                                                   | Bin 2247 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1.class                                                    | Bin 6724 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq$.class                                                 | Bin 4696 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq.class                                                  | Bin 14897 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq$.class                                            | Bin 2840 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq.class                                             | Bin 8418 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq$.class                                                | Bin 4192 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq.class                                                 | Bin 12656 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa$.class                                                            | Bin 2166 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa.class                                                             | Bin 5868 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay$.class                                                           | Bin 2075 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay.class                                                            | Bin 5984 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq$.class                                                    | Bin 2588 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq.class                                                     | Bin 7702 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes$.class                                                    | Bin 3575 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes.class                                                     | Bin 11467 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/H5PayPageCtroller.class                                                 | Bin 8918 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay$.class                                                            | Bin 2066 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay.class                                                             | Bin 5972 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A$.class                                                               | Bin 2177 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A.class                                                                | Bin 5512 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay.class                                                           | Bin 7962 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1.class                                                          | Bin 9171 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1Repository.class                                                | Bin 1787 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B$.class                                                               | Bin 1781 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B.class                                                                | Bin 4921 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq$.class                                                    | Bin 3111 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq.class                                                     | Bin 9661 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq$.class                                           | Bin 2836 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq.class                                            | Bin 8439 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq$.class                                                     | Bin 3088 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq.class                                                      | Bin 9799 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq$.class                                                       | Bin 2047 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq.class                                                        | Bin 6163 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes$.class                                                   | Bin 2690 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes.class                                                    | Bin 7393 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayController.class                                                    | Bin 25315 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmName.class                                                     | Bin 8152 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameCotroller.class                                            | Bin 5967 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameRepository.class                                           | Bin 1867 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes$.class                                                    | Bin 3955 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes.class                                                     | Bin 12662 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenant.class                                                           | Bin 7608 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantController.class                                                 | Bin 5367 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantRepository.class                                                 | Bin 1472 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser.class                                                       | Bin 3405 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser1.class                                                      | Bin 3908 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantuserRepository.class                                             | Bin 1518 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt$.class                                                              | Bin 2041 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt.class                                                               | Bin 5612 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq$.class                                                    | Bin 3921 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq.class                                                     | Bin 12763 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq$.class                                           | Bin 2972 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq.class                                            | Bin 8987 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq$.class                                                     | Bin 3898 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq.class                                                      | Bin 12597 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Userpay.class                                                          | Bin 4367 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UserpayRepository.class                                                | Bin 1386 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay.class                                                            | Bin 7790 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1.class                                                           | Bin 9007 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1Repository.class                                                 | Bin 1565 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test$.class                                                            | Bin 1568 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test.class                                                             | Bin 790 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifiyLog.class                                              | Bin 630 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyEntity.class                                            | Bin 5059 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogEntity.class                                         | Bin 7637 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogRepository.class                                     | Bin 1265 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyRepository.class                                        | Bin 2074 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event$.class                                                     | Bin 3210 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event.class                                                      | Bin 27123 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderController.class                                             | Bin 4337 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderServer.class                                                 | Bin 13339 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/PayOrderRepository.class                                          | Bin 2551 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pub/PublicUnite.class                                                      | Bin 2069 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/IinitController.class                                                | Bin 2688 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/Menuinit.class                                                       | Bin 6931 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/MenuinitRepository.class                                             | Bin 1819 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName$.class                                                      | Bin 2219 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName.class                                                       | Bin 5550 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Permission.class                                                     | Bin 3109 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Role.class                                                           | Bin 4552 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/RolePermission.class                                                 | Bin 3650 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/User.class                                                           | Bin 10422 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserController.class                                                 | Bin 3616 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRepository.class                                                 | Bin 1503 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRole.class                                                       | Bin 4116 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserService.class                                                    | Bin 4196 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/CodeDefs.class                                                             | Bin 991 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/IdWorker.class                                                             | Bin 3943 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/JsonUtils.class                                                            | Bin 4863 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/FileUtils.class                                                         | Bin 1354 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/IoUtils.class                                                           | Bin 752 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs$.class                                                            | Bin 1836 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs.class                                                             | Bin 6460 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/ObjectUtils.class                                                   | Bin 2432 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/PageUtils.class                                                     | Bin 673 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/oss/BlogsOss.class                                                         | Bin 4439 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/DateUtils.class                                                       | Bin 2557 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/TimeUtilss.class                                                      | Bin 5028 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/JacksonMapper.class                                                          | Bin 2063 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$1.class                                                            | Bin 2669 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateDeserializer.class                                        | Bin 1845 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateSerializer.class                                          | Bin 1814 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeDeserializer.class                                    | Bin 2064 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeSerializer.class                                      | Bin 1842 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeDeserializer.class                                        | Bin 1844 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeSerializer.class                                          | Bin 1814 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig.class                                                              | Bin 6349 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ControllerExceptionHandler.class                                         | Bin 1268 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ErrorCode.class                                                          | Bin 1808 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/GlobalErrorCodeConstants.class                                           | Bin 1723 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServerException.class                                                    | Bin 2557 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceException.class                                                   | Bin 2563 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceExceptionUtil.class                                               | Bin 4268 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServicerunException.class                                                | Bin 988 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/enums/ErrorCodeConstants.class                                           | Bin 3318 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelEnum.class                                                 | Bin 3918 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.class                                       | Bin 1826 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.class                                 | Bin 982 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.class                                      | Bin 1168 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/json/JsonResult.class                                                        | Bin 1198 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTFilter.class                                                          | Bin 6009 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTToken.class                                                           | Bin 622 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTUtil.class                                                            | Bin 3417 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtEntity.class                                                          | Bin 1149 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtUtils.class                                                           | Bin 3641 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRealm.class                                               | Bin 4149 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.class                          | Bin 3376 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.class                                  | Bin 998 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionManager.class                                      | Bin 1612 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/ShiroConfig.class                                               | Bin 7059 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/AdminController.class                                       | Bin 1094 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/LogoutController.class                                      | Bin 1271 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/OrderController.class                                       | Bin 678 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/PublicController.class                                      | Bin 5811 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/VideoController.class                                       | Bin 929 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/entity/UserQuery.class                                                 | Bin 886 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/time/TimeUtilss.class                                                        | Bin 4533 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessToken.class                                                       | Bin 1815 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessTokenAPI.class                                                    | Bin 2439 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/GetPostUntil.class                                                      | Bin 4111 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/HttpRequestUtil.class                                                   | Bin 6321 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WeixinController.class                                                  | Bin 2334 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxConfigUtils.class                                                     | Bin 7870 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxLogin.class                                                           | Bin 3253 -> 0 bytes
 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxOpenid.class                                                          | Bin 5091 -> 0 bytes
 api/icloud-framework/icloud-pay/target/icloud-pay-1.0.2-snapshot.jar                                                                              | Bin 691645 -> 0 bytes
 api/icloud-framework/icloud-pay/target/maven-archiver/pom.properties                                                                              |   5 -----
 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst                                |   0
 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst                                  | 116 --------------------------------------------------------------------------------------------------------------------
 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst                        |   1 -
 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst                          |   1 -
 api/icloud-framework/icloud-pay/target/test-classes/Md5Test.class                                                                                 | Bin 840 -> 0 bytes
 api/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java                                                            |   2 +-
 api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/AliOss.class                                                                | Bin 4920 -> 0 bytes
 api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/CosContoller.class                                                          | Bin 2068 -> 0 bytes
 api/icloud-framework/icloud-web/target/classes/com/icloud/server/swagger/Swagger2.class                                                           | Bin 2123 -> 0 bytes
 api/icloud-framework/icloud-web/target/classes/com/icloud/server/web/JsonResult.class                                                             | Bin 1188 -> 0 bytes
 api/icloud-framework/icloud-web/target/icloud-web-1.0.2-snapshot.jar                                                                              | Bin 8511 -> 0 bytes
 api/icloud-framework/icloud-web/target/maven-archiver/pom.properties                                                                              |   5 -----
 api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst                                |   0
 api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst                                  |   5 -----
 api/icloud-server/.DS_Store                                                                                                                       | Bin 8196 -> 0 bytes
 api/icloud-server/src/.DS_Store                                                                                                                   | Bin 0 -> 6148 bytes
 api/icloud-server/src/main/java/com/icloud/server/OcloudServerApplication.java                                                                    |   3 ++-
 api/icloud-server/src/main/resources/application-dev.yaml                                                                                         |   6 ++++--
 api/icloud-server/src/main/resources/application-dev_test.yaml                                                                                    |  41 +++++++++++++++++++++++++++++++++++++++++
 api/icloud-server/src/main/resources/application.yaml                                                                                             |   5 +++--
 api/icloud-server/src/main/resources/logback.xml                                                                                                  | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------
 api/sql/.DS_Store                                                                                                                                 | Bin 6148 -> 0 bytes
 413 files changed, 3623 insertions(+), 1805 deletions(-)
 create mode 100644 api/icloud-framework/.DS_Store
 delete mode 100644 api/icloud-framework/icloud-common/target/icloud-common-1.0.2-snapshot.jar
 delete mode 100644 api/icloud-framework/icloud-common/target/maven-archiver/pom.properties
 delete mode 100644 api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 delete mode 100644 api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/config/AlipayConfig.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/sign/MD5.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayCore.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayNotify.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipaySubmit.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/UtilDate.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/httpClient/HttpResultType.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AliPayNotify.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WXPayXmlUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WxPayNotify.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/XMLUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/t.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/tt.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/AESUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/Constants.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/Constants.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/R.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/annotation/AccessRequired.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/http/Net.scala
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/GetRedThreads.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/Threads.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTFilter.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTToken.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/UserRealm.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/GlobalCorsConfig.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/StatelessAuthcFilter.java
 delete mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/LoginInfoThreadLocal.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/TokenValidateInterceptor.java
 create mode 100644 api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/UserToken.java
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayCodeMapping.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify$1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactory.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl$1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayCommonResult.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayEntiy.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WXPayXmlUtil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WxPayNotify.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/XMLUtil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AbstractAlipayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AliPayController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModeCertificate.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModePublicKey.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayQrPayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayWapPayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/BaseDO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO$PayNotifyDataDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyTaskDO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO$PayOrderDOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO$PayOrderNotifyRespDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO$PayRefundNotifyDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO$PayRefundUnifiedReqDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO$PayRefundUnifiedRespDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/IntArrayValuable.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/PayTypeEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDao.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDaoImpl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsRepositorye.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/Goodspayentity.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/testt.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/job/JobHandler.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/AppPayOrderController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyJob.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyServiceImpl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyStatusEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO$PayNotifyTaskCreateReqDTOBuilder.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTypeEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyConstants.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$KeyTypeEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$TimeoutTypeEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyRegistry.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderServiceImpl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/CommonResult.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/PageParam.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXCodeMapping.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXH5PayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXLitePayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXNativePayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V2.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V3.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPubPayClient.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/AmountRedis.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/PayRedis.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/pushred.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/Demo.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/AbstractCache.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/GoodsCache.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/Context.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AbstractFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AmountRiskFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/IpFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RandomFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RealmNameFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RedisFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RiskFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TimeFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TodayRiskFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/WeightFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Alipaye.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayController1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodse.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodspayRepositorye.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspayditche.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspaye.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OnloadPayLink.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OptisizingSelectionService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayFilterService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayOrderServer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayRealmName1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Wxpaye.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/PayControllerPlus.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods2.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage2.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackageRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay2.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch2.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/H5PayPageCtroller.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1Repository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmName.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameCotroller.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenant.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantuserRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Userpay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UserpayRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1Repository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifiyLog.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyEntity.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogEntity.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderServer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/PayOrderRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pub/PublicUnite.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/IinitController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/Menuinit.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/MenuinitRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Permission.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Role.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/RolePermission.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/User.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRepository.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRole.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserService.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/CodeDefs.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/IdWorker.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/JsonUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/FileUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/IoUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs$.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/ObjectUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/PageUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/oss/BlogsOss.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/DateUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/TimeUtilss.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/JacksonMapper.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$1.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateDeserializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateSerializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeDeserializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeSerializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeDeserializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeSerializer.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ControllerExceptionHandler.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ErrorCode.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/GlobalErrorCodeConstants.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServerException.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceException.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceExceptionUtil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServicerunException.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/enums/ErrorCodeConstants.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/json/JsonResult.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTToken.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTUtil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtEntity.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRealm.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionManager.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/ShiroConfig.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/AdminController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/LogoutController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/OrderController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/PublicController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/VideoController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/entity/UserQuery.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/time/TimeUtilss.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessToken.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessTokenAPI.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/GetPostUntil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/HttpRequestUtil.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WeixinController.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxConfigUtils.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxLogin.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxOpenid.class
 delete mode 100644 api/icloud-framework/icloud-pay/target/icloud-pay-1.0.2-snapshot.jar
 delete mode 100644 api/icloud-framework/icloud-pay/target/maven-archiver/pom.properties
 delete mode 100644 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 delete mode 100644 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 delete mode 100644 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
 delete mode 100644 api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
 delete mode 100644 api/icloud-framework/icloud-pay/target/test-classes/Md5Test.class
 delete mode 100644 api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/AliOss.class
 delete mode 100644 api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/CosContoller.class
 delete mode 100644 api/icloud-framework/icloud-web/target/classes/com/icloud/server/swagger/Swagger2.class
 delete mode 100644 api/icloud-framework/icloud-web/target/classes/com/icloud/server/web/JsonResult.class
 delete mode 100644 api/icloud-framework/icloud-web/target/icloud-web-1.0.2-snapshot.jar
 delete mode 100644 api/icloud-framework/icloud-web/target/maven-archiver/pom.properties
 delete mode 100644 api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 delete mode 100644 api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 create mode 100644 api/icloud-server/src/.DS_Store
 create mode 100644 api/icloud-server/src/main/resources/application-dev_test.yaml

diff --git a/.DS_Store b/.DS_Store
index f5f9c63..121ec7e 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/api/.DS_Store b/api/.DS_Store
index cdabb6b..e6ba85c 100644
Binary files a/api/.DS_Store and b/api/.DS_Store differ
diff --git a/api/icloud-dependencies/pom.xml b/api/icloud-dependencies/pom.xml
index 2403d7e..5a54aa5 100644
--- a/api/icloud-dependencies/pom.xml
+++ b/api/icloud-dependencies/pom.xml
@@ -203,8 +203,9 @@
             <dependency>
                 <groupId>com.alipay.sdk</groupId>
                 <artifactId>alipay-sdk-java</artifactId>
-                <version>4.17.9.ALL</version>
+                <version>4.31.72.ALL</version>
             </dependency>
+
             <dependency>
                 <groupId>com.github.binarywang</groupId>
                 <artifactId>weixin-java-pay</artifactId>
@@ -255,6 +256,12 @@
                 <artifactId>thumbnailator</artifactId>
                 <version>0.4.8</version>
             </dependency>
+            <dependency>
+                <groupId>org.scalaj</groupId>
+                <artifactId>scalaj-http_2.13</artifactId>
+                <version>2.4.2</version>
+            </dependency>
+
             <!-- 不兼容-->
             <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
 <!--            <dependency>-->
diff --git a/api/icloud-framework/.DS_Store b/api/icloud-framework/.DS_Store
new file mode 100644
index 0000000..9b5e27f
Binary files /dev/null and b/api/icloud-framework/.DS_Store differ
diff --git a/api/icloud-framework/icloud-common/target/icloud-common-1.0.2-snapshot.jar b/api/icloud-framework/icloud-common/target/icloud-common-1.0.2-snapshot.jar
deleted file mode 100644
index ad8c603..0000000
Binary files a/api/icloud-framework/icloud-common/target/icloud-common-1.0.2-snapshot.jar and /dev/null differ
diff --git a/api/icloud-framework/icloud-common/target/maven-archiver/pom.properties b/api/icloud-framework/icloud-common/target/maven-archiver/pom.properties
deleted file mode 100644
index 2904dd5..0000000
--- a/api/icloud-framework/icloud-common/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Fri Jul 29 19:03:45 CST 2022
-version=1.0.2-snapshot
-groupId=com.icloud.boot
-artifactId=icloud-common
diff --git a/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
diff --git a/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index a7937a2..0000000
--- a/api/icloud-framework/icloud-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-common/src/main/java/com/icloud/framework/common/package-info.java
diff --git a/api/icloud-framework/icloud-pay/pom.xml b/api/icloud-framework/icloud-pay/pom.xml
index afab283..7d7705a 100644
--- a/api/icloud-framework/icloud-pay/pom.xml
+++ b/api/icloud-framework/icloud-pay/pom.xml
@@ -111,7 +111,12 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
-<!--        <dependency>-->
+        <dependency>
+            <groupId>org.scalaj</groupId>
+            <artifactId>scalaj-http_2.13</artifactId>
+        </dependency>
+
+        <!--        <dependency>-->
                 <!--这个包的版本有问题,会报错-->
 <!--            <groupId>org.redisson</groupId>-->
 <!--            <artifactId>redisson-spring-boot-starter</artifactId>-->
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java
deleted file mode 100644
index 4e534da..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package com.icloud.server.payutils;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.TypeReference;
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.AlipayConfig;
-import com.alipay.api.internal.util.AlipaySignature;
-import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
-import com.github.binarywang.wxpay.exception.WxPayException;
-import com.icloud.server.payutils.dto.PayNotifyDataDTO;
-import com.icloud.server.payutils.dto.PayOrderDO;
-import com.icloud.server.scala.pay.Alipay1;
-import com.icloud.server.scala.pay.Alipay1Repository;
-import com.icloud.server.scala.paynotify.PayNotifyEntity;
-import com.icloud.server.scala.paynotify.PayNotifyLogEntity;
-import com.icloud.server.scala.paynotify.PayNotifyLogRepository;
-import com.icloud.server.scala.paynotify.PayNotifyRepository;
-import com.icloud.server.scala.payorder.PayOrderRepository;
-import com.icloud.server.utils.JsonUtils;
-import com.icloud.server.utils.log.Logs;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-
-import com.alipay.api.internal.util.AlipaySignature;
-
-/**
- * 微信
- *
- * @Author : yang
- * @Date : 2022-07-26 01:09
- * @Version : 2.1.2
- */
-
-@Api(tags = "支付宝回传")
-//@ApiIgnore
-@RestController
-@RequestMapping("/pay/aliorder")
-@Validated
-@Slf4j
-@AllArgsConstructor
-public class AliPayNotify {
-
-    @Resource
-    private PayClientFactory payClientFactory;
-    @Resource
-    private PayNotifyRepository pnr;
-    @Resource
-    private Alipay1Repository ar;
-    @Resource
-    private PayOrderRepository por;
-    @Resource
-    private PayNotifyLogRepository pnlr;
-
-    static Logger logger = LoggerFactory.getLogger("alirepay");
-
-
-
-    public String alyPayNotify(HttpServletRequest request, HttpServletResponse response) {
-        log.info("支付宝支付成功回调");
-        //这里拿到支付宝通知数据
-        Map<String, Object> params = convertRequestParamsToMap(request); // 将异步通知中收到的待验证所有参数都存放到map中
-        String paramsJson = JSON.toJSONString(params);
-        log.info("支付宝回调,{}"+ paramsJson);
-        Map<String, String> map = JSON.parseObject(paramsJson, new TypeReference<Map<String, String>>(){});
-        return  "";
-
-    }
-
-    // 将request中的参数转换成Map
-    private static Map<String, Object> convertRequestParamsToMap(HttpServletRequest request) {
-        Map<String,Object> returnMap = new HashMap<String,Object>();
-        Map<String,String[]> map = new HashMap<String,String[]>();
-        map = request.getParameterMap();
-        Iterator entries = map.entrySet().iterator();
-        Map.Entry entry;
-        String name ="";
-        String value=null;
-        while (entries.hasNext()){
-            entry=(Map.Entry)entries.next();
-            name = (String) entry.getKey();
-            Object objvalue = entry.getValue();
-            if(objvalue == null){
-                value = null;
-            }else if(objvalue instanceof String[]){
-                /**条件如果成立,objvalue就是一个数组,需要将它转换成为字符串,并拼接上逗号,并吧末尾的逗号去掉*/
-                String[] values = (String[]) objvalue;
-                for(int i=0;i<values.length;i++){
-                    value = values[i]+",";//这里我拼接的是英文的逗号。
-                }
-                value = value.substring(0,value.length()-1);//截掉最后一个逗号。
-            }else{
-                value = objvalue.toString();
-            }
-            log.info("key:"+name);
-            log.info("value:"+value);
-            returnMap.put(name , value);
-        }
-        Iterator it = returnMap.keySet().iterator();
-        while (it.hasNext()){
-            Object key = it.next();
-            if(returnMap.get(key) == null || "".equals (((String)returnMap.get(key)).trim())){
-                returnMap.put((String) key, null);
-            }
-        }
-        return returnMap;
-
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    public Map<String, String> request_pay(HttpServletRequest request) throws UnsupportedEncodingException {
-        Map<String, String> params = new HashMap<String, String>();
-        Map requestParams = request.getParameterMap();
-        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
-            String name = (String) iter.next();
-            String[] values = (String[]) requestParams.get(name);
-            String valueStr = "";
-            for (int i = 0; i < values.length; i++) {
-                valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
-            }
-            // 乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
-            valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
-            params.put(name, valueStr);
-        }
-        return params;
-    }
-
-    private Map<String, String>  parseAliPayReq(HttpServletRequest request){
-        // 构造传入参数
-        Map<String, String> params = new HashMap<>();
-        Map requestParams = request.getParameterMap();
-        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
-            String name = (String) iter.next();
-            String[] values = (String[]) requestParams.get(name);
-            String valueStr = "";
-            for (int i = 0; i < values.length; i++) {
-                valueStr = (i == values.length - 1) ? valueStr + values[i]
-                        : valueStr + values[i] + ",";
-            }
-            // 乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
-            try {
-                valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
-            } catch (UnsupportedEncodingException e) {
-
-            }
-            params.put(name, valueStr);
-        }
-
-
-        return params;
-    }
-
-
-
-    @PostMapping(value = "/alinotify/{channelId}")
-    @ApiOperation("渠道统一的支付成功,或退款成功 通知url")
-    public String aa(@PathVariable("channelId") Long channelId,HttpServletRequest request, HttpServletResponse response){
-        System.out.println("=======支付域名:alinotify========");
-        System.out.println("channelId:" + channelId);
-        System.out.println("=======request:"+request);
-        Map<String,String> params = new HashMap<String,String>();
-        Map requestParams = request.getParameterMap();
-        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
-            String name = (String) iter.next();
-            String[] values = (String[]) requestParams.get(name);
-            String valueStr = "";
-            for (int i = 0; i < values.length; i++) {
-                valueStr = (i == values.length - 1) ? valueStr + values[i]
-                        : valueStr + values[i] + ",";
-            }
-            //乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
-            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "gbk");
-            params.put(name, valueStr);
-        }
-        HashMap<String, String> map = new HashMap<>();
-        for(Object str:requestParams.keySet()){
-            String parameter = request.getParameter(str.toString());
-            map.put(str.toString(),parameter);
-            System.out.println("key======"+str+":"+parameter);
-        }
-        String req = JsonUtils.toJsonString(map);
-        //out_trade_no
-        String out_trade_no = request.getParameter("out_trade_no");
-        System.out.println("out_trade_no:"+out_trade_no);
-        PayOrderDO byMerchantorderid = por.findByMerchantorderid(out_trade_no);
-        Optional<Alipay1> alipay1 = ar.findById(byMerchantorderid.getAppid());
-        String alipaypublickey = alipay1.get().getAlipaypublickey();
-
-        try {
-            boolean verify_result = AlipaySignature.rsaCheckV1(params,alipaypublickey,"UTF-8","RSA2");
-            System.out.println("verify_result:"+verify_result);
-            if(verify_result){
-                System.out.println("订单支付成功");
-
-                List<PayNotifyEntity> pnes = pnr.findByMerchantorderidAndStatus(out_trade_no,0);
-                if(!pnes.isEmpty()){
-                    PayNotifyLogEntity paynotifylogentity = new PayNotifyLogEntity().toEntity(out_trade_no, req, "ali", "ali", byMerchantorderid.getAppid().toString());
-                    //mysql 记录
-                    pnlr.save(paynotifylogentity);
-                    //log 日志----输出
-                    new Logs(logger).toLog( req);
-                    PayNotifyEntity entity = pnes.get(0);
-                    String merchantorderid = entity.getMerchantorderid();
-                    entity.setStatus(1);
-                    pnr.save(entity);
-                    PayOrderDO por1 = por.findByMerchantorderid(merchantorderid);
-                    por1.setStatus(1);
-                    //mysql --修改订单状态
-                    por.save(por1);
-                }
-            }
-        } catch (AlipayApiException e) {
-            throw new RuntimeException(e);
-        }
-
-
-        return "success";
-    }
-
-
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java
index dc062cd..c2481ef 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java
@@ -36,29 +36,14 @@ public class PayService {
        }
 
     }
-    public CommonResult CreatePayClient_ALIPAY_WAP(PayEntiy pe) {
-        String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbrl+dSmi0sTHKebUL0n1ySETbbQQYZJ2lgMPmGG1mnAaGBUNQpb0pcnseMyv6swnVCBfH7nFJEOeLoVpkx5j2/gYMIx5i5fFPsdu8dDyPh3FyCSjmDmkMmhiNiPk//1+P99UPnNiN1xW8noOZRhphd8Bh0XM+sIRU/O6FDr+ymKSdySHPlF7tAKXMDILahkHN5SB8jyKNCDeZj3gYNzcD0Zyl2HYYr5haDtfr0NE0XI8c8yD4czs7FuuP51tEB37GFN0TAGz4chKfz9Mc8xZ/aBUlIa6wUk0LJEbjujP3tf+I797R4yyYJ8GhwDN9YkDspPIrw3N+a2chhpT5WzitAgMBAAECggEBALggVT+uqEga5JLCo/5+tGpfLGeF3hLb8k5PuOJYwwln6QfXzW4BHKVqsMrFNS1xduI5YEVRE16cbpZX7T3fFdSfYU42+TcHZ9TWTEiOXFwot+tOxhrdJStM1Rt8HP2I+/3dSZVGbzOjfTKU4dRML7xV9MeIGEIJDUF2piycCgyT2ovT0vbBNkKdfCfFjUNPkJmItLa3wuPs6+9CQdd6hwomPNHNVUFgfOLP7OLGSZuzKjjo6pul+oU3ZfpND3V3TZ+lD8i1Qps/EKfHN8fMt38lJcbRvQAso7DsqT7ZNzfaD8SpXY7ulBPVe+f7aoRAlqQXizIBhOK+TfYiQ2CIUoECgYEA7jD+YrRfFj31052HRykvmIY5YZTb6Emk6eiqTpbgkWbbC1KsWRuHR1854AvQ1aRk82BxtrxZxuwF2sEVQeGiaDxSK0KnLDMLMNmVe/Jr4NGhbcvVZuzU7L+ZM8e8XcIFy2nljWQQ5x50AZDoGY70eQkNFAxg8TVWmhzNZ9rWpj0CgYEA7BsXk1BRcBMtr+cYZ/2/cqUNKsw9BWVwL4lwTNn9A6PHt06+gNKD6+NUevYtp09xqENryIXc26dt/9OWk6BPd7kp6H3c1xGyByW9hC58vHhC6pcgSUiJ6diwVsqD0z2dTW7/3kbLPRpvSf/waHPfLOWkmnkkavtbiynzP4F4czECgYA/Dd85t+/4Dlz2MRxvnRqJcPbduy9f1ab/eOUkutImC6lu3OrdB+mO3kmO4vHcrJFA0EYqDsBhZXfDShvbfeSlXVqPMyzYCYcr3l2xGyKtuDDYxP3wKj/PkIT47SYTV9p618S54kSLOkeRZo/avDpBlEDPDtvW3rzXPUqu9IKgLQKBgQCLiYdpXLKElhEOQHnAG8slqj4Z6RK3ObgPoB5qjPpnSEgkIbmc0M1+f5/R++QHWYBGfXIZ1GMuvcjYxOfc34WXsCsAaEI4KREaAEf88qxthnWlxyMhrGk1dwbghFdcZLGurccySoya1CCpj0U5tiFTm3SohqfrQhpcKLLF+XKCQQKBgGSYZZ65F+WSDUrP1DfIkHzJcpVj4rFGLretIi3PJItFazq8pahWh3EllogUxMuntknOPwdbfptP/LCN/pTLCCYiwINgeCSZaEIlsSiUEJTmO5NE4YwEpSpbEWNuEDS1JRZrxRAFkh1WlL629vsV9jkS93nkDpc1OS7Cdp8ILsDE";
-        String APP_PUBLIC_KEY ="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA265fnUpotLExynm1C9J9ckhE220EGGSdpYDD5hhtZpwGhgVDUKW9KXJ7HjMr+rMJ1QgXx+5xSRDni6FaZMeY9v4GDCMeYuXxT7HbvHQ8j4dxcgko5g5pDJoYjYj5P/9fj/fVD5zYjdcVvJ6DmUYaYXfAYdFzPrCEVPzuhQ6/spiknckhz5Re7QClzAyC2oZBzeUgfI8ijQg3mY94GDc3A9Gcpdh2GK+YWg7X69DRNFyPHPMg+HM7Oxbrj+dbRAd+xhTdEwBs+HISn8/THPMWf2gVJSGusFJNCyRG47oz97X/iO/e0eMsmCfBocAzfWJA7KTyK8NzfmtnIYaU+Vs4rQIDAQAB";
-        String notify_url = "http://127.0.0.1:8080";
-        String alipayPublicKey="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAghBg+LB71Ivm+3v50LWhAmU69vZqcnWq9nNvIbp/PrDMpp+bfc8vwkEWEEkstF5Jo/kIhFPYWbECAJw8UJsJ7usTjfIZvasXv2KxRUnrsCV94Azn8jV7meHgxpE4LTpBiIqrN+AVf6SLjLlBmwCiQ78g7RbF/pIvsjtKiEPVhB7NAMttNorPVib/mIPbMjzWGXJf/GR6s1oaTs9vNcFbyjMBYd8h9KelyIQFvLaDeB1ffWxWJJ1o52wmgeoGlAhlHaF1dHdf3X9MXCKNpyZtDw9akwqJPAaG+vxKdSVUS9YDVhzBU3fSI05hb5waYeMsxAi6JAPHEluvRT03HzgDnwIDAQAB";
-        // 创建配置
-        // 创建配置
-        AlipayPayClientConfig config = new AlipayPayClientConfig();
-        config.setAppId(pe.getAppid());
-        config.setServerUrl(AlipayPayClientConfig.SERVER_URL_PROD);
-//        config.setServerUrl(AlipayPayClientConfig.SERVER_URL_SANDBOX);
-        config.setSignType(AlipayPayClientConfig.SIGN_TYPE_DEFAULT);
-        config.setPrivateKey(pe.getPrivateKey());
-        config.setAlipayPublicKey(pe.getAlipayPublicKey());
-        // 创建客户端
-//        Long channelId = RandomUtil.randomLong();
-        payClientFactory.createOrUpdatePayClient(pe.getChannelId() ,PayChannelEnum.ALIPAY_WAP.getCode(), config);
-        PayClient client = payClientFactory.getPayClient(pe.getChannelId());
-        // 发起支付
-        PayOrderUnifiedReqDTO reqDTO = buildPayOrderUnifiedReqDTO(pe);
-        CommonResult<?> result = client.unifiedOrder(reqDTO);
-          System.out.println(JsonUtils.toJsonString(result));
-        String s = JsonUtils.toJsonString(result);
+
+
+//    public CommonResult CreatePayClient_ALIPAY_WAP(PayEntiy pe) {
+//        String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbrl+dSmi0sTHKebUL0n1ySETbbQQYZJ2lgMPmGG1mnAaGBUNQpb0pcnseMyv6swnVCBfH7nFJEOeLoVpkx5j2/gYMIx5i5fFPsdu8dDyPh3FyCSjmDmkMmhiNiPk//1+P99UPnNiN1xW8noOZRhphd8Bh0XM+sIRU/O6FDr+ymKSdySHPlF7tAKXMDILahkHN5SB8jyKNCDeZj3gYNzcD0Zyl2HYYr5haDtfr0NE0XI8c8yD4czs7FuuP51tEB37GFN0TAGz4chKfz9Mc8xZ/aBUlIa6wUk0LJEbjujP3tf+I797R4yyYJ8GhwDN9YkDspPIrw3N+a2chhpT5WzitAgMBAAECggEBALggVT+uqEga5JLCo/5+tGpfLGeF3hLb8k5PuOJYwwln6QfXzW4BHKVqsMrFNS1xduI5YEVRE16cbpZX7T3fFdSfYU42+TcHZ9TWTEiOXFwot+tOxhrdJStM1Rt8HP2I+/3dSZVGbzOjfTKU4dRML7xV9MeIGEIJDUF2piycCgyT2ovT0vbBNkKdfCfFjUNPkJmItLa3wuPs6+9CQdd6hwomPNHNVUFgfOLP7OLGSZuzKjjo6pul+oU3ZfpND3V3TZ+lD8i1Qps/EKfHN8fMt38lJcbRvQAso7DsqT7ZNzfaD8SpXY7ulBPVe+f7aoRAlqQXizIBhOK+TfYiQ2CIUoECgYEA7jD+YrRfFj31052HRykvmIY5YZTb6Emk6eiqTpbgkWbbC1KsWRuHR1854AvQ1aRk82BxtrxZxuwF2sEVQeGiaDxSK0KnLDMLMNmVe/Jr4NGhbcvVZuzU7L+ZM8e8XcIFy2nljWQQ5x50AZDoGY70eQkNFAxg8TVWmhzNZ9rWpj0CgYEA7BsXk1BRcBMtr+cYZ/2/cqUNKsw9BWVwL4lwTNn9A6PHt06+gNKD6+NUevYtp09xqENryIXc26dt/9OWk6BPd7kp6H3c1xGyByW9hC58vHhC6pcgSUiJ6diwVsqD0z2dTW7/3kbLPRpvSf/waHPfLOWkmnkkavtbiynzP4F4czECgYA/Dd85t+/4Dlz2MRxvnRqJcPbduy9f1ab/eOUkutImC6lu3OrdB+mO3kmO4vHcrJFA0EYqDsBhZXfDShvbfeSlXVqPMyzYCYcr3l2xGyKtuDDYxP3wKj/PkIT47SYTV9p618S54kSLOkeRZo/avDpBlEDPDtvW3rzXPUqu9IKgLQKBgQCLiYdpXLKElhEOQHnAG8slqj4Z6RK3ObgPoB5qjPpnSEgkIbmc0M1+f5/R++QHWYBGfXIZ1GMuvcjYxOfc34WXsCsAaEI4KREaAEf88qxthnWlxyMhrGk1dwbghFdcZLGurccySoya1CCpj0U5tiFTm3SohqfrQhpcKLLF+XKCQQKBgGSYZZ65F+WSDUrP1DfIkHzJcpVj4rFGLretIi3PJItFazq8pahWh3EllogUxMuntknOPwdbfptP/LCN/pTLCCYiwINgeCSZaEIlsSiUEJTmO5NE4YwEpSpbEWNuEDS1JRZrxRAFkh1WlL629vsV9jkS93nkDpc1OS7Cdp8ILsDE";
+//        String APP_PUBLIC_KEY ="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA265fnUpotLExynm1C9J9ckhE220EGGSdpYDD5hhtZpwGhgVDUKW9KXJ7HjMr+rMJ1QgXx+5xSRDni6FaZMeY9v4GDCMeYuXxT7HbvHQ8j4dxcgko5g5pDJoYjYj5P/9fj/fVD5zYjdcVvJ6DmUYaYXfAYdFzPrCEVPzuhQ6/spiknckhz5Re7QClzAyC2oZBzeUgfI8ijQg3mY94GDc3A9Gcpdh2GK+YWg7X69DRNFyPHPMg+HM7Oxbrj+dbRAd+xhTdEwBs+HISn8/THPMWf2gVJSGusFJNCyRG47oz97X/iO/e0eMsmCfBocAzfWJA7KTyK8NzfmtnIYaU+Vs4rQIDAQAB";
+//        String notify_url = "http://127.0.0.1:8080";
+//        String alipayPublicKey="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAghBg+LB71Ivm+3v50LWhAmU69vZqcnWq9nNvIbp/PrDMpp+bfc8vwkEWEEkstF5Jo/kIhFPYWbECAJw8UJsJ7usTjfIZvasXv2KxRUnrsCV94Azn8jV7meHgxpE4LTpBiIqrN+AVf6SLjLlBmwCiQ78g7RbF/pIvsjtKiEPVhB7NAMttNorPVib/mIPbMjzWGXJf/GR6s1oaTs9vNcFbyjMBYd8h9KelyIQFvLaDeB1ffWxWJJ1o52wmgeoGlAhlHaF1dHdf3X9MXCKNpyZtDw9akwqJPAaG+vxKdSVUS9YDVhzBU3fSI05hb5waYeMsxAi6JAPHEluvRT03HzgDnwIDAQAB";
+
 //        result.getData()
 
 
@@ -76,12 +61,30 @@ public class PayService {
 //        PayOrderUnifiedReqDTO reqDTO = buildPayOrderUnifiedReqDTO();
 //        CommonResult<?> result = client.unifiedOrder(reqDTO);
 //        System.out.println(JsonUtils.toJsonString(result));
+//        return result;
+//    }
 
 
 
+    public CommonResult CreatePayClient_ALIPAY_WAP(PayEntiy pe) {
+        // 创建配置
+        AlipayPayClientConfig config = new AlipayPayClientConfig();
+        config.setAppId(pe.getAppid());
+        config.setServerUrl(AlipayPayClientConfig.SERVER_URL_PROD);
+//        config.setServerUrl(AlipayPayClientConfig.SERVER_URL_SANDBOX);
+        config.setSignType(AlipayPayClientConfig.SIGN_TYPE_DEFAULT);
+        config.setPrivateKey(pe.getPrivateKey());
+        config.setAlipayPublicKey(pe.getAlipayPublicKey());
+        // 创建客户端
+//        Long channelId = RandomUtil.randomLong();
+        payClientFactory.createOrUpdatePayClient(pe.getChannelId() ,PayChannelEnum.ALIPAY_WAP.getCode(), config);
+        PayClient client = payClientFactory.getPayClient(pe.getChannelId());
+        // 发起支付
+        PayOrderUnifiedReqDTO reqDTO = buildPayOrderUnifiedReqDTO(pe);
+        CommonResult<?> result = client.unifiedOrder(reqDTO);
 
-
-
+        String s = JsonUtils.toJsonString(result);
+        System.out.println(JsonUtils.toJsonString(s));
         return result;
     }
 
@@ -178,13 +181,11 @@ public class PayService {
         reqDTO.setMerchantOrderId(pe.getMerchantOrderId());
         reqDTO.setUserIp(pe.getUserIp());
         reqDTO.setNotifyUrl(pe.getNotifyUrl());
-
+        reqDTO.setReturnUrl(pe.getReturnUrl());
         HashMap<String, String> hm = new HashMap<String, String>();
         hm.put("attach",pe.getOutTradeNo());
         if(pe.getPayType()==1){
             hm.put("trade_type","MWEB");
-
-
         }
         if(pe.getOpenid()!=null){
             hm.put("openid",pe.getOpenid());
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java
deleted file mode 100644
index a2dd717..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.icloud.server.payutils;
-
-import org.w3c.dom.Document;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-public class WXPayXmlUtil {
-    public static DocumentBuilder newDocumentBuilder() throws ParserConfigurationException {
-        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-        documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
-        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
-        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
-        documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
-        documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-        documentBuilderFactory.setXIncludeAware(false);
-        documentBuilderFactory.setExpandEntityReferences(false);
-
-        return documentBuilderFactory.newDocumentBuilder();
-    }
-
-    public static Document newDocument() throws ParserConfigurationException {
-        return newDocumentBuilder().newDocument();
-    }
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java
deleted file mode 100644
index b8e45ad..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package com.icloud.server.payutils;
-
-import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
-import com.github.binarywang.wxpay.exception.WxPayException;
-import com.icloud.server.payutils.dto.PayOrderDO;
-import com.icloud.server.scala.paynotify.PayNotifyEntity;
-import com.icloud.server.scala.paynotify.PayNotifyLogEntity;
-import com.icloud.server.scala.paynotify.PayNotifyLogRepository;
-import com.icloud.server.scala.paynotify.PayNotifyRepository;
-import com.icloud.server.scala.payorder.PayOrderRepository;
-import com.icloud.server.utils.log.Logs;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.slf4j.Logger;
-import org.springframework.web.bind.annotation.*;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import javax.annotation.Resource;
-import javax.xml.parsers.DocumentBuilder;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.slf4j.LoggerFactory;
-/**微信
- * @Author : yang
- * @Date : 2022-07-26 01:09
- * @Version : 2.1.2
- */
-
-@Api("微信支付")
-@RestController
-@RequestMapping("/pay/order2")
-@AllArgsConstructor
-public class WxPayNotify {
-
-//    private WxPayService wxService;
-//    @Autowired
-//    private WxPayService wxService;
-//private WxPayService wxService;
-    @Resource
-    private PayNotifyRepository pnr;
-    @Resource
-    private PayNotifyLogRepository pnlr;
-    @Resource
-    private PayOrderRepository por;
-
-    static Logger logger = LoggerFactory.getLogger("wxrepay");
-
-//    private  pay = LoggerFactory.getLogger( "req" );
-
-    @ApiOperation(value = "支付回调通知处理")
-    @PostMapping("/notify/order/{channelId}")
-    public String parseOrderNotifyResult(@RequestBody String xmlData, @PathVariable("channelId") Long channelId) throws WxPayException {
-        System.out.println("======xmlData:"+xmlData);
-        try {
-            Map map = xmlToMap(xmlData);
-            String transaction_id =(String) map.get("transaction_id");
-            String nonce_str = (String)map.get("nonce_str");
-            String bank_type = (String)map.get("bank_type");
-            String openid = (String)map.get("openid");
-            String sign = (String)map.get("sign");
-            String fee_type = (String)map.get("fee_type");
-            String mch_id = (String)map.get("mch_id");
-            String cash_fee = (String)map.get("cash_fee");
-            String out_trade_no = (String)map.get("out_trade_no");
-            String appid = (String)map.get("appid");
-            String total_fee = (String)map.get("total_fee");
-            String trade_type = (String)map.get("trade_type");
-            String result_code = (String)map.get("result_code");
-            String time_end = (String)map.get("time_end");
-            String is_subscribe = (String)map.get("is_subscribe");
-            String return_code = (String)map.get("return_code");
-            String attach = (String)map.get("attach");
-//            System.out.println("transaction_id:"+transaction_id);
-//            System.out.println("nonce_str:"+nonce_str);
-//            System.out.println("bank_type:"+bank_type);
-//            System.out.println("channelId:"+channelId);
-            System.out.println("out_trade_no:"+out_trade_no);
-//            System.out.println("attach:"+attach);
-
-
-            //mysql --校验
-            List<PayNotifyEntity> pnes = pnr.findByMerchantorderidAndOuttradenoAndStatus(out_trade_no, attach,0);
-            if(!pnes.isEmpty()){
-                PayNotifyLogEntity paynotifylogentity = new PayNotifyLogEntity().toEntity(nonce_str, xmlData, "wx", "wx", appid.toString());
-                //log 日志----输出
-                new Logs(logger).toLog( xmlData);
-                //mysql 记录
-                pnlr.save(paynotifylogentity);
-                PayNotifyEntity entity = pnes.get(0);
-                String merchantorderid = entity.getMerchantorderid();
-                entity.setStatus(1);
-                pnr.save(entity);
-                PayOrderDO por1 = por.findByMerchantorderid(merchantorderid);
-                por1.setStatus(1);
-                //mysql --修改订单状态
-                por.save(por1);
-            }
-
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-
-
-        //校验订单
-//        wxService.queryOrder(transactionId, outTradeNo);
-        // TODO 根据自己业务场景需要构造返回对象
-        return WxPayNotifyResponse.success("成功");
-    }
-
-    public static Map xmlToMap(String strXML) throws Exception {
-        try {
-            Map data = new HashMap();
-            // TODO 在这里更换
-            DocumentBuilder documentBuilder = WXPayXmlUtil.newDocumentBuilder();
-            InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
-            org.w3c.dom.Document doc = documentBuilder.parse(stream);
-            doc.getDocumentElement().normalize();
-            NodeList nodeList = doc.getDocumentElement().getChildNodes();
-            for (int idx = 0; idx < nodeList.getLength(); ++idx) {
-                Node node = nodeList.item(idx);
-                if (node.getNodeType() == Node.ELEMENT_NODE) {
-                    org.w3c.dom.Element element = (org.w3c.dom.Element) node;
-                    data.put(element.getNodeName(), element.getTextContent());
-                }
-            }
-            try {
-                stream.close();
-            } catch (Exception ex) {
-                // do nothing
-            }
-            return data;
-        } catch (Exception ex) {
-//            WXPayUtil.getLogger().warn("Invalid XML, can not convert to map. Error message: {}. XML content: {}", ex.getMessage(), strXML);
-            throw ex;
-        }
-
-    }
-
-
-
-//
-//    public WxPayOrderNotifyResult parseOrderNotifyResult(String xmlData, String signType) throws WxPayException {
-//        try {
-//            log.debug("微信支付异步通知请求参数:{}", xmlData);
-//            WxPayOrderNotifyResult result = WxPayOrderNotifyResult.fromXML(xmlData);
-//            if (signType == null) {
-//                if (result.getSignType() != null) {
-//                    // 如果解析的通知对象中signType有值,则使用它进行验签
-//                    signType = result.getSignType();
-//                } else if (this.getConfig().getSignType() != null) {
-//                    // 如果配置中signType有值,则使用它进行验签
-//                    signType = this.getConfig().getSignType();
-//                }
-//            }
-//
-//            log.debug("微信支付异步通知请求解析后的对象:{}", result);
-//            result.checkResult(this, signType, false);
-//            return result;
-//        } catch (WxPayException e) {
-//            throw e;
-//        } catch (Exception e) {
-//            throw new WxPayException("发生异常!", e);
-//        }
-//    }
-//
-//    private WxOrderInfo parseXml(String xmlString) {
-//        WxOrderInfo orderInfo = null;
-//        XmlPullParser xmlPullParser = Xml.newPullParser(); //由android.util.Xml创建一个XmlPullParser实例
-//        InputStream is = new ByteArrayInputStream(xmlString.getBytes());
-//        try {
-//            xmlPullParser.setInput(is, "UTF-8");               //设置输入流 并指明编码方式
-//            int eventType =xmlPullParser.getEventType();
-//            //eventType 默认值为0,每次调用parser.next()会自动向后读取
-//            while(eventType != XmlPullParser.END_DOCUMENT){
-//                switch (eventType){
-//                    case XmlPullParser.START_TAG:
-//                        if(xmlPullParser.getName().equals("xml")){
-//                            orderInfo = new WxOrderInfo();
-//                        }else if(xmlPullParser.getName().equals("appid")){
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.appid = xmlPullParser.getText();
-//                        }else if(xmlPullParser.getName().equals("noncestr")){
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.noncestr = xmlPullParser.getText();
-//                        }else if(xmlPullParser.getName().equals("package")){
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.wxpackage = xmlPullParser.getText();
-//                        }else if(xmlPullParser.getName().equals("partnerid")){
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.partnerid = xmlPullParser.getText();
-//                        }else if(xmlPullParser.getName().equals("prepayid")) {
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.prepayid = xmlPullParser.getText();
-//                        }else if(xmlPullParser.getName().equals("timestamp")) {
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.timestamp = String.valueOf(Long.parseLong(xmlPullParser.getText())*1000);
-//                        }else if(xmlPullParser.getName().equals("sign")) {
-//                            eventType = xmlPullParser.next();
-//                            orderInfo.sign = xmlPullParser.getText();
-//                        }
-//                        break;
-//                    case XmlPullParser.END_TAG:
-//                        if (xmlPullParser.getName().equals("xml")) {
-//                            Log.i("tag","XML 解析完毕");
-//                            eventType = xmlPullParser.next();
-//                        }
-//                        break;
-//                }
-//                eventType = xmlPullParser.next();
-//            }
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//        return orderInfo;
-//    }
-
-
-
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java
deleted file mode 100644
index a42fd71..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.icloud.server.payutils;
-
-
-import com.google.common.collect.Maps;
-import org.dom4j.Document;
-import org.dom4j.DocumentException;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description: XMLUtil
- * @Author: lin.shi
- * @CreateTime: 2017-08-10 16:47
- */
-public class XMLUtil {
-
-    /**
-     * 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。
-     *
-     * @param strxml
-     * @return
-     * @throws IOException
-     */
-    public static Map doXMLParse(String strxml) {
-        Document document = null;
-        try {
-            document = DocumentHelper.parseText(strxml);
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        Element rootElement = document.getRootElement();
-        @SuppressWarnings("unchecked")
-        List<org.dom4j.Element> elements = rootElement.elements();
-        Map<String, String> map = Maps.newHashMap();
-        for (org.dom4j.Element element : elements) {
-            map.put(element.getName(), element.getText());
-        }
-        return map;
-    }
-
-
-}
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/config/AlipayConfig.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/config/AlipayConfig.java
new file mode 100644
index 0000000..0210f94
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/config/AlipayConfig.java
@@ -0,0 +1,55 @@
+package com.icloud.server.payutils.ali.config;
+
+/* *
+ *类名:AlipayConfig
+ *功能:基础配置类
+ *详细:设置帐户有关信息及返回路径
+ *版本:3.4
+ *修改日期:2016-03-08
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+
+
+
+public class AlipayConfig {
+	
+//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
+
+	// 合作身份者ID,签约账号,以2088开头由16位纯数字组成的字符串,查看地址:https://b.alipay.com/order/pidAndKey.htm
+	public static String partner = "";
+	
+	// 收款支付宝账号,以2088开头由16位纯数字组成的字符串,一般情况下收款账号就是签约账号
+	public static String seller_id = partner;
+
+	// MD5密钥,安全检验码,由数字和字母组成的32位字符串,查看地址:https://b.alipay.com/order/pidAndKey.htm
+    public static String key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgk0caRPeLrONJf8IcCU5VCpFXww15MmDAiLto0c6QwMBfeF5oK47EzhzNuFCuXAlKSWSKffxdfBRLUWt2HRART+aINTfqUl6Bo0gTSiBBitYKDwKFLttN+Q4Oer6r1ozitCq9W/iaiTHhrDaLeCEyi2NSDKIc0YX4LG/yasfgwgM+lUjHWFZQ2zcsm6hkX97Q2eSYLLyx1Z1FWf4FsmJBcqZtZ0ZbCJAYAEZkZ4rVht9LKJLkqqoEX8FtGZaXlE9YbqBNi0JC12k/17bcE2HCbTd0QUIeKEY39loElLXNp6unpxvQUG+0hGDSl2U9Jf6X2ArtLyhoGWSdWQDtR3qiQIDAQAB";
+	
+
+	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
+	public static String notify_url = "";
+
+	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
+	public static String return_url = "";
+
+	// 签名方式
+	public static String sign_type = "MD5";
+	
+	// 调试用,创建TXT日志文件夹路径,见AlipayCore.java类中的logResult(String sWord)打印方法。
+	public static String log_path = "";
+		
+	// 字符编码格式 目前支持utf-8
+	public static String input_charset = "utf-8";
+		
+	// 支付类型 ,无需修改
+	public static String payment_type = "1";
+		
+	// 调用的接口名,无需修改
+	public static String service = "alipay.wap.create.direct.pay.by.user";
+
+
+//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
+
+}
+
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/sign/MD5.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/sign/MD5.java
new file mode 100644
index 0000000..c60fd78
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/sign/MD5.java
@@ -0,0 +1,67 @@
+package com.icloud.server.payutils.ali.sign;
+
+import java.io.UnsupportedEncodingException;
+import java.security.SignatureException;
+import org.apache.commons.codec.digest.DigestUtils;
+
+/** 
+* 功能:支付宝MD5签名处理核心文件,不需要修改
+* 版本:3.3
+* 修改日期:2012-08-17
+* 说明:
+* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+* 该代码仅供学习和研究支付宝接口使用,只是提供一个
+* */
+
+public class MD5 {
+
+    /**
+     * 签名字符串
+     * @param text 需要签名的字符串
+     * @param key 密钥
+     * @param input_charset 编码格式
+     * @return 签名结果
+     */
+    public static String sign(String text, String key, String input_charset) {
+    	text = text + key;
+        return DigestUtils.md5Hex(getContentBytes(text, input_charset));
+    }
+    
+    /**
+     * 签名字符串
+     * @param text 需要签名的字符串
+     * @param sign 签名结果
+     * @param key 密钥
+     * @param input_charset 编码格式
+     * @return 签名结果
+     */
+    public static boolean verify(String text, String sign, String key, String input_charset) {
+    	text = text + key;
+    	String mysign = DigestUtils.md5Hex(getContentBytes(text, input_charset));
+    	if(mysign.equals(sign)) {
+    		return true;
+    	}
+    	else {
+    		return false;
+    	}
+    }
+
+    /**
+     * @param content
+     * @param charset
+     * @return
+     * @throws SignatureException
+     * @throws UnsupportedEncodingException 
+     */
+    private static byte[] getContentBytes(String content, String charset) {
+        if (charset == null || "".equals(charset)) {
+            return content.getBytes();
+        }
+        try {
+            return content.getBytes(charset);
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("MD5签名过程中出现错误,指定的编码集不对,您目前指定的编码集是:" + charset);
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayCore.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayCore.java
new file mode 100644
index 0000000..ca09111
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayCore.java
@@ -0,0 +1,101 @@
+package com.icloud.server.payutils.ali.util;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.icloud.server.payutils.ali.config.AlipayConfig;
+
+/* *
+ *类名:AlipayFunction
+ *功能:支付宝接口公用函数类
+ *详细:该类是请求、通知返回两个文件所调用的公用函数核心处理文件,不需要修改
+ *版本:3.3
+ *日期:2012-08-14
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+
+public class AlipayCore {
+
+    /** 
+     * 除去数组中的空值和签名参数
+     * @param sArray 签名参数组
+     * @return 去掉空值与签名参数后的新签名参数组
+     */
+    public static Map<String, String> paraFilter(Map<String, String> sArray) {
+
+        Map<String, String> result = new HashMap<String, String>();
+
+        if (sArray == null || sArray.size() <= 0) {
+            return result;
+        }
+
+        for (String key : sArray.keySet()) {
+            String value = sArray.get(key);
+            if (value == null || value.equals("") || key.equalsIgnoreCase("sign")
+                || key.equalsIgnoreCase("sign_type")) {
+                continue;
+            }
+            result.put(key, value);
+        }
+
+        return result;
+    }
+
+    /** 
+     * 把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串
+     * @param params 需要排序并参与字符拼接的参数组
+     * @return 拼接后字符串
+     */
+    public static String createLinkString(Map<String, String> params) {
+
+        List<String> keys = new ArrayList<String>(params.keySet());
+        Collections.sort(keys);
+
+        String prestr = "";
+
+        for (int i = 0; i < keys.size(); i++) {
+            String key = keys.get(i);
+            String value = params.get(key);
+
+            if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
+                prestr = prestr + key + "=" + value;
+            } else {
+                prestr = prestr + key + "=" + value + "&";
+            }
+        }
+
+        return prestr;
+    }
+
+    /** 
+     * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
+     * @param sWord 要写入日志里的文本内容
+     */
+    public static void logResult(String sWord) {
+        FileWriter writer = null;
+        try {
+            writer = new FileWriter(AlipayConfig.log_path + "alipay_log_" + System.currentTimeMillis()+".txt");
+            writer.write(sWord);
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (writer != null) {
+                try {
+                    writer.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayNotify.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayNotify.java
new file mode 100644
index 0000000..5d41a4c
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipayNotify.java
@@ -0,0 +1,125 @@
+package com.icloud.server.payutils.ali.util;
+
+import com.icloud.server.payutils.ali.config.AlipayConfig;
+import com.icloud.server.payutils.ali.sign.MD5;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Map;
+
+
+/* *
+ *类名:AlipayNotify
+ *功能:支付宝通知处理类
+ *详细:处理支付宝各接口通知返回
+ *版本:3.3
+ *日期:2012-08-17
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考
+
+ *************************注意*************************
+ *调试通知返回时,可查看或改写log日志的写入TXT里的数据,来检查通知返回是否正常
+ */
+public class AlipayNotify {
+
+    /**
+     * 支付宝消息验证地址
+     */
+    private static final String HTTPS_VERIFY_URL = "https://mapi.alipay.com/gateway.do?service=notify_verify&";
+
+    /**
+     * 验证消息是否是支付宝发出的合法消息
+     * @param params 通知返回来的参数数组
+     * @return 验证结果
+     */
+    public static boolean verify(Map<String, String> params,String sign) {
+
+        //判断responsetTxt是否为true,isSign是否为true
+        //responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
+        //isSign不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
+    	String responseTxt = "false";
+//		if(params.get("notify_id") != null) {
+//			String notify_id = params.get("notify_id");
+//			responseTxt = verifyResponse(notify_id);
+//		}
+//	    String sign = "";
+//	    if(params.get("sign") != null) {sign = params.get("sign");}
+	    boolean isSign = getSignVeryfy(params, sign);
+        return isSign;
+        //写日志记录(若要调试,请取消下面两行注释)
+        //String sWord = "responseTxt=" + responseTxt + "\n isSign=" + isSign + "\n 返回回来的参数:" + AlipayCore.createLinkString(params);
+	    //AlipayCore.logResult(sWord);
+
+//        if (isSign && responseTxt.equals("true")) {
+//            return true;
+//        } else {
+//            return false;
+//        }
+    }
+
+    /**
+     * 根据反馈回来的信息,生成签名结果
+     * @param Params 通知返回来的参数数组
+     * @param sign 比对的签名结果
+     * @return 生成的签名结果
+     */
+	private static boolean getSignVeryfy(Map<String, String> Params, String sign) {
+    	//过滤空值、sign与sign_type参数
+    	Map<String, String> sParaNew = AlipayCore.paraFilter(Params);
+        //获取待签名字符串
+        String preSignStr = AlipayCore.createLinkString(sParaNew);
+        //获得签名验证结果
+        boolean isSign = false;
+        if(AlipayConfig.sign_type.equals("MD5") ) {
+        	isSign = MD5.verify(preSignStr, sign, AlipayConfig.key, AlipayConfig.input_charset);
+        }
+        return isSign;
+    }
+
+    /**
+    * 获取远程服务器ATN结果,验证返回URL
+    * @param notify_id 通知校验ID
+    * @return 服务器ATN结果
+    * 验证结果集:
+    * invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 
+    * true 返回正确信息
+    * false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
+    */
+    private static String verifyResponse(String notify_id) {
+        //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
+
+        String partner = AlipayConfig.partner;
+        String veryfy_url = HTTPS_VERIFY_URL + "partner=" + partner + "&notify_id=" + notify_id;
+
+        return checkUrl(veryfy_url);
+    }
+
+    /**
+    * 获取远程服务器ATN结果
+    * @param urlvalue 指定URL路径地址
+    * @return 服务器ATN结果
+    * 验证结果集:
+    * invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 
+    * true 返回正确信息
+    * false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
+    */
+    private static String checkUrl(String urlvalue) {
+        String inputLine = "";
+
+        try {
+            URL url = new URL(urlvalue);
+            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
+            BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection
+                .getInputStream()));
+            inputLine = in.readLine().toString();
+        } catch (Exception e) {
+            e.printStackTrace();
+            inputLine = "";
+        }
+
+        return inputLine;
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipaySubmit.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipaySubmit.java
new file mode 100644
index 0000000..2ec2745
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/AlipaySubmit.java
@@ -0,0 +1,134 @@
+package com.icloud.server.payutils.ali.util;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import com.icloud.server.payutils.ali.config.AlipayConfig;
+import com.icloud.server.payutils.ali.sign.MD5;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+
+/* *
+ *类名:AlipaySubmit
+ *功能:支付宝各接口请求提交类
+ *详细:构造支付宝各接口表单HTML文本,获取远程HTTP数据
+ *版本:3.3
+ *日期:2012-08-13
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+
+public class AlipaySubmit {
+    
+    /**
+     * 支付宝提供给商户的服务接入网关URL(新)
+     */
+    private static final String ALIPAY_GATEWAY_NEW = "https://mapi.alipay.com/gateway.do?";
+	
+    /**
+     * 生成签名结果
+     * @param sPara 要签名的数组
+     * @return 签名结果字符串
+     */
+	public static String buildRequestMysign(Map<String, String> sPara) {
+    	String prestr = AlipayCore.createLinkString(sPara); //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
+        String mysign = "";
+        if(AlipayConfig.sign_type.equals("MD5") ) {
+        	mysign = MD5.sign(prestr, AlipayConfig.key, AlipayConfig.input_charset);
+        }
+        return mysign;
+    }
+	
+    /**
+     * 生成要请求给支付宝的参数数组
+     * @param sParaTemp 请求前的参数数组
+     * @return 要请求的参数数组
+     */
+    private static Map<String, String> buildRequestPara(Map<String, String> sParaTemp) {
+        //除去数组中的空值和签名参数
+        Map<String, String> sPara = AlipayCore.paraFilter(sParaTemp);
+        //生成签名结果
+        String mysign = buildRequestMysign(sPara);
+
+        //签名结果与签名方式加入请求提交参数组中
+        sPara.put("sign", mysign);
+        sPara.put("sign_type", AlipayConfig.sign_type);
+
+        return sPara;
+    }
+
+    /**
+     * 建立请求,以表单HTML形式构造(默认)
+     * @param sParaTemp 请求参数数组
+     * @param strMethod 提交方式。两个值可选:post、get
+     * @param strButtonName 确认按钮显示文字
+     * @return 提交表单HTML文本
+     */
+    public static String buildRequest(Map<String, String> sParaTemp, String strMethod, String strButtonName) {
+        //待请求参数数组
+        Map<String, String> sPara = buildRequestPara(sParaTemp);
+        List<String> keys = new ArrayList<String>(sPara.keySet());
+
+        StringBuffer sbHtml = new StringBuffer();
+
+        sbHtml.append("<form id=\"alipaysubmit\" name=\"alipaysubmit\" action=\"" + ALIPAY_GATEWAY_NEW
+                      + "_input_charset=" + AlipayConfig.input_charset + "\" method=\"" + strMethod
+                      + "\">");
+
+        for (int i = 0; i < keys.size(); i++) {
+            String name = (String) keys.get(i);
+            String value = (String) sPara.get(name);
+
+            sbHtml.append("<input type=\"hidden\" name=\"" + name + "\" value=\"" + value + "\"/>");
+        }
+
+        //submit按钮控件请不要含有name属性
+        sbHtml.append("<input type=\"submit\" value=\"" + strButtonName + "\" style=\"display:none;\"></form>");
+        sbHtml.append("<script>document.forms['alipaysubmit'].submit();</script>");
+
+        return sbHtml.toString();
+    }
+    
+ 
+    
+    /**
+     * 用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数
+     * 注意:远程解析XML出错,与服务器是否支持SSL等配置有关
+     * @return 时间戳字符串
+     * @throws IOException
+     * @throws DocumentException
+     * @throws MalformedURLException
+     */
+	public static String query_timestamp() throws MalformedURLException,
+                                                        DocumentException, IOException {
+
+        //构造访问query_timestamp接口的URL串
+        String strUrl = ALIPAY_GATEWAY_NEW + "service=query_timestamp&partner=" + AlipayConfig.partner + "&_input_charset" +AlipayConfig.input_charset;
+        StringBuffer result = new StringBuffer();
+
+        SAXReader reader = new SAXReader();
+        Document doc = reader.read(new URL(strUrl).openStream());
+
+        List<Node> nodeList = doc.selectNodes("//alipay/*");
+
+        for (Node node : nodeList) {
+            // 截取部分不需要解析的信息
+            if (node.getName().equals("is_success") && node.getText().equals("T")) {
+                // 判断是否有成功标示
+                List<Node> nodeList1 = doc.selectNodes("//response/timestamp/*");
+                for (Node node1 : nodeList1) {
+                    result.append(node1.getText());
+                }
+            }
+        }
+
+        return result.toString();
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/UtilDate.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/UtilDate.java
new file mode 100644
index 0000000..20a5701
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/UtilDate.java
@@ -0,0 +1,71 @@
+
+package com.icloud.server.payutils.ali.util;
+
+import java.util.Date;
+import java.util.Random;
+import java.text.SimpleDateFormat;
+import java.text.DateFormat;
+
+/* *
+ *类名:UtilDate
+ *功能:自定义订单类
+ *详细:工具类,可以用作获取系统日期、订单编号等
+ *版本:3.3
+ *日期:2012-08-17
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+public class UtilDate {
+	
+    /** 年月日时分秒(无下划线) yyyyMMddHHmmss */
+    public static final String dtLong                  = "yyyyMMddHHmmss";
+    
+    /** 完整时间 yyyy-MM-dd HH:mm:ss */
+    public static final String simple                  = "yyyy-MM-dd HH:mm:ss";
+    
+    /** 年月日(无下划线) yyyyMMdd */
+    public static final String dtShort                 = "yyyyMMdd";
+	
+    
+    /**
+     * 返回系统当前时间(精确到毫秒),作为一个唯一的订单编号
+     * @return
+     *      以yyyyMMddHHmmss为格式的当前系统时间
+     */
+	public  static String getOrderNum(){
+		Date date=new Date();
+		DateFormat df=new SimpleDateFormat(dtLong);
+		return df.format(date);
+	}
+	
+	/**
+	 * 获取系统当前日期(精确到毫秒),格式:yyyy-MM-dd HH:mm:ss
+	 * @return
+	 */
+	public  static String getDateFormatter(){
+		Date date=new Date();
+		DateFormat df=new SimpleDateFormat(simple);
+		return df.format(date);
+	}
+	
+	/**
+	 * 获取系统当期年月日(精确到天),格式:yyyyMMdd
+	 * @return
+	 */
+	public static String getDate(){
+		Date date=new Date();
+		DateFormat df=new SimpleDateFormat(dtShort);
+		return df.format(date);
+	}
+	
+	/**
+	 * 产生随机的三位数
+	 * @return
+	 */
+	public static String getThree(){
+		Random rad=new Random();
+		return rad.nextInt(1000)+"";
+	}
+	
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/httpClient/HttpResultType.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/httpClient/HttpResultType.java
new file mode 100644
index 0000000..6cb59ca
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/ali/util/httpClient/HttpResultType.java
@@ -0,0 +1,27 @@
+/*
+ * Alipay.com Inc.
+ * Copyright (c) 2004-2005 All Rights Reserved.
+ */
+package com.icloud.server.payutils.ali.util.httpClient;
+
+/* *
+ *类名:HttpResultType
+ *功能:表示Http返回的结果字符方式
+ *详细:表示Http返回的结果字符方式
+ *版本:3.3
+ *日期:2012-08-17
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+public enum HttpResultType {
+    /**
+     * 字符串方式
+     */
+    STRING,
+
+    /**
+     * 字节数组方式
+     */
+    BYTES
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java
index 9968093..519b3c4 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java
@@ -3,8 +3,13 @@ package com.icloud.server.payutils.alipay;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.domain.AlipayTradeAppPayModel;
 import com.alipay.api.domain.AlipayTradeWapPayModel;
+import com.alipay.api.request.AlipayTradeAppPayRequest;
 import com.alipay.api.request.AlipayTradeWapPayRequest;
+import com.alipay.api.response.AlipayTradeAppPayResponse;
 import com.alipay.api.response.AlipayTradeWapPayResponse;
 import com.icloud.server.payutils.AbstractPayCodeMapping;
 import com.icloud.server.payutils.PayCommonResult;
@@ -13,6 +18,8 @@ import com.icloud.server.utils.JsonUtils;
 import com.icloud.server.web.err.pay.PayChannelEnum;
 import lombok.extern.slf4j.Slf4j;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.HashMap;
 import java.util.Objects;
 
@@ -38,6 +45,137 @@ public class AlipayWapPayClient extends AbstractAlipayClient {
         super(channelId, PayChannelEnum.ALIPAY_WAP.getCode(), config, new AlipayPayCodeMapping());
     }
 
+    public PayCommonResult<AlipayTradeWapPayResponse> doUnifiedOrder1(PayOrderUnifiedReqDTO reqDTO) {
+        // 构建 AlipayTradeWapPayModel 请求
+        AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
+        model.setOutTradeNo(reqDTO.getMerchantOrderId());
+        model.setSubject(reqDTO.getSubject());
+        model.setBody(reqDTO.getBody());
+//        HashMap<String, String> map = new HashMap<>();
+//        map.put("attach",reqDTO.getChannelExtras().get("attach"));
+//        String attach = JsonUtils.toJsonString(map);
+//        model.setBusinessParams(attach);
+        model.setTotalAmount(calculateAmount(reqDTO.getAmount()).toString());
+        model.setProductCode("QUICK_WAP_PAY"); //
+        model.setQuitUrl(reqDTO.getReturnUrl());
+
+        // https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay
+        //model.setSellerId("2088102147948060");
+        model.setTimeoutExpress("30m");
+//        model.setTimeExpire(DateUtil.format(reqDTO.getExpireTime(),"yyyy-MM-dd HH:mm:ss"));
+        // TODO :userIp
+        // 构建 AlipayTradeWapPayRequest
+        AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
+        request.setBizModel(model);
+        System.out.println("最后计算的回调地址:"+reqDTO.getNotifyUrl());
+        String r_url="";
+        try {
+            r_url=URLEncoder.encode(reqDTO.getNotifyUrl(),"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+        request.setNotifyUrl(r_url);
+//        request.setReturnUrl(reqDTO.getReturnUrl());
+        System.out.println("最后计算的返回地址:"+reqDTO.getReturnUrl());
+
+        try {
+            r_url=URLEncoder.encode(reqDTO.getReturnUrl(),"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+        request.setReturnUrl(r_url);
+        // 执行请求
+        AlipayTradeWapPayResponse response;
+        try {
+            response = client.pageExecute(request);
+        } catch (AlipayApiException e) {
+            return PayCommonResult.build(e.getErrCode(), e.getErrMsg(), null, codeMapping);
+        }
+
+//         TODO :sub Code
+        if(response.isSuccess() && Objects.isNull(response.getCode()) && Objects.nonNull(response.getBody())){
+            //成功alipay wap 成功 code 为 null , body 为form 表单
+            return PayCommonResult.build("-9999", "Success", response, codeMapping);
+        }else {
+            return PayCommonResult.build(response.getCode(), response.getMsg(), response, codeMapping);
+        }
+
+
+        //实例化客户端
+//        AlipayClient alipayClient1 = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "","", "json","", "RSA2");
+//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
+
+//        AlipayTradeWapPayRequest request1 = new AlipayTradeWapPayRequest();
+////SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
+//        AlipayTradeWapPayModel model1 = new AlipayTradeWapPayModel();
+//        model1.setBody(reqDTO.getBody());
+//        model1.setSubject(reqDTO.getSubject());
+//        model1.setOutTradeNo(reqDTO.getMerchantOrderId());
+//        model1.setTimeoutExpress("30m");
+//        model1.setTotalAmount(calculateAmount(reqDTO.getAmount()).toString());
+//        model1.setProductCode("QUICK_WAP_PAY");
+//        request1.setBizModel(model1);
+//        request1.setNotifyUrl(reqDTO.getNotifyUrl());
+//        request1.setReturnUrl("https://www.baidu.com");
+//        AlipayTradeWapPayResponse response1 = null;
+//        try {
+//            //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeWapPayResponse
+//             response1 = client.sdkExecute(request1);
+//            return PayCommonResult.build(response1.getCode(), response1.getMsg(), response1, codeMapping);
+////            System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
+////            return response1;
+//        } catch (AlipayApiException e) {
+//            return PayCommonResult.build("-9999", "Success", response1, codeMapping);
+//        }
+
+
+    }
+
+
+    public PayCommonResult<AlipayTradeWapPayResponse> doUnifiedOrder2(PayOrderUnifiedReqDTO reqDTO) {
+        // 构建 AlipayTradeWapPayModel 请求
+        AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
+        model.setOutTradeNo(reqDTO.getMerchantOrderId());
+        model.setSubject(reqDTO.getSubject());
+        model.setBody(reqDTO.getBody());
+        HashMap<String, String> map = new HashMap<>();
+        map.put("attach",reqDTO.getChannelExtras().get("attach"));
+        String attach = JsonUtils.toJsonString(map);
+        model.setBusinessParams(attach);
+        model.setTotalAmount(calculateAmount(reqDTO.getAmount()).toString());
+        model.setProductCode("QUICK_WAP_PAY"); //
+        model.setQuitUrl(reqDTO.getReturnUrl());
+
+        // https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay
+        //model.setSellerId("2088102147948060");
+        model.setTimeExpire(DateUtil.format(reqDTO.getExpireTime(),"yyyy-MM-dd HH:mm:ss"));
+        // TODO :userIp
+        // 构建 AlipayTradeWapPayRequest
+        AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
+        request.setBizModel(model);
+        request.setNotifyUrl(reqDTO.getNotifyUrl());
+        request.setReturnUrl("www.baidu.com");
+
+        // 执行请求
+        AlipayTradeWapPayResponse response;
+        try {
+            response = client.pageExecute(request);
+        } catch (AlipayApiException e) {
+            return PayCommonResult.build(e.getErrCode(), e.getErrMsg(), null, codeMapping);
+        }
+
+        // TODO :sub Code
+        if(response.isSuccess() && Objects.isNull(response.getCode()) && Objects.nonNull(response.getBody())){
+            //成功alipay wap 成功 code 为 null , body 为form 表单
+            return PayCommonResult.build("-9999", "Success", response, codeMapping);
+        }else {
+            return PayCommonResult.build(response.getCode(), response.getMsg(), response, codeMapping);
+        }
+    }
+
+
+
+
     @Override
     public PayCommonResult<AlipayTradeWapPayResponse> doUnifiedOrder(PayOrderUnifiedReqDTO reqDTO) {
         // 构建 AlipayTradeWapPayModel 请求
@@ -86,6 +224,4 @@ public class AlipayWapPayClient extends AbstractAlipayClient {
 
 
 
-
-
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java
index 4a684f3..1d78b6e 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java
@@ -121,7 +121,13 @@ public class PayOrderDO implements Serializable {
      *
      */
     @Column(name = "status")
-    private Integer status;
+    private Integer status=0;
+    /**
+     * 支付方式
+     *
+     */
+    @Column(name = "paytype")
+    private Integer paytype=1;
     /**
      * 用户 IP
      */
@@ -207,6 +213,25 @@ public class PayOrderDO implements Serializable {
 
     @Column(name = "updater")
     private String updater;
+    @Column(name = "goodspayid")
+    private Long goodspayid;
+
+    public Integer getPaytype() {
+        return paytype;
+    }
+
+    public void setPaytype(Integer paytype) {
+        this.paytype = paytype;
+    }
+
+    public Long getGoodspayid() {
+        return goodspayid;
+    }
+
+
+    public void setGoodspayid(Long goodspayid) {
+        this.goodspayid = goodspayid;
+    }
 
     public String getNickname() {
         return nickname;
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java
deleted file mode 100644
index 84205dc..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.icloud.server.payutils.enums;
-
-/**
- * 可生成 Int 数组的接口
- *
- * @author
- */
-public interface IntArrayValuable {
-
-    /**
-     * @return int 数组
-     */
-    int[] array();
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java
index dced9e3..8516402 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java
@@ -12,10 +12,12 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum PayTypeEnum {
 
+    FreePAY(0, "免费"),
     WXPAY(1, "微信"),
     WXJSPAY(3, "微信"),
     ALIPAY(2, "支付宝");
 
+
     private final Integer status;
     private final String name;
 
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java
index 4dabce7..299b721 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java
@@ -9,6 +9,12 @@ import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 import java.util.ArrayList;
 import java.util.List;
+/** 后期用到的链接过期,目前版本中不需要这个功能
+ * 优化缓存用的
+ * @Author : yang
+ * @Date : 2022-07-31 16:36
+ * @Version : 2.1.2
+ */
 
 public class GoodsPayDaoImpl implements GoodsPayDao{
     @PersistenceContext
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AliPayNotify.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AliPayNotify.java
new file mode 100644
index 0000000..64ee82f
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AliPayNotify.java
@@ -0,0 +1,273 @@
+package com.icloud.server.payutils.notify;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.internal.util.AlipaySignature;
+import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
+import com.github.binarywang.wxpay.exception.WxPayException;
+import com.icloud.server.payutils.PayClient;
+import com.icloud.server.payutils.PayClientFactory;
+import com.icloud.server.payutils.ali.util.AlipayNotify;
+import com.icloud.server.payutils.dto.PayNotifyDataDTO;
+import com.icloud.server.payutils.dto.PayOrderDO;
+import com.icloud.server.scala.goods.Goods;
+import com.icloud.server.scala.goods.GoodsRepository;
+import com.icloud.server.scala.goods.Goodspay;
+import com.icloud.server.scala.goods.GoodspayRepository;
+import com.icloud.server.scala.pay.Alipay1;
+import com.icloud.server.scala.pay.Alipay1Repository;
+import com.icloud.server.scala.paynotify.PayNotifyEntity;
+import com.icloud.server.scala.paynotify.PayNotifyLogEntity;
+import com.icloud.server.scala.paynotify.PayNotifyLogRepository;
+import com.icloud.server.scala.paynotify.PayNotifyRepository;
+import com.icloud.server.scala.payorder.PayOrderRepository;
+import com.icloud.server.utils.JsonUtils;
+import com.icloud.server.utils.log.Logs;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+import com.alipay.api.internal.util.AlipaySignature;
+import springfox.documentation.annotations.ApiIgnore;
+
+import static com.icloud.server.web.err.enums.ErrorCodeConstants.PAY_CHANNEL_CLIENT_NOT_FOUND;
+
+/**
+ * 微信
+ *
+ * @Author : yang
+ * @Date : 2022-07-26 01:09
+ * @Version : 2.1.2
+ */
+
+@Api(tags = "支付宝回传")
+@ApiIgnore
+@RestController
+@RequestMapping("/occloud/pay/aliorder")
+@Validated
+@Slf4j
+@AllArgsConstructor
+public class AliPayNotify {
+
+    @Resource
+    private PayClientFactory payClientFactory;
+    @Resource
+    private PayNotifyRepository pnr;
+    @Resource
+    private Alipay1Repository ar;
+    @Resource
+    private PayOrderRepository por;
+    @Resource
+    private PayNotifyLogRepository pnlr;
+    @Resource
+    private GoodsRepository gr;
+    @Resource
+    private GoodspayRepository gpr;
+
+
+    static Logger logger = LoggerFactory.getLogger("alirepay");
+
+
+
+    @PostMapping(value = "/alinotify/{channelId}")
+    @ApiOperation("渠道统一的支付成功,或退款成功 通知url")
+    public String aa(@PathVariable("channelId") Long channelId, HttpServletRequest request, HttpServletResponse response){
+
+
+
+
+        System.out.println("=======支付宝回调:alinotify========");
+        System.out.println("channelId:" + channelId);
+        System.out.println("=======request:"+request);
+        Map<String,String> params = new HashMap<String,String>();
+        Map requestParams = request.getParameterMap();
+        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
+            String name = (String) iter.next();
+            String[] values = (String[]) requestParams.get(name);
+            String valueStr = "";
+            for (int i = 0; i < values.length; i++) {
+                valueStr = (i == values.length - 1) ? valueStr + values[i]
+                        : valueStr + values[i] + ",";
+            }
+            //乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
+            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "gbk");
+            params.put(name, valueStr);
+        }
+        System.out.println("params:"+ JsonUtils.toJsonString(params));
+        HashMap<String, String> map = new HashMap<>();
+        for(Object str:requestParams.keySet()){
+            String parameter = request.getParameter(str.toString());
+            map.put(str.toString(),parameter);
+            System.out.println("key======"+str+":"+parameter);
+        }
+        String req = JsonUtils.toJsonString(map);
+        System.out.println("map:"+req);
+        //out_trade_no
+        String out_trade_no = request.getParameter("out_trade_no");
+        String total_amount = request.getParameter("total_amount");
+        System.out.println("out_trade_no:"+out_trade_no);
+        PayOrderDO byMerchantorderid = por.findByMerchantorderid(out_trade_no);
+        Optional<Alipay1> alipay1 = ar.findById(byMerchantorderid.getAppid());
+        String alipaypublickey = alipay1.get().getAlipaypublickey();
+        System.out.println("====alipaypublickey===:"+alipaypublickey);
+
+
+
+
+        try {
+//            boolean verify_result = AlipaySignature.rsaCheckV1(params,alipaypublickey,"UTF-8","RSA2");
+            Boolean verify_result = flag2(request, alipaypublickey);
+            System.out.println("verify_result:"+verify_result);
+            verify_result=true;
+            if(verify_result){
+                System.out.println("订单支付成功");
+
+                List<PayNotifyEntity> pnes = pnr.findByMerchantorderidAndStatus(out_trade_no,0);
+                if(!pnes.isEmpty()){
+                    PayNotifyLogEntity paynotifylogentity = new PayNotifyLogEntity().toEntity(out_trade_no, req, "ali", "ali", byMerchantorderid.getAppid().toString());
+                    //mysql 记录
+                    pnlr.save(paynotifylogentity);
+                    //log 日志----输出
+                    new Logs(logger).toLog( req);
+                    PayNotifyEntity entity = pnes.get(0);
+                    String merchantorderid = entity.getMerchantorderid();
+                    entity.setStatus(1);
+                    pnr.save(entity);
+                    PayOrderDO por1 = por.findByMerchantorderid(merchantorderid);
+                    por1.setStatus(1);
+                    //mysql --修改订单状态
+                    por.save(por1);
+
+                    try {
+                        Long goodspayid = por1.getGoodspayid();
+                        Optional<Goodspay> goodspay = gpr.findById(goodspayid);
+                        Goodspay goodspay1 = goodspay.get();
+                        Goods goods = gr.findByGoodsid(goodspay1.getGoodsid());
+                        long sellamount = goods.getSellamount();
+                        long sellcount = goods.getSellcount();
+                        sellamount+=strtoLong(total_amount);
+                        sellcount+=1;
+                        goods.setSellamount(sellamount);
+                        goods.setSellcount(sellcount);
+                        gr.save(goods);
+                    } catch (Exception e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            }
+        } catch (AlipayApiException e) {
+            throw new RuntimeException(e);
+        }
+
+
+        return "success";
+    }
+
+    @GetMapping("/t")
+    public void test(HttpServletRequest request, HttpServletResponse response){
+        Map requestParams = request.getParameterMap();
+
+
+
+    }
+
+    @PostMapping(value = "/alinotify3/{channelId}")
+    @ApiOperation("渠道统一的支付成功,或退款成功 通知url")
+    public String notifyChannelPay(@PathVariable("channelId") Long channelId,
+                                   @RequestParam Map<String, String> params,
+                                   @RequestBody String originData) throws Exception {
+
+        System.out.println("channelId:"+channelId);
+        System.out.println("originData:"+originData);
+        String out_trade_no = params.get("out_trade_no");
+        PayOrderDO byMerchantorderid = por.findByMerchantorderid(out_trade_no);
+        Optional<Alipay1> alipay1 = ar.findById(byMerchantorderid.getAppid());
+        String alipaypublickey = alipay1.get().getAlipaypublickey();
+        System.out.println("====alipaypublickey===:"+alipaypublickey);
+        // 校验通知数据是否合法
+        PayNotifyDataDTO notifyData = PayNotifyDataDTO.builder().params(params).body(originData).build();
+        String req = JsonUtils.toJsonString(notifyData.getParams());
+        System.out.println("req:"+req);
+        boolean verify_result = AlipaySignature.rsaCheckV1(notifyData.getParams(),alipaypublickey,StandardCharsets.UTF_8.name(),"RSA2");
+
+        System.out.println("=====支付成功=====:"+verify_result);
+        // 如果是退款,则发起退款通知
+
+        return "success";
+    }
+    public Boolean flag(HttpServletRequest request,String key) throws AlipayApiException {
+        //获取支付宝POST过来反馈信息
+        Map<String,String> params = new HashMap<String,String>();
+        Map requestParams = request.getParameterMap();
+        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
+            String name = (String) iter.next();
+            String[] values = (String[]) requestParams.get(name);
+            String valueStr = "";
+            for (int i = 0; i < values.length; i++) {
+                valueStr = (i == values.length - 1) ? valueStr + values[i]
+                        : valueStr + values[i] + ",";
+            }
+            //乱码解决,这段代码在出现乱码时使用。
+            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
+            params.put(name, valueStr);
+        }
+//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
+//boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
+        boolean flag = AlipaySignature.rsaCheckV1(params, key, "utf-8","RSA2");
+        return flag;
+    }
+    public Boolean flag2(HttpServletRequest request,String key) throws AlipayApiException {
+//获取支付宝POST过来反馈信息
+        Map< String , String > params = new HashMap < String , String > ();
+        Map requestParams = request.getParameterMap();
+        for(Iterator iter = requestParams.keySet().iterator();iter.hasNext();){
+            String name = (String)iter.next();
+            String[] values = (String [])requestParams.get(name);
+            String valueStr = "";
+            for(int i = 0;i < values.length;i ++ ){
+                valueStr =  (i==values.length-1)?valueStr + values [i]:valueStr + values[i] + ",";
+            }
+            //乱码解决,这段代码在出现乱码时使用。
+            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
+            params.put (name,valueStr);
+        }
+        //切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
+        //boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
+        boolean flag = AlipaySignature.rsaCheckV1 (params,key, "utf-8","RSA2");
+        System.out.println("======阿里的RSA2校验:"+flag);
+//        boolean verify_result = false;
+//        try {
+//            verify_result = AlipayNotify.verify(requestParams,params.get("sign"));
+//            System.out.println("======自己的校验:"+verify_result);
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//
+////            new AlipayConfig().getCharset();
+////            verify_result = AlipaySignature.rsaCheckV1(hm,pk2, "utf-8","RSA2");
+//        System.out.println(verify_result);
+
+        return flag;
+    }
+
+    public Long strtoLong(String str){
+        String s = str.replace(".", "");
+        return Long.parseLong(s);
+    }
+
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java
deleted file mode 100644
index b351265..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.icloud.server.payutils.PayClient;
-import com.icloud.server.payutils.PayClientFactory;
-import com.icloud.server.payutils.dto.PayNotifyDataDTO;
-import com.icloud.server.payutils.enums.PayTypeEnum;
-import com.icloud.server.payutils.order.PayOrderService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.util.Map;
-
-import static com.icloud.server.web.err.ServiceExceptionUtil.exception;
-import static com.icloud.server.web.err.enums.ErrorCodeConstants.PAY_CHANNEL_CLIENT_NOT_FOUND;
-
-@Api(tags = "用户 APP - 支付订单")
-@RestController
-@RequestMapping("/pay/order")
-@Validated
-@Slf4j
-public class AppPayOrderController {
-    //    @Resource
-//    private PayRefundService refundService;
-    @Resource
-    private PayOrderService orderService;
-    @Resource
-    private PayClientFactory payClientFactory;
-
-
-    @PostMapping(value = "/wxnotify/{channelId}")
-    @ApiOperation("渠道统一的支付成功,或退款成功 通知url")
-    public String notifyChannelPay(@PathVariable("channelId") Long channelId,
-                                   @RequestParam Map<String, String> params,
-                                   @RequestBody String originData) throws Exception {
-
-        System.out.println("channelId:"+channelId);
-        for(String value: params.values()) {
-            // 输出返回的值
-            System.out.println("====微信回传参数:"+value + ";======");
-        }
-        // 校验支付渠道是否存在
-        PayClient payClient = payClientFactory.getPayClient(channelId);
-        if (payClient == null) {
-            log.error("[notifyPayOrder][渠道编号({}) 找不到对应的支付客户端]", channelId);
-            throw exception(PAY_CHANNEL_CLIENT_NOT_FOUND);
-        }
-
-        // 校验通知数据是否合法
-        PayNotifyDataDTO notifyData = PayNotifyDataDTO.builder().params(params).body(originData).build();
-        payClient.verifyNotifyData(notifyData);
-
-        // 如果是退款,则发起退款通知
-//        if (payClient.isRefundNotify(notifyData)) {
-//            refundService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
-//            return "success";
-//        }
-
-        // 如果非退款,则发起支付通知
-        orderService.notifyPayOrder(PayTypeEnum.WXPAY,channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
-        return "success";
-    }
-    @PostMapping(value = "/alinotify/{channelId}")
-    @ApiOperation("渠道统一的支付成功,或退款成功 通知url")
-    public String notifyChannelaliPay(@PathVariable("channelId") Long channelId,
-                                   @RequestParam Map<String, String> params,
-                                   @RequestBody String originData) throws Exception {
-
-        System.out.println("channelId:"+channelId);
-        for(String value: params.values()) {
-// 输出返回的值
-            System.out.print(value + ", ");
-        }
-        // 校验支付渠道是否存在
-        PayClient payClient = payClientFactory.getPayClient(channelId);
-        if (payClient == null) {
-            log.error("[notifyPayOrder][渠道编号({}) 找不到对应的支付客户端]", channelId);
-            throw exception(PAY_CHANNEL_CLIENT_NOT_FOUND);
-        }
-
-        // 校验通知数据是否合法
-        PayNotifyDataDTO notifyData = PayNotifyDataDTO.builder().params(params).body(originData).build();
-        payClient.verifyNotifyData(notifyData);
-
-        // 如果是退款,则发起退款通知
-//        if (payClient.isRefundNotify(notifyData)) {
-//            refundService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
-//            return "success";
-//        }
-
-        // 如果非退款,则发起支付通知
-        orderService.notifyPayOrder(PayTypeEnum.ALIPAY,channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
-        return "success";
-    }
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java
deleted file mode 100644
index 0803dda..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-import com.icloud.server.payutils.job.JobHandler;
-
-import javax.annotation.Resource;
-
-/**
- * 支付通知 Job
- * 通过不断扫描待通知的 PayNotifyTaskDO 记录,回调业务线的回调接口
- *
- * @author
- */
-//@Component
-//@Slf4j
-public class PayNotifyJob implements JobHandler {
-
-    @Resource
-    private PayNotifyService payNotifyCoreService;
-
-    @Override
-    public String execute(String param) throws Exception {
-//        int notifyCount = payNotifyCoreService.executeNotify();
-        return String.format("执行支付通知 %s 个", 1);
-    }
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java
deleted file mode 100644
index 26c3964..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-
-//import org.redisson.api.RLock;
-//import org.redisson.api.RedissonClient;
-import org.springframework.stereotype.Repository;
-
-import javax.annotation.Resource;
-import java.util.concurrent.TimeUnit;
-
-//import static com.icloud.server.payutils.notify.RedisKeyConstants.PAY_NOTIFY_LOCK;
-
-
-/**
- * 支付通知的锁 Redis DAO
- *
- * @author
- */
-@Repository
-public class PayNotifyLockRedisDAO {
-
-//    @Resource
-//    private RedissonClient redissonClient;
-//
-//    public void lock(Long id, Long timeoutMillis, Runnable runnable) {
-//        String lockKey = formatKey(id);
-//        RLock lock = redissonClient.getLock(lockKey);
-//        try {
-//            lock.lock(timeoutMillis, TimeUnit.MILLISECONDS);
-//            // 执行逻辑
-//            runnable.run();
-//        } finally {
-//            lock.unlock();
-//        }
-//    }
-
-//    private static String formatKey(Long id) {
-//        return String.format(PAY_NOTIFY_LOCK.getKeyTemplate(), id);
-//    }
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java
deleted file mode 100644
index 55d961f..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-import javax.validation.Valid;
-
-/**
- * 支付通知 Service 接口
- *
- * @author
- */
-public interface PayNotifyService {
-
-    /**
-     * 创建支付通知任务
-     *
-     * @param reqDTO 任务信息
-     */
-    void createPayNotifyTask(@Valid PayNotifyTaskCreateReqDTO reqDTO);
-
-    /**
-     * 执行支付通知
-     *
-     * 注意,该方法提供给定时任务调用。目前是 yudao-server 进行调用
-     * @return 通知数量
-     */
-//    int executeNotify() throws InterruptedException;
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java
deleted file mode 100644
index 918be30..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-import com.icloud.server.payutils.dto.PayNotifyTaskDO;
-import com.icloud.server.payutils.order.PayOrderService;
-import com.icloud.server.utils.time.DateUtils;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.Date;
-import java.util.Objects;
-
-/**
- * 支付通知 Core Service 实现类
- *
- * @author
- */
-@Service
-@Valid
-@Slf4j
-public class PayNotifyServiceImpl implements PayNotifyService {
-
-    /**
-     * 通知超时时间,单位:秒
-     */
-    public static final int NOTIFY_TIMEOUT = 120;
-    /**
-     * {@link #NOTIFY_TIMEOUT} 的毫秒
-     */
-    public static final long NOTIFY_TIMEOUT_MILLIS = 120 * DateUtils.SECOND_MILLIS;
-
-    @Resource
-    @Lazy // 循环依赖,避免报错
-    private PayOrderService orderService;
-//    @Resource
-//    @Lazy // 循环依赖,避免报错
-//    private PayRefundService refundService;
-
-
-
-    @Resource
-    private ThreadPoolTaskExecutor threadPoolTaskExecutor; // TODO :未来提供独立的线程池
-
-    @Resource
-    private PayNotifyLockRedisDAO payNotifyLockCoreRedisDAO;
-
-
-
-    @Override
-    public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) {
-        PayNotifyTaskDO task = new PayNotifyTaskDO();
-        task.setType(reqDTO.getType()).setDataId(reqDTO.getDataId());
-        task.setStatus(PayNotifyStatusEnum.WAITING.getStatus()).setNextNotifyTime(new Date())
-                .setNotifyTimes(0).setMaxNotifyTimes(PayNotifyTaskDO.NOTIFY_FREQUENCY.length + 1);
-        // 补充 merchantId + appId + notifyUrl 字段
-        if (Objects.equals(task.getType(), PayNotifyTypeEnum.ORDER.getType())) {
-
-
-           //保存支付单通知
-        } else if (Objects.equals(task.getType(), PayNotifyTypeEnum.REFUND.getType())) {
-            //保存退款单通知
-        }
-
-        // 保存订单
-
-
-
-    }
-
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java
deleted file mode 100644
index 8d5010d..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * 支付通知创建 DTO
- *
- * @author
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class PayNotifyTaskCreateReqDTO {
-
-    /**
-     * 类型
-     */
-    @NotNull(message = "类型不能为空")
-    private Integer type;
-    /**
-     * 数据编号
-     */
-    @NotNull(message = "数据编号不能为空")
-    private Long dataId;
-
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java
deleted file mode 100644
index 461813a..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.icloud.server.payutils.notify;
-
-//import org.redisson.api.RLock;
-
-/**
- * 支付 Redis Key 枚举类
- *
- * @author
- */
-public interface RedisKeyConstants {
-
-//    RedisKeyDefine PAY_NOTIFY_LOCK = new RedisKeyDefine("通知任务的分布式锁",
-//            "pay_notify:lock:", // 参数来自 DefaultLockKeyBuilder 类
-//            RedisKeyDefine.KeyTypeEnum.HASH, RLock.class, RedisKeyDefine.TimeoutTypeEnum.DYNAMIC); // Redisson 的 Lock 锁,使用 Hash 数据结构
-//
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WXPayXmlUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WXPayXmlUtil.java
new file mode 100644
index 0000000..9fae274
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WXPayXmlUtil.java
@@ -0,0 +1,27 @@
+package com.icloud.server.payutils.notify;
+
+import org.w3c.dom.Document;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+public class WXPayXmlUtil {
+    public static DocumentBuilder newDocumentBuilder() throws ParserConfigurationException {
+        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+        documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
+        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+        documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+        documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        documentBuilderFactory.setXIncludeAware(false);
+        documentBuilderFactory.setExpandEntityReferences(false);
+
+        return documentBuilderFactory.newDocumentBuilder();
+    }
+
+    public static Document newDocument() throws ParserConfigurationException {
+        return newDocumentBuilder().newDocument();
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WxPayNotify.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WxPayNotify.java
new file mode 100644
index 0000000..ab41a1b
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/WxPayNotify.java
@@ -0,0 +1,258 @@
+package com.icloud.server.payutils.notify;
+
+import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
+import com.github.binarywang.wxpay.exception.WxPayException;
+import com.icloud.server.payutils.dto.PayOrderDO;
+import com.icloud.server.scala.goods.Goods;
+import com.icloud.server.scala.goods.GoodsRepository;
+import com.icloud.server.scala.goods.Goodspay;
+import com.icloud.server.scala.goods.GoodspayRepository;
+import com.icloud.server.scala.paynotify.PayNotifyEntity;
+import com.icloud.server.scala.paynotify.PayNotifyLogEntity;
+import com.icloud.server.scala.paynotify.PayNotifyLogRepository;
+import com.icloud.server.scala.paynotify.PayNotifyRepository;
+import com.icloud.server.scala.payorder.PayOrderRepository;
+import com.icloud.server.utils.log.Logs;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.slf4j.Logger;
+import org.springframework.web.bind.annotation.*;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import javax.annotation.Resource;
+import javax.xml.parsers.DocumentBuilder;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+import org.slf4j.LoggerFactory;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**微信
+ * @Author : yang
+ * @Date : 2022-07-26 01:09
+ * @Version : 2.1.2
+ */
+@ApiIgnore
+@Api("微信支付")
+@RestController
+@RequestMapping("/occloud/pay/order2")
+@AllArgsConstructor
+public class WxPayNotify {
+
+//    private WxPayService wxService;
+//    @Autowired
+//    private WxPayService wxService;
+//private WxPayService wxService;
+    @Resource
+    private PayNotifyRepository pnr;
+    @Resource
+    private PayNotifyLogRepository pnlr;
+    @Resource
+    private PayOrderRepository por;
+    @Resource
+    private GoodsRepository gr;
+
+    @Resource
+    private GoodspayRepository gpr;
+    static Logger logger = LoggerFactory.getLogger("wxrepay");
+
+//    private  pay = LoggerFactory.getLogger( "req" );
+
+    @ApiOperation(value = "支付回调通知处理")
+    @PostMapping("/notify/order/{channelId}")
+    public String parseOrderNotifyResult(@RequestBody String xmlData, @PathVariable("channelId") Long channelId) throws WxPayException {
+        System.out.println("======xmlData:"+xmlData);
+        try {
+            Map map = xmlToMap(xmlData);
+            String transaction_id =(String) map.get("transaction_id");
+            String nonce_str = (String)map.get("nonce_str");
+            String bank_type = (String)map.get("bank_type");
+            String openid = (String)map.get("openid");
+            String sign = (String)map.get("sign");
+            String fee_type = (String)map.get("fee_type");
+            String mch_id = (String)map.get("mch_id");
+            String cash_fee = (String)map.get("cash_fee");
+            String out_trade_no = (String)map.get("out_trade_no");
+            String appid = (String)map.get("appid");
+            String total_fee = (String)map.get("total_fee");
+            String trade_type = (String)map.get("trade_type");
+            String result_code = (String)map.get("result_code");
+            String time_end = (String)map.get("time_end");
+            String is_subscribe = (String)map.get("is_subscribe");
+            String return_code = (String)map.get("return_code");
+            String attach = (String)map.get("attach");
+//            System.out.println("transaction_id:"+transaction_id);
+//            System.out.println("nonce_str:"+nonce_str);
+//            System.out.println("bank_type:"+bank_type);
+//            System.out.println("channelId:"+channelId);
+            System.out.println("out_trade_no:"+out_trade_no);
+//            System.out.println("attach:"+attach);
+
+
+            //mysql --校验
+            List<PayNotifyEntity> pnes = pnr.findByMerchantorderidAndOuttradenoAndStatus(out_trade_no, attach,0);
+            if(!pnes.isEmpty()){
+
+                PayNotifyLogEntity paynotifylogentity = new PayNotifyLogEntity().toEntity(nonce_str, xmlData, "wx", "wx", appid.toString());
+                //log 日志----输出
+                new Logs(logger).toLog( xmlData);
+                //mysql 记录
+                pnlr.save(paynotifylogentity);
+                PayNotifyEntity entity = pnes.get(0);
+                String merchantorderid = entity.getMerchantorderid();
+                entity.setStatus(1);
+                pnr.save(entity);
+                PayOrderDO por1 = por.findByMerchantorderid(merchantorderid);
+                por1.setStatus(1);
+                //mysql --修改订单状态
+                por.save(por1);
+                //修改商品订单
+                try {
+                    Long goodspayid = por1.getGoodspayid();
+                    Optional<Goodspay> goodspay = gpr.findById(goodspayid);
+                    Goodspay goodspay1 = goodspay.get();
+                    Goods goods = gr.findByGoodsid(goodspay1.getGoodsid());
+                    long sellamount = goods.getSellamount();
+                    long sellcount = goods.getSellcount();
+                    sellamount+=Long.parseLong(total_fee);
+                    sellcount+=1;
+                    goods.setSellamount(sellamount);
+                    goods.setSellcount(sellcount);
+                    gr.save(goods);
+                } catch (NumberFormatException e) {
+                    throw new RuntimeException(e);
+                }
+
+            }
+
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+
+        //校验订单
+//        wxService.queryOrder(transactionId, outTradeNo);
+        // TODO 根据自己业务场景需要构造返回对象
+        return WxPayNotifyResponse.success("成功");
+    }
+
+
+
+
+    public static Map xmlToMap(String strXML) throws Exception {
+        try {
+            Map data = new HashMap();
+            // TODO 在这里更换
+            DocumentBuilder documentBuilder = WXPayXmlUtil.newDocumentBuilder();
+            InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
+            org.w3c.dom.Document doc = documentBuilder.parse(stream);
+            doc.getDocumentElement().normalize();
+            NodeList nodeList = doc.getDocumentElement().getChildNodes();
+            for (int idx = 0; idx < nodeList.getLength(); ++idx) {
+                Node node = nodeList.item(idx);
+                if (node.getNodeType() == Node.ELEMENT_NODE) {
+                    org.w3c.dom.Element element = (org.w3c.dom.Element) node;
+                    data.put(element.getNodeName(), element.getTextContent());
+                }
+            }
+            try {
+                stream.close();
+            } catch (Exception ex) {
+                // do nothing
+            }
+            return data;
+        } catch (Exception ex) {
+//            WXPayUtil.getLogger().warn("Invalid XML, can not convert to map. Error message: {}. XML content: {}", ex.getMessage(), strXML);
+            throw ex;
+        }
+
+    }
+
+
+
+//
+//    public WxPayOrderNotifyResult parseOrderNotifyResult(String xmlData, String signType) throws WxPayException {
+//        try {
+//            log.debug("微信支付异步通知请求参数:{}", xmlData);
+//            WxPayOrderNotifyResult result = WxPayOrderNotifyResult.fromXML(xmlData);
+//            if (signType == null) {
+//                if (result.getSignType() != null) {
+//                    // 如果解析的通知对象中signType有值,则使用它进行验签
+//                    signType = result.getSignType();
+//                } else if (this.getConfig().getSignType() != null) {
+//                    // 如果配置中signType有值,则使用它进行验签
+//                    signType = this.getConfig().getSignType();
+//                }
+//            }
+//
+//            log.debug("微信支付异步通知请求解析后的对象:{}", result);
+//            result.checkResult(this, signType, false);
+//            return result;
+//        } catch (WxPayException e) {
+//            throw e;
+//        } catch (Exception e) {
+//            throw new WxPayException("发生异常!", e);
+//        }
+//    }
+//
+//    private WxOrderInfo parseXml(String xmlString) {
+//        WxOrderInfo orderInfo = null;
+//        XmlPullParser xmlPullParser = Xml.newPullParser(); //由android.util.Xml创建一个XmlPullParser实例
+//        InputStream is = new ByteArrayInputStream(xmlString.getBytes());
+//        try {
+//            xmlPullParser.setInput(is, "UTF-8");               //设置输入流 并指明编码方式
+//            int eventType =xmlPullParser.getEventType();
+//            //eventType 默认值为0,每次调用parser.next()会自动向后读取
+//            while(eventType != XmlPullParser.END_DOCUMENT){
+//                switch (eventType){
+//                    case XmlPullParser.START_TAG:
+//                        if(xmlPullParser.getName().equals("xml")){
+//                            orderInfo = new WxOrderInfo();
+//                        }else if(xmlPullParser.getName().equals("appid")){
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.appid = xmlPullParser.getText();
+//                        }else if(xmlPullParser.getName().equals("noncestr")){
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.noncestr = xmlPullParser.getText();
+//                        }else if(xmlPullParser.getName().equals("package")){
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.wxpackage = xmlPullParser.getText();
+//                        }else if(xmlPullParser.getName().equals("partnerid")){
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.partnerid = xmlPullParser.getText();
+//                        }else if(xmlPullParser.getName().equals("prepayid")) {
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.prepayid = xmlPullParser.getText();
+//                        }else if(xmlPullParser.getName().equals("timestamp")) {
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.timestamp = String.valueOf(Long.parseLong(xmlPullParser.getText())*1000);
+//                        }else if(xmlPullParser.getName().equals("sign")) {
+//                            eventType = xmlPullParser.next();
+//                            orderInfo.sign = xmlPullParser.getText();
+//                        }
+//                        break;
+//                    case XmlPullParser.END_TAG:
+//                        if (xmlPullParser.getName().equals("xml")) {
+//                            Log.i("tag","XML 解析完毕");
+//                            eventType = xmlPullParser.next();
+//                        }
+//                        break;
+//                }
+//                eventType = xmlPullParser.next();
+//            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//        return orderInfo;
+//    }
+
+
+
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/XMLUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/XMLUtil.java
new file mode 100644
index 0000000..50c7c78
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/XMLUtil.java
@@ -0,0 +1,46 @@
+package com.icloud.server.payutils.notify;
+
+
+import com.google.common.collect.Maps;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: XMLUtil
+ * @Author: lin.shi
+ * @CreateTime: 2017-08-10 16:47
+ */
+public class XMLUtil {
+
+    /**
+     * 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。
+     *
+     * @param strxml
+     * @return
+     * @throws IOException
+     */
+    public static Map doXMLParse(String strxml) {
+        Document document = null;
+        try {
+            document = DocumentHelper.parseText(strxml);
+        } catch (DocumentException e) {
+            e.printStackTrace();
+        }
+        Element rootElement = document.getRootElement();
+        @SuppressWarnings("unchecked")
+        List<org.dom4j.Element> elements = rootElement.elements();
+        Map<String, String> map = Maps.newHashMap();
+        for (org.dom4j.Element element : elements) {
+            map.put(element.getName(), element.getText());
+        }
+        return map;
+    }
+
+
+}
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/t.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/t.java
new file mode 100644
index 0000000..c5820e6
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/t.java
@@ -0,0 +1,86 @@
+package com.icloud.server.payutils.notify;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.internal.util.AlipaySignature;
+import com.icloud.server.payutils.ali.util.AlipayNotify;
+
+import javax.servlet.http.HttpServletRequest;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+public class t {
+    public static void main(String[] args) {
+        String req="{\"gmt_create\":\"2022-08-01 16:19:51\",\"charset\":\"utf-8\",\"seller_email\":\"674571001@qq.com\",\"subject\":\"0.03\",\"sign\":\"sDHQ+stbBghX/lIcOglNE02vahsfzAhCmU8w6NcuzaczEeLd9OoORU87FFMPTCB8K0x4MnvULjQothvlKGM2pOLIV82QCvmyzi7AqGEENbQcTD8ur7ZkcZ+3wbENZA89kTwvzsVSyLUb38KQfKaQ+zbAO6lKfw6nBGa5wjfuzQ7/6ksPfdltOQzBqNPJVo2jYl9PmPup/T8Nhi5gWkuAASZaRVDIHZ+2oamUkVQLl+nM87rhDkr+n3ta8ACMSth1W6QX453hPiyXpxTxwyeMDo7HguMMyp8kU9ZQ8MtEckR5jHNfKt2JmJEmgjUOOUocejhSD+GfBL73EuaYooJe1w==\",\"body\":\"0.03的商品\",\"buyer_id\":\"2088302198022740\",\"invoice_amount\":\"0.03\",\"notify_id\":\"2022080100222161952022741444701295\",\"fund_bill_list\":\"[{\\\"amount\\\":\\\"0.03\\\",\\\"fundChannel\\\":\\\"ALIPAYACCOUNT\\\"}]\",\"notify_type\":\"trade_status_sync\",\"trade_status\":\"TRADE_SUCCESS\",\"receipt_amount\":\"0.03\",\"buyer_pay_amount\":\"0.03\",\"app_id\":\"2019111869281079\",\"sign_type\":\"RSA2\",\"seller_id\":\"2088631859906049\",\"gmt_payment\":\"2022-08-01 16:19:51\",\"notify_time\":\"2022-08-01 16:19:52\",\"version\":\"1.0\",\"out_trade_no\":\"1659341970123\",\"total_amount\":\"0.03\",\"trade_no\":\"2022080122001422741417433494\",\"auth_app_id\":\"2019111869281079\",\"buyer_logon_id\":\"yiy***@163.com\",\"point_amount\":\"0.00\"}";
+        String req2="{\"gmt_create\":\"2022-08-01 16:37:26\",\"charset\":\"utf-8\",\"seller_email\":\"674571001@qq.com\",\"subject\":\"0.03\",\"sign\":\"gUS+CAob4mWgW3KYYqYz3n6p5QFmwq5U91rrqjhFOfJgshl8hZgH7wAJR/0RsGFms+Fv+edFEgANytHgfyAk/X2rXBenLaFC7ipIYHAt0JqTcPlLKkA+WGeFoQdzy4Yae6HeGM4IJWx718QGBESwB+eKXzEi6XtbNmECT9/QHTe8eOj/r3zgNdjUio28o8ZI4NMeE6KVzphdPVD/ucvRuL9PMXMMlNH7IauW4bgYZAQGCQHsFNov5F7PkxGu6RKP/SiiFnKuvmC2qEYyX2lUtc62yzFwM7+4/kc3+ULgQ7u18QcQSNdsERccKF14RAPIdhFmx4hBpxsIS9F4yh5wIA==\",\"body\":\"0.03的商品\",\"buyer_id\":\"2088302198022740\",\"invoice_amount\":\"0.03\",\"notify_id\":\"2022080100222163727022741444961403\",\"fund_bill_list\":\"[{\"amount\":\\\"0.03\\\",\\\"fundChannel\\\":\\\"ALIPAYACCOUNT\\\"}]\",\"notify_type\":\"trade_status_sync\",\"trade_status\":\"TRADE_SUCCESS\",\"receipt_amount\":\"0.03\",\"buyer_pay_amount\":\"0.03\",\"app_id\":\"2019111869281079\",\"sign_type\":\"RSA2\",\"seller_id\":\"2088631859906049\",\"gmt_payment\":\"2022-08-01 16:37:27\",\"notify_time\":\"2022-08-01 16:37:27\",\"version\":\"1.0\",\"out_trade_no\":\"1659343031780\",\"total_amount\":\"0.03\",\"trade_no\":\"2022080122001422741417255631\",\"auth_app_id\":\"2019111869281079\",\"buyer_logon_id\":\"yiy***@163.com\",\"point_amount\":\"0.00\"}";
+//        req="{\"gmt_create\":\"2022-08-01 17:12:28\",\"charset\":\"utf-8\",\"seller_email\":\"674571001@qq.com\",\"subject\":\"0.03\",\"sign\":\"bk7sJ4HP5L7OTvBdj+GT0hVsTr9nyD9H9u3jTJ3/ZTW7BWU2XdNDOmYQkJSXXbwEdetSYkbag5rngsjysOJeVDYqbkdx1kpPPfD1PSM0yIfpX6/CYBE+pfhmTD2IPTpDsDRaQQWoxOXrnABePVOjkuIwjQ0tP9w+Qbx2mNowzjblCKZHT+OAUlLJz+9oePh2YZFKa77maD4NlZXKx09+101wBtGfD3tdS/grGg8sYNUuuP0RD6yR4Is3idi4D1N+ZVGCGc3jFJKXaWvqZmscT6whWiD/NFLOKy8E9RJ7IJsSYCvhLSCaG/4i2eosPJsC7oh1scdpW6w940l/u2oW/Q==\",\"body\":\"0.03的商品\",\"buyer_id\":\"2088302198022740\",\"invoice_amount\":\"0.03\",\"notify_id\":\"2022080100222171229022741444902347\",\"fund_bill_list\":\"[{\"amount\":\"0.03\",\"fundChannel\":\"ALIPAYACCOUNT\"}]\",\"notify_type\":\"trade_status_sync\",\"trade_status\":\"TRADE_SUCCESS\",\"receipt_amount\":\"0.03\",\"buyer_pay_amount\":\"0.03\",\"app_id\":\"2019111869281079\",\"sign_type\":\"RSA2\",\"seller_id\":\"2088631859906049\",\"gmt_payment\":\"2022-08-01 17:12:28\",\"notify_time\":\"2022-08-01 17:12:29\",\"version\":\"1.0\",\"out_trade_no\":\"1659345129037\",\"total_amount\":\"0.03\",\"trade_no\":\"2022080122001422741416761958\",\"auth_app_id\":\"2019111869281079\",\"buyer_logon_id\":\"yiy***@163.com\",\"point_amount\":\"0.00\"}";
+        String p_k="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgk0caRPeLrONJf8IcCU5VCpFXww15MmDAiLto0c6QwMBfeF5oK47EzhzNuFCuXAlKSWSKffxdfBRLUWt2HRART+aINTfqUl6Bo0gTSiBBitYKDwKFLttN+Q4Oer6r1ozitCq9W/iaiTHhrDaLeCEyi2NSDKIc0YX4LG/yasfgwgM+lUjHWFZQ2zcsm6hkX97Q2eSYLLyx1Z1FWf4FsmJBcqZtZ0ZbCJAYAEZkZ4rVht9LKJLkqqoEX8FtGZaXlE9YbqBNi0JC12k/17bcE2HCbTd0QUIeKEY39loElLXNp6unpxvQUG+0hGDSl2U9Jf6X2ArtLyhoGWSdWQDtR3qiQIDAQAB";
+        String pk2="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgk0caRPeLrONJf8IcCU5VCpFXww15MmDAiLto0c6QwMBfeF5oK47EzhzNuFCuXAlKSWSKffxdfBRLUWt2HRART+aINTfqUl6Bo0gTSiBBitYKDwKFLttN+Q4Oer6r1ozitCq9W/iaiTHhrDaLeCEyi2NSDKIc0YX4LG/yasfgwgM+lUjHWFZQ2zcsm6hkX97Q2eSYLLyx1Z1FWf4FsmJBcqZtZ0ZbCJAYAEZkZ4rVht9LKJLkqqoEX8FtGZaXlE9YbqBNi0JC12k/17bcE2HCbTd0QUIeKEY39loElLXNp6unpxvQUG+0hGDSl2U9Jf6X2ArtLyhoGWSdWQDtR3qiQIDAQAB";
+        String p2="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCCTRxpE94us40l/whwJTlUKkVfDDXkyYMCIu2jRzpDAwF94XmgrjsTOHM24UK5cCUpJZIp9/F18FEtRa3YdEBFP5og1N+pSXoGjSBNKIEGK1goPAoUu2035Dg56vqvWjOK0Kr1b+JqJMeGsNot4ITKLY1IMohzRhfgsb/Jqx+DCAz6VSMdYVlDbNyybqGRf3tDZ5JgsvLHVnUVZ/gWyYkFypm1nRlsIkBgARmRnitWG30sokuSqqgRfwW0ZlpeUT1huoE2LQkLXaT/XttwTYcJtN3RBQh4oRjf2WgSUtc2nq6enG9BQb7SEYNKXZT0l/pfYCu0vKGgZZJ1ZAO1HeqJAgMBAAECggEADyRm6M8mQsca4A+DK4Un5GAFL8Z7fNruHpFwjEj6vE7dHYPWXpXgx5sHyJjk6CfgKaf0FGx74vjKdjhiu4TG80Uw5B/Y3hNr2tcLqevLEqx20jYn9cDSMGyVHCXye+4/jyIwu9UEutELXtuufyZYSCaDBKDauoqqu7HsV8NLJi7e29afIAVK5JTb3OUvOfV+qAAjdukvRHY0EX8J/3HS/zN+EImKBlJM94lwLwRdIizjyVZLapO9yKJsxkFy6ok8OD+Z8j4pjeX4e6755Oq2m+j4tF89L/WmyhXT7JkgmOEvuWyLm6/tXKI5y+HkGxTulBHDCJ9434zCJ3nm/YJTAQKBgQC74Ji42SOUqoDDAYUNu2M6xrFCO48ZPSbDV7ktyzYozzvD5UKa5N28kseA1UwNvr4LS7msV1WSPq9ilgpsTPgz2yAF4yqndNstoSIjvFmtsl02At7NY2zIbhxBYLO4fMAw8innPItBQqKaq3CKDz+BBvGQzp7yWUZB3oPbXGeCXwKBgQCxjBs9Z5atrV4aK3/CHgTWFX3+srKzbxyVhAg4D3sXktgR6em8Yb59BGeW1oVWYT8gdYtrknyaP3FWdQHOeLzX/zbpg62MNS5aRT84HCJAYQmEZhWBkETCeE5tmpg5AvO23PnkPvJr7ZCTK/p9A7KAkoEwmal3YL+GxC9EmgNMFwKBgEIvMb3UiItDsU6BB4052RAIlMM/Vf7PIwunqI1wS+j+cBBngBouy8o1buB8w2kIK8yw5XzH21ZEjOZO8ucKClnCNLq+NvV83gVqASvTm0fsUJfJVRHHl7fXyk5hsY4pLE9Rz98s3eWkgsG36VJJYtaiSpD3qNi5CF4F9C9fkvtDAoGANrdL6ceTyyBjoMMJE2S27tcexjCCHARBFd7jvYsfzysFBbhFvTWOQ+7okba4zt8XWkR/W/6AAfVNU2ypytywrgxL+vkGse/twgoXKo6ZC6gcC75+IDi6yAfVe7ep89/yBcfiBzJS+Wn0JTbnckGCcFc2Eyk37b9WJw0s2AJyw68CgYBhrt7INznFdw1/KM5sgt9flrXvYj2cqp+DbFGsa/5xgZA3ZHuEhLVanOmhulRRsGdRXxn+VVVevySx5x7Gt4sRLBCVgilg0oE6NyEg8NWl3+bSZNwZHPgQ5GLOyNK7HRyi1F9rmNLs7jg1BgdPxNJUmZcFSXxHZk5WR+9pcFkPNQ==";
+//        pk2="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRAFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQEB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5KsiNG9zpgmLCUYuLkxpLQIDAQAB";
+       pk2="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgk0caRPeLrONJf8IcCU5VCpFXww15MmDAiLto0c6QwMBfeF5oK47EzhzNuFCuXAlKSWSKffxdfBRLUWt2HRART+aINTfqUl6Bo0gTSiBBitYKDwKFLttN+Q4Oer6r1ozitCq9W/iaiTHhrDaLeCEyi2NSDKIc0YX4LG/yasfgwgM+lUjHWFZQ2zcsm6hkX97Q2eSYLLyx1Z1FWf4FsmJBcqZtZ0ZbCJAYAEZkZ4rVht9LKJLkqqoEX8FtGZaXlE9YbqBNi0JC12k/17bcE2HCbTd0QUIeKEY39loElLXNp6unpxvQUG+0hGDSl2U9Jf6X2ArtLyhoGWSdWQDtR3qiQIDAQAB";
+       req="{\"gmt_create\":\"2022-08-02 14:07:47\",\"charset\":\"utf-8\",\"seller_email\":\"674571001@qq.com\",\"subject\":\"依诺维绅REBEL书房双人布艺沙发床库特 小户型客厅阳台可折\",\"sign\":\"s2wgg1aiTnkIZRmRKsCGQwUIZWOYa6SYwSH7f1W5J+71W7QSe3BxuL9QE35IyAAbBPGOCwfqy2Nh+akoQgqoAlqoDlZqhc7mx4Am33W6qtWT84KMpTzjTPBLyTU82rhEDvUZyUITwEy3OfuvOzdGsbOWzk1rE5O55BZ3AxYuSkJ3SSIWPObZYcpyYmzK1TTNSmpqEju1bz5Ljo9+mz7+4h9LjRfPnqjhDQU54D4giUpV3XrM78SNgf+RpfAIFkWPGKhiO0PJ9GArfWxtyd86sIZ/HWf5tdQpTkzOpg5mE4o9/x9J2+tHLZcU5FEh8Bte5RdUTAYTua7/MKVqInXR3A==\",\"body\":\"依诺维绅REBEL书房双人布艺沙发床库特 小户型客厅阳台可折叠两用\",\"buyer_id\":\"2088302198022740\",\"invoice_amount\":\"0.01\",\"notify_id\":\"2022080200222140748022741446355810\",\"fund_bill_list\":\"[{\\\"amount\\\":\\\"0.01\\\",\\\"fundChannel\\\":\\\"ALIPAYACCOUNT\\\"}]\",\"notify_type\":\"trade_status_sync\",\"trade_status\":\"TRADE_SUCCESS\",\"receipt_amount\":\"0.01\",\"buyer_pay_amount\":\"0.01\",\"app_id\":\"2019111869281079\",\"sign_type\":\"RSA2\",\"seller_id\":\"2088631859906049\",\"gmt_payment\":\"2022-08-02 14:07:47\",\"notify_time\":\"2022-08-02 14:07:48\",\"version\":\"1.0\",\"out_trade_no\":\"1659420446122\",\"total_amount\":\"0.01\",\"trade_no\":\"2022080222001422741418678355\",\"auth_app_id\":\"2019111869281079\",\"buyer_logon_id\":\"yiy***@163.com\",\"point_amount\":\"0.00\"}";
+        req="{\"gmt_create\":\"2022-08-02 17:08:06\",\"charset\":\"utf-8\",\"seller_email\":\"674571001@qq.com\",\"subject\":\"商品包0801\",\"sign\":\"J/5GJWzNuMIdjOYWvJm5UN+aJCpGmHvz4A5eMnjPnGPXsb95RsPT4oun8qigyp4NC2ZkCWOavLnh9+lvBvhHQqKQda0m9CHpTH3hhyQzFoKy6obW/77XxgVLfjK0dh8Gd4rm9UknDZvCJ2tW5FwjHEQJ/dobWM2L1PHl+6jaxqjrZiNunvTqi2omUi8PPxvUKVXOibWZkp2oTm+c/sIy+aIhLEegQukXFTQuLADxCID9z8zaV4Zdp0Csf6gqhon/l9QwvTRffrflMArzIxhXn57wWjvsdLMgPjsFXswz1R2eybLiwXgmCGMNIhIomInE9RGhzHOavNPUjxsil0Tlqg==\",\"body\":\"0802\",\"buyer_id\":\"2088002555764930\",\"invoice_amount\":\"0.03\",\"notify_id\":\"2022080200222170807064931439669674\",\"fund_bill_list\":\"[{\\\"amount\\\":\\\"0.03\\\",\\\"fundChannel\\\":\\\"ALIPAYACCOUNT\\\"}]\",\"notify_type\":\"trade_status_sync\",\"trade_status\":\"TRADE_SUCCESS\",\"receipt_amount\":\"0.03\",\"buyer_pay_amount\":\"0.03\",\"app_id\":\"2019111869281079\",\"sign_type\":\"RSA2\",\"seller_id\":\"2088631859906049\",\"gmt_payment\":\"2022-08-02 17:08:06\",\"notify_time\":\"2022-08-02 17:22:18\",\"version\":\"1.0\",\"out_trade_no\":\"1659431276066\",\"total_amount\":\"0.03\",\"trade_no\":\"2022080222001464931432853185\",\"auth_app_id\":\"2019111869281079\",\"buyer_logon_id\":\"578***@qq.com\",\"point_amount\":\"0.00\"}";
+        JSONObject jsonObject = JSONObject.parseObject(req);
+        Map<String, Object> innerMap = jsonObject.getInnerMap();
+        HashMap<String, String> hm = new HashMap<>();
+
+        Set<String> strings = innerMap.keySet();
+        for(String key:strings){
+            String s = innerMap.get(key).toString();
+            hm.put(key,s);
+        }
+
+        boolean verify_result = false;
+//        verify_result = AlipayNotify.verify(hm,hm.get("sign"));
+//            new AlipayConfig().getCharset();
+        try {
+            verify_result = AlipaySignature.rsaCheckV1(hm,pk2, "utf-8","RSA2");
+        } catch (AlipayApiException e) {
+            throw new RuntimeException(e);
+        }
+        System.out.println(verify_result);
+    }
+
+    public Boolean flag(HttpServletRequest request) throws AlipayApiException {
+        //获取支付宝POST过来反馈信息
+        Map<String,String> params = new HashMap<String,String>();
+        Map requestParams = request.getParameterMap();
+        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
+            String name = (String) iter.next();
+            String[] values = (String[]) requestParams.get(name);
+            String valueStr = "";
+            for (int i = 0; i < values.length; i++) {
+                valueStr = (i == values.length - 1) ? valueStr + values[i]
+                        : valueStr + values[i] + ",";
+            }
+            //乱码解决,这段代码在出现乱码时使用。
+            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
+            params.put(name, valueStr);
+        }
+//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
+//boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
+        boolean flag = AlipaySignature.rsaCheckV1(params, "", "utf-8","RSA2");
+        return flag;
+    }
+
+
+    public static Map<String,Object> JsonToMap(JSONObject resJson){
+        Map<String, Object> innerMap = resJson.getInnerMap();
+        JSONObject user = resJson.getJSONObject("user");
+        Map<String, Object> userMap = new HashMap<>();
+
+        for (Map.Entry<String, Object> entry : user.entrySet()) {
+            userMap.put(entry.getKey(), entry.getValue());
+        }
+        System.out.println("map对象:" + userMap.toString());
+
+
+        return userMap;
+
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/tt.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/tt.java
new file mode 100644
index 0000000..5ee3ebd
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/tt.java
@@ -0,0 +1,32 @@
+package com.icloud.server.payutils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class tt {
+    public static void main(String[] args) {
+        String d="2022-08-02 00:00:00";
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date time = new Date(); // 获取当前时间
+        String format = sdf.format(time);// 格式化时间
+
+        try {
+            Date d1 = sdf.parse(d);
+            long time1 = d1.getTime();
+            System.out.println("time1:"+time1);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+
+        // 时间转换为时间戳
+        // getTime返回自1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数.
+        // 时间戳是指自1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
+        // 单位换算:1秒=1000毫秒
+        long timestamp = time.getTime() / 1000L;
+        System.out.println("当前时间:"+time);
+        System.out.println("当前时间(格式化):"+format);
+        System.out.println("当前时间戳:"+timestamp);
+
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/Demo.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/Demo.scala
index d43f50f..99408fc 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/Demo.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/Demo.scala
@@ -1,5 +1,6 @@
 package com.icloud.server.scala
 
+import com.icloud.server.web.shiro.handler.LoginInfoThreadLocal
 import io.swagger.annotations.{Api, ApiImplicitParam, ApiImplicitParams, ApiOperation}
 import org.springframework.data.redis.core.StringRedisTemplate
 import org.springframework.web.bind.annotation.{GetMapping, PostMapping, RequestBody, RequestMapping, RestController}
@@ -10,7 +11,7 @@ import scala.beans.BeanProperty
 @Api( tags = Array( "demo" ), value = "API",hidden = true )
 @ApiIgnore
 @RestController
-@RequestMapping(Array("/aaa/"))
+@RequestMapping(Array("/occloud/aaa/"))
 class Demo {
 
   @Resource
@@ -30,11 +31,21 @@ class Demo {
   ) )
   @PostMapping(Array("tt") )
   def tt(@RequestBody a:A):String = {
+//    val userToken = LoginInfoThreadLocal.getContext
+//    val id = userToken.getClientId
+//    println(id)
     println("a:"+a)
     println("a.a:"+a.a)
     println("a.b.c:"+a.b.c)
     "ok"
   }
+  @PostMapping(Array("ttt") )
+  def ttt():String = {
+//    val userToken = LoginInfoThreadLocal.getContext
+//    val id = userToken.getClientId
+// println(id)
+    "ok"
+  }
   @PostMapping(Array("set") )
   def set():String = {
     stringredistemplate.opsForValue().set("a","a")
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/AbstractCache.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/AbstractCache.scala
index 2bab6a8..bdaa383 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/AbstractCache.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/AbstractCache.scala
@@ -14,6 +14,9 @@ abstract class AbstractCache[T] {
 
   @PostConstruct def init ={
     cache = buildCache
+    val cc = Runtime.getRuntime().freeMemory()
+    println("=========当前支付链接的数量:"+cache.size()+" 个===========")
+    println("=========加载缓存后,当前占用内存:"+(cc/1024/1024)+" M ;===========")
   }
 
   @PreDestroy def clear =  {
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/GoodsCache.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/GoodsCache.scala
index 6980c9f..e512ff4 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/GoodsCache.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/cache/GoodsCache.scala
@@ -18,30 +18,70 @@ class GoodsCache extends AbstractCache[Goodspaye]{
 
   @Resource private[cache] var gpr: GoodspayRepositorye = _
   override def buildCache: util.Map[String, Goodspaye] = {
-    val now = DateTime.now
-    val day = now.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0);
-    val pays = gpr.getGoodsPaysByHour(now)
-    //过滤禁用的支付渠道
-    val goodspayes = new util.ArrayList[Goodspaye]()
-    pays.asScala.map(x=>{
-      var goodspaye = gpr.findByIdAndStatus(x.id, 0)
-      if(goodspaye!=null) {
-        goodspaye.alipays= goodspaye.alipays.asScala.filter(x=>{
-          x.paystatus==0
-        }).toSet.asJava
-        goodspaye.wxpayes=goodspaye.wxpayes.asScala.filter(x=>{
-          x.paystatus==0
-        }).toSet.asJava
-        goodspayes.add(goodspaye)
-      }
-
-
-    })
-    goodsPayeList=goodspayes
+//    val now = DateTime.now
+//    val day = now.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0);
+//    val pays = gpr.getGoodsPaysByHour(now)
+//    //过滤禁用的支付渠道
+//    val goodspayes = new util.ArrayList[Goodspaye]()
+//
+//    pays.asScala.map(x=>{
+//      var goodspaye = gpr.findByIdAndStatus(x.id, 0)
+//      if(goodspaye!=null) {
+//        goodspaye.alipays= goodspaye.alipays.asScala.filter(x=>{
+//          x.paystatus==0
+//        }).toSet.asJava
+//        goodspaye.wxpayes=goodspaye.wxpayes.asScala.filter(x=>{
+//          x.paystatus==0
+//        }).toSet.asJava
+//        goodspayes.add(goodspaye)
+//      }
+//
+//
+//    })
+
+    goodsPayeList= gpr.findByStatusOrderByIdDesc(0)
+
+
+//    goodsPayeList=goodspaye
 
 
     val ret = new util.HashMap[String, Goodspaye]()
     if(!goodsPayeList.isEmpty){
+
+      goodsPayeList.asScala.map(goodspaye=>{
+        //处理指定
+        goodspaye.goodspayditches.asScala.map(x => {
+          if (x.random.toInt == 1) {
+            if (x.optpay == 2) {
+              goodspaye.alipays =
+                goodspaye.alipays.asScala.filter(y => {
+                  y.id == x.appointpay
+                }).asJava
+            } else if (x.optpay == 1) {//wx
+              goodspaye.wxpayes = goodspaye.wxpayes.asScala.filter(y => {
+                y.id == x.appointpay
+              }).asJava
+            }
+          }else{//处理禁用
+            if (x.optpay == 2) {
+              goodspaye.alipays =
+                goodspaye.alipays.asScala.filter(y => {
+                  y.status==0&&y.paystatus==0
+                }).asJava
+            } else if (x.optpay == 1) {//wx
+              goodspaye.wxpayes = goodspaye.wxpayes.asScala.filter(y => {
+                y.status==0&&y.paystatus==0
+              }).asJava
+            }
+
+          }
+        })
+      })
+
+
+
+
+
       goodsPayeList.asScala.map(x=>{
         ret.put( x.getId.toString,  x)
       })
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/Context.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/Context.scala
index dc382d8..b921855 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/Context.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/Context.scala
@@ -12,7 +12,7 @@ import scala.beans.BeanProperty
  * @Date : 2022-07-15 01:01
  * @Version : 2.1.2
  */
-class Context(@BeanProperty var goodspayservice: GoodsPayService, @BeanProperty val request: PayType, @BeanProperty var payurl: PayUrl) {
+class Context(@BeanProperty var goodspayservice: GoodsPayService, @BeanProperty val request: PayType, @BeanProperty var payurl: PayUrl, @BeanProperty var returnUrl: String) {
 
   @BeanProperty var payLink: String = _
   @BeanProperty
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/PayRequest.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/PayRequest.scala
index cea41bb..fce5ca7 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/PayRequest.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/contect/PayRequest.scala
@@ -22,13 +22,20 @@ def toRequest(ip:String): PayType ={
     new PayType(PayTypeEnum.WXPAY,studentid,  ditch, goodsid, phone,ip, openid,nickname,headimgurl)
   }else if(paytype==2){
     new PayType(PayTypeEnum.ALIPAY,studentid,  ditch, goodsid, phone,ip,openid,nickname,headimgurl)
-  }else { //3
+  }else if(paytype==3){ //3
     new PayType(PayTypeEnum.WXJSPAY,studentid,  ditch, goodsid, phone,ip, openid,nickname,headimgurl)
 
+  }else {
+
+    new PayType(PayTypeEnum.FreePAY,studentid,  ditch, goodsid, phone,ip, openid,nickname,headimgurl)
   }
 }
+  def getFree(ip:String): PayType={
+    new PayType(PayTypeEnum.FreePAY,studentid,  ditch, goodsid, phone,ip, openid,nickname,headimgurl)
+  }
 }
 
+
 case class PayType( @BeanProperty paytypeenum:PayTypeEnum,
                     @BeanProperty studentid: String,
                     @BeanProperty ditch: String,
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayMapper.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayMapper.scala
index ac143c3..af2cb92 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayMapper.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayMapper.scala
@@ -25,6 +25,7 @@ import javax.persistence.{Column, Entity, Id, Table}
 import scala.beans.BeanProperty
 import scala.jdk.CollectionConverters._
 import org.hibernate.annotations.BatchSize
+import springfox.documentation.annotations.ApiIgnore
 
 
 /** 支付引擎专用映射类
@@ -32,7 +33,7 @@ import org.hibernate.annotations.BatchSize
  * @Date : 2022-07-13 23:22
  * @Version : 2.1.2
  */
-
+@ApiIgnore
 @Api(tags = Array("商品映射"), value = "API", hidden = true)
 @RestController
 @RequestMapping(Array("/t/"))
@@ -42,28 +43,30 @@ class GoodsPayController1 {
   //  @BeanProperty
   //  var gpr: GoodsRepositorye = _
 
-  @Resource
-  @BeanProperty
-  var gpr: GoodspayRepositorye = _
-  @PostMapping(Array("t"))
-  @ResponseBody
-  def getgoods(id:Long): Unit ={
-
-    //    var goodspayes = gpr.getGoodsPaysByHour(DateTime.now.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0))
-    var goodspayes =  gpr.findByIdAndStatus(id,0)
-    //    goodspayes.asScala.map(x=>{
-    //      println(x)
-    //      println(x)
-    //    })
-
-    println(goodspayes)
-  }
+//  @Resource
+//  @BeanProperty
+//  var gpr: GoodspayRepositorye = _
+//  @PostMapping(Array("t"))
+//  @ResponseBody
+//  def getgoods(id:Long): Unit ={
+//
+//    //    var goodspayes = gpr.getGoodsPaysByHour(DateTime.now.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0))
+//    var goodspayes =  gpr.findByIdAndStatus(id,0)
+//    //    goodspayes.asScala.map(x=>{
+//    //      println(x)
+//    //      println(x)
+//    //    })
+//
+//    println(goodspayes)
+//  }
 }
 
 @Repository trait GoodspayRepositorye extends CrudRepository[Goodspaye, Long]
   with JpaSpecificationExecutor[Goodspaye] with JpaRepository[Goodspaye, Long]
   with PagingAndSortingRepository[Goodspaye, Long] with GoodsPayDao{
   def findByIdAndStatus(id:Long,status:Int):Goodspaye
+  def findByStatus(status:Int):util.List[Goodspaye]
+  def findByStatusOrderByIdDesc(status:Int):util.List[Goodspaye]
 
   //  def findBySubjectLikeAndStatusAndUseridOrderById(subject: String,status:Int,userid: Long) :util.List[Goodspaye]
 
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayService.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayService.scala
index 1b1f15c..59f4338 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayService.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/GoodsPayService.scala
@@ -2,7 +2,7 @@ package com.icloud.server.scala.engine.service
 
 import com.icloud.server.scala.engine.cache.GoodsCache
 import org.slf4j.LoggerFactory
-import org.springframework.scheduling.annotation.Scheduled
+import org.springframework.scheduling.annotation.{Async, Scheduled}
 import org.springframework.stereotype.Service
 
 import javax.annotation.Resource
@@ -30,8 +30,13 @@ class GoodsPayService {
    *
    *
    **/
-
+  @Async("taskExecutor")
   def lading(): Unit ={
+    log.info("异步触发加载商品支付链接数据");
+    goodscache.init
+  }
+
+  def lading1(): Unit ={
     log.info("手动触发加载商品支付链接数据");
     goodscache.init
   }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OnloadPayLink.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OnloadPayLink.scala
index d8641cd..5af513f 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OnloadPayLink.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OnloadPayLink.scala
@@ -28,6 +28,7 @@ class OnloadPayLink {
 
   def process(context: Context) = {
 
+
     //查询所有支付的缓存
 //    val goodspays = goodspayservice.getGoodsPay
 //    //找商品橱窗的id
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OptisizingSelectionService.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OptisizingSelectionService.scala
index d25cac8..2776d59 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OptisizingSelectionService.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/OptisizingSelectionService.scala
@@ -38,7 +38,10 @@ class OptisizingSelectionService {
     if (goodspaye == null) {
       null
     } else {
-      selectByWeight(selectByPriority(goodspaye),context)
+      //不用每次处理随机和指定参数了,初始化中做,更加能优化代码
+//      selectByWeight(selectByPriority(goodspaye),context)
+      selectByWeight(goodspaye,context)
+
     }
   }
 
@@ -71,23 +74,24 @@ class OptisizingSelectionService {
 
   //
   //不随机,指定支付id 判断是否是指定的
-  def selectByPriority(goodspaye: Goodspaye): Goodspaye = {
-    goodspaye.goodspayditches.asScala.map(x => {
-      if (x.random == 0) {
-        if (x.optpay == 1) { //wx
-          goodspaye.alipays =
-            goodspaye.alipays.asScala.filter(y => {
-              y.appid != x.appointpay
-            }).asJava
-        } else if (x.optpay == 2) {
-          goodspaye.wxpayes = goodspaye.wxpayes.asScala.filter(y => {
-            y.appid != x.appointpay
-          }).asJava
-        }
-      }
-    })
-    goodspaye
-  }
+  // todo 已经在初始化缓存中做了,不需要处理
+//  def selectByPriority(goodspaye: Goodspaye): Goodspaye = {
+//    goodspaye.goodspayditches.asScala.map(x => {
+//      if (x.random.toInt == 1) {
+//        if (x.optpay == 2) {
+//          goodspaye.alipays =
+//            goodspaye.alipays.asScala.filter(y => {
+//              y.id == x.appointpay
+//            }).asJava
+//        } else if (x.optpay == 1) {//wx
+//          goodspaye.wxpayes = goodspaye.wxpayes.asScala.filter(y => {
+//            y.id == x.appointpay
+//          }).asJava
+//        }
+//      }
+//    })
+//    goodspaye
+//  }
 
   //通过 权重, 随机 返回 alipayid wxpayid
   def selectByWeight(goodspaye: Goodspaye, context: Context): Goodspaye = {
@@ -101,6 +105,7 @@ class OptisizingSelectionService {
         if (goodspaye.wxpayes.size() == 1) {
           wx = goodspaye.wxpayes.asScala.toList(0)
         } else {
+          wx = goodspaye.wxpayes.asScala.toList.last
           val wxpays = goodspaye.wxpayes.asScala.toList
 
           var totalWeight: Int = 0
@@ -112,7 +117,7 @@ class OptisizingSelectionService {
           var end: Int = 0
           var ni: Int = 1
           while (ni < wxpays.size) {
-            if (ni == 1) {
+            if (ni == 1) { //初始化
               start = wxpays(ni - 1).getWeight
               end = wxpays(ni - 1).getWeight + wxpays(ni).getWeight
             } else {
@@ -140,6 +145,7 @@ class OptisizingSelectionService {
         if (goodspaye.alipays.size() == 1) {
           ali = goodspaye.alipays.asScala.toList(0)
         } else {
+          ali = goodspaye.alipays.asScala.toList.last
           val alipays = goodspaye.alipays.asScala.toList
           var totalWeight: Int = 0
           for (wx <- alipays) {
@@ -184,8 +190,11 @@ class OptisizingSelectionService {
     context.alipayid=ali.id
     context.wxpayid=wx.id
     context.uid=wx.userid
-    if( context.request.phone!=null)
+    if( context.request.phone!=null) {
       context.phone= context.request.phone
+    }
+    println("最后计算_wx_id:"+context.wxpayid)
+    println("最后计算_ali_id:"+context.alipayid)
     println("最后计算_aliappid:"+context.aliappid)
     println("最后计算_wxappid:"+context.wxappid)
     println("最后计算_goodspaye:"+context.goodspaye)
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/PayOrderServer.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/PayOrderServer.scala
index 4277d88..a55ec63 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/PayOrderServer.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/service/PayOrderServer.scala
@@ -29,9 +29,6 @@ class PayOrderServer {
   var pnr: PayNotifyRepository = _
 
 
-  def aa(): Unit ={
-    println("aaa")
-  }
   /**
    * @Description:
    * @Author: yang
@@ -52,8 +49,9 @@ class PayOrderServer {
 
     //    val url = ""
 //    val url = context.goodspaye.payrealmname.url+"/unitePay/notify/aliorder"
-    val url = context.goodspaye.payrealmname.url + s"/pay/aliorder/alinotify/${channelId}"
+    val url = context.goodspaye.payrealmname.url + s"/occloud/pay/aliorder/alinotify/${channelId}"
     println("回调地址:"+url)
+    println("返回地址:"+context.getReturnUrl)
     val aliappid = context.aliappid
     val privatekey = context.privatekey
     val alipaypublickey = context.alipaypublickey
@@ -67,6 +65,7 @@ class PayOrderServer {
     e.setNotifyurl(url)
     e.setOuttradeno(str)
     e.setStatus(0)
+
     pnr.save(e)
     //todo 订单保存,接收订单,检索订单-------1.0.3
     val id = new IdWorker().nextId()
@@ -82,11 +81,13 @@ class PayOrderServer {
     o.setSubject(subject)
     o.setUserip(ip)
     o.setChannelid(channelId)
+    o.setGoodspayid(context.request.goodsid)
     if(context.request.openid!=null){
       o.setOpenid(context.request.openid)
       o.setNickname(context.request.nickname)
       o.setHeadimgurl(context.request.headimgurl)
     }
+    o.setPaytype(2)
     por.save(o)
 
     val pe = new PayEntiy()
@@ -105,7 +106,7 @@ class PayOrderServer {
     pe.setExpireTime(goodspay.getExpireendtime)
     pe.setChannelId(channelId)
     pe.setReturnUrl(context.goodspaye.payrealmname.url )
-
+    pe.setReturnUrl(context.returnUrl)
     ps.getPayUrl(pe)
   }
 
@@ -130,7 +131,7 @@ class PayOrderServer {
 
 //    val url = context.goodspaye.payrealmname.url+"/unitePay/notify/wxorder"
 //val url = context.goodspaye.payrealmname.url + s"/pay/order/wxnotify/${channelId}"
-    val url = context.goodspaye.payrealmname.url + s"/pay/order2/notify/order/${channelId}"
+    val url = context.goodspaye.payrealmname.url + s"/occloud/pay/order2/notify/order/${channelId}"
     println("回调地址:"+url)
     val OrderId = String.valueOf(System.currentTimeMillis)
     context.request.ip
@@ -166,6 +167,8 @@ class PayOrderServer {
       o.setNickname(context.request.nickname)
       o.setHeadimgurl(context.request.headimgurl)
     }
+    o.setGoodspayid(context.request.goodsid)
+    o.setPaytype(1)
     por.save(o)
     val pe = new PayEntiy()
     pe.setBody(subject)
@@ -203,7 +206,7 @@ class PayOrderServer {
 
 //    val url = context.goodspaye.payrealmname.url+"/unitePay/notify/wxorder"
 //    val url = context.goodspaye.payrealmname.url + s"/pay/order/wxnotify/${channelId}"
-    val url = context.goodspaye.payrealmname.url + s"/pay/order2/notify/order/${channelId}"
+    val url = context.goodspaye.payrealmname.url + s"/occloud/pay/order2/notify/order/${channelId}"
 
     println("回调地址:"+url)
 
@@ -239,6 +242,8 @@ class PayOrderServer {
       o.setHeadimgurl(context.request.headimgurl)
     }
     o.setChannelid(channelId)
+    o.setGoodspayid(context.request.goodsid)
+    o.setPaytype(1)
     por.save(o)
     val pe = new PayEntiy()
     pe.setBody(subject)
@@ -258,5 +263,45 @@ class PayOrderServer {
     ps.getPayUrl(pe)
 
   }
+  //保存免费的订单
+  def saveFree(context:Context): String ={
+    //获取商品信息基础信息
+    val goodspay = context.goodspaye
+    val subject = goodspay.subject
+    val shortname = goodspay.shortname
+    val channelId = RandomUtil.randomLong
+    val ip = context.request.ip
+    val wxpayid = context.wxpayid
+    val phone = if (context.phone != null) context.phone else null
+    var uid=context.uid
+    val id = new IdWorker().nextId()
+    val OrderId = String.valueOf(System.currentTimeMillis)
+    val o = new PayOrderDO()
+    o.setId(id)
+    o.setMerchantid(uid)
+    o.setMerchantorderid(OrderId)
+    o.setAmount(goodspay.payment)
+    o.setAppid(wxpayid)
+    o.setBody(shortname)
+    o.setCreator(phone)
+    o.setSubject(subject)
+    o.setUserip(ip)
+    o.setStatus(1)
+    if(context.request.openid!=null){
+      o.setOpenid(context.request.openid)
+      o.setNickname(context.request.nickname)
+      o.setHeadimgurl(context.request.headimgurl)
+    }
+    o.setChannelid(channelId)
+    o.setGoodspayid(context.request.goodsid)
+    o.setPaytype(1)
+    por.save(o)
+    "ok"
+  }
+
+
+
+
+
 
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/PayControllerPlus.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/PayControllerPlus.scala
index c904eb3..592e146 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/PayControllerPlus.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/PayControllerPlus.scala
@@ -24,7 +24,7 @@ import java.util.regex.{Matcher, Pattern}
  */
 @Api( tags = Array( "H5统一支付--1.0.2" ), value = "API",hidden = true )
 @RestController
-@RequestMapping(Array("/unitePay/"))
+@RequestMapping(Array("/occloud/unitePay/"))
 @CrossOrigin
 class PayControllerPlus {
   @Resource
@@ -38,7 +38,7 @@ class PayControllerPlus {
   var payorderserver: PayOrderServer = _
   @PostMapping( Array( "loding" ) )
   def Loding(): Unit ={
-    goodspayservice.lading()
+    goodspayservice.lading1()
   }
 
   @ApiOperation( value = "获取支付链接---通用版本1.0.2版本--风控版本", notes = "" )
@@ -55,7 +55,7 @@ class PayControllerPlus {
     val new_req = req.toRequest(ip)
     val cache = goodspayservice.getGoodsPayById(new_req.goodsid.toString)
     if(cache==null) return null
-    val url2 = cache.payrealmname.url
+    var url2 = cache.payrealmname.url
     val wxappid2 = cache.payrealmname.appid
 //    val url2 = ""
     val url = request.getHeader("Referer")
@@ -63,21 +63,31 @@ class PayControllerPlus {
     println("数据库域名:"+url2)
 //    val bool1 = patterns(url, url2)
 //    println("域名校验结果:"+bool1)
+
     val bool2 = patterns( url2,url)
     println("域名校验结果:"+bool2)
+
+
     //域名过滤
-    if(!patterns(url2,url)){
-      println("====支付域名不对=====")
-      return null
-    }
-    val context = new Context( goodspayservice, new_req,null)
-    onloadpaylink.process(context)
+//    if(!patterns(url2,url)){
+//      println("====支付域名不对=====")
+//      return null
+//    }
+    url2+="#/?ditch="+req.ditch+"&goodsid="+req.goodsid+"&phone=1"
+
+    var context = new Context( goodspayservice, new_req,null,url2)
+//    if(context.goodspayservice.)
+    val goodspaye = onloadpaylink.process(context)
+    val payment1 = goodspaye.payment
+    //判断免费
+//   if(payment1==0L) context = new Context( goodspayservice, req.getFree(ip),null,url2)
     if(wxappid2!=null) context.setWxappid2(wxappid2)
     var result =
     context. request.paytypeenum match {
       case PayTypeEnum.WXPAY => GetWxReq(context)
       case PayTypeEnum.ALIPAY =>GetAliReq(context)
       case PayTypeEnum.WXJSPAY =>GetWxJsReq(context)
+      case PayTypeEnum.FreePAY =>saveFree(context)
       case _ =>  null
     }
 
@@ -116,36 +126,11 @@ class PayControllerPlus {
     }
     boolean
   }
-//
-//  @GetMapping(Array("mini"))
-//  @ResponseBody
-//  def getminitets(): JsonResult ={
-//    val unit = amountredis.WxgetminAmount("1", "2")
-//    new JsonResult(unit)
-//  }
-//  @GetMapping(Array("all"))
-//  @ResponseBody
-//  def getminitets1(): JsonResult ={
-//    new JsonResult(amountredis.WxgetAllPay("1","2"))
-//  }
-//  @GetMapping(Array("push"))
-//  def pustest(payid:String,L:Long): Unit ={
-////    val l = new Random(100).
-////    println(l)
-//    amountredis.WxpushAmount("1","2",payid, L)
-//  }
-//  @GetMapping(Array("push"))
-//  def pustest(payid:String,L:Long): Unit ={
-//    //    val l = new Random(100).
-//    //    println(l)
-//    amountredis.WxpushAmount("1","2",payid, L)
-//  }
-//  @GetMapping(Array("push"))
-//  def pustest(payid:String,L:Long): Unit ={
-//    //    val l = new Random(100).
-//    //    println(l)
-//    amountredis.WxpushAmount("1","2",payid, L)
-//  }
+
+
+  def saveFree(context: Context): Object ={
+    payorderserver.saveFree(context)
+  }
 
 
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/test.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/test.scala
index 848ade8..ac24bd7 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/test.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/engine/web/test.scala
@@ -4,6 +4,7 @@ import com.icloud.server.utils.JsonUtils
 
 import java.util
 import java.util.regex.{Matcher, Pattern}
+import scala.collection.convert.ImplicitConversions.`seq AsJavaList`
 
 object test {
   def main(args: Array[String]): Unit = {
@@ -15,18 +16,32 @@ object test {
 //    var word = "@@全部内容"
 //    val result = word.search("全部内容")
 //    console.log(word.search("全部内容") != -1)
+    var u="http://pay.finekaa.com/#/?ditch=1578582016&goodsid=284406742828216320&phone=1"
+    val s = u.split("\\//").toList(1)
+    println(s)
 
-
-//    val a = new AA("q", new BB("q", "1"))
-//    val b = new AA("2", new BB("c", "2"))
-//    val c = new AA("3", new BB("d", "3"))
-    var si=Set(1,2,3,4,5,6)
+    val a = new AA("q", new BB("q", "1"))
+    val b = new AA("2", new BB("c", "2"))
+    val c = new AA("3", new BB("d", "3"))
+//    var si=Set(1,2,3,4,5,6)
 //    var s1=Set()
 //    val value = si.filter(x => x == 1).toSet
-//    println(value)
+
 //        var si=Set(a,b,c)
+//    println(si)
 //    val value = si.filter(x => x.b.a.equals("c")).toSet
 //        println(value)
+
+    val cc = new CC(List(a, b),"")
+    val c1 = new CC(List( c),"")
+    var dd=new DD(List(cc,c1))
+//    println(dd)
+//    dd.cc.map(x=>{x.aas= x.aas.filter(y=>{y.a=="2"})}).filter(x=>{x.!=(null)})
+//
+//    println(dd)
+val dd1 = setaa(dd)
+    println(dd1)
+//    r
 //    var s="asdasdasd aas"
 //    println(s.hashCode)
 //    println(patterns("1qweqwe", "1qweqweasdas"))
@@ -35,13 +50,21 @@ object test {
 //    请求url = http://pay.finekaa.com/?code=031eUSkl2420B94onZkl2UsF400eUSkn&state=1
 //      数据库域名:http://pay.finekaa.com
 //      域名校验结果:false
-    var s1="http://pay.finekaa.com/?code=031eUSkl2420B94onZkl2UsF400eUSkn&state=1"
-    var s2="http://pay.finekaa.com"
-    println(patterns(s1, s2))
-    println(patterns(s2, s1))
+//    var s1="http://pay.finekaa.com/?code=031eUSkl2420B94onZkl2UsF400eUSkn&state=1"
+//    var s2="http://pay.finekaa.com"
+//    println(patterns(s1, s2))
+//    println(patterns(s2, s1))
+
 
 
+  }
+  def setaa(d:DD): DD ={
 
+    val value = d.cc.filter(x => {
+      x.ff = "1123122"
+      true
+    })
+    new DD(value)
   }
   def patterns(param1:String,param2:String): Boolean ={
     var boolean=false
@@ -50,7 +73,38 @@ object test {
     boolean = matcher.find
     boolean
   }
+
+  def r(): Unit ={
+    var wxpays=List(1,2,1,5,4)
+    var random=4
+    var start: Int = 0
+    var end: Int = 0
+    var ni: Int = 1
+    var wx=wxpays.last
+    while (ni < wxpays.size) {
+      if (ni == 1) { //初始化
+        start = wxpays(ni - 1)
+        end = wxpays(ni - 1) + wxpays(ni)
+      } else {
+        start = end
+        end = start + wxpays(ni)
+      }
+      if (random >= start && random < end) {
+        wx= wxpays(ni)
+        ni= wxpays.size+1
+      }
+      else if (random < start) {
+        wx= wxpays.get(ni - 1)
+        ni= wxpays.size+1
+      }
+      ni+=1
+    }
+    println(wx)
+  }
 }
 case class AA(a:String,b:BB)
 
 case class BB(a:String,b:String)
+
+case class CC(var aas: List[AA],var ff:String)
+case class DD(cc: List[CC])
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodsController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodsController.scala
index f1bae1b..613085f 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodsController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodsController.scala
@@ -2,9 +2,11 @@ package com.icloud.server.scala.goods
 
 import com.fasterxml.jackson.annotation.{JsonAutoDetect, JsonProperty}
 import com.icloud.server.scala.engine.service.GoodsPayService
+import com.icloud.server.scala.pay.PayRealmNameRepository
 import com.icloud.server.scala.shiro.UserRepository
 import com.icloud.server.utils.IdWorker
 import com.icloud.server.web.JsonResult
+import com.icloud.server.web.err.{ServerException, ServicerunException}
 import io.swagger.annotations._
 import lombok.{AllArgsConstructor, Data, NoArgsConstructor}
 import org.hibernate.annotations.{CreationTimestamp, UpdateTimestamp}
@@ -30,7 +32,7 @@ import scala.jdk.CollectionConverters._
 
 @Api(tags = Array("商品橱柜和商品支付链接"), value = "API", hidden = true)
 @RestController
-@RequestMapping(Array("/goods/"))
+@RequestMapping(Array("/occloud/goods/"))
 @CrossOrigin
 class GoodsController {
 
@@ -61,7 +63,9 @@ class GoodsController {
   @Resource
   @BeanProperty var goodspayservice: GoodsPayService = _
 
-
+  @Resource
+  @BeanProperty
+  var prnr:PayRealmNameRepository=_
 
 
   /**
@@ -86,10 +90,10 @@ class GoodsController {
     //查询多少条
 
     val request :Pageable= PageRequest.of(page-1, size, Sort.Direction.DESC, "goodsid")
-    val count1 = gr.countBySubject(name)
+//    val count1 = gr.countBySubject(name)
 
-    val count = gr.countBySubjectLikeAndStatusAndParentAndUseridOrderByGoodsid("%" + name + "%", 0, 1, uid)
-    val list = gr.findBySubjectLikeAndStatusAndParentAndUseridOrderByGoodsidDesc("%" + name + "%", 0, 1, uid,request)
+    val count = gr.countBySubjectLikeAndUseridAndStatusOrderByGoodsid("%" + name + "%",  uid,0)
+    val list = gr.findBySubjectLikeAndUseridAndStatusOrderByGoodsidDesc("%" + name + "%", uid,0,request)
 
     new JsonResult(new Findbylikename(count,list))
   }
@@ -117,7 +121,26 @@ class GoodsController {
     goodspayservice.lading()
     new JsonResult("ok")
   }
-
+  @ApiOperation(value = "上架/下架商品", notes = "")
+  @ApiImplicitParams(Array(
+    new ApiImplicitParam(name = "req", value = "上架/下架商品", required = true, dataType = "UpDown")
+  ))
+  @PostMapping(Array("UporDown"))
+  @ResponseBody
+  def up_down(@RequestBody req:  UpDown): JsonResult ={
+    val l = System.currentTimeMillis()
+    val goods = gr.findByGoodsid(req.goodsid)
+    val l2 = System.currentTimeMillis()
+    val status = if(goods.status==1)0 else 1
+    goods.setStatus(status)
+    gr.save(goods)
+    val l3 = System.currentTimeMillis()
+    var l5=l3-l2
+    var l4=l2-l
+    println("=====搜索时间2:"+l4)
+    println("======保存时间2:"+l5)
+    new JsonResult("ok")
+  }
 
 
   @ApiOperation(value = "创建商品橱柜商品", notes = "")
@@ -155,12 +178,19 @@ class GoodsController {
       x.goodsid=goodspay.goodsid
       createGoodspayditch(x)
     })
+    //查询域名 http://pay.finekaa.com/#/?ditch=1578582016&goodsid=282734696473845760&phone=0
+    val uurl = prnr.findByUseridAndStatus(goodspay.uid, 0)
+    val url = try {
+      uurl.get(0).url + "/#/?ditch=1&phone=0&goodsid=" + goodspayidss
+    } catch {
+      case e =>throw new ServicerunException("请配制公众号域名!")
+    }
 
     gpr.save(new Goodspay().toEntity(goodspayidss, goodspay.goodsid, goodspay.paymentmodel,
       goodspay.payment, goodspay.fullphone, goodspay.expiremodel, goodspay.expireendtime,
       goodspay.expiremillisecond, goodspay.remark, 0, // ditchid,
       goodspay.subject,
-      goodspay.uid, goodspay.starttime, goodspay.shortname))
+      goodspay.uid, goodspay.starttime, goodspay.shortname,url))
     goodspayservice.lading()
     new JsonResult("ok")
   }
@@ -206,18 +236,24 @@ class GoodsController {
 //id: Long, goodsid: Long, goodspayid: Long, payname: String, optpay: Long, random: String, appointpay: Long, status: Int
   def createGoodspayditch(gd: GoodspayditchCase): Long = {
     val id = new IdWorker().nextId()
-    gpdr.save(new Goodspayditch().toEntity(id, gd.goodsid, gd.goodspayid, gd.payname, gd.optpay, gd.random, gd.appointpay, gd.status))
+    //帮助前端抓bug
+    println("=======gd.random:"+gd.random)
+    val random=if(gd.random==null||gd.random=="")"0" else gd.random
+    gpdr.save(new Goodspayditch().toEntity(id, gd.goodsid, gd.goodspayid, gd.payname, gd.optpay, random, gd.appointpay, gd.status))
     id
   }
 
 
   @ApiOperation(value = "搜索商品橱柜里所有商品", notes = "")
   @ApiImplicitParams(Array(
-    new ApiImplicitParam(name = "uid", value = "用户名", required = true, dataType = "String")
+    new ApiImplicitParam(name = "uid", value = "用户名", required = true, dataType = "Long"),
+  new ApiImplicitParam(name = "strtus", value = "用户名", required = true, dataType = "Int"),
+  new ApiImplicitParam(name = "page", value = "用户名", required = true, dataType = "Int"),
+  new ApiImplicitParam(name = "size", value = "用户名", required = true, dataType = "Int")
   ))
   @PostMapping(Array("select"))
   @ResponseBody
-  def select(uid: Long,strtus:Int,@RequestParam page:Int, @RequestParam size:Int): JsonResult = {
+  def select(@RequestParam uid: Long,@RequestParam strtus:Int, @RequestParam page:Int, @RequestParam size:Int): JsonResult = {
     val request :Pageable= PageRequest.of(page-1, size, Sort.Direction.DESC, "goodsid")
 
     val (count,goodses) = if(strtus==3){
@@ -238,14 +274,16 @@ class GoodsController {
   ))
   @PostMapping(Array("findgoodspays"))
   @ResponseBody
-  def findgoodspay(uid: String,@RequestParam page:Int, @RequestParam size:Int): JsonResult = {
+  def findgoodspay(uid: Long,@RequestParam page:Int, @RequestParam size:Int): JsonResult = {
     val request :Pageable= PageRequest.of(page-1, size, Sort.Direction.DESC, "id")
+
+    val count = gpr1.countByStatusAndUseridOrderByIdDesc(0, uid)
     val goodses = gpr1.findByStatusAndUseridOrderByIdDesc(0, uid,request)
    var value= goodses.asScala.filter(x=>{
       x.goodspayditch=x.goodspayditch.asScala.filter(_.status==0).asJava
       true
     }).toList.asJava
-    new JsonResult(value)
+    new JsonResult(new Findgoodspays(count,value))
   }
 
   @ApiOperation(value = "商品链接查询---模糊检索查询名字", notes = "")
@@ -255,15 +293,18 @@ class GoodsController {
   ))
   @PostMapping(Array("findBysub"))
   @ResponseBody
-  def select(uid: Long, subject: String): JsonResult = {
-    val goodses = gpr1.findBySubjectLikeAndStatusAndUseridOrderByIdDesc(subject, 0, uid)
+  def select(uid: Long, subject: String,@RequestParam page:Int, @RequestParam size:Int): JsonResult = {
+
+    val request :Pageable= PageRequest.of(page-1, size, Sort.Direction.DESC, "id")
+    var count = gpr1.countBySubjectLikeAndStatusAndUserid("%" +subject+"%" , 0, uid)
+    val goodses = gpr1.findBySubjectLikeAndStatusAndUseridOrderByIdDesc("%" +subject+"%" , 0, uid,request)
     val username = ur.findById(uid.toInt).username
     if (!goodses.isEmpty) {
       goodses.asScala.map(x => {
         x.username = username
       })
     }
-    new JsonResult(goodses)
+    new JsonResult(new Findgoodspays(count,goodses))
   }
 
   @ApiOperation(value = "删除商品链接----1.0.2", notes = "")
@@ -326,14 +367,20 @@ class GoodsController {
   def findByUseridAndStatus(userid: Long, status: Int): java.util.List[Goods]
 
   def findByGoodsidAndAndStatus(goodsid: Long, status: Int): Goods
+  def findByGoodsid(goodsid: Long): Goods
+
   def countBySubject(subject: String): Long
 
   //  def findBySubjectLikeAndStatusAndParentOrderByGoodsid(subject: String,status:Int,parent: Int) :util.List[Goods]
   def countBySubjectLikeAndStatusAndParentAndUseridOrderByGoodsid(subject: String, status: Int, parent: Int, userid: Long): Long
   def findBySubjectLikeAndStatusAndParentAndUseridOrderByGoodsidDesc(subject: String, status: Int, parent: Int, userid: Long,pageable: Pageable): java.util.List[Goods]
-
+  def countBySubjectLikeAndUseridOrderByGoodsid(subject: String, userid: Long): Long
+  def findBySubjectLikeAndUseridOrderByGoodsidDesc(subject: String,  userid: Long,pageable: Pageable): java.util.List[Goods]
+  def countBySubjectLikeAndUseridAndStatusOrderByGoodsid(subject: String, userid: Long,status: Int): Long
+  def findBySubjectLikeAndUseridAndStatusOrderByGoodsidDesc(subject: String,  userid: Long,status: Int,pageable: Pageable): java.util.List[Goods]
   def findBySubjectLike(subject: String): java.util.List[Goods]
 
+
 }
 
 @Repository trait GoodsRepository1 extends CrudRepository[Goods2, Long] with JpaSpecificationExecutor[Goods2] with JpaRepository[Goods2, Long] with PagingAndSortingRepository[Goods2, Long] {
@@ -521,6 +568,9 @@ class Goodspay extends Serializable {
   @Column
   var remark: String = _
   @BeanProperty
+  @Column(name = "pay_ink")
+  var payink: String = _
+  @BeanProperty
   @Column var status: Int = _
   @CreationTimestamp
   @BeanProperty
@@ -538,7 +588,7 @@ class Goodspay extends Serializable {
   def toEntity(id: Long, goodsid: Long, paymentmodel: Int, payment: Long,
                fullphone: String, expiremodel: String, expireendtime: Date,
                expiremillisecond: Long, remark: String, status: Int, //ditchid: Long,
-               subject: String, userid: Long, starttime: Date, shortname: String
+               subject: String, userid: Long, starttime: Date, shortname: String,payink: String
               ): Goodspay = {
     this.id = id
     this.goodsid = goodsid
@@ -555,6 +605,7 @@ class Goodspay extends Serializable {
     this.userid = userid
     this.starttime = starttime
     this.shortname = shortname
+    this.payink = payink
     this
   }
 
@@ -702,6 +753,8 @@ case class UpdateGoodsReq(@JsonProperty("goodsid") goodsid: Long,
                           @JsonProperty("sub") sub: Array[Long])
 
 @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
+case class UpDown(@JsonProperty("goodsid") goodsid: Long, @JsonProperty("uid") uid: Long)
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
 @ApiModel(description = "表名描述")
 case class UpGoodsReq1(@(ApiModelProperty@field)(position = 1, example = "1232", value = "用户id") @JsonProperty("uid") uid: Long,
                        @(ApiModelProperty@field)(position = 1, example = "1232", value = "图片URL") @JsonProperty("picurl") picurl: String)
@@ -766,4 +819,7 @@ case class UpGoodspayditchReq(
 
                              )
 case class Findbylikename(@BeanProperty count:Long, @BeanProperty goods:util.List[Goods])
-case class SelectALl(@BeanProperty count:Long, @BeanProperty goods:util.List[Goods2])
\ No newline at end of file
+
+case class Findgoodspays(@BeanProperty count:Long, @BeanProperty goods:util.List[Goodspay2])
+
+case class SelectALl( @BeanProperty count:Long, @BeanProperty goods:util.List[Goods2])
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodspayRepository1.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodspayRepository1.scala
index 290ff11..faa9215 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodspayRepository1.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/goods/GoodspayRepository1.scala
@@ -32,7 +32,13 @@ import scala.jdk.CollectionConverters._
   with PagingAndSortingRepository[Goodspay2, Long] {
   def findBySubjectLikeAndStatusAndUseridOrderByIdDesc(subject: String,status:Int,userid: Long) :util.List[Goodspay2]
 //  def findByUseridAndStatus(userid: String,status: Int): java.util.List[Goodspay2]
-  def findByStatusAndUseridOrderByIdDesc(status: Int,userid: String,pageable: Pageable): java.util.List[Goodspay2]
+def findByStatusAndUseridOrderByIdDesc(status: Int,userid: Long,pageable: Pageable): java.util.List[Goodspay2]
+  def countByStatusAndUseridOrderByIdDesc(status: Int,userid: Long): Long
+  def countBySubject(subject: String): Long
+  def countBySubjectLike(subject: String): Long
+  def countBySubjectLikeAndStatus(subject: String, status: Int): Long
+  def countBySubjectLikeAndStatusAndUserid(subject: String, status: Int,   userid: Long): Long
+  def findBySubjectLikeAndStatusAndUseridOrderByIdDesc(subject: String, status: Int,  userid: Long,pageable: Pageable): util.List[Goodspay2]
 
 }
 @Data
@@ -66,7 +72,7 @@ class Goodspay2 extends Serializable {
   var shortname: String = _
   @BeanProperty
   @Column( name = "user_id" )
-  var userid: String = _
+  var userid: Long = _
   @BeanProperty
   @Column(name = "goods_id" ,insertable = false, updatable = false)
   var goodsid: Long = _
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/h5/H5PayPageCtroller.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/h5/H5PayPageCtroller.scala
index 4788b79..492d2c4 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/h5/H5PayPageCtroller.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/h5/H5PayPageCtroller.scala
@@ -21,7 +21,7 @@ import scala.beans.BeanProperty
  */
 @Api( tags = Array( "获取H5页面参数" ), value = "API",hidden = true )
 @RestController
-@RequestMapping(Array("/unitePay/"))
+@RequestMapping(Array("/occloud/unitePay/"))
 @CrossOrigin
 class H5PayPageCtroller {
 
@@ -65,7 +65,13 @@ class H5PayPageCtroller {
     }
     val appId = gpp.payrealmname.appid
     val url = gpp.payrealmname.url
-    val res = GetPayListRes(goods.subject, goods.shortname, goods.picurl, goods.body, gp.payment.toString, goods.markingprice.toString, gp.fullphone, gp.expireendtime, appId, url)
+    val time = try {
+       gp.expireendtime.getTime
+    } catch {
+      case e =>new Date().getTime+1800*1000
+    }
+
+    val res = GetPayListRes(goods.subject, goods.shortname, goods.picurl, goods.body, gp.payment.toString, goods.markingprice.toString, gp.fullphone, time, appId, url)
     new JsonResult(res)
 
   }
@@ -143,7 +149,7 @@ case class GetPayListRes(  @BeanProperty subject:String,
                           @BeanProperty price:String ,
                           @BeanProperty  marking_price:String,
                           @BeanProperty getphone:String,
-                           @BeanProperty  endtime:Date,
+                           @BeanProperty  endtime:Long,
                            @BeanProperty  appId:String,
                            @BeanProperty  url:String
                         )
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayController.scala
index 90d65b4..866ff03 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayController.scala
@@ -25,9 +25,9 @@ import scala.jdk.CollectionConverters._
  * @Date : 2022-07-07 6:40 PM
  * @Version : 2.1.2
  */
-@Api(tags = Array("支付渠道"), value = "API")
+@Api(tags = Array("支付渠道与查询"), value = "API")
 @RestController
-@RequestMapping(Array("/pay/"))
+@RequestMapping(Array("/occloud/pay/"))
 @CrossOrigin
 class PayController {
   @Resource
@@ -40,7 +40,7 @@ class PayController {
   @BeanProperty
   var wr1: Wxpay1Repository = _
 
-  @ApiOperation(value = "在支付配制中查询支付宝的详情", notes = "")
+  @ApiOperation(value = "在支付配制中---查询支付宝的详情", notes = "")
   @ApiImplicitParams(Array(
     new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
   ))
@@ -60,13 +60,13 @@ class PayController {
     new JsonResult(alipays)
   }
 
-  @ApiOperation(value = "在支付配制中查询微信渠道信息", notes = "")
+  @ApiOperation(value = "在支付配制中---查询微信渠道信息", notes = "")
   @ApiImplicitParams(Array(
     new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
   ))
   @PostMapping(Array("findWX1"))
   @ResponseBody
-  def findWx1(uid: String): JsonResult = {
+  def findWx1( uid: String): JsonResult = {
     var wxpays = wr1.findByUseridAndStatus(uid, 0)
     wxpays=if(!wxpays.isEmpty) {
       wxpays.asScala.filter(x=>{
@@ -82,14 +82,14 @@ class PayController {
   }
 
 
-  @ApiOperation(value = "查询支付宝渠道信息", notes = "")
+  @ApiOperation(value = "在创建支付链接中---查询支付宝渠道信息", notes = "")
   @ApiImplicitParams(Array(
     new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
   ))
   @PostMapping(Array("findAli"))
   @ResponseBody
   def findAli(uid: String): JsonResult = {
-    var alipays = ar1.findByUseridAndStatus(uid, 0)
+    var alipays = ar1.findByUseridAndStatusAndPaystate(uid, 0,0)
     alipays=if(!alipays.isEmpty){
       alipays.asScala.filter(x=>{
         x.alipaypublickey=x.alipaypublickey
@@ -109,14 +109,14 @@ class PayController {
     new JsonResult(res)
   }
 
-  @ApiOperation(value = "查询微信渠道信息", notes = "")
+  @ApiOperation(value = "在创建支付链接中---查询微信渠道信息", notes = "")
   @ApiImplicitParams(Array(
     new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
   ))
   @PostMapping(Array("findWX"))
   @ResponseBody
   def findWx(uid: String): JsonResult = {
-    var wxpays = wr1.findByUseridAndStatus(uid, 0)
+    var wxpays = wr1.findByUseridAndStatusAndPaystate(uid, 0,0)
     wxpays=if(!wxpays.isEmpty) {
       wxpays.asScala.filter(x=>{
         x.appid=x.appid
@@ -125,17 +125,7 @@ class PayController {
         true
       }).asJava
     }else new util.ArrayList[Wxpay1]()
-    // @(ApiModelProperty@field)(position = 1, example = "1232", value = "goodsid") @JsonProperty("goodsid") goodsid: Long,
-    //                              @ApiIgnore() @(ApiModelProperty@field)(position = 1, example = "1232", value = "goodspayid") @JsonProperty("goodspayid") var goodspayid: Long,
-    //                              @(ApiModelProperty@field)(position = 1, example = "1232", value = "payname") @JsonProperty("payname") payname: String,
-    //                              @(ApiModelProperty@field)(position = 1, example = "1232", value = "optpay") @JsonProperty("optpay") optpay: Long,
-    //                              @(ApiModelProperty@field)(position = 1, example = "1232", value = "random") @JsonProperty("random") random: String,
-    //                              @(ApiModelProperty@field)(position = 1, example = "1232", value = "appointpay") @JsonProperty("appointpay") appointpay: Long,
-    //                              @(ApiModelProperty@field)(position = 1, example = "1232", value = "status") @JsonProperty("status") status: Int)
-//   wxpays.asScala.map(x=>{
-//
-//   })
-//    new GoodspayditchCase()
+
 
     val wxpay = new Wxpay1()
     wxpay.setId(0)
@@ -160,7 +150,7 @@ class PayController {
     //    println(s"privatekey = ${req.privatekey}")
     //    println(s"alipaypublickey = ${req.alipaypublickey}")
     //    println(s"req.paytype = ${req.paytype}")
-    ar1.save(new Alipay1().toEntity(req.name, req.appid, req.privatekey, req.alipaypublickey, 0, 1, 500000L, req.uid, req.paytype, 0))
+    ar1.save(new Alipay1().toEntity(req.name, req.appid, req.privatekey, req.alipaypublickey, 0, 1, 500000L, req.uid, 2, 0))
     new JsonResult("ok")
   }
 
@@ -172,7 +162,7 @@ class PayController {
   @ResponseBody
   def createwx(@RequestBody req: CreateWxReq): JsonResult = {
 
-    wr1.save(new Wxpay1().toEntity(req.name, req.appid, req.mchid, req.mchkey, 0, 1, 500000L, req.uid, req.paytype, 0))
+    wr1.save(new Wxpay1().toEntity(req.name, req.appid, req.mchid, req.mchkey, 0, 1, 500000L, req.uid, 1, 0))
 
     new JsonResult("ok")
   }
@@ -223,27 +213,27 @@ class PayController {
     new JsonResult(pays)
   }
 
-  @ApiOperation(value = "查询支付宝渠道信息", notes = "")
-  @ApiImplicitParams(Array(
-    new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
-  ))
-  @PostMapping(Array("findalipay"))
-  @ResponseBody
-  def findalipay(uid: Int): JsonResult = {
-
-    val userpay = upr.findByIdAndDfe(uid, 0)
-    val ali = new util.ArrayList[SelectPayRes]()
-
-    if (!userpay.alipay.isEmpty) {
-
-      userpay.alipay.asScala.map(x => {
-        ali.add(new SelectPayRes(x.id, x.paytype, x.name, x.amount,x.appid, xxx(x.privatekey),
-          x.alipaypublickey, null, x.status,
-          null, null, x.weight))
-      })
-    }
-    new JsonResult(ali)
-  }
+//  @ApiOperation(value = "在支付配制中---查询支付宝渠道信息", notes = "")
+//  @ApiImplicitParams(Array(
+//    new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
+//  ))
+//  @PostMapping(Array("findalipay"))
+//  @ResponseBody
+//  def findalipay(uid: Int): JsonResult = {
+//
+//    val userpay = upr.findByIdAndDfe(uid, 0)
+//    val ali = new util.ArrayList[SelectPayRes]()
+//
+//    if (!userpay.alipay.isEmpty) {
+//
+//      userpay.alipay.asScala.map(x => {
+//        ali.add(new SelectPayRes(x.id, x.paytype, x.name, x.amount,x.appid, xxx(x.privatekey),
+//          x.alipaypublickey, null, x.status,
+//          null, null, x.weight))
+//      })
+//    }
+//    new JsonResult(ali)
+//  }
 
   def xxxappid(str:String): String ={
     if(str==null||str.size<4)null else str.substring(0,3)+"*****"+ str.substring(str.size-3)
@@ -252,27 +242,27 @@ class PayController {
 //    if(str==null||str.size<15)null else str.substring(0,4)+"*****"+ str.substring(str.size-5)
     if(str==null||str.size<15)null else "********"
   }
-  @ApiOperation(value = "查询微信渠道信息", notes = "")
-  @ApiImplicitParams(Array(
-    new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
-  ))
-  @PostMapping(Array("findwxpay"))
-  @ResponseBody
-  def findwxpay(uid: Int): JsonResult = {
-
-    val userpay = upr.findByIdAndDfe(uid, 0)
-    val wx = new util.ArrayList[SelectPayRes]()
-
-    if (!userpay.wxpay.isEmpty) {
-      userpay.wxpay.asScala.map(x => {
-        wx.add(new SelectPayRes(x.id, x.paytype, x.name, x.amount, xxxappid(x.appid), null,
-          null, null, x.status,
-          xxx(x.mchid), xxx(x.mchkey), x.weight))
-      })
-    }
-
-    new JsonResult(wx)
-  }
+//  @ApiOperation(value = "在支付配制中---查询微信渠道信息", notes = "")
+//  @ApiImplicitParams(Array(
+//    new ApiImplicitParam(name = "uid", value = "支付实体类", required = true, dataType = "String")
+//  ))
+//  @PostMapping(Array("findwxpay"))
+//  @ResponseBody
+//  def findwxpay(uid: Int): JsonResult = {
+//
+//    val userpay = upr.findByIdAndDfe(uid, 0)
+//    val wx = new util.ArrayList[SelectPayRes]()
+//
+//    if (!userpay.wxpay.isEmpty) {
+//      userpay.wxpay.asScala.map(x => {
+//        wx.add(new SelectPayRes(x.id, x.paytype, x.name, x.amount, xxxappid(x.appid), null,
+//          null, null, x.status,
+//          xxx(x.mchid), xxx(x.mchkey), x.weight))
+//      })
+//    }
+//
+//    new JsonResult(wx)
+//  }
 
   @ApiOperation(value = "更新支付宝渠道信息", notes = "不更新的字段,传null")
   @ApiImplicitParams(Array(
@@ -508,7 +498,7 @@ class Wxpay {
 
 @Repository trait Alipay1Repository extends CrudRepository[Alipay1, Long] with JpaSpecificationExecutor[Alipay1] with JpaRepository[Alipay1, Long] with PagingAndSortingRepository[Alipay1, Long] {
   def findByUseridAndStatus(userid: String, status: Int): util.List[Alipay1]
-
+  def findByUseridAndStatusAndPaystate(userid: String, status: Int, paystate: Int): util.List[Alipay1]
   // override def findById(id: Long ):Alipay1
   override def findById(id: Long): Optional[Alipay1]
 
@@ -578,7 +568,7 @@ class Alipay1 {
 
 @Repository trait Wxpay1Repository extends CrudRepository[Wxpay1, Long] with JpaSpecificationExecutor[Long] with JpaRepository[Wxpay1, Long] with PagingAndSortingRepository[Wxpay1, Long] {
   def findByUseridAndStatus(userid: String, status: Int): util.List[Wxpay1]
-
+  def findByUseridAndStatusAndPaystate(userid: String, status: Int, paystate: Int): util.List[Wxpay1]
 }
 
 @Data
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayRealmNameCotroller.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayRealmNameCotroller.scala
index a2dc1d9..2dc0602 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayRealmNameCotroller.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/PayRealmNameCotroller.scala
@@ -18,9 +18,9 @@ import javax.annotation.Resource
 import javax.persistence.{Column, Entity, Id, JoinColumn, ManyToOne, Table}
 import scala.annotation.meta.field
 import scala.beans.BeanProperty
-@Api( tags = Array( "支付支付配制" ), value = "API",hidden = true )
+@Api( tags = Array( "支付域名配制" ), value = "API",hidden = true )
 @RestController
-@RequestMapping(Array("/pay/"))
+@RequestMapping(Array("/occloud/pay/"))
 @CrossOrigin
 class PayRealmNameCotroller {
 
@@ -47,7 +47,7 @@ class PayRealmNameCotroller {
   @PostMapping( Array( "selectrealmname" ) )
   @ResponseBody
   def select(uid:Long): JsonResult ={
-
+    println("uid:"+uid)
     new JsonResult(prnr.findByUseridAndStatus(uid,0))
   }
   @ApiOperation( value = "更新支付域名", notes = "" )
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/TenantController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/TenantController.scala
index 05640c9..58c6ce9 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/TenantController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/TenantController.scala
@@ -24,7 +24,7 @@ import scala.beans.BeanProperty
  */
 @Api( tags = Array( "商户版本---2.0" ), value = "API",hidden = true )
 @RestController
-@RequestMapping(Array("/tenant/"))
+@RequestMapping(Array("/occloud/tenant/"))
 @CrossOrigin
 class TenantController {
   @Resource
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/test.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/test.scala
index f42f53e..54d0a17 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/test.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pay/test.scala
@@ -9,7 +9,10 @@ object test {
   def main(args: Array[String]): Unit = {
     var ll=List(1,2,31,2,12,123,434,34521,123,12,23)
 //    ll.sortBy(_>_=>)
-
+val value = ll.filter(x => {
+  x == 1
+})
+    println(value)
 
     val a = new A(B("b"), null)
     if (a.a == null) {println("null")}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/paynotify/PayNotifyRepository.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/paynotify/PayNotifyRepository.scala
index 88abe80..2112d03 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/paynotify/PayNotifyRepository.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/paynotify/PayNotifyRepository.scala
@@ -1,29 +1,30 @@
 package com.icloud.server.scala.paynotify
 
-import com.icloud.server.payutils.dto.PayOrderDO
 import lombok.{AllArgsConstructor, Data, NoArgsConstructor}
-import org.hibernate.annotations.{CreationTimestamp, UpdateTimestamp}
 import org.springframework.data.jpa.repository.{JpaRepository, JpaSpecificationExecutor}
 import org.springframework.data.repository.{CrudRepository, PagingAndSortingRepository}
 import org.springframework.stereotype.Repository
 
 import java.util
-import java.util.Date
-import javax.persistence.{Column, Entity, GeneratedValue, GenerationType, Id, Table}
+import javax.persistence._
 import scala.beans.BeanProperty
-/**订单校验
+
+/** 订单校验
+ *
  * @Author : yang
  * @Date : 2022-07-26 00:41
  * @Version : 2.1.2
  */
 
 @Repository
-trait PayNotifyRepository extends CrudRepository[PayNotifyEntity, Long] with JpaSpecificationExecutor[PayNotifyEntity] with JpaRepository[PayNotifyEntity, Long] with PagingAndSortingRepository[PayNotifyEntity, Long]{
+trait PayNotifyRepository extends CrudRepository[PayNotifyEntity, Long] with JpaSpecificationExecutor[PayNotifyEntity] with JpaRepository[PayNotifyEntity, Long] with PagingAndSortingRepository[PayNotifyEntity, Long] {
+
 
+  def findByMerchantorderidAndOuttradenoAndStatus(merchantorderid: String, outtradeno: String, status: Int): util.List[PayNotifyEntity]
 
-  def findByMerchantorderidAndOuttradenoAndStatus(merchantorderid:String,outtradeno: String,status: Int): util.List[PayNotifyEntity]
-  def findByMerchantorderidAndStatus(merchantorderid:String,status: Int): util.List[PayNotifyEntity]
+  def findByMerchantorderidAndStatus(merchantorderid: String, status: Int): util.List[PayNotifyEntity]
 }
+
 @Data
 @Entity
 @Table(name = "pay_out_trade_no")
@@ -49,6 +50,10 @@ class PayNotifyEntity extends Serializable {
   @Column(name = "notify_status")
   var status: Int = _
 
+  @transient
+  @BeanProperty
+  @Column
+  var returnurl: String = _
 
   def toEntity(id: Long, merchantorderid: String, outtradeno: String, notifyurl: String, notifystatus: Int): PayNotifyEntity = {
     this.id = id
@@ -62,13 +67,13 @@ class PayNotifyEntity extends Serializable {
 }
 
 
-
 @Repository
-trait PayNotifyLogRepository extends CrudRepository[PayNotifyLogEntity, Long] with JpaSpecificationExecutor[PayNotifyLogEntity] with JpaRepository[PayNotifyLogEntity, Long] with PagingAndSortingRepository[PayNotifyLogEntity, Long]{
+trait PayNotifyLogRepository extends CrudRepository[PayNotifyLogEntity, Long] with JpaSpecificationExecutor[PayNotifyLogEntity] with JpaRepository[PayNotifyLogEntity, Long] with PagingAndSortingRepository[PayNotifyLogEntity, Long] {
 
 
-//  def findByMerchantorderidAndOuttradeno(merchantorderid:String,outtradeno: String): util.List[PayNotifyEntity]
+  //  def findByMerchantorderidAndOuttradeno(merchantorderid:String,outtradeno: String): util.List[PayNotifyEntity]
 }
+
 @Data
 @Entity
 @Table(name = "pay_notify_log")
@@ -77,7 +82,7 @@ trait PayNotifyLogRepository extends CrudRepository[PayNotifyLogEntity, Long] wi
 class PayNotifyLogEntity extends Serializable {
   @Id
   @BeanProperty
-  @GeneratedValue( strategy = GenerationType.IDENTITY )
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "id")
   var id: Long = _
   @BeanProperty
@@ -106,7 +111,7 @@ class PayNotifyLogEntity extends Serializable {
   @Column(name = "appid")
   var appid: String = _
 
-  def toEntity( taskid: String, response: String, creator: String, updater: String,appid: String): PayNotifyLogEntity = {
+  def toEntity(taskid: String, response: String, creator: String, updater: String, appid: String): PayNotifyLogEntity = {
     this.taskid = taskid
     this.notifytimes = notifytimes
     this.response = response
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderController.scala
index fe3174b..498ab7d 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderController.scala
@@ -1,16 +1,19 @@
 package com.icloud.server.scala.payorder
 
+import com.icloud.server.payutils.dto.PayOrderDO
+import com.icloud.server.scala.goods.Goodspay2
 import com.icloud.server.web.JsonResult
 import io.swagger.annotations.{Api, ApiOperation}
 import org.springframework.data.domain.{PageRequest, Pageable, Sort}
 import org.springframework.web.bind.annotation.{CrossOrigin, PostMapping, RequestMapping, RequestParam, ResponseBody, RestController}
 
+import java.util
 import javax.annotation.Resource
 import scala.beans.BeanProperty
 
 @Api( tags = Array( "订单查询" ), value = "API",hidden = true )
 @RestController
-@RequestMapping(Array("/orders/"))
+@RequestMapping(Array("/occloud/orders/"))
 @CrossOrigin
 class OrderController {
 
@@ -23,8 +26,7 @@ class OrderController {
   @ResponseBody
   def getorder(@RequestParam uid:Int,@RequestParam page:Int, @RequestParam size:Int): JsonResult ={
     val request :Pageable= PageRequest.of(page-1, size, Sort.Direction.DESC, "id")
-
-    new JsonResult(por.findAllByMerchantidOrderByIdDesc(uid,request))
+    new JsonResult(new FindOrderall(por.countAllByMerchantid(uid), por.findAllByMerchantidOrderByIdDesc(uid,request)))
   }
   @ApiOperation( value = "精确查询订单", notes = "" )
   @PostMapping( Array( "findorderid" ) )
@@ -33,3 +35,6 @@ class OrderController {
     new JsonResult(por.findByIdAndMerchantid(orderid,uid))
   }
 }
+case class FindOrderall(@BeanProperty count:Long, @BeanProperty payorder:util.List[PayOrderDO])
+
+
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderServer.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderServer.scala
index b34e888..4103c57 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderServer.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/OrderServer.scala
@@ -110,7 +110,7 @@ class OrderServer {
    */
 
   def getAliAppId(uid: Long, appoint_pay: Long, random: Boolean): Alipay1 = {
-    val alipays = alipay.findByUseridAndStatus(uid.toString, 0)
+    val alipays = alipay.findByUseridAndStatusAndPaystate(uid.toString, 0,0)
     //排序
     //    alipays.asScala.sortBy()
     //权重
@@ -169,7 +169,7 @@ class OrderServer {
    */
 
   def getWxAppId(uid: Long, appoint_pay: Long, random: Boolean): Wxpay1 = {
-    val wxpays = wxpay.findByUseridAndStatus(uid.toString, 0)
+    val wxpays = wxpay.findByUseridAndStatusAndPaystate(uid.toString, 0,0)
     //排序
     //    alipays.asScala.sortBy()
     //权重
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/PayOrderRepository.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/PayOrderRepository.scala
index a1f157f..db4edd4 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/PayOrderRepository.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/payorder/PayOrderRepository.scala
@@ -13,7 +13,9 @@ trait PayOrderRepository extends CrudRepository[PayOrderDO, Long] with JpaSpecif
   def findByChannelid(channelid: Long): PayOrderDO
   def findAllByOrderById( pageable: Pageable): util.List[PayOrderDO]
   def findAllByMerchantidOrderByIdDesc(merchantid:Long, pageable: Pageable): util.List[PayOrderDO]
+  def countAllByMerchantid(merchantid:Long):Long
   def findByIdAndMerchantid (id: Long,merchantid:Long): PayOrderDO
   def findByMerchantorderid (merchantorderid:String): PayOrderDO
+  def findByGoodspayid(goodspayid:Long):util.List[PayOrderDO]
 
 }
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pub/PublicUnite.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pub/PublicUnite.scala
index d5db1f9..074b1fc 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pub/PublicUnite.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/pub/PublicUnite.scala
@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.{CrossOrigin, PostMapping, Reques
 
 @Api(tags = Array("统一接口:公共服务"), value = "API", hidden = true)
 @RestController
-@RequestMapping(Array("/pub/"))
+@RequestMapping(Array("/occloud/pub/"))
 @CrossOrigin
 class PublicUnite {
 
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/route/RouteController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/route/RouteController.scala
index 70537f0..ce15180 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/route/RouteController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/route/RouteController.scala
@@ -21,7 +21,7 @@ import scala.beans.BeanProperty
  */
 @Api( tags = Array( "路由初始化" ), value = "API" )
 @RestController
-@RequestMapping( Array( "/init/" ) )
+@RequestMapping( Array( "/occloud/init/" ) )
 @CrossOrigin
 class IinitController {
   @Resource
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserController.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserController.scala
index b43f2a2..3d37320 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserController.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserController.scala
@@ -17,7 +17,7 @@ import scala.beans.BeanProperty
 @Api( tags = Array( "用户" ), value = "API",hidden = true )
 //@ApiIgnore
 @RestController
-@RequestMapping( Array( "/user/" ) )
+@RequestMapping( Array( "/occloud/user/" ) )
 @CrossOrigin
 class UserController {
   @BeanProperty
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserService.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserService.scala
index 982dd32..d179f9b 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserService.scala
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/scala/shiro/UserService.scala
@@ -1,5 +1,6 @@
 package com.icloud.server.scala.shiro
 
+import com.icloud.server.user.{AESUtil, Constants}
 import com.icloud.server.utils.IdWorker
 import org.apache.shiro.crypto.hash.SimpleHash
 import org.springframework.stereotype.Component
@@ -90,10 +91,15 @@ class UserService {
     val hashName = "md5"
 //    val pwd = "123456"
     var salt="OCCLOUD+JWT"
+    val SECRET = "OCCLOUD_CHANNEL+JWT"
     val result = new SimpleHash( hashName, pwd,null , 2 )
+
+
+
     val user =new User
     user.setUsername(username)
     user.setPassword(result.toString)
+//    user.setPassword(AESUtil.Encrypt(pwd, Constants.PASSWORD_KEY))
     user.setLock_flag("0")
     user.setMini_openid("aaa")
     user.setQq_openid("00")
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/AESUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/AESUtil.java
new file mode 100644
index 0000000..60c768a
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/AESUtil.java
@@ -0,0 +1,89 @@
+package com.icloud.server.user;
+
+
+import org.apache.commons.codec.binary.Base64;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
+
+/**
+ * @author Administrator
+ */
+public class AESUtil {
+
+    // 加密
+    public static String Encrypt(String sSrc, String sKey) throws Exception {
+        if (sKey == null) {
+            System.out.println("Key为空null");
+            return null;
+        }
+        // 判断Key是否为16位
+        if (sKey.length() != 16) {
+//            System.out.println("Key长度不是16位");
+            return null;
+        }
+        byte[] raw = sKey.getBytes("utf-8");
+        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");//"算法/模式/补码方式"
+        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
+        byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
+
+        return new Base64().encodeToString(encrypted);//此处使用BASE64做转码功能,同时能起到2次加密的作用。
+    }
+
+    // 解密
+    public static String Decrypt(String sSrc, String sKey) throws Exception {
+        try {
+            // 判断Key是否正确
+            if (sKey == null) {
+                System.out.println("Key为空null");
+                return null;
+            }
+            // 判断Key是否为16位
+            if (sKey.length() != 16) {
+//                System.out.println("Key长度不是16位");
+                return null;
+            }
+            byte[] raw = sKey.getBytes("utf-8");
+
+            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
+            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
+            byte[] encrypted1 = new Base64().decode(sSrc);//先用base64解密
+            try {
+                byte[] original = cipher.doFinal(encrypted1);
+                String originalString = new String(original, "utf-8");
+                return originalString;
+            } catch (Exception e) {
+                System.out.println(e.toString());
+                return null;
+            }
+        } catch (Exception ex) {
+            System.out.println(ex.toString());
+            return null;
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        /*
+         * 此处使用AES-128-ECB加密模式,key需要为16位。
+         */
+        String cKey = "ocschool20200824";
+
+        System.out.println(cKey);
+        // 需要加密的字串
+        //欧畅云账户的密码测试账户的密码
+        String cSrc = "AmIozjGMKNQaoG1U";
+        //String cSrc = "654321";
+        System.out.println(cSrc);
+        // 加密
+        String enString = AESUtil.Encrypt(cSrc, cKey);
+        System.out.println("加密后的字串是:" + enString);
+        //String mm = "ga4JaZdcU0MsUmYLza5MeQ";
+        // 解密
+        //String DeString = AESUtil.Decrypt(mm, cKey);
+        //String DeString = AESUtil.Decrypt("2H5jyO5+zJcwNGZhtWAT8Q==", cKey);
+        String DeString = AESUtil.Decrypt("b/cMNm2agJxIRWb3HeoCSqCE2+s58C0IbG5n6jxR00M=", cKey);
+        System.out.println("解密后的字串是:" + DeString);
+    }
+}
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/Constants.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/Constants.java
new file mode 100644
index 0000000..59d1f56
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/user/Constants.java
@@ -0,0 +1,91 @@
+package com.icloud.server.user;
+
+public class Constants {
+
+    //密码加密key
+    public static final String PASSWORD_KEY="ocschool20200824";
+
+    //上课通知的时间
+    public static final String NOTICE_IN_CLASS = "7:00:00";
+
+    //每页行数
+    public static final int ROWS_COUNT_PER_PAGE = 10;
+
+    public static final String WX_MP_USER="wx_mp_user:";
+
+    public static final String JS_Ticket="JS_Ticket:";
+
+    public static final String H5_AUTH_WX="h5_auth_wx_";
+
+    public static final String VIDEO_CODE_H264 = "h264";
+
+    public static final String OC_VIDEO_IN_BUCKET="oc-video-in";
+
+    public static final String OC_VIDEO_OUT_BUCKET="oc-video-out";
+
+    public static final String OC_SCHOOL_BUCKET="oc-school";
+
+    public static final class JOB_TRACKER{
+        public static final String VIDEO_JOB="VideoJob";
+    }
+
+    public static final class TASK_TRACKER{
+        public static final String VIDEO_TRADE_TASKTRACKER="video_trade_TaskTracker";
+    }
+
+    //用户跟踪状态
+    public static final String [] STEPS = {"新线索", "意向客户", "暂无意向", "无意向", "邀约试听", "试用满意", "试用不满意", "付费承诺", "付费爽约", "付费未签约", "签约未付费", "付费已签约"," 合同执行中", "临近合同结束", "合同已结束"};
+    //充值路径
+    public static final String[] CLIENT_TOP_up_PATH = {"秀视对公","方卡对公","私账"};
+
+    //员工分配数据来源类型:0 系统自动分配, 1 人为分配
+    public static final Integer ASSIGN_INFO_TYPE_SYS = 0;
+
+    public static final Integer ASSIGN_INFO_TYPE_MAN = 1;
+
+    public static  final String URL_PREFIX = "https://testapi.finezb.com/2.0/";
+
+    //直播数据接口
+    //查询某一天直播客户数
+    public static final String URL_GET_TODAY_LIVE_ACCOUNT = URL_PREFIX + "getTodayLiveAccount";
+    //查询当前直播客户数
+    public static final String URL_GET_CURRENT_LIVE_ACCOUNT = URL_PREFIX + "getCurrentLiveAccount";
+    //查询当前观众数
+    public static final String URL_GET_TODAY_AUDIENCE_ACCOUNT = URL_PREFIX + "getTodayAudienceCount";
+    //查询当直播客户客户详情
+    public static final String URL_GET_CURRENT_LIVE_ACCOUNT_INFO = URL_PREFIX + "getCurrentLiveAccountInfo";
+    // 查询历史直播数据
+    public static final String URL_GET_YESTERDAY_ACCOUNT_INFO = URL_PREFIX + "getYesterdayAccountInfo";
+
+    //渠道类型 私域渠道
+    public static String CHANNEL_CLASSIFY_PRIVATE = "PRIVATE";
+    //渠道类型 公共渠道
+    public static String CHANNEL_CLASSIFY_PUBLIC = "PUBLIC";
+
+    //渠道状态有效
+    public static String CHANNEL_STATUS_VALID = "VALID";
+    //渠道状态无效
+    public static String CHANNEL_STATUS_INVALID = "INVALID";
+
+    //员工路径标识
+    public static String SCHOOL_SUB_LOGIN_FLAG = "SCHOOL_SUB_LOGIN_FLAG_";
+
+    //渠道管理员最大之
+    public static  Integer CHANNEL_MANAGEMENT_MAX=5;
+
+    //欧畅云大账号token
+    public static  String OC_TOKEN="oc_token_";
+
+    //欧畅云accessSecretKey
+    public static  String  OC_ACCESS_SECRET="oc_access_secret_";
+
+    //欧畅云accessSecretKey
+    public static  String  OC_ROOM_TOKEN="oc_room_token_";
+
+    //默认分组的值
+    public static  Long DEFAULT_GROUP_VALUE=-1L;
+
+    //默认分组str
+    public static  String DEFAULT_GROUP_STR="默认分组";
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/Constants.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/Constants.java
new file mode 100644
index 0000000..02efe4d
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/Constants.java
@@ -0,0 +1,36 @@
+package com.icloud.server.utils;
+
+public class Constants {
+    public static final String SUCCESS_CODE = "100";
+    public static final String SUCCESS_MSG = "请求成功";
+
+    /**
+     * session中存放用户信息的key值
+     */
+    public static final String SESSION_ACCOUNT_INFO = "accpuntInfo";
+    public static final String SESSION_ACCOUNT_PERMISSION = "accountPermission";
+    public static final String SESSION_ACCOUNT_MENU = "accountMenu";
+    public static final String SESSION_RANDOM_CODE = "randCode";
+    public static final String SESSION_SMS_CODE = "smsCode";
+
+
+    //固定角色id[系统管理员权限]
+    public static final String SYSTEM_ROLE_ID = "1";
+    //固定角色id[客户管理员]
+    public static final String CLIENT_MANAGER_ROLE_ID = "2";
+
+    //每页行数
+    public static final int ROWS_COUNT_PER_PAGE = 10;
+    //大数据量是每页行数
+    public static final int ROWS_COUNT_BIG_PER_PAGE = 20;
+    //临时文件夹
+    public static final String TEMP_IMAGE_PATH = "E:\\";
+
+    //密码加密key
+    public static final String PASSWORD_KEY="ocschool20200824";
+
+    //用户跟踪状态
+    public static final String [] STEPS = {"新线索", "意向客户", "暂无意向", "无意向", "邀约试听", "试用满意", "试用不满意", "付费承诺", "付费爽约", "付费未签约", "签约未付费", "付费已签约"," 合同执行中", "临近合同结束", "合同已结束"};
+
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/R.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/R.java
new file mode 100644
index 0000000..9e463a3
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/R.java
@@ -0,0 +1,91 @@
+package com.icloud.server.utils;
+
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @description:  响应消息体
+ * @author: zjbing
+ * @create: 2021-01-13 17:04
+ **/
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+public class R<T> implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Getter
+    @Setter
+    private int code;
+
+    @Getter
+    @Setter
+    private String msg;
+
+    @Getter
+    @Setter
+    private long total;
+
+    @Getter
+    @Setter
+    private T data;
+
+    public static <T> R<T> ok() {
+        return restResult(null, CodeDefs.SUCCESS, "成功",0);
+    }
+
+    public static <T> R<T> ok(String msg) {
+        return restResult(null, CodeDefs.SUCCESS, msg,0);
+    }
+
+    public static <T> R<T> ok(T data) {
+        return restResult(data, CodeDefs.SUCCESS, "成功",0);
+    }
+
+    public static <T> R<T> ok(T data,long total) {
+        return restResult(data, CodeDefs.SUCCESS, "成功",total);
+    }
+
+    public static <T> R<T> ok(T data, String msg) {
+        return restResult(data, CodeDefs.SUCCESS, msg,0);
+    }
+
+    public static <T> R<T> failed() {
+        return restResult(null, CodeDefs.FAIL, "失败",0);
+    }
+
+    public static <T> R<T> failed(String msg) {
+        return restResult(null, CodeDefs.FAIL, msg,0);
+    }
+
+    public static <T> R<T> failed(T data) {
+        return restResult(data, CodeDefs.FAIL, "失败",0);
+    }
+
+    public static <T> R<T> failed(T data, String msg) {
+        return restResult(data, CodeDefs.FAIL, msg,0);
+    }
+
+    public static <T> R<T> failed(Integer code) {
+        return restResult(null, code, "失败",0);
+    }
+
+    public static <T> R<T> failed(Integer code, String msg) {
+        return restResult(null, code, msg,0);
+    }
+
+    private static <T> R<T> restResult(T data, int code, String msg,long total) {
+        R<T> apiResult = new R<>();
+        apiResult.setCode(code);
+        apiResult.setData(data);
+        apiResult.setMsg(msg);
+        apiResult.setTotal(total);
+        return apiResult;
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/annotation/AccessRequired.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/annotation/AccessRequired.java
new file mode 100644
index 0000000..89802ef
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/annotation/AccessRequired.java
@@ -0,0 +1,15 @@
+package com.icloud.server.utils.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 鉴权注解
+ * @Author jiebing
+ * @Date 2021/3/22 15:58
+ */
+@Target({ElementType.METHOD, ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface AccessRequired {
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/http/Net.scala b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/http/Net.scala
new file mode 100644
index 0000000..6c2d2b7
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/http/Net.scala
@@ -0,0 +1,15 @@
+package com.icloud.server.utils.http
+import scala.collection.JavaConverters._
+object Net {
+
+  import scalaj.http._
+
+  def run (url: String, requestJson: String) = {
+    val startTime = System.currentTimeMillis()
+    val r = Http( url ).timeout( connTimeoutMs = 10000, readTimeoutMs = 20000 ).header( "Content-Type", "application/json; charset=utf8" ).postData( requestJson ).asString
+    val endTime = System.currentTimeMillis()
+    val allCost = endTime - startTime //    pdbDebug.debug(s"id:${impId}|dsp:${dsp.getName}==>${requestJson}")
+    //    pdbDebug.debug(s"id:${impId}|dsp:${dsp.getName}| cost: $allCost| httpcode: ${r.code} :<==${r.body.replaceAll("\n", "").replaceAll("\r", "")}")
+    (r.code, r.body)
+  }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/GetRedThreads.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/GetRedThreads.java
new file mode 100644
index 0000000..fc9c841
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/GetRedThreads.java
@@ -0,0 +1,32 @@
+package com.icloud.server.utils.threads;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @Author : yang
+ * @Date : 2019/6/19 5:05 PM
+ * @Version : 1.2.1
+ */
+@EnableAsync
+@Configuration
+public class GetRedThreads {
+    @Bean("getExecutor")
+    public Executor getExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(10);
+        executor.setMaxPoolSize(20);
+        executor.setQueueCapacity(200);
+        executor.setKeepAliveSeconds(60);
+        executor.setThreadNamePrefix("getExecutor-");
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/Threads.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/Threads.java
new file mode 100644
index 0000000..8c79ddb
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/threads/Threads.java
@@ -0,0 +1,33 @@
+package com.icloud.server.utils.threads;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * spring 线程池
+ * @Author : yang
+ * @Date : 2019/4/1 6:14 PM
+ * @Version : 1.2.1
+ */
+@EnableAsync
+@Configuration
+public class Threads {
+    @Bean("taskExecutor")
+    public Executor taskExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(10);
+        executor.setMaxPoolSize(20);
+        executor.setQueueCapacity(200);
+        executor.setKeepAliveSeconds(60);
+        executor.setThreadNamePrefix("taskExecutor-");
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTFilter.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTFilter.java
new file mode 100644
index 0000000..6a73c9d
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTFilter.java
@@ -0,0 +1,152 @@
+package com.icloud.server.web.Jwts;
+
+import com.alibaba.fastjson.JSONObject;
+import com.icloud.server.utils.CodeDefs;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authz.UnauthorizedException;
+import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URLEncoder;
+
+@Slf4j
+public class JWTFilter extends BasicHttpAuthenticationFilter {
+
+    /**
+     * 如果带有 token,则对 token 进行检查,否则直接通过
+     */
+    @Override
+    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws UnauthorizedException {
+        //判断请求的请求头是否带上 "Token"
+        if (isLoginAttempt(request, response)) {
+            //如果存在,则进入 executeLogin 方法执行登入,检查 token 是否正确
+            try {
+                return executeLogin(request, response);
+            } catch (Exception e) {
+                //token 错误
+                responseError(response, e.getMessage());
+            }
+        }else{
+            return checkToken(request, response);
+        }
+        //如果请求头不存在 Token,则可能是执行登陆操作或者是游客状态访问,无需检查 token,直接返回 true
+        return true;
+    }
+
+    private boolean checkToken(ServletRequest request, ServletResponse response) {
+        // 没有携带Token
+        HttpServletRequest httpRequest = (HttpServletRequest)request;
+        String httpMethod = httpRequest.getMethod();
+        String requestURI = httpRequest.getRequestURI();
+        log.info("当前请求 {} Authorization属性(Token)为空 请求类型 {}", requestURI, httpMethod);
+        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
+        httpServletResponse.setCharacterEncoding("UTF-8");
+        httpServletResponse.setContentType("application/json; charset=utf-8");
+        PrintWriter out = null;
+        try  {
+            out = httpServletResponse.getWriter();
+            JSONObject object = new JSONObject();
+            object.put("code", CodeDefs.ERROR_REQUEST);
+            object.put("message","您无权限");
+            out.print(object.toJSONString());
+            out.flush();;
+        } catch (IOException e) {
+            //logger.error("直接返回Response信息出现IOException异常", e);
+        }finally {
+            if(out!=null){
+                out.close();
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断用户是否想要登入。
+     * 检测 header 里面是否包含 Token 字段
+     */
+    @Override
+    protected boolean isLoginAttempt(ServletRequest request, ServletResponse response) {
+        HttpServletRequest req = (HttpServletRequest) request;
+        String token = req.getHeader("token");
+        return token != null;
+    }
+
+    /**
+     * 执行登陆操作
+     */
+    @Override
+    protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
+        String token = httpServletRequest.getHeader("token");
+        JWTToken jwtToken = new JWTToken(token);
+        // 提交给realm进行登入,如果错误他会抛出异常并被捕获
+        try {
+            getSubject(request, response).login(jwtToken);
+        } catch (AuthenticationException e) {
+            e.printStackTrace();
+            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+            httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
+            httpServletResponse.setCharacterEncoding("UTF-8");
+            httpServletResponse.setContentType("application/json; charset=utf-8");
+            PrintWriter out = null;
+            try {
+                out = httpServletResponse.getWriter();
+                JSONObject object = new JSONObject();
+                object.put("code", CodeDefs.ERROR_REQUEST);
+                object.put("message","您无权限");
+                out.print(object.toJSONString());
+                out.flush();
+            } catch (IOException ex) {
+                //logger.error("直接返回Response信息出现IOException异常", e);
+            }finally {
+                if(out!=null){
+                    out.close();
+                }
+            }
+            return false;
+        }
+        // 如果没有抛出异常则代表登入成功,返回true
+        return true;
+    }
+
+    /**
+     * 对跨域提供支持
+     */
+    @Override
+    protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
+        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+        httpServletResponse.setHeader("Access-control-Allow-Origin", httpServletRequest.getHeader("Origin"));
+        httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
+        httpServletResponse.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
+        // 跨域时会首先发送一个option请求,这里我们给option请求直接返回正常状态
+        if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
+            httpServletResponse.setStatus(HttpStatus.OK.value());
+            return false;
+        }
+        return super.preHandle(request, response);
+    }
+
+    /**
+     * 将非法请求跳转到 /unauthorized/**
+     */
+    private void responseError(ServletResponse response, String message) {
+        try {
+            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+            //设置编码,否则中文字符在重定向时会变为空字符串
+            message = URLEncoder.encode(message, "UTF-8");
+            httpServletResponse.sendRedirect("/auth/unauthorized");
+        } catch (IOException e) {
+            log.error(e.getMessage());
+        }
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTToken.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTToken.java
new file mode 100644
index 0000000..4aab681
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTToken.java
@@ -0,0 +1,21 @@
+package com.icloud.server.web.Jwts;
+
+import org.apache.shiro.authc.AuthenticationToken;
+
+public class JWTToken implements AuthenticationToken {
+    private String token;
+
+    public JWTToken(String token) {
+        this.token = token;
+    }
+
+    @Override
+    public Object getPrincipal() {
+        return token;
+    }
+
+    @Override
+    public Object getCredentials() {
+        return token;
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTUtil.java
new file mode 100644
index 0000000..8d76504
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/JWTUtil.java
@@ -0,0 +1,96 @@
+package com.icloud.server.web.Jwts;
+
+import com.alibaba.fastjson.JSONObject;
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTVerifier;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.auth0.jwt.exceptions.JWTDecodeException;
+import com.auth0.jwt.interfaces.DecodedJWT;
+
+import java.util.Date;
+
+public class JWTUtil {
+
+    // 过期时间 24 小时
+    private static final long EXPIRE_TIME = 60 * 24 * 60 * 1000;
+//    private static final long EXPIRE_TIME = 1 * 1 * 60 * 1000;
+    // 密钥
+//private static final String SECRET = "OCCLOUD_CHANNEL+JWT";
+    private static final String SECRET = "OCCLOUD_CHANNEL+JWT";
+
+    /**
+     * 生成 token, 5min后过期
+     *
+     * @param param 用户名
+     * @return 加密的token
+     */
+    public static String createToken(String param) {
+            Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
+            Algorithm algorithm = Algorithm.HMAC256(SECRET);
+            // 附带username信息
+            return JWT.create()
+                    .withClaim("param",param)
+                    //到期时间
+                    .withExpiresAt(date)
+                    //创建一个新的JWT,并使用给定的算法进行标记
+                    .sign(algorithm);
+    }
+
+    /**
+     * 校验 token 是否正确
+     *
+     * @param token    密钥
+     * @param username 用户名
+     * @return 是否正确
+     */
+    public static boolean verify(String token, String username) {
+        try {
+            Algorithm algorithm = Algorithm.HMAC256(SECRET);
+            //在token中附带了username信息
+            JWTVerifier verifier = JWT.require(algorithm)
+                    .withClaim("param", username)
+                    .build();
+            //验证 token
+            verifier.verify(token);
+            return true;
+        } catch (Exception exception) {
+            return false;
+        }
+    }
+
+    /**
+     * 获得token中的信息,无需secret解密也能获得
+     *
+     * @return token中包含的用户名
+     */
+    public static String getUsername(String token) {
+        try {
+            DecodedJWT jwt = JWT.decode(token);
+            String json = jwt.getClaim("param").asString();
+            JSONObject obj = JSONObject.parseObject(json);
+            return obj.getString("username");
+        } catch (JWTDecodeException e) {
+            return null;
+        }
+    }
+
+    /**
+     * 获取clientId
+     * @param token
+     * @return
+     */
+    public static String getClientId(String token){
+        try {
+            DecodedJWT jwt = JWT.decode(token);
+            String json = jwt.getClaim("param").asString();
+            JSONObject obj = JSONObject.parseObject(json);
+            return obj.getString("clientId");
+        } catch (JWTDecodeException e) {
+            return null;
+        }
+    }
+
+    public static void main(String[] args) {
+        System.out.println(getUsername("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1OTgyNDk4NDYsInVzZXJuYW1lIjoiYWRtaW4ifQ.Ls6vU2wURqpd_Rg2Eh663M1gp5E2qNRbgOHgO5dRelQ"));
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/UserRealm.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/UserRealm.java
new file mode 100644
index 0000000..581f317
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/Jwts/UserRealm.java
@@ -0,0 +1,79 @@
+package com.icloud.server.web.Jwts;
+
+
+import com.alibaba.fastjson.JSONObject;
+
+import com.icloud.server.scala.shiro.User;
+import com.icloud.server.scala.shiro.UserRepository;
+import com.icloud.server.utils.Constants;
+import com.icloud.server.web.Jwts.JWTToken;
+import com.icloud.server.web.Jwts.JWTUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.SimpleAuthenticationInfo;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
+import org.apache.shiro.realm.AuthorizingRealm;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@Slf4j
+public class UserRealm extends AuthorizingRealm {
+
+    @Autowired
+    private UserRepository userrepository;
+
+    /**
+     * 必须重写此方法,不然会报错
+     */
+    @Override
+    public boolean supports(AuthenticationToken token) {
+        return token instanceof JWTToken;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
+        System.out.println("————权限认证————");
+        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
+        return info;
+    }
+
+    /**
+     * 验证当前登录的Subject
+     * LoginController.login()方法中执行Subject.login()时 执行此方法
+     */
+    @Override
+    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException {
+        System.out.println("————身份认证方法————");
+        String token = (String) authcToken.getCredentials();
+        // 解密获得username,用于和数据库进行对比
+        String username = JWTUtil.getUsername(token);
+        Long clientId = null;
+        String ddd=JWTUtil.getClientId(token);
+        if(StringUtils.isNotBlank(JWTUtil.getClientId(token))){
+            clientId = Long.valueOf(JWTUtil.getClientId(token));
+        }
+        JSONObject param = new JSONObject();
+        param.put("username",username);
+        param.put("clientId",clientId);
+        if (clientId==null || username == null || !JWTUtil.verify(token, param.toJSONString())) {
+            throw new AuthenticationException("token认证失败!");
+        }
+        User channelDat = userrepository.findByUsernameAndDfe(username,0);
+//        String loginName = (String) authcToken.getPrincipal();
+//        ChannelDat channelDat = channelService.getLoginExist(clientId,username);
+//        AccountDat accountDat = accountService.getAccountByUserName(username);
+        if (channelDat == null) {
+            throw new AuthenticationException("该用户不存在!");
+        }
+        JSONObject accountJson = (JSONObject)JSONObject.toJSON(channelDat);
+        SecurityUtils.getSubject().getSession().setAttribute(Constants.SESSION_ACCOUNT_INFO,accountJson);
+        return new SimpleAuthenticationInfo(token, token, "MyRealm");
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java
index 7b92fa8..91f91d7 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.fasterxml.jackson.databind.ser.std.DateSerializer;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.icloud.server.web.shiro.handler.TokenValidateInterceptor;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +17,8 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.converter.HttpMessageConverter;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 import java.io.IOException;
@@ -53,6 +56,25 @@ public class WebConfig implements WebMvcConfigurer {
 //    }
 
 
+    //token
+//    @Autowired
+//    private TokenValidateInterceptor tokenValidateInterceptor;
+//
+//    @Override
+//    public void addInterceptors(InterceptorRegistry registry) {
+//        registry.addInterceptor(tokenValidateInterceptor);
+//    }
+//
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedMethods("GET","POST","HEAD","PUT","DELETE","OPTIONS")
+                .allowCredentials(true)
+                .allowedOriginPatterns("*")
+                .allowedHeaders("*")
+                .maxAge(3600);
+    }
+
 
 
 
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java
deleted file mode 100644
index 3fb1005..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.icloud.server.web.jwt;
-
-import com.alibaba.fastjson.JSONObject;
-import com.icloud.server.utils.CodeDefs;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authz.UnauthorizedException;
-import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.URLEncoder;
-
-@Slf4j
-public class JWTFilter extends BasicHttpAuthenticationFilter {
-
-    /**
-     * 如果带有 token,则对 token 进行检查,否则直接通过
-     */
-    @Override
-    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws UnauthorizedException {
-        //判断请求的请求头是否带上 "Token"
-        if (isLoginAttempt(request, response)) {
-            //如果存在,则进入 executeLogin 方法执行登入,检查 token 是否正确
-            try {
-                return executeLogin(request, response);
-            } catch (Exception e) {
-                //token 错误
-                responseError(response, e.getMessage());
-            }
-        }else{
-            return checkToken(request, response);
-        }
-        //如果请求头不存在 Token,则可能是执行登陆操作或者是游客状态访问,无需检查 token,直接返回 true
-        return true;
-    }
-
-    private boolean checkToken(ServletRequest request, ServletResponse response) {
-        // 没有携带Token
-        HttpServletRequest httpRequest = (HttpServletRequest)request;
-        String httpMethod = httpRequest.getMethod();
-        String requestURI = httpRequest.getRequestURI();
-        log.info("当前请求 {} Authorization属性(Token)为空 请求类型 {}", requestURI, httpMethod);
-        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
-        httpServletResponse.setCharacterEncoding("UTF-8");
-        httpServletResponse.setContentType("application/json; charset=utf-8");
-        try (PrintWriter out = httpServletResponse.getWriter()) {
-            JSONObject object = new JSONObject();
-            object.put("code", CodeDefs.ERROR_REQUEST);
-            object.put("message","登录超时,请重新登录");
-            out.append(object.toJSONString());
-        } catch (IOException e) {
-            //logger.error("直接返回Response信息出现IOException异常", e);
-        }
-        return false;
-    }
-
-    /**
-     * 判断用户是否想要登入。
-     * 检测 header 里面是否包含 Token 字段
-     */
-    @Override
-    protected boolean isLoginAttempt(ServletRequest request, ServletResponse response) {
-        HttpServletRequest req = (HttpServletRequest) request;
-        String token = req.getHeader("Token");
-        return token != null;
-    }
-
-    /**
-     * 执行登陆操作
-     */
-    @Override
-    protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-        String token = httpServletRequest.getHeader("Token");
-        JWTToken jwtToken = new JWTToken(token);
-        // 提交给realm进行登入,如果错误他会抛出异常并被捕获
-        try {
-            getSubject(request, response).login(jwtToken);
-        } catch (AuthenticationException e) {
-            e.printStackTrace();
-            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-            httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
-            httpServletResponse.setCharacterEncoding("UTF-8");
-            httpServletResponse.setContentType("application/json; charset=utf-8");
-            try (PrintWriter out = httpServletResponse.getWriter()) {
-                JSONObject object = new JSONObject();
-                object.put("code", CodeDefs.ERROR_REQUEST);
-                object.put("message","登录超时,请重新登录");
-                out.append(object.toJSONString());
-            } catch (IOException ex) {
-                //logger.error("直接返回Response信息出现IOException异常", e);
-            }
-            return false;
-        }
-        // 如果没有抛出异常则代表登入成功,返回true
-        return true;
-    }
-
-    /**
-     * 对跨域提供支持
-     */
-    @Override
-    protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-        httpServletResponse.setHeader("Access-control-Allow-Origin", httpServletRequest.getHeader("Origin"));
-        httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
-        httpServletResponse.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
-        // 跨域时会首先发送一个option请求,这里我们给option请求直接返回正常状态
-        if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
-            httpServletResponse.setStatus(HttpStatus.OK.value());
-            return false;
-        }
-        return super.preHandle(request, response);
-    }
-
-    /**
-     * 将非法请求跳转到 /unauthorized/**
-     */
-    private void responseError(ServletResponse response, String message) {
-        try {
-            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-            //设置编码,否则中文字符在重定向时会变为空字符串
-            message = URLEncoder.encode(message, "UTF-8");
-            httpServletResponse.sendRedirect("/auth/unauthorized");
-        } catch (IOException e) {
-            log.error(e.getMessage());
-        }
-    }
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java
deleted file mode 100644
index 80bfe1e..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.icloud.server.web.jwt;
-
-import org.apache.shiro.authc.AuthenticationToken;
-
-public class JWTToken implements AuthenticationToken {
-    private String token;
-
-    public JWTToken(String token) {
-        this.token = token;
-    }
-
-    @Override
-    public Object getPrincipal() {
-        return token;
-    }
-
-    @Override
-    public Object getCredentials() {
-        return token;
-    }
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java
deleted file mode 100644
index 73d0f87..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.icloud.server.web.jwt;
-
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.exceptions.JWTDecodeException;
-import com.auth0.jwt.interfaces.DecodedJWT;
-
-import java.util.Date;
-
-public class JWTUtil {
-
-    // 过期时间 24 小时
-    private static final long EXPIRE_TIME = 60 * 24 * 60 * 1000;
-    //private static final long EXPIRE_TIME = 1 * 1 * 60 * 1000;
-    // 密钥
-//    private static final String SECRET = "OCCLOUD+JWT"; //ouchang
-    private static final String SECRET = "ouchang"; //
-
-    /**
-     * 生成 token, 5min后过期
-     *
-     * @param username 用户名
-     * @return 加密的token
-     */
-    public static String createToken(String username,Long clientId) {
-            Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
-            Algorithm algorithm = Algorithm.HMAC256(SECRET);
-            // 附带username信息
-            return JWT.create()
-                    .withClaim("username", username)
-                    .withClaim("clientId", clientId)
-                    //到期时间
-                    .withExpiresAt(date)
-                    //创建一个新的JWT,并使用给定的算法进行标记
-                    .sign(algorithm);
-    }
-
-    /**
-     * 校验 token 是否正确
-     *
-     * @param token    密钥
-     * @param username 用户名
-     * @return 是否正确
-     */
-    public static boolean verify(String token, String username) {
-        try {
-            Algorithm algorithm = Algorithm.HMAC256(SECRET);
-            //在token中附带了username信息
-            JWTVerifier verifier = JWT.require(algorithm)
-                    .withClaim("username", username)
-                    .build();
-            //验证 token
-            verifier.verify(token);
-            return true;
-        } catch (Exception exception) {
-            return false;
-        }
-    }
-
-    /**
-     * 获得token中的信息,无需secret解密也能获得
-     *
-     * @return token中包含的用户名
-     */
-    public static String getUsername(String token) {
-        try {
-            DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim("username").asString();
-        } catch (JWTDecodeException e) {
-            return null;
-        }
-    }
-
-
-
-    /**
-     * 获得token中的信息,无需secret解密也能获得
-     *
-     * @return token中包含的用户名
-     */
-    public static Long getClientId(String token) {
-        try {
-            DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim("clientId").asLong();
-        } catch (JWTDecodeException e) {
-            return null;
-        }
-    }
-
-    public static void main(String[] args) {
-//        System.out.println(getUsername("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1OTgyNDk4NDYsInVzZXJuYW1lIjoiYWRtaW4ifQ.Ls6vU2wURqpd_Rg2Eh663M1gp5E2qNRbgOHgO5dRelQ"));
-        System.out.println(getUsername("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1OTgyNDk4NDYsInVzZXJuYW1lIjoiYWRtaW4ifQ.Ls6vU2wURqpd_Rg2Eh663M1gp5E2qNRbgOHgO5dRelQ"));
-    }
-}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java
index 3865b37..091f7a7 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java
@@ -88,9 +88,10 @@ public class CustomRealm extends AuthorizingRealm {
     protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
 
         System.out.println("认证 doGetAuthenticationInfo");
-
+        System.out.println("token:"+token);
         //从token获取用户信息,token代表用户输入
         String username = (String)token.getPrincipal();
+        System.out.println("username:"+username);
 
         User user =  userrepository.findByUsernameAndDfe(username,0);
 
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java
index 2e5c682..08b62a9 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java
@@ -1,15 +1,21 @@
 package com.icloud.server.web.shiro.config;
 
+import com.alibaba.fastjson.JSONObject;
+import com.icloud.server.utils.CodeDefs;
+import org.apache.shiro.authz.UnauthorizedException;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.util.CollectionUtils;
 import org.apache.shiro.web.filter.authz.AuthorizationFilter;
+import org.apache.shiro.web.util.WebUtils;
 import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.RequestMethod;
 
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.Set;
 
 /**
@@ -18,9 +24,8 @@ import java.util.Set;
 public class CustomRolesOrAuthorizationFilter extends AuthorizationFilter {
 
 
-    @Override
     @SuppressWarnings({"unchecked"})
-    public boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws IOException {
+    public boolean isAccessAllowed1(ServletRequest request, ServletResponse response, Object mappedValue) throws IOException {
 //
         Subject subject = getSubject(request, response);
 
@@ -30,9 +35,9 @@ public class CustomRolesOrAuthorizationFilter extends AuthorizationFilter {
 //            setHeader((HttpServletRequest) request, (HttpServletResponse) response);
 //            return true;
 //        }
-        if (((HttpServletRequest) request).getMethod().toUpperCase().equals("OPTIONS")) {
-            return true;
-        }
+//        if (((HttpServletRequest) request).getMethod().toUpperCase().equals("OPTIONS")) {
+//            return true;
+//        }
 //        if ("OPTIONS".equals(((HttpServletRequest)request).getMethod())){
 //            ((HttpServletResponse)response).setStatus(org.apache.http.HttpStatus.SC_NO_CONTENT);;
 //            setHeader((HttpServletRequest)request,(HttpServletResponse)response);
@@ -44,6 +49,8 @@ public class CustomRolesOrAuthorizationFilter extends AuthorizationFilter {
         if (rolesArray == null || rolesArray.length == 0) {
             //no roles specified, so nothing to check - allow access.
             return true;
+        }else {
+
         }
 
 
@@ -57,14 +64,63 @@ public class CustomRolesOrAuthorizationFilter extends AuthorizationFilter {
         }
         return false;
     }
-//    @Override
-//    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws IOException {
-//        WebUtils.toHttp(response).sendError(HttpServletResponse.SC_UNAUTHORIZED);
-//        return false;
-//    }
+
+    @Override
+    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws UnauthorizedException {
+        //判断请求的请求头是否带上 "Token"
+        if (isLoginAttempt(request, response)) {
+            return true;
+        }else{
+            return checkToken(request, response);
+        }
+        //如果请求头不存在 Token,则可能是执行登陆操作或者是游客状态访问,无需检查 token,直接返回 true
+    }
+    protected boolean isLoginAttempt(ServletRequest request, ServletResponse response) {
+        HttpServletRequest req = (HttpServletRequest) request;
+        String token = req.getHeader("token");
+        return token != null;
+    }
+
+
+
+
+
+
+
+
+
+
+
+    private boolean checkToken(ServletRequest request, ServletResponse response) {
+        // 没有携带Token
+        HttpServletRequest httpRequest = (HttpServletRequest)request;
+        String httpMethod = httpRequest.getMethod();
+        String requestURI = httpRequest.getRequestURI();
+        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
+        httpServletResponse.setCharacterEncoding("UTF-8");
+        httpServletResponse.setContentType("application/json; charset=utf-8");
+        PrintWriter out = null;
+        try  {
+            out = httpServletResponse.getWriter();
+            JSONObject object = new JSONObject();
+            object.put("code", CodeDefs.ERROR_REQUEST);
+            object.put("message","您无权限");
+            out.print(object.toJSONString());
+            out.flush();;
+        } catch (IOException e) {
+            //logger.error("直接返回Response信息出现IOException异常", e);
+        }finally {
+            if(out!=null){
+                out.close();
+            }
+        }
+        return false;
+    }
+
 //-------
     private void setHeader(HttpServletRequest request, HttpServletResponse response) {
-        System.out.println("setHeader");
+        System.out.println("===========setHeader=========");
         //request.getHeader("Origin")
         response.setHeader("Access-Control-Allow-Origin","*" );
         response.setHeader("Access-Control-Allow-Credentials", "true");
@@ -75,46 +131,22 @@ public class CustomRolesOrAuthorizationFilter extends AuthorizationFilter {
         response.setStatus(HttpStatus.OK.value());
     }
 
-    @Override
-    protected boolean onAccessDenied(ServletRequest request, ServletResponse response)  {
-        // 错误异常提示
-        HttpServletResponse httpResponse = (HttpServletResponse) response;
-        HttpServletRequest httpRequest = (HttpServletRequest) request;
-        setHeader(httpRequest,httpResponse);
-        httpResponse.setCharacterEncoding("UTF-8");
-        httpResponse.setContentType("application/json");
-        return false;
-    }
-//-------
-//    /**
-//     * 为response设置header,实现跨域
-//     */
-//    private void setHeader(HttpServletRequest request,HttpServletResponse response){
-//        //跨域的header设置
-//        response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));
-//        response.setHeader("Access-Control-Allow-Methods", request.getMethod());
-//        response.setHeader("Access-Control-Allow-Credentials", "true");
-//        response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
-//        //防止乱码,适用于传输JSON数据
-//        //Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild
-//        response.setHeader("Content-Type","application/json;charset=UTF-8");
-//        response.setStatus(HttpStatus.OK.value());
-//    }
-
-
 //    @Override
-//    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws IOException {
-//        HttpServletResponse res = (HttpServletResponse)response;
-//        res.setHeader("Access-Control-Allow-Origin", "*");
-//        res.setStatus(HttpServletResponse.SC_OK);
-//        res.setCharacterEncoding("UTF-8");
-//        PrintWriter writer = res.getWriter();
-//        Map<String, Object> map= new HashMap<>();
-//        map.put("code", 702);
-//        map.put("msg", "未登录");
-//        writer.write(JSON.toJSONString(map));
-//        writer.close();
+//    protected boolean onAccessDenied(ServletRequest request, ServletResponse response)  {
+//        // 错误异常提示
+//        HttpServletResponse httpResponse = (HttpServletResponse) response;
+//        HttpServletRequest httpRequest = (HttpServletRequest) request;
+//        setHeader(httpRequest,httpResponse);
+//        httpResponse.setCharacterEncoding("UTF-8");
+//        httpResponse.setContentType("application/json");
 //        return false;
 //    }
+
+
+
+
+
+
+
   
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java
index 3b969d9..364f6c7 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java
@@ -6,11 +6,14 @@ import org.apache.shiro.web.util.WebUtils;
 
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
 import java.io.Serializable;
+import java.util.Map;
 
 public class CustomSessionManager extends DefaultWebSessionManager {
 
-    private static final String AUTHORIZATION = "token";
+    private static final String AUTHORIZATION = "token";//Authorization
+//    private static final String AUTHORIZATION = "Authorization";//
 
 
     public CustomSessionManager(){
@@ -19,7 +22,22 @@ public class CustomSessionManager extends DefaultWebSessionManager {
 
     @Override
     protected Serializable getSessionId(ServletRequest request, ServletResponse response) {
+        String token = WebUtils.toHttp(request).getHeader("Authorization");
+        System.out.println("Authorization:"+token);
         String sessionId = WebUtils.toHttp(request).getHeader(AUTHORIZATION);
+        System.out.println(WebUtils.toHttp(request));
+        String URI = WebUtils.toHttp(request).getRequestURI();
+        HttpServletRequest httpServletRequest = WebUtils.toHttp(request);
+        String servletPath = httpServletRequest.getServletPath();
+        Map<String, String[]> parameterMap = httpServletRequest.getParameterMap();
+        System.out.println("======路径:"+URI);
+        for(Object key:parameterMap.keySet()){
+            String v = parameterMap.get(key)[0];
+            System.out.println("======参数:"+key+":"+v);
+        }
+        System.out.println("======sessionId:"+sessionId);
+
+
         if(sessionId==null||"".equals(sessionId)){
             sessionId=request.getParameter(AUTHORIZATION);
         }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/GlobalCorsConfig.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/GlobalCorsConfig.java
new file mode 100644
index 0000000..ef26f59
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/GlobalCorsConfig.java
@@ -0,0 +1,55 @@
+//package com.icloud.server.web.shiro.config;
+//
+//import org.apache.shiro.util.CollectionUtils;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.cors.CorsConfiguration;
+//import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+//import org.springframework.web.filter.CorsFilter;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+///**https://blog.csdn.net/qq_36950158/article/details/120308594
+// * @Author : yang
+// * @Date : 2022-08-03 03:30
+// * @Version : 2.1.2
+// */
+//
+//@Configuration
+//public class GlobalCorsConfig {
+//
+//
+//    @Bean
+//    public CorsFilter corsFilter() {
+//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+//        //配置 可以访问的地址
+//        source.registerCorsConfiguration("/**", buildConfig()); // 4
+//        return new CorsFilter(source);
+//    }
+//
+//
+//
+//    private CorsConfiguration buildConfig(){
+//        List<String> stelist = new ArrayList<String>();
+//        stelist.add("http://localhost:8080");
+//        CorsConfiguration corsConfiguration = new CorsConfiguration();
+//
+//        if(CollectionUtils.isEmpty(stelist)){
+//            corsConfiguration.addAllowedOrigin("*");
+//        }else{
+//            corsConfiguration.setAllowedOrigins(stelist);
+//        }
+//        corsConfiguration.addAllowedHeader("*");
+//        corsConfiguration.addAllowedMethod("*");
+//        corsConfiguration.setAllowCredentials(true);
+//
+//        corsConfiguration.addAllowedMethod("POST");
+//        corsConfiguration.addAllowedMethod("PUT");
+//        corsConfiguration.addAllowedMethod("GET");
+//        return corsConfiguration;
+//    }
+//
+//
+//
+//}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java
index d0281e3..f56fc0e 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java
@@ -1,7 +1,12 @@
 package com.icloud.server.web.shiro.config;
 
-import com.icloud.server.web.jwt.JWTFilter;
+import com.icloud.server.web.Jwts.JWTFilter;
+import com.icloud.server.web.Jwts.JWTToken;
+import com.icloud.server.web.Jwts.JWTUtil;
+import com.icloud.server.web.Jwts.UserRealm;
 import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
+import org.apache.shiro.mgt.DefaultSessionStorageEvaluator;
+import org.apache.shiro.mgt.DefaultSubjectDAO;
 import org.apache.shiro.mgt.SecurityManager;
 import org.apache.shiro.session.mgt.SessionManager;
 import org.apache.shiro.spring.LifecycleBeanPostProcessor;
@@ -36,17 +41,19 @@ public class ShiroConfig {
 
 
         //需要登录的接口,如果访问某个接口,需要登录却没登录,则调用此接口(如果不是前后端分离,则跳转页面)
-        shiroFilterFactoryBean.setLoginUrl("/pub/need_login");
+//        shiroFilterFactoryBean.setLoginUrl("/pub/need_login");
 
         //登录成功,跳转url,如果前后端分离,则没这个调用
-        shiroFilterFactoryBean.setSuccessUrl("/");
+//        shiroFilterFactoryBean.setSuccessUrl("/");
 
         //没有权限,未授权就会调用此方法, 先验证登录-》再验证是否有权限
         shiroFilterFactoryBean.setUnauthorizedUrl("/pub/not_permit");
 
-        //设置自定义filter
+        //设置自定义filter---过滤规则
         Map<String, Filter> filterMap = new LinkedHashMap<>();
-        filterMap.put("roleOrFilter",new CustomRolesOrAuthorizationFilter());
+//        filterMap.put("user1",new CustomRolesOrAuthorizationFilter());
+        filterMap.put("user",new StatelessAuthcFilter());
+//        filterMap.put("user", new JWTFilter());
 //        filterMap.put("roleOrFilter",new JWTFilter());
 //        filterMap.put("jwt",new JWTFilter());
         shiroFilterFactoryBean.setFilters(filterMap);
@@ -55,33 +62,42 @@ public class ShiroConfig {
         //拦截器路径,坑一,部分路径无法进行拦截,时有时无;因为同学使用的是hashmap, 无序的,应该改为LinkedHashMap
         Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
         //退出过滤器
-        filterChainDefinitionMap.put("/logout","logout");
+        filterChainDefinitionMap.put("/occloud/logout","logout");
+//        filterChainDefinitionMap.put("/login","anon");
         filterChainDefinitionMap.put("/swagger-ui.html**", "anon");
         filterChainDefinitionMap.put("/v2/api-docs", "anon");
         filterChainDefinitionMap.put("/swagger-resources/**", "anon");
         filterChainDefinitionMap.put("/webjars/**", "anon");
         filterChainDefinitionMap.put("/test/**", "anon");
-        filterChainDefinitionMap.put("/oss/**", "anon");
+        filterChainDefinitionMap.put("/occloud/oss/**", "anon");
         filterChainDefinitionMap.put("/init/**", "anon");
-        filterChainDefinitionMap.put("/aaa/**", "anon");
-        filterChainDefinitionMap.put("/user/**", "anon");
+        filterChainDefinitionMap.put("/occloud/aaa/**", "anon");
+        filterChainDefinitionMap.put("/occloud/pub/**","anon");
+        filterChainDefinitionMap.put("/occloud/user/**", "anon");
         filterChainDefinitionMap.put("/tenant/**", "anon");
-        filterChainDefinitionMap.put("/pay/**", "anon");
-        filterChainDefinitionMap.put("/unitePay/**", "anon");
-        filterChainDefinitionMap.put("/goods/**", "anon");
-        filterChainDefinitionMap.put("/file/**", "anon");
+//        filterChainDefinitionMap.put("/pay/**", "anon");
+        filterChainDefinitionMap.put("/occloud/unitePay/**", "anon");
+//        filterChainDefinitionMap.put("/goods/**", "anon");
+//        filterChainDefinitionMap.put("/goods/**", "authc");
+        filterChainDefinitionMap.put("/occloud/file/**", "anon");
         filterChainDefinitionMap.put("/t/**", "anon");
         filterChainDefinitionMap.put("/wxconfigutils/**", "anon");
         filterChainDefinitionMap.put("/weixin/**", "anon");
         filterChainDefinitionMap.put("/wxLogin/**", "anon");
         filterChainDefinitionMap.put("/wx/**", "anon");
-        filterChainDefinitionMap.put("/orders/**", "anon");
+        filterChainDefinitionMap.put("/occloud/pay/aliorder/**", "anon");
+        filterChainDefinitionMap.put("/occloud/pay/order2/**", "anon");
+
+
+//        filterChainDefinitionMap.put("/wx/**", "authc");
+//        filterChainDefinitionMap.put("/orders/**", "anon");
+//        filterChainDefinitionMap.put("/orders/**", "authc");
 
 
 
 
         //匿名可以访问,也是就游客模式
-        filterChainDefinitionMap.put("/pub/**","anon");
+
         filterChainDefinitionMap.put("/excel/**","anon");
         filterChainDefinitionMap.put("/**","anon");
 //        filterChainDefinitionMap.put("/authcc/**","anon");
@@ -89,7 +105,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/authc/**","authc");
 
         //管理员角色才可以访问
-        filterChainDefinitionMap.put("/admin/**","roleOrFilter[admin,root]");
+//        filterChainDefinitionMap.put("/admin/**","roleOrFilter[admin,root]");
 
         //有编辑权限才可以访问
         filterChainDefinitionMap.put("/video/update","perms[video_update]");
@@ -99,7 +115,8 @@ public class ShiroConfig {
 
         //authc : url定义必须通过认证才可以访问
         //anon  : url可以匿名访问
-        filterChainDefinitionMap.put("/**", "authc");
+        filterChainDefinitionMap.put("/**", "user");
+//        filterChainDefinitionMap.put("/**", "user1");
 
         shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
 
@@ -119,13 +136,35 @@ public class ShiroConfig {
 
         //设置realm(推荐放到最后,不然某些情况会不生效)
         securityManager.setRealm(customRealm());
+//        securityManager.setRealm(userRealm());
+        return securityManager;
 
 
+//        ==========智客的方案===========
+//        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+//        securityManager.setRealm(userRealm());
+//        /*
+//         * 关闭shiro自带的session,详情见文档
+//         * http://shiro.apache.org/session-management.html#SessionManagement-StatelessApplications%28Sessionless%29
+//         */
+//        DefaultSubjectDAO subjectDAO = new DefaultSubjectDAO();
+//        DefaultSessionStorageEvaluator defaultSessionStorageEvaluator = new DefaultSessionStorageEvaluator();
+//        defaultSessionStorageEvaluator.setSessionStorageEnabled(false);
+//        subjectDAO.setSessionStorageEvaluator(defaultSessionStorageEvaluator);
+//        securityManager.setSubjectDAO(subjectDAO);
+//        return securityManager;
 
-        return securityManager;
-    }
 
 
+    }
+    //智客的方法
+    @Bean
+    public UserRealm userRealm() {
+        UserRealm userRealm = new UserRealm();
+        userRealm.setAuthenticationTokenClass(JWTToken.class);
+        return userRealm;
+    }
+
     /**
      * 自定义realm
      * @return
@@ -133,7 +172,6 @@ public class ShiroConfig {
     @Bean
     public CustomRealm customRealm(){
         CustomRealm customRealm = new CustomRealm();
-
         customRealm.setCredentialsMatcher(hashedCredentialsMatcher());
         return customRealm;
     }
@@ -152,9 +190,10 @@ public class ShiroConfig {
 
         //散列次数,好比散列2次,相当于md5(md5(xxxx))
         credentialsMatcher.setHashIterations(2);
-        credentialsMatcher.setStoredCredentialsHexEncoded(true);
+//        credentialsMatcher.setStoredCredentialsHexEncoded(true);
 
        return credentialsMatcher;
+
     }
 
 
@@ -191,7 +230,8 @@ public class ShiroConfig {
 //        redisManager.setDatabase(10);
 //        return redisManager;
         RedisManager redisManager = new RedisManager();
-        redisManager.setHost("43.142.42.187");
+//        redisManager.setHost("43.142.42.187");
+        redisManager.setHost("pay.icloud.com");
         redisManager.setPassword("eDDxWJfwYsDhRELD");
         redisManager.setPort(8979);
         redisManager.setDatabase(10);
@@ -222,8 +262,9 @@ public class ShiroConfig {
         RedisSessionDAO redisSessionDAO = new RedisSessionDAO();
         redisSessionDAO.setRedisManager(getRedisManager());
 
-        //设置sessionid生成器
+        //设置sessionid生成器      //
         redisSessionDAO.setSessionIdGenerator(new CustomSessionIdGenerator());
+//        redisSessionDAO.setSessionIdGenerator(JWTUtil.createToken(param.toJSONString()));
 
         return redisSessionDAO;
     }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/StatelessAuthcFilter.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/StatelessAuthcFilter.java
new file mode 100644
index 0000000..ef23726
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/StatelessAuthcFilter.java
@@ -0,0 +1,162 @@
+package com.icloud.server.web.shiro.config;
+
+import com.alibaba.fastjson.JSONObject;
+import com.icloud.server.scala.shiro.User;
+import com.icloud.server.utils.CodeDefs;
+import com.icloud.server.web.Jwts.JWTToken;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authz.UnauthorizedException;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.subject.Subject;
+import org.apache.shiro.web.filter.authc.UserFilter;
+import org.apache.shiro.web.util.WebUtils;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Serializable;
+
+//  //解决跨域:https://blog.csdn.net/qq_32618611/article/details/105622681
+public class StatelessAuthcFilter extends UserFilter {
+
+    @Override
+    protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
+        HttpServletRequest httpRequest = WebUtils.toHttp(request);
+        HttpServletResponse httpResponse = WebUtils.toHttp(response);
+        if (httpRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
+            httpResponse.setHeader("Access-control-Allow-Origin", httpRequest.getHeader("Origin"));
+            httpResponse.setHeader("Access-Control-Allow-Methods", httpRequest.getMethod());
+            httpResponse.setHeader("Access-Control-Allow-Headers", httpRequest.getHeader("Access-Control-Request-Headers"));
+            httpResponse.setStatus(HttpStatus.OK.value());
+            return false;
+        }
+        return super.preHandle(request, response);
+    }
+
+    @Override
+    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+        HttpServletResponse httpResp = WebUtils.toHttp(response);
+        HttpServletRequest httpReq = WebUtils.toHttp(request);
+
+        /*系统重定向会默认把请求头清空,这里通过拦截器重新设置请求头,解决跨域问题*/
+        httpResp.addHeader("Access-Control-Allow-Origin", httpReq.getHeader("Origin"));
+        httpResp.addHeader("Access-Control-Allow-Headers", "*");
+        httpResp.addHeader("Access-Control-Allow-Methods", "*");
+        httpResp.addHeader("Access-Control-Allow-Credentials", "true");
+
+        this.saveRequestAndRedirectToLogin(request, response);
+        return false;
+    }
+
+    @Override
+    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws UnauthorizedException {
+        //判断请求的请求头是否带上 "Token"
+        if (isLoginAttempt(request, response)) {
+            try {
+//                System.out.println("aa");
+//                return true;
+                return executeLogin(request, response);
+            } catch (Exception e) {
+                //token 错误
+                return checkToken(request, response);
+            }
+        }else{
+            return checkToken(request, response);
+        }
+        //如果请求头不存在 Token,则可能是执行登陆操作或者是游客状态访问,无需检查 token,直接返回 true
+    }
+    protected boolean isLoginAttempt(ServletRequest request, ServletResponse response) {
+        HttpServletRequest req = (HttpServletRequest) request;
+        String token = req.getHeader("token");
+
+
+
+
+
+
+        return token != null;
+    }
+    private boolean checkToken(ServletRequest request, ServletResponse response) {
+        // 没有携带Token
+        HttpServletRequest httpRequest = (HttpServletRequest)request;
+        String httpMethod = httpRequest.getMethod();
+        String requestURI = httpRequest.getRequestURI();
+        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
+        httpServletResponse.setCharacterEncoding("UTF-8");
+        httpServletResponse.setContentType("application/json; charset=utf-8");
+        PrintWriter out = null;
+        try  {
+            out = httpServletResponse.getWriter();
+            JSONObject object = new JSONObject();
+            object.put("code", CodeDefs.ERROR_REQUEST);
+            object.put("message","您无权限");
+            out.print(object.toJSONString());
+            out.flush();;
+        } catch (IOException e) {
+            //logger.error("直接返回Response信息出现IOException异常", e);
+        }finally {
+            if(out!=null){
+                out.close();
+            }
+        }
+        return false;
+    }
+
+
+    protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
+        String token = httpServletRequest.getHeader("token");
+
+
+        Subject subject = SecurityUtils.getSubject();
+        Session session = subject.getSession();
+        Serializable id = session.getId();
+        System.out.println("id:"+id);
+        System.out.println("token:"+token);
+
+        if(id.toString().equals(token)){
+            System.out.println("验证权限通过");
+        }
+        JWTToken jwtToken = new JWTToken(token);
+        // 提交给realm进行登入,如果错误他会抛出异常并被捕获
+        try {
+            if(!(id.toString().equals(token))){
+                throw new AuthenticationException();
+            }
+        } catch (AuthenticationException e) {
+            System.out.println("验证权限不通过");
+//            e.printStackTrace();
+            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+            httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
+            httpServletResponse.setCharacterEncoding("UTF-8");
+            httpServletResponse.setContentType("application/json; charset=utf-8");
+            PrintWriter out = null;
+            try {
+                out = httpServletResponse.getWriter();
+                JSONObject object = new JSONObject();
+                object.put("code", CodeDefs.ERROR_REQUEST);
+                object.put("message","您无权限");
+                out.print(object.toJSONString());
+                out.flush();
+            } catch (IOException ex) {
+                //logger.error("直接返回Response信息出现IOException异常", e);
+            }finally {
+                if(out!=null){
+                    out.close();
+                }
+            }
+            return false;
+        }
+        // 如果没有抛出异常则代表登入成功,返回true
+        return true;
+    }
+
+}
\ No newline at end of file
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java
deleted file mode 100644
index 81cbb7e..0000000
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.icloud.server.web.shiro.controller;
-
-
-import com.icloud.server.web.JsonResult;
-import io.swagger.annotations.Api;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.subject.Subject;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.annotations.ApiIgnore;
-
-/**
- * logout, 映射shiro自带的过滤器
- */
-@CrossOrigin
-@RestController
-@Api( tags = {"登陆,注册"} , value = "API" )
-@RequestMapping("pub")
-public class LogoutController {
-//
-//
-    @RequestMapping("/logout")
-    public JsonResult findMyPlayRecord() {
-
-        Subject subject = SecurityUtils.getSubject();
-
-        if (subject.getPrincipals() != null) {
-
-        }
-
-        SecurityUtils.getSubject().logout();
-
-        return new JsonResult("logout成功");
-
-    }
-}
-
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java
index c1349af..7f941e8 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java
@@ -11,6 +11,7 @@ import org.apache.shiro.authc.UsernamePasswordToken;
 import org.apache.shiro.subject.Subject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -18,16 +19,31 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-@Api( tags = {"登陆,注册"} , value = "API" )
+@Api( tags = {"登陆,注册,退出登陆"} , value = "API" )
 @RestController
-@RequestMapping("pub")
+@RequestMapping("/occloud/pub")
 @CrossOrigin
 public class PublicController {
 
 
     @Autowired
     private UserService us;
+    @GetMapping("/logout")
+    public JsonResult findMyPlayRecord() {
 
+        Subject subject = SecurityUtils.getSubject();
+
+        if (subject.getPrincipals() != null) {
+
+        }
+
+        SecurityUtils.getSubject().logout();
+
+        return new JsonResult("logout成功");
+
+    }
+
+    @ApiIgnore
     @PostMapping("need_login")
     public JsonResult needLogin() {
         JsonResult jr = new JsonResult("温馨提示:请使用对应的账号登录,-2");
@@ -36,34 +52,26 @@ public class PublicController {
 
     }
 
-
+    @ApiIgnore
     @PostMapping("not_permit")
     public JsonResult notPermit() {
 
         return new JsonResult("温馨提示:拒绝访问,没权限,-3");
     }
 
-    @ApiOperation( value = "index", notes = "",hidden = true )
-    @PostMapping("index")
-    public JsonResult index() {
-
-        List<String> videoList = new ArrayList<>();
-
-
-        return new JsonResult(videoList);
-
-    }
 
 
     /**
-     * 登录接口
+     * 登录接口 账号:hw17321174033@qq.com
+     * 密码:qq1072869842
      *
      * @param userQuery
      * @param request
      * @param response
      * @return
      */
-    @PostMapping("login")
+    @PostMapping("/login")
+//    @ApiOperation( value = "login", notes = "",hidden = true )
     public JsonResult login(@RequestBody UserQuery userQuery, HttpServletRequest request, HttpServletResponse response) {
 
         Subject subject = SecurityUtils.getSubject();
@@ -91,6 +99,7 @@ public class PublicController {
 
     }
 
+    @ApiIgnore
     @PostMapping("login1")
     public JsonResult login1(String name, String pwd, String token) {
 
@@ -128,44 +137,44 @@ public class PublicController {
 
 
     }
-    @PostMapping("register")
-    public JsonResult register(String name, String pwd, String token) {
-        if(token=="1"){
-
-        }
-        Subject subject = SecurityUtils.getSubject();
-        Map<String, Object> info = new HashMap<>();
-        try {
-            UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(name, pwd);
-            subject.login(usernamePasswordToken);
-
-            info.put("msg", "登录成功");
-            info.put("session_id", subject.getSession().getId());
-
-            info.put("id", us.getid(name).getId());
-            boolean b = false;
-            String nick = "";
-            User user = us.getid(name);
-
-            nick = user.getUsername();
-
-            System.out.println("nick:"+nick);
-            info.put("nick", nick);
-            info.put("checked", b);
-            System.out.println("token:"+token);
-
-            return new JsonResult(info);
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            e.printStackTrace();
-            JsonResult jr = new JsonResult("账号或者密码错误");
-            jr.setState(-2);
-            return jr;
-
-        }
-
-
-    }
+//    @PostMapping("register")
+//    public JsonResult register(String name, String pwd, String token) {
+//        if(token=="1"){
+//
+//        }
+//        Subject subject = SecurityUtils.getSubject();
+//        Map<String, Object> info = new HashMap<>();
+//        try {
+//            UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(name, pwd);
+//            subject.login(usernamePasswordToken);
+//
+//            info.put("msg", "登录成功");
+//            info.put("session_id", subject.getSession().getId());
+//
+//            info.put("id", us.getid(name).getId());
+//            boolean b = false;
+//            String nick = "";
+//            User user = us.getid(name);
+//
+//            nick = user.getUsername();
+//
+//            System.out.println("nick:"+nick);
+//            info.put("nick", nick);
+//            info.put("checked", b);
+//            System.out.println("token:"+token);
+//
+//            return new JsonResult(info);
+//
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//            e.printStackTrace();
+//            JsonResult jr = new JsonResult("账号或者密码错误");
+//            jr.setState(-2);
+//            return jr;
+//
+//        }
+//
+//
+//    }
 
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/LoginInfoThreadLocal.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/LoginInfoThreadLocal.java
new file mode 100644
index 0000000..c14da52
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/LoginInfoThreadLocal.java
@@ -0,0 +1,25 @@
+package com.icloud.server.web.shiro.handler;
+
+
+/**
+ * @description: 保存用户会话
+ * @author: zjbing
+ * @create: 2021-01-13 14:31
+ **/
+public class LoginInfoThreadLocal {
+
+    private static final ThreadLocal<UserToken> context = new ThreadLocal<>();
+
+    public static void setContext(UserToken userToken) {
+        context.set(userToken);
+    }
+
+    public static UserToken getContext() {
+
+        return context.get();
+    }
+
+    public static void clear() {
+        context.remove();
+    }
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/TokenValidateInterceptor.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/TokenValidateInterceptor.java
new file mode 100644
index 0000000..678808b
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/TokenValidateInterceptor.java
@@ -0,0 +1,159 @@
+package com.icloud.server.web.shiro.handler;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.ContentType;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.auth0.jwt.exceptions.JWTVerificationException;
+import com.auth0.jwt.interfaces.DecodedJWT;
+
+import com.icloud.server.utils.R;
+import com.icloud.server.utils.annotation.AccessRequired;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+import org.springframework.beans.factory.annotation.Value;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * @description: 请求拦截器
+ * @author: zjbing
+ * @create: 2021-01-13 14:03
+ **/
+@Slf4j
+@Configuration
+public class TokenValidateInterceptor extends HandlerInterceptorAdapter {
+
+
+    @Autowired
+     StringRedisTemplate stringredistemplate;
+
+    @Value("${jwt.key}")
+    private String jwtKey;
+
+    // 无需拦截直接访问的地址
+    /*@NacosValue(value = "${allow.urls}", autoRefreshed = true)
+    private String[] allowUrls;*/
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+        // 此处配置的是允许任意域名跨域请求,可根据需求指定
+        response.setHeader("Access-Control-Allow-Origin", request.getHeader("origin"));
+        response.setHeader("Access-Control-Allow-Credentials", "true");
+        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS");
+        response.setHeader("Access-Control-Max-Age", "86400");
+        response.setHeader("Access-Control-Allow-Headers", "*");
+
+        if(HttpMethod.OPTIONS.toString().equals(request.getMethod())) return true;
+
+        // 请求地址
+        String requestUri = request.getRequestURI();
+        System.out.println("request请求的URL为:" + requestUri);
+
+        log.debug("request请求的URL为:" + requestUri);
+
+
+        HandlerMethod handlerMethod = (HandlerMethod) handler;
+
+        // 获取类上边的注解, 不需要鉴权的则放行
+        AccessRequired controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), AccessRequired.class);
+
+        if (ObjectUtil.isNotNull(controller)) return true;
+
+        // 获取方法上边的注解,不需要鉴权的则放行
+        AccessRequired method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), AccessRequired.class);
+
+        if (ObjectUtil.isNotNull(method)) return true;
+
+
+        // 判断请求地址是否无需拦击
+        /*for (String url : allowUrls) {
+            if (StrUtil.containsAnyIgnoreCase(requestUri, url.replaceAll("\\*",""))) {
+                return true;
+            }
+        }*/
+
+        String token = request.getHeader("Token");
+        System.out.println("token-------:"+token);
+
+        if (StrUtil.isNotBlank(token)) {
+
+            DecodedJWT decodedJWT = null;
+
+            Long userId = null;
+            String tokenId = null;
+
+            try {
+
+                decodedJWT = JWT.require(Algorithm.HMAC256(this.jwtKey)).build().verify(token);
+                userId = decodedJWT.getClaim("id").asLong();
+                tokenId = decodedJWT.getId();
+
+            } catch (JWTVerificationException e) {
+
+                log.warn("解析Token异常:{},token={}", e.getMessage(), token);
+            }
+
+            if (userId != null) {
+
+                String tokenKey = "token:" + userId + ":" + tokenId;
+
+                Object tokenObject = stringredistemplate.opsForValue().get(tokenKey);
+
+                if (tokenObject != null) {
+
+                    UserToken userToken = JSON.parseObject((String) tokenObject, UserToken.class);
+
+                    if (userToken != null && userToken.getId().equals(decodedJWT.getId()) && userId.equals(userToken.getUserId())) {
+
+                        // 此时Token是合法的Token,需要进行续约操作
+                        /*String userTokenStr = JSON.toJSONString(userToken);
+                        redisService.setex(tokenKey, userTokenStr, userToken.isRemember()
+                                ? TimeUnit.DAYS.toSeconds(7)
+                                : TimeUnit.MINUTES.toSeconds(30));*/
+
+                        // 把当前会话信息保存到当前请求的threadlocal
+                        LoginInfoThreadLocal.setContext(userToken);
+
+                        return true;
+                    }
+                } else {
+
+                    //throw new RuntimeException("Token不存在/非法的Token/Token已过期");
+                    response.setContentType(ContentType.JSON.toString());
+                    response.setStatus(HttpStatus.UNAUTHORIZED.value());
+                    response.getWriter().print(JSONUtil.toJsonStr(R.failed(401,"Invalid token")));
+
+                    return false;
+                }
+            }
+        }
+
+        //throw new RuntimeException("Token不存在/非法的Token/Token已过期");
+        response.setContentType(ContentType.JSON.toString());
+        response.setStatus(HttpStatus.UNAUTHORIZED.value());
+        response.getWriter().print(JSONUtil.toJsonStr(R.failed(401,"Invalid token")));
+
+        return false;
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+        //清掉当前线程缓存会话信息
+        LoginInfoThreadLocal.clear();
+    }
+}
+
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/UserToken.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/UserToken.java
new file mode 100644
index 0000000..da32bab
--- /dev/null
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/handler/UserToken.java
@@ -0,0 +1,63 @@
+package com.icloud.server.web.shiro.handler;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @description:
+ * @author: zjbing
+ * @create: 2021-01-13 13:29
+ **/
+@Data
+public class UserToken implements Serializable {
+
+    private static final long serialVersionUID = 8798594496773855969L;
+    // token id
+    private String id;
+    // 用户id
+    private Long userId;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+    /**
+     * 所属客户ID
+     */
+    private Long clientId;
+
+    /**
+     * 员工所属部门
+     */
+    private Integer department;
+
+    /**
+     * 禁用标识 0启用 1锁定
+     */
+    //private Boolean lockFlag;
+
+    /**
+     * 注册类型 1手机号 2微信 3QQ
+     */
+    private Short registrationType;
+
+    // ip
+    private String ip;
+    // 客户端
+    private String userAgent;
+    // 授权时间
+    private LocalDateTime issuedAt;
+    // 过期时间
+    private LocalDateTime expiresAt;
+    // 是否记住我
+    private boolean remember;
+
+}
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java
index d8ac71d..d1e73df 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java
@@ -72,6 +72,25 @@ public class TimeUtilss {
 
     }
 
+//    public static Long datetotmestmp(Date d){
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//
+//        String format = sdf.format(d);// 格式化时间
+//        long time1=1L;
+//        try {
+//
+//             time1 = format.getTime();
+//            System.out.println("time1:"+time1);
+//        } catch (ParseException e) {
+//            Date time = new Date(); // 获取当前时间
+////            Date d1 = sdf.parse(d);
+//            throw new RuntimeException(e);
+//        }
+//
+//    }
+
+
+
     public static Date StringToDate(String time) throws ParseException {
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
         Date date = simpleDateFormat.parse(time);
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java
index c5d1de2..e9cf0f0 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java
@@ -3,23 +3,25 @@ package com.icloud.server.wxserver;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.client.RestTemplate;
+import springfox.documentation.annotations.ApiIgnore;
 
+@ApiIgnore
 @RestController
 @RequestMapping("/weixin")
 @Slf4j
 public class WeixinController {
 
-    @GetMapping("/auth/{goodsid}")
-    public void auth(@RequestParam("code") String code,@PathVariable("goodsid") Integer goodsid){
-        String appid="wx3c42b420d22aacbf";
-        String appsecret="2f755b9edde90d8405285410475c82f1";
-        System.out.println("goodsid:"+goodsid);
-        log.info("进入了auth方法...");
-        log.info("code = {}",code);
-        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+appid+"&secret="+appsecret+"&code=" + code + "&grant_type=authorization_code";
-        RestTemplate restTemplate = new RestTemplate();
-        String response = restTemplate.getForObject(url, String.class);
-        System.out.println(response);
-    }
+//    @GetMapping("/auth/{goodsid}")
+//    public void auth(@RequestParam("code") String code,@PathVariable("goodsid") Integer goodsid){
+//        String appid="wx3c42b420d22aacbf";
+//        String appsecret="2f755b9edde90d8405285410475c82f1";
+//        System.out.println("goodsid:"+goodsid);
+//        log.info("进入了auth方法...");
+//        log.info("code = {}",code);
+//        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+appid+"&secret="+appsecret+"&code=" + code + "&grant_type=authorization_code";
+//        RestTemplate restTemplate = new RestTemplate();
+//        String response = restTemplate.getForObject(url, String.class);
+//        System.out.println(response);
+//    }
 
 }
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java
index da79d6d..310ec24 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java
@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -20,7 +21,7 @@ import java.security.NoSuchAlgorithmException;
 import java.time.Duration;
 import java.util.*;
 
-/**获取微信参数授权
+/**获取微信参数授权 ---占时用不到了
  * @Author : yang
  * @Date : 2022-04-30 12:06 AM
  * @Version : 2.1.2
@@ -29,6 +30,7 @@ import java.util.*;
 @RestController
 @RequestMapping("wxconfigutils")
 @CrossOrigin
+@ApiIgnore
 public class WxConfigUtils {
 
     @Autowired
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java
index 012c6b7..c525102 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java
@@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -19,7 +20,7 @@ import java.net.URLEncoder;
  * @Date : 2022-04-30 12:56 AM
  * @Version : 2.1.2
  */
-
+@ApiIgnore
 @RestController
 @RequestMapping("wxLogin/")
 @CrossOrigin
diff --git a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java
index be3a26f..ae9cdc8 100644
--- a/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java
+++ b/api/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java
@@ -7,6 +7,7 @@ import com.icloud.server.web.JsonResult;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -30,7 +31,8 @@ public class WxOpenid {
      *  code 值是根据回调地址从微信获取的参数信息
      *  https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
      **/
-    @RequestMapping("getopenid")
+    @ApiIgnore
+    @PostMapping ("getopenid")
     public String getUsercode(String code,String goodsid, HttpServletRequest request){
 //        String realmname = request.getHeader("Referer");
 //        String r2=request.getHeader("realmname");
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayClient.class
deleted file mode 100644
index c987423..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayCodeMapping.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayCodeMapping.class
deleted file mode 100644
index 90623fd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AbstractPayCodeMapping.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify$1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify$1.class
deleted file mode 100644
index 5fb227f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify$1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify.class
deleted file mode 100644
index a4917a0..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/AliPayNotify.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClient.class
deleted file mode 100644
index e482783..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientConfig.class
deleted file mode 100644
index a5625f5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactory.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactory.class
deleted file mode 100644
index 28ffbaf..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactory.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl$1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl$1.class
deleted file mode 100644
index dd3fafd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl$1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl.class
deleted file mode 100644
index d8ce093..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayClientFactoryImpl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayCommonResult.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayCommonResult.class
deleted file mode 100644
index 6c8bbb2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayCommonResult.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayEntiy.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayEntiy.class
deleted file mode 100644
index ea365a4..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayEntiy.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayService.class
deleted file mode 100644
index 29d73ae..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/PayService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WXPayXmlUtil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WXPayXmlUtil.class
deleted file mode 100644
index 9c42fc9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WXPayXmlUtil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WxPayNotify.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WxPayNotify.class
deleted file mode 100644
index 8e596d9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/WxPayNotify.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/XMLUtil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/XMLUtil.class
deleted file mode 100644
index 6f27b7d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/XMLUtil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AbstractAlipayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AbstractAlipayClient.class
deleted file mode 100644
index 1e1e61e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AbstractAlipayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AliPayController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AliPayController.class
deleted file mode 100644
index 4b45e21..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AliPayController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayConfig.class
deleted file mode 100644
index a362611..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModeCertificate.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModeCertificate.class
deleted file mode 100644
index b9196ca..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModeCertificate.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModePublicKey.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModePublicKey.class
deleted file mode 100644
index 78a700a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig$ModePublicKey.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig.class
deleted file mode 100644
index da825a1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayClientConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.class
deleted file mode 100644
index 1c04daf..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayQrPayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayQrPayClient.class
deleted file mode 100644
index a68b670..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayQrPayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayWapPayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayWapPayClient.class
deleted file mode 100644
index 7cabd78..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/alipay/AlipayWapPayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/BaseDO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/BaseDO.class
deleted file mode 100644
index d00e118..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/BaseDO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO$PayNotifyDataDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO$PayNotifyDataDTOBuilder.class
deleted file mode 100644
index 5aa56ae..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO$PayNotifyDataDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO.class
deleted file mode 100644
index c73ad0f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyDataDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyTaskDO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyTaskDO.class
deleted file mode 100644
index 785cef1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayNotifyTaskDO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO$PayOrderDOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO$PayOrderDOBuilder.class
deleted file mode 100644
index 8eb8f01..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO$PayOrderDOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO.class
deleted file mode 100644
index 46ca9fd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderDO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO$PayOrderNotifyRespDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO$PayOrderNotifyRespDTOBuilder.class
deleted file mode 100644
index 68069c3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO$PayOrderNotifyRespDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.class
deleted file mode 100644
index 7f1bbca..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.class
deleted file mode 100644
index c105c02..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO$PayRefundNotifyDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO$PayRefundNotifyDTOBuilder.class
deleted file mode 100644
index 599229a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO$PayRefundNotifyDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO.class
deleted file mode 100644
index 151b268..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundNotifyDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO$PayRefundUnifiedReqDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO$PayRefundUnifiedReqDTOBuilder.class
deleted file mode 100644
index bfddfb2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO$PayRefundUnifiedReqDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.class
deleted file mode 100644
index 56c0e8d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO$PayRefundUnifiedRespDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO$PayRefundUnifiedRespDTOBuilder.class
deleted file mode 100644
index a28c4dd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO$PayRefundUnifiedRespDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.class
deleted file mode 100644
index e8238c3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/IntArrayValuable.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/IntArrayValuable.class
deleted file mode 100644
index 55e29ec..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/IntArrayValuable.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/PayTypeEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/PayTypeEnum.class
deleted file mode 100644
index 9808dae..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/enums/PayTypeEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDao.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDao.class
deleted file mode 100644
index 606ab91..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDao.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDaoImpl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDaoImpl.class
deleted file mode 100644
index da54d9f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsPayDaoImpl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsRepositorye.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsRepositorye.class
deleted file mode 100644
index 2b6b4c9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/GoodsRepositorye.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/Goodspayentity.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/Goodspayentity.class
deleted file mode 100644
index 4d38582..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/Goodspayentity.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/testt.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/testt.class
deleted file mode 100644
index 001cad6..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/goods/testt.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/job/JobHandler.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/job/JobHandler.class
deleted file mode 100644
index abc4985..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/job/JobHandler.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/AppPayOrderController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/AppPayOrderController.class
deleted file mode 100644
index c397496..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/AppPayOrderController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyJob.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyJob.class
deleted file mode 100644
index 16bbfbc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyJob.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.class
deleted file mode 100644
index cf1fc86..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyService.class
deleted file mode 100644
index 8c87391..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyServiceImpl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyServiceImpl.class
deleted file mode 100644
index 40a441e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyServiceImpl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyStatusEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyStatusEnum.class
deleted file mode 100644
index e6e6846..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyStatusEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO$PayNotifyTaskCreateReqDTOBuilder.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO$PayNotifyTaskCreateReqDTOBuilder.class
deleted file mode 100644
index b89749e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO$PayNotifyTaskCreateReqDTOBuilder.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.class
deleted file mode 100644
index 7bc2f0d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTypeEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTypeEnum.class
deleted file mode 100644
index dcb9bb1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/PayNotifyTypeEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyConstants.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyConstants.class
deleted file mode 100644
index f469aa4..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyConstants.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$KeyTypeEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$KeyTypeEnum.class
deleted file mode 100644
index 09b35f7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$KeyTypeEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$TimeoutTypeEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$TimeoutTypeEnum.class
deleted file mode 100644
index 146fb42..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine$TimeoutTypeEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine.class
deleted file mode 100644
index 513324b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyDefine.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyRegistry.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyRegistry.class
deleted file mode 100644
index 25e6690..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/notify/RedisKeyRegistry.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderService.class
deleted file mode 100644
index 67f0a8a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderServiceImpl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderServiceImpl.class
deleted file mode 100644
index 15d1483..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/order/PayOrderServiceImpl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/CommonResult.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/CommonResult.class
deleted file mode 100644
index a7c780d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/CommonResult.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/PageParam.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/PageParam.class
deleted file mode 100644
index 05a242b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/pojo/PageParam.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXCodeMapping.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXCodeMapping.class
deleted file mode 100644
index 8bad07d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXCodeMapping.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXH5PayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXH5PayClient.class
deleted file mode 100644
index b49ff3e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXH5PayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXLitePayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXLitePayClient.class
deleted file mode 100644
index 043a10e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXLitePayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXNativePayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXNativePayClient.class
deleted file mode 100644
index fd3edff..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXNativePayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V2.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V2.class
deleted file mode 100644
index c50d9d7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V3.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V3.class
deleted file mode 100644
index 0429243..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig$V3.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig.class
deleted file mode 100644
index 68aae62..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPayClientConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPubPayClient.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPubPayClient.class
deleted file mode 100644
index 1cd2725..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/payutils/wx/WXPubPayClient.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/AmountRedis.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/AmountRedis.class
deleted file mode 100644
index ebc12e3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/AmountRedis.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/PayRedis.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/PayRedis.class
deleted file mode 100644
index 5056d57..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/PayRedis.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/pushred.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/pushred.class
deleted file mode 100644
index ac7a2a8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/redis/pushred.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A$.class
deleted file mode 100644
index b4aafe1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A.class
deleted file mode 100644
index 4404f0f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/A.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B$.class
deleted file mode 100644
index 4b19714..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B.class
deleted file mode 100644
index 7822605..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/B.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/Demo.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/Demo.class
deleted file mode 100644
index 1388326..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/Demo.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/AbstractCache.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/AbstractCache.class
deleted file mode 100644
index bafaa92..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/AbstractCache.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/GoodsCache.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/GoodsCache.class
deleted file mode 100644
index e6321d2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/cache/GoodsCache.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/Context.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/Context.class
deleted file mode 100644
index fb2a7f5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/Context.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest$.class
deleted file mode 100644
index 8b2fa16..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest.class
deleted file mode 100644
index 239fa24..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayRequest.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType$.class
deleted file mode 100644
index 8ca4970..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType.class
deleted file mode 100644
index 39111d9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayType.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl$.class
deleted file mode 100644
index afb5b6d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl.class
deleted file mode 100644
index a7cbf80..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/contect/PayUrl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AbstractFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AbstractFilter.class
deleted file mode 100644
index 1c0eefd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AbstractFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AmountRiskFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AmountRiskFilter.class
deleted file mode 100644
index 96c2a84..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/AmountRiskFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/IpFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/IpFilter.class
deleted file mode 100644
index e71a572..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/IpFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RandomFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RandomFilter.class
deleted file mode 100644
index 2373c0a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RandomFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RealmNameFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RealmNameFilter.class
deleted file mode 100644
index 401d10c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RealmNameFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RedisFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RedisFilter.class
deleted file mode 100644
index 6429260..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RedisFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RiskFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RiskFilter.class
deleted file mode 100644
index 5d4ddbf..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/RiskFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TimeFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TimeFilter.class
deleted file mode 100644
index 1136eff..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TimeFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TodayRiskFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TodayRiskFilter.class
deleted file mode 100644
index 26dc5f3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/TodayRiskFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/WeightFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/WeightFilter.class
deleted file mode 100644
index bb73883..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/filter/WeightFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Alipaye.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Alipaye.class
deleted file mode 100644
index eb4854f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Alipaye.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayController1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayController1.class
deleted file mode 100644
index 77c904d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayController1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayService.class
deleted file mode 100644
index a57b467..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodsPayService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodse.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodse.class
deleted file mode 100644
index f94c32a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodse.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodspayRepositorye.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodspayRepositorye.class
deleted file mode 100644
index 8144f97..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/GoodspayRepositorye.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspayditche.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspayditche.class
deleted file mode 100644
index ce6d430..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspayditche.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspaye.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspaye.class
deleted file mode 100644
index 09dda22..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Goodspaye.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OnloadPayLink.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OnloadPayLink.class
deleted file mode 100644
index a82054a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OnloadPayLink.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OptisizingSelectionService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OptisizingSelectionService.class
deleted file mode 100644
index 236def1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/OptisizingSelectionService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayFilterService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayFilterService.class
deleted file mode 100644
index e25937f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayFilterService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayOrderServer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayOrderServer.class
deleted file mode 100644
index cc4ddbe..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayOrderServer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayRealmName1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayRealmName1.class
deleted file mode 100644
index 69596ae..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/PayRealmName1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Wxpaye.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Wxpaye.class
deleted file mode 100644
index 57271b6..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/service/Wxpaye.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA$.class
deleted file mode 100644
index 29dc61c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA.class
deleted file mode 100644
index 38b2dcc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/AA.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB$.class
deleted file mode 100644
index 0088596..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB.class
deleted file mode 100644
index 9ec655f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/BB.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/PayControllerPlus.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/PayControllerPlus.class
deleted file mode 100644
index 4dcaa87..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/PayControllerPlus.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test$.class
deleted file mode 100644
index a5f055e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test.class
deleted file mode 100644
index f9fe241..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/engine/web/test.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq$.class
deleted file mode 100644
index 1ee54b3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq.class
deleted file mode 100644
index 5e0e5be..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/CreateGoodsReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename$.class
deleted file mode 100644
index 61748be..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename.class
deleted file mode 100644
index 1bc3e2f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Findbylikename.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods.class
deleted file mode 100644
index 1d1d2fd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods2.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods2.class
deleted file mode 100644
index 6e23bfd..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goods2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsController.class
deleted file mode 100644
index 7a4b700..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage.class
deleted file mode 100644
index 87cbb52..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage2.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage2.class
deleted file mode 100644
index 90f343a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackage2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackageRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackageRepository.class
deleted file mode 100644
index b27a268..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsPackageRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository.class
deleted file mode 100644
index afd7222..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository1.class
deleted file mode 100644
index 9c54f88..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodsRepository1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay.class
deleted file mode 100644
index 3be3e62..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay2.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay2.class
deleted file mode 100644
index 1411d1a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspay2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase$.class
deleted file mode 100644
index aa0e968..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase.class
deleted file mode 100644
index c6f0b9e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayCase.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository.class
deleted file mode 100644
index 895248a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository1.class
deleted file mode 100644
index 8d65952..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayRepository1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch.class
deleted file mode 100644
index 1f34735..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch2.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch2.class
deleted file mode 100644
index c4ea79a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/Goodspayditch2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase$.class
deleted file mode 100644
index 8b17a67..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase.class
deleted file mode 100644
index 19b46f7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchCase.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchRepository.class
deleted file mode 100644
index 1a55554..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/GoodspayditchRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl$.class
deleted file mode 100644
index 6fc4fbe..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl.class
deleted file mode 100644
index 3ed15f8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/SelectALl.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1$.class
deleted file mode 100644
index c85a0cc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1.class
deleted file mode 100644
index 0db5d41..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodsReq1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq$.class
deleted file mode 100644
index 76821dc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq.class
deleted file mode 100644
index 5f85c4c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq$.class
deleted file mode 100644
index 8c37b6e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq.class
deleted file mode 100644
index 323ee85..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpGoodspayditchReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq$.class
deleted file mode 100644
index 8d70eb0..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq.class
deleted file mode 100644
index 46febf3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/UpdateGoodsReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa$.class
deleted file mode 100644
index 58835f3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa.class
deleted file mode 100644
index 78180e9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/goods/aa.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay$.class
deleted file mode 100644
index 85b6a3e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay.class
deleted file mode 100644
index 0c6da14..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Alipay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq$.class
deleted file mode 100644
index 430396b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq.class
deleted file mode 100644
index 7d3546b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes$.class
deleted file mode 100644
index 1ea6e46..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes.class
deleted file mode 100644
index d0679fa..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/GetPayListRes.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/H5PayPageCtroller.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/H5PayPageCtroller.class
deleted file mode 100644
index 8fa3b9b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/H5PayPageCtroller.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay$.class
deleted file mode 100644
index 3a61a28..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay.class
deleted file mode 100644
index 54a6cc5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/h5/Wxpay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A$.class
deleted file mode 100644
index a2b4b67..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A.class
deleted file mode 100644
index f40f4fa..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/A.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay.class
deleted file mode 100644
index b2f0045..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1.class
deleted file mode 100644
index 96a92ce..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1Repository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1Repository.class
deleted file mode 100644
index 17eae99..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Alipay1Repository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B$.class
deleted file mode 100644
index 915a92e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B.class
deleted file mode 100644
index fe5d0da..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/B.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq$.class
deleted file mode 100644
index 30f249f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq.class
deleted file mode 100644
index ef22628..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateAliReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq$.class
deleted file mode 100644
index 1038a24..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq.class
deleted file mode 100644
index eaeb719..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreatePayRealmNameReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq$.class
deleted file mode 100644
index b96e53e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq.class
deleted file mode 100644
index d33c834..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/CreateWxReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq$.class
deleted file mode 100644
index d6dda82..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq.class
deleted file mode 100644
index 0a09f2a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/DelPayReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes$.class
deleted file mode 100644
index 26056bb..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes.class
deleted file mode 100644
index 0f1b1c5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/FindAllPayRes.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayController.class
deleted file mode 100644
index 9a394da..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmName.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmName.class
deleted file mode 100644
index e0bd99b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmName.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameCotroller.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameCotroller.class
deleted file mode 100644
index 53cb5c2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameCotroller.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameRepository.class
deleted file mode 100644
index e7292dc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/PayRealmNameRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes$.class
deleted file mode 100644
index 6475fed..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes.class
deleted file mode 100644
index be8caa4..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/SelectPayRes.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenant.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenant.class
deleted file mode 100644
index 292c7f4..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenant.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantController.class
deleted file mode 100644
index fc60f6a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantRepository.class
deleted file mode 100644
index 0587c84..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser.class
deleted file mode 100644
index 32359f8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser1.class
deleted file mode 100644
index 76755b5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tenantuser1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantuserRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantuserRepository.class
deleted file mode 100644
index fb37e14..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/TenantuserRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt$.class
deleted file mode 100644
index 7cc7db9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt.class
deleted file mode 100644
index 031c36b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Tt.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq$.class
deleted file mode 100644
index e32d15c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq.class
deleted file mode 100644
index c2ff735..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateAliReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq$.class
deleted file mode 100644
index 0e2a754..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq.class
deleted file mode 100644
index dbc86ba..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdatePayRealmNameReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq$.class
deleted file mode 100644
index 69d3378..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq.class
deleted file mode 100644
index 53ddd88..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UpdateWxReq.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Userpay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Userpay.class
deleted file mode 100644
index ee18a5b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Userpay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UserpayRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UserpayRepository.class
deleted file mode 100644
index 0efc473..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/UserpayRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay.class
deleted file mode 100644
index fa72c3c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1.class
deleted file mode 100644
index e69f33e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1Repository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1Repository.class
deleted file mode 100644
index 6a01d43..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/Wxpay1Repository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test$.class
deleted file mode 100644
index cf15f82..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test.class
deleted file mode 100644
index ded7f37..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pay/test.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifiyLog.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifiyLog.class
deleted file mode 100644
index 4bbe6c9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifiyLog.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyEntity.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyEntity.class
deleted file mode 100644
index 6468536..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyEntity.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogEntity.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogEntity.class
deleted file mode 100644
index a01b176..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogEntity.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogRepository.class
deleted file mode 100644
index 0f1dcb8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyLogRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyRepository.class
deleted file mode 100644
index fdb5bfe..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/PayNotifyRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event$.class
deleted file mode 100644
index a2fa55f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event.class
deleted file mode 100644
index d8c8cd5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/paynotify/event.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderController.class
deleted file mode 100644
index 2898aac..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderServer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderServer.class
deleted file mode 100644
index 5fdcb7c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/OrderServer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/PayOrderRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/PayOrderRepository.class
deleted file mode 100644
index bb70662..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/payorder/PayOrderRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pub/PublicUnite.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pub/PublicUnite.class
deleted file mode 100644
index 43e913b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/pub/PublicUnite.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/IinitController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/IinitController.class
deleted file mode 100644
index 54f3dc1..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/IinitController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/Menuinit.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/Menuinit.class
deleted file mode 100644
index 640ad90..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/Menuinit.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/MenuinitRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/MenuinitRepository.class
deleted file mode 100644
index 556f55b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/route/MenuinitRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName$.class
deleted file mode 100644
index 921e37a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName.class
deleted file mode 100644
index 6c36728..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/NickName.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Permission.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Permission.class
deleted file mode 100644
index 50d5012..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Permission.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Role.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Role.class
deleted file mode 100644
index b0bb97b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/Role.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/RolePermission.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/RolePermission.class
deleted file mode 100644
index dd40ac8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/RolePermission.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/User.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/User.class
deleted file mode 100644
index d20b2b3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/User.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserController.class
deleted file mode 100644
index 37d56d6..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRepository.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRepository.class
deleted file mode 100644
index 0efc2c2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRepository.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRole.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRole.class
deleted file mode 100644
index 7797a7b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserRole.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserService.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserService.class
deleted file mode 100644
index 465fa46..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/scala/shiro/UserService.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/CodeDefs.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/CodeDefs.class
deleted file mode 100644
index c508895..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/CodeDefs.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/IdWorker.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/IdWorker.class
deleted file mode 100644
index 38f1eee..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/IdWorker.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/JsonUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/JsonUtils.class
deleted file mode 100644
index 6ae406c..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/JsonUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/FileUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/FileUtils.class
deleted file mode 100644
index 307c1b7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/FileUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/IoUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/IoUtils.class
deleted file mode 100644
index 9da26e3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/io/IoUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs$.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs$.class
deleted file mode 100644
index 2aff28e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs$.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs.class
deleted file mode 100644
index 8305072..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/log/Logs.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/ObjectUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/ObjectUtils.class
deleted file mode 100644
index 2497165..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/ObjectUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/PageUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/PageUtils.class
deleted file mode 100644
index cc1b9f7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/object/PageUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/oss/BlogsOss.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/oss/BlogsOss.class
deleted file mode 100644
index f5857a9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/oss/BlogsOss.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/DateUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/DateUtils.class
deleted file mode 100644
index 032f722..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/DateUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/TimeUtilss.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/TimeUtilss.class
deleted file mode 100644
index d450fa7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/utils/time/TimeUtilss.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/JacksonMapper.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/JacksonMapper.class
deleted file mode 100644
index 2cdf7df..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/JacksonMapper.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$1.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$1.class
deleted file mode 100644
index b7f962b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$1.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateDeserializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateDeserializer.class
deleted file mode 100644
index 2243062..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateDeserializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateSerializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateSerializer.class
deleted file mode 100644
index 68f7bed..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateSerializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeDeserializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeDeserializer.class
deleted file mode 100644
index 0041c5f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeDeserializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeSerializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeSerializer.class
deleted file mode 100644
index d142894..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalDateTimeSerializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeDeserializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeDeserializer.class
deleted file mode 100644
index be1043f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeDeserializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeSerializer.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeSerializer.class
deleted file mode 100644
index 15aebc3..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig$LocalTimeSerializer.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig.class
deleted file mode 100644
index 97a256f..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/WebConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ControllerExceptionHandler.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ControllerExceptionHandler.class
deleted file mode 100644
index fb72a28..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ControllerExceptionHandler.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ErrorCode.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ErrorCode.class
deleted file mode 100644
index eb0b683..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ErrorCode.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/GlobalErrorCodeConstants.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/GlobalErrorCodeConstants.class
deleted file mode 100644
index ad4a819..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/GlobalErrorCodeConstants.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServerException.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServerException.class
deleted file mode 100644
index 95a2fc8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServerException.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceException.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceException.class
deleted file mode 100644
index 1ee9c56..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceException.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceExceptionUtil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceExceptionUtil.class
deleted file mode 100644
index 1e22de5..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServiceExceptionUtil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServicerunException.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServicerunException.class
deleted file mode 100644
index 9f75375..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/ServicerunException.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/enums/ErrorCodeConstants.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/enums/ErrorCodeConstants.class
deleted file mode 100644
index 69ea191..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/enums/ErrorCodeConstants.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelEnum.class
deleted file mode 100644
index de7fac4..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.class
deleted file mode 100644
index ac2839d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.class
deleted file mode 100644
index 8adf00a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.class
deleted file mode 100644
index fc2217a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/json/JsonResult.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/json/JsonResult.class
deleted file mode 100644
index 94ccda9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/json/JsonResult.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTFilter.class
deleted file mode 100644
index 3edf75e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTToken.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTToken.class
deleted file mode 100644
index f740ea9..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTToken.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTUtil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTUtil.class
deleted file mode 100644
index a223c6b..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JWTUtil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtEntity.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtEntity.class
deleted file mode 100644
index 0a1671a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtEntity.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtUtils.class
deleted file mode 100644
index d51b3bc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/jwt/JwtUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRealm.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRealm.class
deleted file mode 100644
index 70c322a..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRealm.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.class
deleted file mode 100644
index b75dec8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.class
deleted file mode 100644
index dc5e8c2..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionManager.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionManager.class
deleted file mode 100644
index af060f8..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/CustomSessionManager.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/ShiroConfig.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/ShiroConfig.class
deleted file mode 100644
index 1f6992d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/config/ShiroConfig.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/AdminController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/AdminController.class
deleted file mode 100644
index e28ee24..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/AdminController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/LogoutController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/LogoutController.class
deleted file mode 100644
index 80e9193..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/LogoutController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/OrderController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/OrderController.class
deleted file mode 100644
index e227fae..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/OrderController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/PublicController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/PublicController.class
deleted file mode 100644
index a9a9f7e..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/PublicController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/VideoController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/VideoController.class
deleted file mode 100644
index 3f01469..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/controller/VideoController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/entity/UserQuery.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/entity/UserQuery.class
deleted file mode 100644
index fbc1c90..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/shiro/entity/UserQuery.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/time/TimeUtilss.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/time/TimeUtilss.class
deleted file mode 100644
index f1a8e83..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/web/time/TimeUtilss.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessToken.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessToken.class
deleted file mode 100644
index 1ee932d..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessToken.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessTokenAPI.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessTokenAPI.class
deleted file mode 100644
index fabf054..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/AccessTokenAPI.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/GetPostUntil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/GetPostUntil.class
deleted file mode 100644
index a1759d7..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/GetPostUntil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/HttpRequestUtil.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/HttpRequestUtil.class
deleted file mode 100644
index c16c5cc..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/HttpRequestUtil.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WeixinController.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WeixinController.class
deleted file mode 100644
index 184fcf6..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WeixinController.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxConfigUtils.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxConfigUtils.class
deleted file mode 100644
index 0ff5b57..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxConfigUtils.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxLogin.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxLogin.class
deleted file mode 100644
index c831f11..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxLogin.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxOpenid.class b/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxOpenid.class
deleted file mode 100644
index 3d4b0da..0000000
Binary files a/api/icloud-framework/icloud-pay/target/classes/com/icloud/server/wxserver/WxOpenid.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/icloud-pay-1.0.2-snapshot.jar b/api/icloud-framework/icloud-pay/target/icloud-pay-1.0.2-snapshot.jar
deleted file mode 100644
index 5202b53..0000000
Binary files a/api/icloud-framework/icloud-pay/target/icloud-pay-1.0.2-snapshot.jar and /dev/null differ
diff --git a/api/icloud-framework/icloud-pay/target/maven-archiver/pom.properties b/api/icloud-framework/icloud-pay/target/maven-archiver/pom.properties
deleted file mode 100644
index 96e4eba..0000000
--- a/api/icloud-framework/icloud-pay/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Fri Jul 29 19:03:49 CST 2022
-version=1.0.2-snapshot
-groupId=com.icloud.boot
-artifactId=icloud-pay
diff --git a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
diff --git a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index b59580a..0000000
--- a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,116 +0,0 @@
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXH5PayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/object/ObjectUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/io/IoUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayNotifyDataDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayClientConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTaskCreateReqDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionIdGenerator.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/pay/PayFrameworkErrorCodeConstants.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayNotifyTaskDO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/pay/PayChannelEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderNotifyRespDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/PublicController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/BaseDO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTUtil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDaoImpl.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/testt.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderDO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/entity/UserQuery.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/WebConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayWapPayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayRefundUnifiedReqDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyRegistry.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ErrorCode.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/pojo/CommonResult.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AbstractPayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/order/PayOrderExcelVO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomSessionManager.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayPayClientConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/GlobalErrorCodeConstants.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WeixinController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/time/DateUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyService.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WXPayXmlUtil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyStatusEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/redis/PayRedis.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXCodeMapping.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/job/JobHandler.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXLitePayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/AccessToken.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsRepositorye.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyDefine.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/XMLUtil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayQrPayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JwtEntity.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AliPayController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JwtUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/RedisKeyConstants.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/order/PayOrderService.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxLogin.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/enums/ErrorCodeConstants.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/package-info.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/WebConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/oss/BlogsOss.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/time/TimeUtilss.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayService.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayRefundNotifyDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/json/JsonResult.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AliPayNotify.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/Goodspayentity.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/order/PayOrderController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRealm.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/WxPayNotify.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/AppPayOrderController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/CustomRolesOrAuthorizationFilter.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/order/PayOrderServiceImpl.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTToken.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ControllerExceptionHandler.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/time/TimeUtilss.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/AbstractPayCodeMapping.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyServiceImpl.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/pojo/PageParam.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/JsonUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXPayClientConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/redis/pushred.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/pay/PayChannelRefundRespEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyLockRedisDAO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ServiceException.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/IdWorker.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayCommonResult.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/CodeDefs.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayOrderUnifiedReqDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXNativePayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/swagger/SwaggerConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayClientFactoryImpl.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/AccessTokenAPI.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/goods/GoodsPayDao.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayEntiy.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/redis/AmountRedis.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/dto/PayRefundUnifiedRespDTO.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/config/ShiroConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/AdminController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyJob.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/PayClientFactory.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/OrderController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/object/PageUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/PayTypeEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/JacksonMapper.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/enums/IntArrayValuable.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ServiceExceptionUtil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/utils/io/FileUtils.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxOpenid.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayConfig.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/VideoController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/notify/PayNotifyTypeEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/wx/WXPubPayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/pay/PayNotifyRefundStatusEnum.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AbstractAlipayClient.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ServerException.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/GetPostUntil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/shiro/controller/LogoutController.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/payutils/alipay/AlipayPayCodeMapping.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/jwt/JWTFilter.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/web/err/ServicerunException.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/HttpRequestUtil.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/main/java/com/icloud/server/wxserver/WxConfigUtils.java
diff --git a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
deleted file mode 100644
index 75d494a..0000000
--- a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-Md5Test.class
diff --git a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
deleted file mode 100644
index c733c8b..0000000
--- a/api/icloud-framework/icloud-pay/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-pay/src/test/java/Md5Test.java
diff --git a/api/icloud-framework/icloud-pay/target/test-classes/Md5Test.class b/api/icloud-framework/icloud-pay/target/test-classes/Md5Test.class
deleted file mode 100644
index fc889c6..0000000
Binary files a/api/icloud-framework/icloud-pay/target/test-classes/Md5Test.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java b/api/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java
index 3775d2b..2a9b275 100644
--- a/api/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java
+++ b/api/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java
@@ -14,7 +14,7 @@ import java.io.IOException;
 
 @Api( tags = {"文件上传" }, value = "API",hidden = true )
 @RestController
-@RequestMapping("file")
+@RequestMapping("/occloud/file")
 @CrossOrigin
 public class CosContoller {
 //    @PostMapping("/upload")
diff --git a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/AliOss.class b/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/AliOss.class
deleted file mode 100644
index c484350..0000000
Binary files a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/AliOss.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/CosContoller.class b/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/CosContoller.class
deleted file mode 100644
index 3102496..0000000
Binary files a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/file/CosContoller.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/swagger/Swagger2.class b/api/icloud-framework/icloud-web/target/classes/com/icloud/server/swagger/Swagger2.class
deleted file mode 100644
index 6f4fab0..0000000
Binary files a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/swagger/Swagger2.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/web/JsonResult.class b/api/icloud-framework/icloud-web/target/classes/com/icloud/server/web/JsonResult.class
deleted file mode 100644
index 3ccfb32..0000000
Binary files a/api/icloud-framework/icloud-web/target/classes/com/icloud/server/web/JsonResult.class and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/target/icloud-web-1.0.2-snapshot.jar b/api/icloud-framework/icloud-web/target/icloud-web-1.0.2-snapshot.jar
deleted file mode 100644
index 20f2584..0000000
Binary files a/api/icloud-framework/icloud-web/target/icloud-web-1.0.2-snapshot.jar and /dev/null differ
diff --git a/api/icloud-framework/icloud-web/target/maven-archiver/pom.properties b/api/icloud-framework/icloud-web/target/maven-archiver/pom.properties
deleted file mode 100644
index 1b96b98..0000000
--- a/api/icloud-framework/icloud-web/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Fri Jul 29 19:03:46 CST 2022
-version=1.0.2-snapshot
-groupId=com.icloud.boot
-artifactId=icloud-web
diff --git a/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
diff --git a/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 99f3b86..0000000
--- a/api/icloud-framework/icloud-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-web/src/main/java/com/icloud/server/swagger/package-info.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-web/src/main/java/com/icloud/server/swagger/Swagger2.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/CosContoller.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-web/src/main/java/com/icloud/server/file/AliOss.java
-/Users/yang/方卡/pay/ocloud-api/ocloud-api_v2-7_22/icloud-framework/icloud-web/src/main/java/com/icloud/server/web/JsonResult.java
diff --git a/api/icloud-server/.DS_Store b/api/icloud-server/.DS_Store
index fc1a290..83fd24c 100644
Binary files a/api/icloud-server/.DS_Store and b/api/icloud-server/.DS_Store differ
diff --git a/api/icloud-server/src/.DS_Store b/api/icloud-server/src/.DS_Store
new file mode 100644
index 0000000..3a025ca
Binary files /dev/null and b/api/icloud-server/src/.DS_Store differ
diff --git a/api/icloud-server/src/main/java/com/icloud/server/OcloudServerApplication.java b/api/icloud-server/src/main/java/com/icloud/server/OcloudServerApplication.java
index 37df538..cf2118a 100644
--- a/api/icloud-server/src/main/java/com/icloud/server/OcloudServerApplication.java
+++ b/api/icloud-server/src/main/java/com/icloud/server/OcloudServerApplication.java
@@ -3,9 +3,10 @@ package com.icloud.server;
 //import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
-
+@EnableAsync
 @SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${yudao.info.base-package}
 //@SpringBootApplication(scanBasePackages = {"${yudao.info.base-package}.server", "${yudao.info.base-package}.module","${yudao.info.pay-package}.*"})
 @SpringBootApplication(scanBasePackages={"com.icloud.server"})
diff --git a/api/icloud-server/src/main/resources/application-dev.yaml b/api/icloud-server/src/main/resources/application-dev.yaml
index ba9dfc2..d4d4dd5 100644
--- a/api/icloud-server/src/main/resources/application-dev.yaml
+++ b/api/icloud-server/src/main/resources/application-dev.yaml
@@ -9,7 +9,7 @@ spring:
 #    url: jdbc:mysql://43.142.42.187:8908/oc-pay?useUnicode=true&characterEncoding=utf-8&useSSL=false
 #    username: pay
 #    password: eDDxWJfwYsDhRELD!
-    url: jdbc:mysql://data.forcetv.com.cn:3306/oc-pay?useUnicode=true&characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://data.forcetv.com.cn:3306/oc_pay_prod?useUnicode=true&characterEncoding=utf-8&useSSL=false
     username: fang
     password: Bbs!q@lp(#
     maximum-pool-size: 100
@@ -23,7 +23,7 @@ spring:
     validation-query: SELECT 1
   redis:
     database: 8
-    host: 43.142.42.187
+    host: pay.icloud.com
     port: 8979
     timeout: 2000
     password: eDDxWJfwYsDhRELD
@@ -37,3 +37,5 @@ spring:
 server:
   port: 8081
 
+
+
diff --git a/api/icloud-server/src/main/resources/application-dev_test.yaml b/api/icloud-server/src/main/resources/application-dev_test.yaml
new file mode 100644
index 0000000..16013c7
--- /dev/null
+++ b/api/icloud-server/src/main/resources/application-dev_test.yaml
@@ -0,0 +1,41 @@
+spring:
+
+  jpa:
+    hibernate:
+      use-new-id-generator-mappings: false
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+
+#    url: jdbc:mysql://43.142.42.187:8908/oc-pay?useUnicode=true&characterEncoding=utf-8&useSSL=false
+#    username: pay
+#    password: eDDxWJfwYsDhRELD!
+    url: jdbc:mysql://data.forcetv.com.cn:3306/oc-pay?useUnicode=true&characterEncoding=utf-8&useSSL=false
+    username: fang
+    password: Bbs!q@lp(#
+    maximum-pool-size: 100
+    max-idle: 10
+    max-wait: 10000
+    min-idle: 5
+    initial-size: 5
+    test-on-borrow: false
+    test-while-idle: true
+    time-between-eviction-runs-millis: 18800
+    validation-query: SELECT 1
+  redis:
+    database: 8
+    host: pay.icloud.com
+    port: 8979
+    timeout: 2000
+    password: eDDxWJfwYsDhRELD
+    jedis:
+      pool:
+        max-active: 80
+        max-idle: 40
+        max-wait: 50
+        min-idle: 20
+
+server:
+  port: 8081
+
+
+
diff --git a/api/icloud-server/src/main/resources/application.yaml b/api/icloud-server/src/main/resources/application.yaml
index 7d8dc22..62a7f66 100644
--- a/api/icloud-server/src/main/resources/application.yaml
+++ b/api/icloud-server/src/main/resources/application.yaml
@@ -15,6 +15,7 @@ spring:
   profiles:
     active: local
 #    active: dev
-server:
-  port: 8081
 
+
+jwt:
+  key: asd
\ No newline at end of file
diff --git a/api/icloud-server/src/main/resources/logback.xml b/api/icloud-server/src/main/resources/logback.xml
index 921794e..b7d025c 100644
--- a/api/icloud-server/src/main/resources/logback.xml
+++ b/api/icloud-server/src/main/resources/logback.xml
@@ -1,74 +1,74 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration  scan="true" scanPeriod="60 seconds" debug="false">
-  <property name="logRootPath" value="/home/log/pay" />
-<!--  <property name="logRootPath" value="/Users/yang/log" />-->
-  <contextName>occoud.pay</contextName>
-  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>%d %p [%t] %m%n</pattern>ƒ
-    </encoder>
-  </appender>
-  <appender name="req" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logRootPath}/req.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
-    </rollingPolicy>
-    <encoder>
-      <pattern>%m%n</pattern>
-    </encoder>
-  </appender>
-  <appender name="pay" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logRootPath}/pay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
-    </rollingPolicy>
-    <encoder>
-      <pattern>%m%n</pattern>
-    </encoder>
-  </appender>
-  <appender name="wxrepay" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logRootPath}/wxrepay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
-    </rollingPolicy>
-    <encoder>
-      <pattern>%m%n</pattern>
-    </encoder>
-  </appender>
-  <appender name="alirepay" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logRootPath}/alirepay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
-    </rollingPolicy>
-    <encoder>
-      <pattern>%m%n</pattern>
-    </encoder>
-  </appender>
-  <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logRootPath}/debug.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
-    </rollingPolicy>
-    <encoder>
-      <pattern>%d %m%n</pattern>
-    </encoder>
-  </appender>
-
-  <logger name="req" level="INFO" additivity="false">
-    <appender-ref ref="req"/>
-  </logger>
-  <logger name="pay" level="INFO" additivity="false">
-    <appender-ref ref="pay"/>
-  </logger>
-  <logger name="wxrepay" level="INFO" additivity="false">
-    <appender-ref ref="wxrepay"/>
-  </logger>
-  <logger name="alirepay" level="INFO" additivity="false">
-    <appender-ref ref="alirepay"/>
-  </logger>
-  <logger name="debug" level="DEBUG" additivity="false">
-    <appender-ref ref="debug"/>
-  </logger>
-
-<!--  <root level="WARN">-->
-<!--    <appender-ref ref="console" />-->
-<!--  </root>-->
-  <root level="INFO">
-    <appender-ref ref="console" />
-  </root>
-</configuration>
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration  scan="true" scanPeriod="60 seconds" debug="false">
+<!--  <property name="logRootPath" value="/home/log/pay" />-->
+  <property name="logRootPath" value="/Users/yang/log" />
+  <contextName>occoud.pay</contextName>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>%d %p [%t] %m%n</pattern>
+    </encoder>
+  </appender>
+  <appender name="req" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logRootPath}/req.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%m%n</pattern>
+    </encoder>
+  </appender>
+  <appender name="pay" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logRootPath}/pay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%m%n</pattern>
+    </encoder>
+  </appender>
+  <appender name="wxrepay" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logRootPath}/wxrepay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%m%n</pattern>
+    </encoder>
+  </appender>
+  <appender name="alirepay" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logRootPath}/alirepay.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%m%n</pattern>
+    </encoder>
+  </appender>
+  <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logRootPath}/debug.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d %m%n</pattern>
+    </encoder>
+  </appender>
+
+  <logger name="req" level="INFO" additivity="false">
+    <appender-ref ref="req"/>
+  </logger>
+  <logger name="pay" level="INFO" additivity="false">
+    <appender-ref ref="pay"/>
+  </logger>
+  <logger name="wxrepay" level="INFO" additivity="false">
+    <appender-ref ref="wxrepay"/>
+  </logger>
+  <logger name="alirepay" level="INFO" additivity="false">
+    <appender-ref ref="alirepay"/>
+  </logger>
+  <logger name="debug" level="DEBUG" additivity="false">
+    <appender-ref ref="debug"/>
+  </logger>
+
+<!--  <root level="WARN">-->
+<!--    <appender-ref ref="console" />-->
+<!--  </root>-->
+  <root level="INFO">
+    <appender-ref ref="console" />
+  </root>
+</configuration>
diff --git a/api/sql/.DS_Store b/api/sql/.DS_Store
index 1185857..c0dc04b 100644
Binary files a/api/sql/.DS_Store and b/api/sql/.DS_Store differ
--
libgit2 0.27.0