wangPH пре 1 година
родитељ
комит
d208c49481

+ 11 - 0
background-user/src/main/java/cn/kdan/compdf/constant/MyConstant.java

@@ -0,0 +1,11 @@
+package cn.kdan.compdf.constant;
+
+/**
+ * @author ComPDFKit-WPH 2023/2/16
+ */
+public interface MyConstant {
+
+    Integer SUBSCRIPTIONS = 1;
+    Integer PACKAGES = 2;
+    Integer FREE = 3;
+}

+ 4 - 0
background-user/src/main/java/cn/kdan/compdf/entity/BackgroundUserRemain.java

@@ -36,5 +36,9 @@ public class BackgroundUserRemain extends BaseEntity {
      * 关联用户主键id
      */
     private Long userId;
+    /**
+     * 资产类型 1 SUBSCRIPTIONS,2 PACKAGES,3 FREE  MyConstant
+     */
+    private Integer assetType;
 
 }

+ 4 - 0
background-user/src/main/java/cn/kdan/compdf/mapper/BackgroundUserRemainMapper.java

@@ -16,4 +16,8 @@ public interface BackgroundUserRemainMapper extends BaseMapper<BackgroundUserRem
      */
     void updateCleanFreeTotal(@Param("tenantId") Long tenantId,
                               @Param("newestPlanAddFreeNum") Integer newestPlanAddFreeNum);
+
+    void updateUserRemain(@Param("tenantId") Long tenantId,
+                          @Param("assetTypeId") Integer assetTypeId,
+                          @Param("asset") Integer asset);
 }

+ 3 - 1
background-user/src/main/java/cn/kdan/compdf/service/BackgroundUserRemainService.java

@@ -26,7 +26,9 @@ public interface BackgroundUserRemainService extends IService<BackgroundUserRema
      * @param tenantId tenantId
      * @return 获得BackgroundUserRemain
      */
