瀏覽代碼

1、解决已知bug
2、移除企业账户的余额

rayson 11 月之前
父節點
當前提交
41ff24c126
共有 21 個文件被更改,包括 61 次插入94 次删除
  1. 3 2
      citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/config/CituTenantAutoConfiguration.java
  2. 7 0
      citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/config/TenantProperties.java
  3. 10 2
      citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/core/redis/TenantRedisCacheManager.java
  4. 4 0
      citu-framework/citu-spring-boot-starter-redis/pom.xml
  5. 0 5
      citu-module-pay/citu-module-pay-biz/pom.xml
  6. 0 13
      citu-module-pay/citu-module-pay-biz/src/main/resources/application.yaml
  7. 2 2
      citu-module-system/citu-module-system-biz/pom.xml
  8. 9 2
      citu-module-system/citu-module-system-biz/src/main/resources/application.yaml
  9. 1 1
      citu-module-system/citu-module-system-biz/src/test/java/com/citu/module/system/framework/sms/core/client/impl/SmsClientTests.java
  10. 5 0
      menduner/menduner-common/pom.xml
  11. 0 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/UserAccountController.java
  12. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/job/vo/AppRecruitJobPageReqVO.java
  13. 0 20
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/AccountBalanceUpdateReqVO.java
  14. 0 7
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/record/EnterpriseAccountRecordRespVO.java
  15. 0 7
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/record/UserAccountRecordRespVO.java
  16. 0 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/user/account/UserAccountRespVO.java
  17. 0 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/user/account/UserAccountSaveReqVO.java
  18. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/permission/MdeRoleDO.java
  19. 8 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java
  20. 4 7
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java
  21. 4 4
      pom.xml

+ 3 - 2
citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/config/CituTenantAutoConfiguration.java

@@ -133,12 +133,13 @@ public class CituTenantAutoConfiguration {
     @Primary // 引入租户时,tenantRedisCacheManager 为主 Bean
     public RedisCacheManager tenantRedisCacheManager(RedisTemplate<String, Object> redisTemplate,
                                                      RedisCacheConfiguration redisCacheConfiguration,
-                                                     CituCacheProperties cituCacheProperties) {
+                                                     CituCacheProperties cituCacheProperties,
+                                                     TenantProperties tenantProperties) {
         // 创建 RedisCacheWriter 对象
         RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
         RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory,
                 BatchStrategies.scan(cituCacheProperties.getRedisScanBatchSize()));
         // 创建 TenantRedisCacheManager 对象
-        return new TenantRedisCacheManager(cacheWriter, redisCacheConfiguration);
+        return new TenantRedisCacheManager(cacheWriter, redisCacheConfiguration, tenantProperties.getIgnoreCaches());
     }
 }

+ 7 - 0
citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/config/TenantProperties.java

@@ -39,4 +39,11 @@ public class TenantProperties {
      */
     private Set<String> ignoreTables = Collections.emptySet();
 
+    /**
+     * 需要忽略多租户的 Spring Cache 缓存
+     *
+     * 即默认所有缓存都开启多租户的功能,所以记得添加对应的 tenant_id 字段哟
+     */
+    private Set<String> ignoreCaches = Collections.emptySet();
+
 }

+ 10 - 2
citu-framework/citu-spring-boot-starter-biz-tenant/src/main/java/com/citu/framework/tenant/core/redis/TenantRedisCacheManager.java

@@ -1,5 +1,6 @@
 package com.citu.framework.tenant.core.redis;
 
+import cn.hutool.core.collection.CollUtil;
 import com.citu.framework.redis.core.TimeoutRedisCacheManager;
 import com.citu.framework.tenant.core.context.TenantContextHolder;
 import lombok.extern.slf4j.Slf4j;
@@ -8,6 +9,8 @@ import org.springframework.data.redis.cache.RedisCacheConfiguration;
 import org.springframework.data.redis.cache.RedisCacheManager;
 import org.springframework.data.redis.cache.RedisCacheWriter;
 
