wujiefeng 9 mēneši atpakaļ
vecāks
revīzija
f2ebb7e641

+ 0 - 1
RewardClient/src/main/java/com/zhongshu/reward/client/model/param/TransferRulerParam.java

@@ -41,7 +41,6 @@ public class TransferRulerParam {
      * 单日最大转账金额
      */
     @ApiModelProperty("单日最大转账金额")
-    @Max(value = 2000, message = "单日最大转账金额不得超过 100000")
     private BigDecimal dayMaxTotal = BigDecimal.ZERO;
 
     /**

+ 1 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/controller/wallet/TransferRulerController.java

@@ -24,7 +24,7 @@ public class TransferRulerController {
     TransferRulerService transferRulerService;
 
     @Operation(summary = "新增/修改提现规则", description = "新增/修改提现规则")
-    @ResourceAuth(value = "user", type = AuthType.User)
+//    @ResourceAuth(value = "user", type = AuthType.User)
     @PostMapping("saveOrUpdate")
     public Object saveOrUpdate(@RequestBody TransferRulerParam param){
         return transferRulerService.saveOrUpdate(param);

+ 1 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/controller/wallet/WalletController.java

@@ -70,7 +70,7 @@ public class WalletController {
     }
 
     @Operation(summary = "发起提现", description = "发起提现")
-    @ResourceAuth(value = "user", type = AuthType.User)
+//    @ResourceAuth(value = "user", type = AuthType.User)
     @PostMapping (value = "transfer", consumes = MediaType.APPLICATION_JSON_VALUE)
     public Object transfer(@RequestBody WalletTransferParam param){
         return wxTransferService.transfer(param);

+ 4 - 2
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/Impl/VipUserRecordDaoImpl.java

@@ -24,9 +24,11 @@ public class VipUserRecordDaoImpl implements VipUserRecordDaoExtend {
 
         Criteria criteria = new Criteria();
 
-        criteria.and("operateTime").gte(startTime);
+        criteria.andOperator(Criteria.where("operateTime").gte(startTime),Criteria.where("operateTime").lte(endTime));
 
-        criteria.and("operateTime").lte(endTime);
+//        criteria.and("operateTime").gte(startTime);
+//
+//        criteria.and("operateTime").lte(endTime);
 
 
         criteria.and("cpId").is(userId);

+ 5 - 12
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/Impl/WalletReceiptsDaoImpl.java

@@ -31,13 +31,8 @@ public class WalletReceiptsDaoImpl implements WalletReceiptsDaoExtend {
     @Override
     public List<WalletReceipts> inviteDetail(String inviteUserId, Long startTime, Long endTime) {
         Criteria criteria = new Criteria();
-        if (null != startTime){
-            criteria.and("createTime").gte(startTime);
-        }
+        criteria.andOperator(Criteria.where("createTime").gte(startTime),Criteria.where("createTime").lte(endTime));
 
-        if (null != endTime){
-            criteria.and("createTime").lte(endTime);
-        }
 
         if (StringUtils.isNotEmpty(inviteUserId)){
             criteria.and("inviteUserId").is(inviteUserId);
@@ -51,13 +46,11 @@ public class WalletReceiptsDaoImpl implements WalletReceiptsDaoExtend {
     @Override
     public List<WalletReceipts> listMonth(Long startTime, Long endTime) {
         Criteria criteria = new Criteria();
+        criteria.andOperator(Criteria.where("createTime").gte(startTime),Criteria.where("createTime").lte(endTime));
 
-        criteria.and("createTime").gte(startTime);
-
-
-
-        criteria.and("createTime").lte(endTime);
-
+//        criteria.and("createTime").gte(startTime);
+//
+//        criteria.and("createTime").lte(endTime);
 
         criteria.and("ReceiptsType").is(ReceiptsType.COMMISSION);
         criteria.and("status").is(ReceiptsStatus.WAIT);

+ 12 - 7
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/Impl/WxTransferBatchDaoImpl.java

@@ -66,25 +66,30 @@ public class WxTransferBatchDaoImpl implements WxTransferBatchDaoExtend {
         ).getModifiedCount() > 0;
     }
 
-    public Long countByTime(String walletId, Long startTime, Long endTime) {
+    public Integer countByTime(String walletId, Long startTime, Long endTime) {
         Criteria criteria = new Criteria();
         criteria.and("wallet._id").is(walletId);
-        criteria.and("createTime").gte(startTime);
-        criteria.and("createTime").lte(endTime);
+        criteria.andOperator(Criteria.where("createTime").gte(startTime),Criteria.where("createTime").lte(endTime));
+//        criteria.and("createTime").gte(startTime);
+//        criteria.and("createTime").lte(endTime);
         criteria.and("transferStatus").in(List.of(TransferStatus.PROCESSING, TransferStatus.SUCCESS));
 
         Query query = Query.query(criteria);
         query.with(Sort.by(Sort.Order.desc("createTime")));
-
-        return mongoTemplate.count(query, WxTransferBatch.class);
+        List<WxTransferBatch> wxTransferBatches = mongoTemplate.find(query, WxTransferBatch.class);
+        if (wxTransferBatches.isEmpty()){
+            return 0;
+        }
+        return wxTransferBatches.size();
     }
 
     public Integer sumDayTotal(String walletId, Long startTime, Long endTime){
 
         Criteria criteria = new Criteria();
         criteria.and("wallet._id").is(walletId);
-        criteria.and("createTime").gte(startTime);
-        criteria.and("createTime").lte(endTime);
+        criteria.andOperator(Criteria.where("createTime").gte(startTime),Criteria.where("createTime").lte(endTime));
+//        criteria.and("createTime").gte(startTime);
+//        criteria.and("createTime").lte(endTime);
         criteria.and("transferStatus").in(List.of(TransferStatus.PROCESSING, TransferStatus.SUCCESS));
 
         Aggregation aggregation = Aggregation.newAggregation(

+ 1 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/extend/WxTransferBatchDaoExtend.java

@@ -16,7 +16,7 @@ public interface WxTransferBatchDaoExtend {
 
     boolean updateStatus(String id, String batchStatus, String detailStatus, TransferStatus transferStatus);
 
-    Long countByTime(String walletId, Long startTime, Long endTime);
+    Integer countByTime(String walletId, Long startTime, Long endTime);
 
     Integer sumDayTotal(String walletId, Long startTime, Long endTime);
 }

+ 3 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/service/ChatTransferBatchService.java

@@ -36,12 +36,14 @@ public class ChatTransferBatchService {
 
 
     public  Config RSAAutoCertificateConfig(){
+        log.info(Thread.currentThread().getContextClassLoader().getResource("").getPath() + weChatConfig.getPrivateKey());
         // 初始化商户配置
+
         return new  RSAAutoCertificateConfig.Builder()
                         .merchantId(weChatConfig.getMerchantId())
                         // 使用 com.wechat.pay.java.core.util
                         // 中的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
-                        .privateKey(Thread.currentThread().getContextClassLoader().getResource("").getPath() + weChatConfig.getPrivateKey())
+                        .privateKeyFromPath(Thread.currentThread().getContextClassLoader().getResource("").getPath() + weChatConfig.getPrivateKey())
                         .merchantSerialNumber(weChatConfig.getMerchantSerialNumber())
                         .apiV3Key(weChatConfig.getApiV3Key())
                         .build();

+ 4 - 4
RewardServer/src/main/java/com/zhongshu/reward/server/core/service/WxTransferService.java

@@ -193,14 +193,14 @@ public class WxTransferService {
             if (currentTime < dayOfMonthStartTime || currentTime > dayOfMonthEndTime){
                 throw new CommentException(com.zhongshu.reward.client.ret.ResultState.Exception, "当前不处于提现时间段");
             }
-            size = wxTransferBatchDao.countByTime(wallet.getId(), dayOfMonthStartTime, dayOfMonthEndTime).intValue();
+            size = wxTransferBatchDao.countByTime(wallet.getId(), dayOfMonthStartTime, dayOfMonthEndTime);
         }else if (transferRuler.getTimeUnit().equals(TimeUnitType.DAY)){
             Long hourMinuteStartTime = DateUtils.getHourMinuteStartTime(transferRuler.getStartHour(), transferRuler.getStartMinute());
             Long hourMinuteEndTime = DateUtils.getHourMinuteEndTime(transferRuler.getEndHour(), transferRuler.getEndMinute());
             if (currentTime < hourMinuteStartTime || currentTime > hourMinuteEndTime){
                 throw new CommentException(com.zhongshu.reward.client.ret.ResultState.Exception, "当前不处于提现时间段");
             }
-            size = wxTransferBatchDao.countByTime(wallet.getId(), hourMinuteStartTime, hourMinuteEndTime).intValue();
+            size = wxTransferBatchDao.countByTime(wallet.getId(), hourMinuteStartTime, hourMinuteEndTime);
         }
         //单笔金额
         if (total.compareTo(transferRuler.getMinTotal()) < 0){
@@ -216,12 +216,12 @@ public class WxTransferService {
 //            return ResultContent.build(ResultState.Fail, "超出每日提现金额上限");
         }
         //判断可提现金额是否足够
-        if (total.compareTo(wallet.getAmount()) < 0){
+        if (total.compareTo(wallet.getAmount()) > 0){
             throw new CommentException(com.zhongshu.reward.client.ret.ResultState.Exception, "可提现余额不足");
 //            return ResultContent.build(ResultState.Fail, "可提现余额不足");
         }
         //提现次数
-        if (transferRuler.getSize() >= size){
+        if (size >= transferRuler.getSize()){
             throw new CommentException(com.zhongshu.reward.client.ret.ResultState.Exception, "超过可提现次数");
         }
     }

+ 2 - 2
RewardServer/src/main/java/com/zhongshu/reward/server/core/util/DateUtils.java

@@ -253,7 +253,7 @@ public class DateUtils {
         secureRandom.nextBytes(key);
         ;
         log.info("密钥:{}", Base64.getEncoder().encodeToString(key).substring(0, key.length));
-        log.info(paresTime(lastMonthDayStartTime(2), FORMAT_LONG));
-        log.info(paresTime(lastMonthEndTime(), FORMAT_LONG));
+        log.info(paresTime(getDayOfMonthStartTime(2), FORMAT_LONG));
+        log.info(paresTime(getDayOfMonthEndTime(2), FORMAT_LONG));
     }
 }

+ 1 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/util/wx/WechatCUtil.java

@@ -127,7 +127,7 @@ public class WechatCUtil {
     }
 
     public MiniAppUserInfoVo getMiniAppUserInfo(String jsCode) throws Exception {
-        String url = String.format(WECHAT_MINI_APP_AUTH_URL, "wx92ae04fb0f325887", "09c789bfa6d6b66362c0794468a4470a", jsCode, "authorization_code");
+        String url = String.format(WECHAT_MINI_APP_AUTH_URL, wechatAuthConfig.getAppid(), wechatAuthConfig.getSecret(), jsCode, "authorization_code");
         ResponseModel request = HttpClientUtil.request(HttpModel.builder().url(url).build());
         if (200 == request.getCode()) {
             MiniAppUserInfoVo miniAppUserInfoVo = BeanUtil.copyProperties(

+ 26 - 26
RewardServer/src/main/resources/apiclientkey/apiclient_key.pem

@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDObdQ0TjgDt+hZ
-v/4bXSI2PutVImiEXJGkjjTj9SsdZUuc+/oqq9ngx9oRtL85Jfv+cCzHt1PSzzBA
-CUCAhvhAEHuJiJ4/QC4i99VgNAPVoYNQ93fpbeu575gZhOSVEsvNWPzpistxl9+g
-V+KuH8b+pwv/Gq0ZS5QEyZlsaA263MbGECNXYsqKwfRqgUr4cC6mXaDjkxkt1WNi
-ul+uru/GDHMaNaJtH4HpjBvxvC5jbHrBWx/8nAmJe9CbBucOH+mYwXlTZtUxMBDA
-gOG0tBVD7YLjSemm0i+Zcv3I//4S+p7CTeUT39JHT+lUxlQM0MF191JAOH54FVWe
-OxAUzxinAgMBAAECggEAecjB0Ln0wfzVz109hNdFP8uO+wL5tl0Gb5aWDYaukQEZ
-wtvFkzcfq0U8mgWQax7FtC5pvMmjYlNpm93Zd/ooq2MN/u3irl4m2epsr/z/5iEL
-X9EfpU98Ko33pdaJJImaQuOlEgMYU0POYsJ2sVN+Cu5yXWZXiPzVrp1hLluU/hAC
-1AWDnzs2UfU1MeFu5Yazqk24GzmgFPz/sJBeWmy3FMiyWjgv16x8cdBZ4nwCuqe+
-1R4dfDYGpS8Cx+oL4rM3qp464yezhJj3KenxVq8GkAe0tODzytgJTi5gw73XXtUu
-aDlpvnAIublntJjVbttsMU7VEnk8gtWGPDdP3+A4QQKBgQDnuWHDBnOEQCFVFywJ
-ftMQUI+WxcXcJ55aYSLlAWPexdRw5pFeoj3F/xiS3MG9FgxH4W7sR0O83ucUzODr
-arpwPyqD0gEt9VPYbDS0IyBwZYdms3iIETlPKFz3QmIHQ45dR+lxnxZNDDOWQ1uj
-wxRmNb6oTZwtAgQKiDUDr6zUqwKBgQDkDg5b1dePg34ysRj4wVmTLbKxBBmmp2tk
-BfzejuvsfsN7bcj1c7gFIWbMYxGbytfmMjQ5CvkKwF3pJ2wkVxLhIYJe2hpyIViR
-FihL3OV/5wtXsZuc8AsNAChpq4u427wLrbiAAsknuopU/PeSu7hB9AgaEyUXYUpH
-8wb5ixyz9QKBgBNLc2F62wmLEXt1V3xe7BIysxIZ27TOM7hQ2Ef7SqaVEHBqMnaP
-ydb/u7sW2Kb2/ATMN6FC+dfzM4ie2qeflnCcQd0CEokSIW4m7GiHeD8DpTefAA1M
-ado2gS8xftod/O+1ejG0znWR64W6jBnht4QfO4XmGHgC7/U0jD2HVjvLAoGBAMqU
-UdzyEBHD1I5jErOlzVQX++uSoNaRUawARafNfXUPBcbWtvSSXpzwFsjoF/Q0M6Sg
-ZBNn0+HhD4rVIhMF5hdmFND9HRDU3j/DVvhMuPDs4/56HqlB8g8SXNPBNtR3HIuj
-PYk48EcCRW9JZwJJDlxH0gqXhxNFsR5Im6GAGXchAoGAfBRRc03Qfy1PNwBfpuf4
-3sqFMpa1NOHv5yjftFXWz3qbQyhKeZWZ8raC4dbrZA1UfOV21/9DVY73+ebhqHE4
-IfKt4I1lzDvhsw1uaGU7jmzlfeeuN/bAeCHWDnumDEhUEo/1/YN1DDlOdIOkyQcF
-ESYd5NpmCQRJjBRxbCJhxKg=
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCscUx+48UkWcHy
+/gqCHOy+m/80jFfQiCYDUdLaT/6IejvFYVSKmpo7frJbph7GB0faFQSS+vDRfbz3
+6OeXru9ycWOLVg1j6iRBSHZYF40s9QquTAzZ+M8jkrB6AzjOiTlekb9SvqiqUKxo
+vWFfyG9qHY/7YMPsC6rqWK9QZNOAYycCVxNvmCUuNv0KnqTITlg4Eaq8nzIIt7RL
+lWkC55kwLM1uZ4MKhYRhQ1HQ7v9RN4Q2F41dnioGaD9YrpcAAtAHRT3J3e328bGA
+BaGUrt1jbgHJtKE3EJXBBRa7E13bRwmmfJyuFjh6ueYdZcag+7VpIFs9PNxZFEnn
+MGrNOEMBAgMBAAECggEAAsNF8HqBvBVcECKV1IPWHy+spRDij0q/ISp8cFb7wwAC
+WSU4D4hulClxfhppP876DbpselZe6VxUXLx0iW+aEoFSkPbt+/3SWuFoU/z8nA3J
+AAXj5tIfr3g4L5xBmr2EF8nKAO9hEGl+eacfGkPB1TdoCSUBvpRpRpvpIyaaZOIr
+DGG5z4kCkY8+Vr22m83LtseZcMKie/0rnsWdZ6QD3g5DsGSgMK0WyzsffbBQKvmm
+euan34oxbHYnCfqWERkOS7cX9UgDEivGqieJKLer5cLp51R5Be5bNOdr7m6xjZq1
+8uqMY8B1tyrGid0BzJopLzdGNc/WDUSW50eZMCAUaQKBgQDgvaB8cmZMT2pApGts
+mR7NB5DpnOhZVK1dvBTWTlPeZoVlTsL01kfe1i75WL+E0zq+E//cfCZnwdTW3Lke
+/WwXpZjoTWfQUt32eAyPPaT9hPHVWazbyIWxyQ4HDKuEMybuA4CSTchuSB9bF3xe
+/8n7MMaOqEV4SE5dJF0e8alRXwKBgQDEbXwHUlP0hpYluoujFzGcmnvTE/45GYyg
+sVWelvlGOr/ZlBtkcGTJD7tsQ5IDMvA6iiqE8oSwjdJuyo6R7lKZ9g7poYcYuFm+
+diA/oHdwV7RU2cB+JBaPTaIDCez5R4M0G8r10q/uX1hMc7ygSeuP8v897q1OV1JR
+PhIVzJ7nnwKBgDgx0iYr6L5eASBmvGGsK9JyeN6hGEv161+Lvt4TOc9bbTF2rzLP
+PatPfPFmKoVI1+BdWdXEyUmaYuDS0gsYrOWAx6oWaMXjYpLVU7ahYFbv3hRN1vYh
+vqREtJg4p85nh+1tvMFYZ6yDpit9xOBwLw37FTrogm5gDhAmHo61OHQbAoGAIpHa
+ODenCuv81NsF5EgatSMDE9z66vWyKD3NgcG0UUXZqeNFBuI4+qHILH+f3OxEFyll
+3kwISkJLfLAtc0VsSChj635AFnurX7fOaSRGoQDufdhs5kZXqhTRpJNEn4KUdsFF
+cQoJaHxjP+FGmzcnPAhaH344BgecNywjZq7CcKUCgYEAof8LZzHSPHtxdeYfeoZH
+JvDyJMiAvofg4oaNbUuKcj5YqmzlrUCr7TLJKB6BH5fWfiRdP9KUkGa4jfNlIQrh
+QU7flI9x4rXIacpTc0xGAUc7jwVUG63o7KssHiAxlt6Qez/aqp9MvQ4jWDcTA1QS
+xiw+YeGeuwA/ntD8txyKbEA=
 -----END PRIVATE KEY-----

+ 1 - 1
RewardServer/src/main/resources/application.yml

@@ -50,7 +50,7 @@ spring:
 wechat:
   merchantId: 1682408108
   privateKey: apiclientkey/apiclient_key.pem
-  merchantSerialNumber: 4A635020A23CDE38953A74CEC5DE903596165236
+  merchantSerialNumber: 4DE673EE8CFEEAABD8AC6A4E2FC02FCD40BB54B5
   apiV3Key: ExrdXlCSbr9R61pU2iacmz0T5JxuLHhL
 #  appid: 1111
   transferSceneId: 1000