-    BackgroundUserRemain getUserRemain(Long tenantId);
+    List<BackgroundUserRemain> getUserRemain(Long tenantId);
+
+    List<BackgroundUserRemain> getUserRemainByUserId(Long userId);
 
     /**
      * tenantBalance 同步

+ 11 - 4
background-user/src/main/java/cn/kdan/compdf/service/impl/BackgroundUserBalanceServiceImpl.java

@@ -72,11 +72,18 @@ public class BackgroundUserBalanceServiceImpl extends ServiceImpl<BackgroundUser
      */
     @Override
     public BackgroundUserPackageBalanceVO getPackageBalance(Long userId) {
-        LambdaQueryWrapper<BackgroundUserRemain> eq = new LambdaQueryWrapper<BackgroundUserRemain>()
-                .eq(BackgroundUserRemain::getUserId, userId);
-        BackgroundUserRemain backgroundUserRemain = backgroundUserRemainService.getOne(eq);
+//        LambdaQueryWrapper<BackgroundUserRemain> eq = new LambdaQueryWrapper<BackgroundUserRemain>()
+//                .eq(BackgroundUserRemain::getUserId, userId);
+//        BackgroundUserRemain backgroundUserRemain = backgroundUserRemainService.getOne(eq);
+        List<BackgroundUserRemain> userRemains = backgroundUserRemainService.getUserRemainByUserId(userId);
+        int usedFiles = 0;
+        int remainingFiles = 0;
+        for (BackgroundUserRemain userRemain : userRemains) {
+            usedFiles = usedFiles + userRemain.getUsedFiles();
+            remainingFiles = remainingFiles + userRemain.getTotalFiles();
+        }
         return BackgroundUserPackageBalanceVO.builder()
-                .usedFiles(backgroundUserRemain.getUsedFiles()).remainingFiles(backgroundUserRemain.getTotalFiles()).build();
+                .usedFiles(usedFiles).remainingFiles(remainingFiles).build();
     }
 
     /**

+ 23 - 11
background-user/src/main/java/cn/kdan/compdf/service/impl/BackgroundUserRemainServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.kdan.compdf.service.impl;
 
 import cn.kdan.compdf.config.RedisConstantServer;
+import cn.kdan.compdf.constant.MyConstant;
 import cn.kdan.compdf.constant.UserBalanceConstant;
 import cn.kdan.compdf.dto.TenantAssetBalanceDTO;
 import cn.kdan.compdf.entity.BackgroundUserRemain;
@@ -31,25 +32,36 @@ public class BackgroundUserRemainServiceImpl extends ServiceImpl<BackgroundUserR
 
     @Cacheable(value = RedisConstantServer.USER_REMAIN_TENANT, key = "#tenantId", unless = "#result == null")
     @Override
-    public BackgroundUserRemain getUserRemain(Long tenantId) {
-        return this.baseMapper.selectOne(new LambdaQueryWrapper<BackgroundUserRemain>()
+    public List<BackgroundUserRemain> getUserRemain(Long tenantId) {
+        return this.baseMapper.selectList(new LambdaQueryWrapper<BackgroundUserRemain>()
                 .eq(BackgroundUserRemain::getTenantId, tenantId));
     }
 
+    @Override
+    public List<BackgroundUserRemain> getUserRemainByUserId(Long userId) {
+        return this.baseMapper.selectList(new LambdaQueryWrapper<BackgroundUserRemain>()
+                .eq(BackgroundUserRemain::getUserId, userId));
+    }
+
+
+
     @Override
     public void userRemainSync(List<TenantAssetBalanceDTO> tenantBalance) {
         Map<Long, List<TenantAssetBalanceDTO>> collect = tenantBalance.stream()
                 .collect(Collectors.groupingBy(TenantAssetBalanceDTO::getTenantId));
         for (Long tenantId : collect.keySet()) {
-            BackgroundUserRemain userRemain = this.getUserRemain(tenantId);
-            Integer totalFiles = userRemain.getTotalFiles();
-            int fileBalance = 0;
-            for (TenantAssetBalanceDTO tenantAssetBalanceDTO : collect.get(tenantId)) {
-                fileBalance += tenantAssetBalanceDTO.getAsset();
+//            List<BackgroundUserRemain> userRemains = this.getUserRemain(tenantId);
+            for (TenantAssetBalanceDTO assetBalanceDTO : tenantBalance) {
+                this.baseMapper.updateUserRemain(assetBalanceDTO.getTenantId(),assetBalanceDTO.getAssetTypeId(),assetBalanceDTO.getAsset());
             }
-            userRemain.setUsedFiles(totalFiles - fileBalance);
-            this.baseMapper.update(userRemain, new LambdaQueryWrapper<BackgroundUserRemain>()
-                    .eq(BackgroundUserRemain::getTenantId, tenantId));
+//            Integer totalFiles = userRemain.getTotalFiles();
+//            int fileBalance = 0;
+//            for (TenantAssetBalanceDTO tenantAssetBalanceDTO : collect.get(tenantId)) {
+//                fileBalance += tenantAssetBalanceDTO.getAsset();
+//            }
+//            userRemain.setUsedFiles(totalFiles - fileBalance);
+//            this.baseMapper.update(userRemain, new LambdaQueryWrapper<BackgroundUserRemain>()
+//                    .eq(BackgroundUserRemain::getTenantId, tenantId));
         }
     }
 
@@ -65,7 +77,7 @@ public class BackgroundUserRemainServiceImpl extends ServiceImpl<BackgroundUserR
         userRemain.setTenantId(tenantId);
         userRemain.setTotalFiles(UserBalanceConstant.BALANCE_CHANGE_FREE);
         userRemain.setUsedFiles(0);
-
+        userRemain.setAssetType(MyConstant.FREE);
         this.baseMapper.insert(userRemain);
     }
 

+ 3 - 3
background-user/src/main/resources/application.yml

@@ -8,10 +8,10 @@ spring:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8
   rabbitmq:
-    host: ${MQ_HOST:106.55.99.175}
-    port: ${MQ_PORT:5672}
+    host: ${MQ_HOST:35.188.251.105}
+    port: ${MQ_PORT:35672}
     username: ${MQ_USERNAME:admin}
-    password: ${MQ_PASSWORD:admin}
+    password: ${MQ_PASSWORD:1qazZAQ!2}
     virtualHost: /
     # 发送端确认
     publisher-confirm-type: correlated

+ 7 - 0
background-user/src/main/resources/mapper/BackgroundUserRemainMapper.xml

@@ -20,6 +20,13 @@
         UPDATE background_user_remain
         SET total_files = total_files - #{newestPlanAddFreeNum}
         WHERE tenant_id = #{tenantId}
+          and asset_type = 3
+    </update>
+    <update id="updateUserRemain">
+        UPDATE `background_user_remain`
+        SET `used_files` =  total_files - #{asset}
+        WHERE `tenant_id` = #{tenantId}
+            and asset_type = #{assetTypeId}
     </update>
 
 </mapper>