+import java.util.Set;
+
 /**
  * 多租户的 {@link RedisCacheManager} 实现类
  *
@@ -18,16 +21,21 @@ import org.springframework.data.redis.cache.RedisCacheWriter;
 @Slf4j
 public class TenantRedisCacheManager extends TimeoutRedisCacheManager {
 
+    private final Set<String> ignoreCaches;
+
     public TenantRedisCacheManager(RedisCacheWriter cacheWriter,
-                                   RedisCacheConfiguration defaultCacheConfiguration) {
+                                   RedisCacheConfiguration defaultCacheConfiguration,
+                                   Set<String> ignoreCaches) {
         super(cacheWriter, defaultCacheConfiguration);
+        this.ignoreCaches = ignoreCaches;
     }
 
     @Override
     public Cache getCache(String name) {
         // 如果开启多租户,则 name 拼接租户后缀
         if (!TenantContextHolder.isIgnore()
-            && TenantContextHolder.getTenantId() != null) {
+                && TenantContextHolder.getTenantId() != null
+                && !CollUtil.contains(ignoreCaches, name)) {
             name = name + ":" + TenantContextHolder.getTenantId();
         }
 

+ 4 - 0
citu-framework/citu-spring-boot-starter-redis/pom.xml

@@ -26,6 +26,10 @@
             <groupId>org.redisson</groupId>
             <artifactId>redisson-spring-boot-starter</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson-spring-data-27</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 0 - 5
citu-module-pay/citu-module-pay-biz/pom.xml

@@ -24,11 +24,6 @@
             <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>com.citu</groupId>
-            <artifactId>citu-spring-boot-starter-env</artifactId>
-        </dependency>
-
         <!-- 依赖服务 -->
         <dependency>
             <groupId>com.citu</groupId>

+ 0 - 13
citu-module-pay/citu-module-pay-biz/src/main/resources/application.yaml

@@ -3,11 +3,6 @@ spring:
     allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
     allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
 
-  config:
-    import:
-      - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
-      - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
-
   # Servlet 配置
   servlet:
     # 文件上传相关配置项
@@ -28,14 +23,6 @@ spring:
     type: REDIS
     redis:
       time-to-live: 1h # 设置过期时间为 1 小时
-
-server:
-  port: 48085
-
-logging:
-  file:
-    name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
-
 --- #################### 接口文档配置 ####################
 
 springdoc:

+ 2 - 2
citu-module-system/citu-module-system-biz/pom.xml

@@ -20,8 +20,8 @@
     <dependencies>
         <!-- Spring Cloud 基础 -->
         <dependency>
-            <groupId>com.citu</groupId>
-            <artifactId>citu-spring-boot-starter-env</artifactId>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
 
         <!-- 依赖服务 -->

+ 9 - 2
citu-module-system/citu-module-system-biz/src/main/resources/application.yaml

@@ -179,11 +179,18 @@ citu:
       - system_mail_template
       - system_mail_log
       - system_notify_template
+    ignore-caches:
+      - permission_menu_ids
+      - oauth_client
+      - notify_template
+      - mail_account
+      - mail_template
+      - sms_template
   sms-code: # 短信验证码相关的配置项
     expire-times: 10m
     send-frequency: 1m
     send-maximum-quantity-per-day: 10
-    begin-code: 142367 # 这里配置 9999 的原因是,测试方便。
-    end-code: 999999 # 这里配置 9999 的原因是,测试方便。
+    begin-code: 9999 # 这里配置 9999 的原因是,测试方便。
+    end-code: 9999 # 这里配置 9999 的原因是,测试方便。
 
 debug: false

+ 1 - 1
citu-module-system/citu-module-system-biz/src/test/java/com/citu/module/system/framework/sms/core/client/impl/SmsClientTests.java

@@ -66,7 +66,7 @@ public class SmsClientTests {
         String mobile = "173213154791";
         String apiTemplateId = "SMS_207945135";
         // 调用
-        SmsSendRespDTO sendRespDTO = client.sendSms(sendLogId, mobile, apiTemplateId, List.of(new KeyValue<>("code", "1024")));
+        SmsSendRespDTO sendRespDTO = client.sendSms(sendLogId, mobile, apiTemplateId, ListUtil.of(new KeyValue<>("code", "1024")));
         // 打印结果
         System.out.println(sendRespDTO);
     }

+ 5 - 0
menduner/menduner-common/pom.xml

@@ -80,6 +80,11 @@
             <artifactId>citu-spring-boot-starter-monitor</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.citu</groupId>
+            <artifactId>citu-spring-boot-starter-redis</artifactId>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 0 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/UserAccountController.java

@@ -8,13 +8,11 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.excel.core.util.ExcelUtils;
 import com.citu.module.menduner.system.controller.admin.user.vo.UserAccountPageRespVO;
-import com.citu.module.menduner.system.controller.base.account.AccountBalanceUpdateReqVO;
 import com.citu.module.menduner.system.controller.base.account.AccountPointUpdateReqVO;
 import com.citu.module.menduner.system.controller.base.user.account.UserAccountPageReqVO;
 import com.citu.module.menduner.system.controller.base.user.account.UserAccountRespVO;
 import com.citu.module.menduner.system.dal.dataobject.user.UserAccountDO;
 import com.citu.module.menduner.system.enums.MathOperationEnum;
-import com.citu.module.menduner.system.enums.account.BalanceBizTypeEnum;
 import com.citu.module.menduner.system.enums.account.PointBizTypeEnum;
 import com.citu.module.menduner.system.service.record.UserAccountRecordService;
 import com.citu.module.menduner.system.service.user.UserAccountService;

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/job/vo/AppRecruitJobPageReqVO.java

@@ -48,9 +48,9 @@ public class AppRecruitJobPageReqVO extends PageParam {
     private LocalDateTime[] expireTime;
 
     @Schema(description = "是否获取过期的数据")
-    private boolean hasExpiredData;
+    private Boolean hasExpiredData;
 
     @Schema(description = "是否雇佣 (众聘)")
-    private boolean hire;
+    private Boolean hire;
 
 }

+ 0 - 20
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/AccountBalanceUpdateReqVO.java

@@ -1,20 +0,0 @@
-package com.citu.module.menduner.system.controller.base.account;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.ToString;
-
-import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-
-@Schema(description = "管理后台 - 修改余额 Request VO")
-@Data
-@ToString(callSuper = true)
-public class AccountBalanceUpdateReqVO extends AccountBaseVO{
-
-
-    @Schema(description = "变动余额,正数为增加,负数为减少")
-    @NotNull(message = "{1_110_005_005}")
-    private BigDecimal balance;
-
-}

+ 0 - 7
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/record/EnterpriseAccountRecordRespVO.java

@@ -3,7 +3,6 @@ package com.citu.module.menduner.system.controller.base.account.record;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 企业账户变动积分记录 Response VO")
@@ -40,12 +39,6 @@ public class EnterpriseAccountRecordRespVO {
     @Schema(description = "变动后的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
     private Integer totalPoint;
 
-    @Schema(description = "余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
-    private BigDecimal balance;
-
-    @Schema(description = "变动后的余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
-    private BigDecimal totalBalance;
-
     @Schema(description = "发生时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 

+ 0 - 7
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/account/record/UserAccountRecordRespVO.java

@@ -3,7 +3,6 @@ package com.citu.module.menduner.system.controller.base.account.record;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 用户账户变动积分记录 Response VO")
@@ -37,12 +36,6 @@ public class UserAccountRecordRespVO {
     @Schema(description = "变动后的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
     private Integer totalPoint;
 
-    @Schema(description = "余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
-    private BigDecimal balance;
-
-    @Schema(description = "变动后的余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
-    private BigDecimal totalBalance;
-
     @Schema(description = "发生时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 

+ 0 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/user/account/UserAccountRespVO.java

@@ -6,7 +6,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 用户账户 Response VO")
@@ -22,10 +21,6 @@ public class UserAccountRespVO {
     @ExcelProperty("用户id")
     private Long userId;
 
-    @Schema(description = "账户余额")
-    @ExcelProperty("账户余额")
-    private BigDecimal balance;
-
     @Schema(description = "积分数量")
     @ExcelProperty("积分数量")
     private Integer point;

+ 0 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/user/account/UserAccountSaveReqVO.java

@@ -1,11 +1,9 @@
 package com.citu.module.menduner.system.controller.base.user.account;
 
-import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import java.math.BigDecimal;
 
 @Schema(description = "管理后台 - 用户账户新增/修改 Request VO")
 @Data
@@ -18,9 +16,6 @@ public class UserAccountSaveReqVO {
     @NotEmpty(message = "{1_099_000_006}")
     private Long userId;
 
-    @Schema(description = "账户余额")
-    private BigDecimal balance;
-
     @Schema(description = "积分数量")
     private Integer point;
 

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/permission/MdeRoleDO.java

@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
-import com.citu.framework.mybatis.core.type.JsonLongSetTypeHandler;
 import com.citu.framework.tenant.core.db.TenantBaseDO;
 import com.citu.module.system.enums.permission.DataScopeEnum;
 import com.citu.module.system.enums.permission.RoleTypeEnum;
@@ -72,7 +72,7 @@ public class MdeRoleDO extends TenantBaseDO {
      *
      * 适用于 {@link #dataScope} 的值为 {@link DataScopeEnum#DEPT_CUSTOM} 时
      */
-    @TableField(typeHandler = JsonLongSetTypeHandler.class)
+    @TableField(typeHandler = JacksonTypeHandler.class)
     private Set<Long> dataScopeDeptIds;
 
 }

+ 8 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java

@@ -162,7 +162,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
                 .eqIfPresent(JobAdvertisedDO::getExpType, reqVO.getExpType())
                 .eqIfPresent(JobAdvertisedDO::getEduType, reqVO.getEduType())
                 .eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getStatus())
-                .eqIfPresent(JobAdvertisedDO::getHire, reqVO.isHire())
+                .eqIfPresent(JobAdvertisedDO::getHire, reqVO.getHire())
                 .betweenIfPresent(JobAdvertisedDO::getCreateTime, reqVO.getCreateTime())
                 .betweenIfPresent(JobAdvertisedDO::getExpireTime, reqVO.getExpireTime())
                 .orderByDesc(JobAdvertisedDO::getTop, JobAdvertisedDO::getUpdateTime);
@@ -170,11 +170,13 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
         query.eq(JobAdvertisedDO::getEnterpriseId, enterpriseId);
         query.eq(JobAdvertisedDO::getUserId, userId);
 
-        if (reqVO.isHasExpiredData()) {
-            // 获取过期的数据 当前时间小于过期时间
-            query.le(JobAdvertisedDO::getExpireTime, LocalDateTime.now());
-        } else {
-            notExpireTime(query);
+        if (null != reqVO.getHasExpiredData()) {
+            if (reqVO.getHasExpiredData()) {
+                // 获取过期的数据 当前时间小于过期时间
+                query.le(JobAdvertisedDO::getExpireTime, LocalDateTime.now());
+            } else {
+                notExpireTime(query);
+            }
         }
         return selectPage(reqVO, query);
     }

+ 4 - 7
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java

@@ -79,7 +79,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         // 人才相关的条件
         wrapper.likeIfExists("recommend.name", reqVO.getName());
 
-        setUnfitCandidate(wrapper,enterpriseId, userId);
+        setUnfitCandidate(wrapper);
 
         wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
         return selectJoinPage(reqVO, AppRecruitJobCvRelRespVO.class, wrapper);
@@ -118,7 +118,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         // 人才相关的条件
         wrapper.likeIfExists("recommend.name", reqVO.getName());
 
-        setUnfitCandidate(wrapper,enterpriseId, publishUserId);
+        setUnfitCandidate(wrapper);
 
         wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
         return selectJoinPage(reqVO, AppRecruitHireJobCvRelRespVO.class, wrapper);
@@ -152,7 +152,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
                     reqVO.getStatus());
         }
 
-        setUnfitCandidate(wrapper,null,userId);
+        setUnfitCandidate(wrapper);
 
         wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
         return selectJoinPage(reqVO, AppHireJobCvRelRespVO.class, wrapper);
@@ -162,15 +162,12 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
     /**
      * 过滤不合适的候选人
      **/
-    default void setUnfitCandidate(MPJLambdaWrapperX<JobCvRelDO> wrapper,
-                                   Long enterpriseId, Long publishUserId) {
+    default void setUnfitCandidate(MPJLambdaWrapperX<JobCvRelDO> wrapper) {
         // 不合适的候选人表 过滤不合适的数据
         wrapper.leftJoin(UnfitCandidateDO.class, on ->
                 on.eq(UnfitCandidateDO::getType, UnfitTypeEnum.JOB_CV_REL.getStatus())
                         .eq(UnfitCandidateDO::getBizId, JobCvRelDO::getId)
         );
-        wrapper.eqIfExists(UnfitCandidateDO::getEnterpriseId, enterpriseId);
-        wrapper.eqIfExists(UnfitCandidateDO::getPublishUserId, publishUserId);
         wrapper.isNull(UnfitCandidateDO::getId);
     }
 

+ 4 - 4
pom.xml

@@ -32,14 +32,14 @@
     <properties>
         <revision>2.2.0-snapshot</revision>
         <!-- Maven 相关 -->
-        <java.version>11</java.version>
+        <java.version>1.8</java.version>
         <maven.compiler.source>${java.version}</maven.compiler.source>
         <maven.compiler.target>${java.version}</maven.compiler.target>
         <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
-        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
-        <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version>
+        <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
+        <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
         <!-- 看看咋放到 bom 里 -->
-        <lombok.version>1.18.30</lombok.version>
+        <lombok.version>1.18.34</lombok.version>
         <spring.boot.version>2.7.18</spring.boot.version>
         <mapstruct.version>1.5.5.Final</mapstruct.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>