Browse Source

1、优化增加权益信息
2、增加简历查看的控制
3、优化积分写入逻辑

rayson 8 months ago
parent
commit
49e7534a4b
31 changed files with 221 additions and 58 deletions
  1. 4 3
      citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/service/signin/MemberSignInRecordServiceImpl.java
  2. 1 1
      menduner/menduner-common/src/main/java/com/citu/module/menduner/common/enums/MathOperationEnum.java
  3. 3 2
      menduner/menduner-common/src/main/java/com/citu/module/menduner/common/message/UserPointSendMessage.java
  4. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/mq/producer/UserPointProducer.java
  5. 2 2
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/event/EventTrackServiceImpl.java
  6. 4 4
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/signin/SignInRecordServiceImpl.java
  7. 15 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/aop/VipEntitlementCheck.java
  8. 27 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/aop/VipEntitlementCheckAspect.java
  9. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/api/account/UserAccountApiImpl.java
  10. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/UserAccountController.java
  11. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/AppPersonController.java
  12. 1 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/user/AppMdeUserController.java
  13. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementRespVO.java
  14. 9 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSaveReqVO.java
  15. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageRespVO.java
  16. 9 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageSaveReqVO.java
  17. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseEntitlementDO.java
  18. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterprisePackageDO.java
  19. 29 10
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java
  20. 12 12
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/UserPointConsumer.java
  21. 12 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java
  22. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeAuthServiceImpl.java
  23. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/invite/EnterpriseInviteRecordServiceImpl.java
  24. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java
  25. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java
  26. 6 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java
  27. 10 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java
  28. 8 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java
  29. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/record/UserAccountRecordService.java
  30. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/record/UserAccountRecordServiceImpl.java
  31. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/redeem/RedeemServiceImpl.java

+ 4 - 3
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/service/signin/MemberSignInRecordServiceImpl.java

@@ -75,11 +75,12 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService
         }
         summary.setTodaySignIn(DateUtils.isToday(lastRecord.getCreateTime()));
 
-        // 4.1 校验今天是否签到,没有签到则直接返回
-        if (!summary.getTodaySignIn()) {
+        // 4.1 检查今天是否未签到且记录不是昨天创建的,如果是则直接返回
+        if (!summary.getTodaySignIn() && !DateUtils.isYesterday(lastRecord.getCreateTime())) {
             return summary;
         }
-        // 4.2 连续签到天数
+
+        // 4.2 要么是今天签到了,要么是昨天的记录,设置连续签到天数
         summary.setContinuousDay(lastRecord.getDay());
         return summary;
     }

+ 1 - 1
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/MathOperationEnum.java → menduner/menduner-common/src/main/java/com/citu/module/menduner/common/enums/MathOperationEnum.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.enums;
+package com.citu.module.menduner.common.enums;
 
 import cn.hutool.core.util.EnumUtil;
 import lombok.AllArgsConstructor;

+ 3 - 2
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/mq/message/UserPointSendMessage.java → menduner/menduner-common/src/main/java/com/citu/module/menduner/common/message/UserPointSendMessage.java

@@ -1,6 +1,7 @@
-package com.citu.module.menduner.reward.mq.message;
+package com.citu.module.menduner.common.message;
 
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/mq/producer/UserPointProducer.java

@@ -1,6 +1,6 @@
 package com.citu.module.menduner.reward.mq.producer;
 
-import com.citu.module.menduner.reward.mq.message.UserPointSendMessage;
+import com.citu.module.menduner.common.message.UserPointSendMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.messaging.Message;

+ 2 - 2
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/event/EventTrackServiceImpl.java

@@ -18,14 +18,14 @@ import com.citu.module.menduner.reward.core.RuleMatch;
 import com.citu.module.menduner.reward.dal.dataobject.config.Condition;
 import com.citu.module.menduner.reward.dal.dataobject.config.PointRuleConfigDO;
 import com.citu.module.menduner.reward.enums.config.PointRuleConfigTypeEnum;
-import com.citu.module.menduner.reward.mq.message.UserPointSendMessage;
+import com.citu.module.menduner.common.message.UserPointSendMessage;
 import com.citu.module.menduner.reward.mq.producer.UserPointProducer;
 import com.citu.module.menduner.reward.rule.DynamicPointRule;
 import com.citu.module.menduner.reward.rule.DynamicRuleAction;
 import com.citu.module.menduner.reward.service.config.PointRuleConfigService;
 import com.citu.module.menduner.system.api.url.MendunerSystemUrlApi;
 import com.citu.module.menduner.system.api.url.UrlInfoRespVO;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import lombok.extern.slf4j.Slf4j;
 import org.jeasy.rules.api.Facts;
 import org.springframework.stereotype.Service;

+ 4 - 4
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/signin/SignInRecordServiceImpl.java

@@ -15,7 +15,7 @@ import com.citu.module.menduner.reward.dal.dataobject.signin.SignInRecordDO;
 import com.citu.module.menduner.reward.dal.mysql.signin.SignInRecordMapper;
 import com.citu.module.menduner.system.api.account.AccountRecordSaveReqDTO;
 import com.citu.module.menduner.system.api.account.UserAccountApi;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -121,11 +121,11 @@ public class SignInRecordServiceImpl implements SignInRecordService {
         }
         summary.setTodaySignIn(DateUtils.isToday(lastRecord.getCreateTime()));
 
-        // 4.1 校验今天是否签到,没有签到则直接返回
-        if (!summary.getTodaySignIn()) {
+        // 4.1 检查今天是否未签到且记录不是昨天创建的,如果是则直接返回
+        if (!summary.getTodaySignIn() && !DateUtils.isYesterday(lastRecord.getCreateTime())) {
             return summary;
         }
-        // 4.2 连续签到天数
+        // 4.2 要么是今天签到了,要么是昨天的记录,设置连续签到天数
         summary.setContinuousDay(lastRecord.getDay());
         return summary;
     }

+ 15 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/aop/VipEntitlementCheck.java

@@ -32,6 +32,21 @@ public @interface VipEntitlementCheck {
      **/
     String OPERATE_SEARCH = "search";
 
+    /**
+     * 企业权益-查看简历
+     **/
+    String OPERATE_LOOK_CV = "lookCv";
+
+    /**
+     * 企业权益-是否开启人才地图
+     **/
+    String OPERATE_PERSON_MAP = "person_map";
+
+    /**
+     * 企业权益-是否允许发布众聘职位
+     **/
+    String OPERATE_HIRE_JOB = "hire_job";
+
     /**
      * 权益类型
      **/

+ 27 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/aop/VipEntitlementCheckAspect.java

@@ -16,8 +16,7 @@ import javax.annotation.Resource;
 
 import static com.citu.framework.common.exception.enums.GlobalErrorCodeConstants.FORBIDDEN;
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.module.menduner.system.aop.VipEntitlementCheck.OPERATE_PUBLISH_JOB;
-import static com.citu.module.menduner.system.aop.VipEntitlementCheck.OPERATE_SEARCH;
+import static com.citu.module.menduner.system.aop.VipEntitlementCheck.*;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.ENTERPRISE_ENTITLEMENT_QUOTA_OVERFLOW;
 
 /**
@@ -60,6 +59,14 @@ public class VipEntitlementCheckAspect {
         validate(null != enterpriseId, enterpriseId, LoginUserContext.getUserId(), type, null);
     }
 
+    public void validate(String type, boolean isTrigger) {
+        if (!isTrigger) {
+            // 如果为false则不执行
+            return;
+        }
+        validate(type);
+    }
+
 
     /**
      * 权益处理
@@ -72,6 +79,14 @@ public class VipEntitlementCheckAspect {
         process(null != enterpriseId, enterpriseId, LoginUserContext.getUserId(), type, operator);
     }
 
+    public void process(String type, VipEntitlementCheck.OperationType operator, boolean isTrigger) {
+        if (!isTrigger) {
+            // 如果为false则不执行
+            return;
+        }
+        process(type, operator);
+    }
+
 
     private void validate(boolean isEnterprise, Long enterpriseId,
                           Long userId, String type,
@@ -104,6 +119,10 @@ public class VipEntitlementCheckAspect {
                 if (entitlementRespVO.getSearchCount() <= 0) {
                     throw exception(ENTERPRISE_ENTITLEMENT_QUOTA_OVERFLOW);
                 }
+            case OPERATE_LOOK_CV:
+                if (entitlementRespVO.getLookCvCount() <= 0) {
+                    throw exception(ENTERPRISE_ENTITLEMENT_QUOTA_OVERFLOW);
+                }
                 break;
             default:
                 throw exception(FORBIDDEN);
@@ -140,6 +159,12 @@ public class VipEntitlementCheckAspect {
                 }
                 entitlementRespVO.setSearchCount(entitlementRespVO.getSearchCount() + amount);
                 break;
+            case OPERATE_LOOK_CV:
+                num = entitlementRespVO.getLookCvCount() + amount;
+                if (num > entitlementRespVO.getPackageInfo().getLookCvCount()) {
+                    return;
+                }
+                break;
             default:
                 return;
         }

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/api/account/UserAccountApiImpl.java

@@ -2,7 +2,7 @@ package com.citu.module.menduner.system.api.account;
 
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.module.menduner.system.dal.dataobject.user.UserAccountDO;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import com.citu.module.menduner.system.service.record.UserAccountRecordService;
 import com.citu.module.menduner.system.service.user.UserAccountService;

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

@@ -12,7 +12,7 @@ import com.citu.module.menduner.system.controller.base.account.AccountPointUpdat
 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.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import com.citu.module.menduner.system.service.record.UserAccountRecordService;
 import com.citu.module.menduner.system.service.user.UserAccountService;

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/AppPersonController.java

@@ -10,6 +10,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.person.job.AppPers
 import com.citu.module.menduner.system.controller.app.jobhunt.person.vo.AppPersonInfoRespVO;
 import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
 import com.citu.module.menduner.system.controller.base.person.block.PersonEnterpriseBlockSaveReqVO;
+import com.citu.module.menduner.system.controller.base.person.info.PersonSimpleRespVO;
 import com.citu.module.menduner.system.convert.PersonConvert;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
@@ -60,6 +61,13 @@ public class AppPersonController {
         return success(PersonConvert.INSTANCE.convert(userInfo));
     }
 
+    @PreAuthenticated
+    @GetMapping("/get/invite/person/page")
+    @Operation(summary = "获取邀请的人才信息")
+    public CommonResult<PageResult<PersonSimpleRespVO>> getInvitePerson(@Valid PageParam page) {
+        return success(personInfoService.getInvitePerson(page));
+    }
+
     @PreAuthenticated
     @PostMapping("/job/favorite")
     @Operation(summary = "用户收藏职位")

+ 1 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/user/AppMdeUserController.java

@@ -84,4 +84,5 @@ public class AppMdeUserController {
     }
 
 
+
 }

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementRespVO.java

@@ -33,6 +33,18 @@ public class EnterpriseEntitlementRespVO {
     @ExcelProperty("搜索人才的数量")
     private Integer searchCount;
 
+    @Schema(description = "查看简历数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("查看简历数量")
+    private Integer lookCvCount;
+
+    @Schema(description = "是否开启人才地图", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("是否开启人才地图")
+    private Boolean personMap;
+
+    @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("是否允许发布众聘职位")
+    private Boolean hireJob;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 9 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSaveReqVO.java

@@ -3,8 +3,6 @@ package com.citu.module.menduner.system.controller.base.enterprise.vip;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
-
 @Schema(description = "管理后台 - 企业权益记录新增/修改 Request VO")
 @Data
 public class EnterpriseEntitlementSaveReqVO {
@@ -24,4 +22,13 @@ public class EnterpriseEntitlementSaveReqVO {
     @Schema(description = "搜索人才的数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
     private Integer searchCount;
 
+    @Schema(description = "查看简历数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Integer lookCvCount;
+
+    @Schema(description = "是否开启人才地图", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Boolean personMap;
+
+    @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Boolean hireJob;
+
 }

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageRespVO.java

@@ -37,6 +37,10 @@ public class EnterprisePackageRespVO {
     @ExcelProperty("是否推荐")
     private Boolean recommend;
 
+    @Schema(description = "查看简历数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("查看简历数量")
+    private Integer lookCvCount;
+
     @Schema(description = "说明文本", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("说明文本")
     private String text;
@@ -49,6 +53,14 @@ public class EnterprisePackageRespVO {
     @ExcelProperty("搜索人才的数量")
     private Integer searchCount;
 
+    @Schema(description = "是否开启人才地图", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("是否开启人才地图")
+    private Boolean personMap;
+
+    @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    @ExcelProperty("是否允许发布众聘职位")
+    private Boolean hireJob;
+
     @Schema(description = "排序")
     @ExcelProperty("排序")
     private Integer sort;

+ 9 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageSaveReqVO.java

@@ -45,6 +45,15 @@ public class EnterprisePackageSaveReqVO {
     @NotNull(message = "{1_100_053_009}")
     private Integer searchCount;
 
+    @Schema(description = "查看简历数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Integer lookCvCount;
+
+    @Schema(description = "是否开启人才地图", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Boolean personMap;
+
+    @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
+    private Boolean hireJob;
+
     @Schema(description = "排序")
     private Integer sort;
 

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseEntitlementDO.java

@@ -43,5 +43,17 @@ public class EnterpriseEntitlementDO extends BaseDO {
      * 搜索人才的数量
      */
     private Integer searchCount;
+    /**
+     * 查看简历数量
+     */
+    private Integer lookCvCount;
+    /**
+     * 是否开启人才地图
+     */
+    private Boolean personMap;
+    /**
+     * 是否允许发布众聘职位
+     */
+    private Boolean hireJob;
 
 }

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterprisePackageDO.java

@@ -59,6 +59,18 @@ public class EnterprisePackageDO extends TenantBaseDO {
      * 搜索人才的数量
      */
     private Integer searchCount;
+    /**
+     * 查看简历数量
+     */
+    private Integer lookCvCount;
+    /**
+     * 是否开启人才地图
+     */
+    private Boolean personMap;
+    /**
+     * 是否允许发布众聘职位
+     */
+    private Boolean hireJob;
     /**
      * 排序
      */

+ 29 - 10
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java

@@ -10,9 +10,11 @@ import com.citu.module.menduner.system.controller.base.person.PersonMapQueryReqV
 import com.citu.module.menduner.system.controller.base.person.PersonQueryReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.controller.base.person.info.PersonSimpleRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseTalentPoolDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
+import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
 import com.citu.module.menduner.system.util.JoinHelper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -97,7 +99,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
     /**
      * 根据用户id和查询条件查询人才信息
      **/
-    default PageResult<PersonInfoRespVO> queryPage(PersonMapQueryReqVO reqVO, Long[] ids,Long enterpriseId) {
+    default PageResult<PersonInfoRespVO> queryPage(PersonMapQueryReqVO reqVO, Long[] ids, Long enterpriseId) {
         MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
         query.selectAsClass(PersonInfoDO.class, PersonInfoRespVO.class);
         query.likeIfPresent(PersonInfoDO::getName, reqVO.getName());
@@ -105,7 +107,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
         // 连接用户表设置vip条件
         JoinHelper.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
         // 过滤屏蔽用户
-        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
+        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId, enterpriseId);
         if (null != reqVO.getAge()) {
             LocalDate now = LocalDate.now(ZoneId.systemDefault());
             if (reqVO.getAge().length >= 1) {
@@ -142,8 +144,9 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
 
     /**
      * 根据查询条件查询人才信息
+     *
      * @param enterpriseId 企业id
-     * @param reqVO 查询条件
+     * @param reqVO        查询条件
      **/
     default PageResult<PersonInfoRespVO> queryPage(PersonQueryReqVO reqVO, Long enterpriseId) {
         MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
@@ -153,7 +156,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
         // 连接用户表设置vip条件
         JoinHelper.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
         // 过滤屏蔽用户
-        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
+        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId, enterpriseId);
         // 求职意向
         query.leftJoin(JobInterestedDO.class, JobInterestedDO::getUserId, PersonInfoDO::getUserId);
 
@@ -164,10 +167,10 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
 
         query.in(CollUtil.isNotEmpty(reqVO.getPositionIds()), JobInterestedDO::getPositionId, reqVO.getPositionIds())
                 .or()
-                .in(CollUtil.isNotEmpty(reqVO.getAreaIds()),JobInterestedDO::getWorkAreaId, reqVO.getAreaIds())
+                .in(CollUtil.isNotEmpty(reqVO.getAreaIds()), JobInterestedDO::getWorkAreaId, reqVO.getAreaIds())
         ;
 
-        if(CollUtil.isNotEmpty(reqVO.getAreaIds())) {
+        if (CollUtil.isNotEmpty(reqVO.getAreaIds())) {
             StringBuilder jsonContainsClause = new StringBuilder();
             for (Long areaId : reqVO.getAreaIds()) {
                 if (jsonContainsClause.length() > 0) {
@@ -194,10 +197,11 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
 
     /**
      * 根据id查询人才信息
-     * @param ids 人才id集合
+     *
+     * @param ids          人才id集合
      * @param enterpriseId 操作的企业
-     * @param pageParam 分页
-     * **/
+     * @param pageParam    分页
+     **/
     default PageResult<PersonInfoRespVO> queryPageById(List<Long> ids,
                                                        Long enterpriseId,
                                                        PageParam pageParam) {
@@ -207,9 +211,24 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
         // 连接用户表设置vip条件
         JoinHelper.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
         // 过滤屏蔽用户
-        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
+        JoinHelper.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId, enterpriseId);
         query.orderByDesc(PersonInfoDO::getUpdateTime);
         return selectJoinPage(pageParam, PersonInfoRespVO.class, query);
     }
 
+
+    /**
+     * 根据邀请码查询邀请的人才信息
+     *
+     * @param userId    邀请码
+     * @param pageParam 分页
+     **/
+    default PageResult<PersonSimpleRespVO> queryInvitePersonByUserId(Long userId, PageParam pageParam) {
+        MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
+        query.selectAsClass(PersonInfoDO.class, PersonSimpleRespVO.class);
+        query.innerJoin(MdeUserDO.class, MdeUserDO::getId, PersonInfoDO::getUserId);
+        query.eq(MdeUserDO::getInviteCode, userId);
+        return selectJoinPage(pageParam, PersonSimpleRespVO.class, query);
+    }
+
 }

+ 12 - 12
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/mq/consumer/UserPointConsumer.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/UserPointConsumer.java

@@ -1,9 +1,10 @@
-package com.citu.module.menduner.reward.mq.consumer;
+package com.citu.module.menduner.system.mq.consumer;
 
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
-import com.citu.module.menduner.reward.mq.message.UserPointSendMessage;
-import com.citu.module.menduner.system.api.account.AccountRecordSaveReqDTO;
-import com.citu.module.menduner.system.api.account.UserAccountApi;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.PointBizTypeEnum;
+import com.citu.module.menduner.common.message.UserPointSendMessage;
+import com.citu.module.menduner.system.service.record.UserAccountRecordService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
@@ -25,29 +26,28 @@ import javax.annotation.Resource;
 public class UserPointConsumer implements RocketMQListener<UserPointSendMessage>, RocketMQPushConsumerLifecycleListener {
 
     @Resource
-    private UserAccountApi userAccountApi;
+    private UserAccountRecordService accountRecordService;
 
     @Override
     @DSTransactional
     public void onMessage(UserPointSendMessage message) {
         log.info("接收到队列消息[{}]", message);
         // 增加用户积分
-        AccountRecordSaveReqDTO dto = new AccountRecordSaveReqDTO();
-        dto.build(message.getUserId(),
+        accountRecordService.createPointRecord(
+                message.getUserId(),
                 message.getUrl(),
                 message.getTitle(),
-                message.getOperation().getExpression(),
+                MathOperationEnum.from(message.getOperation().getExpression()),
                 message.getPoint(),
-                message.getBizType().getType(),
-                message.getBizId());
-        userAccountApi.createPointRecord(dto).getCheckedData();
+                PointBizTypeEnum.from(message.getBizType().getType()),
+                message.getBizId()
+        );
         log.info("消息处理完备[{}]", message);
     }
 
     @Override
     public void prepareStart(DefaultMQPushConsumer consumer) {
         // 不重试,失败说明扣除失败,额度不足等
-        // TODO 万一是服务没有上线,而不是异常,怎么处理?
         consumer.setMaxReconsumeTimes(0);
     }
 }

+ 12 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.old;
 import cn.hutool.core.collection.CollUtil;
 import com.citu.framework.common.util.date.DateUtils;
 import com.citu.framework.common.util.object.ObjectUtils;
+import com.citu.framework.common.util.validation.ValidationUtils;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.tenant.core.aop.TenantIgnore;
 import com.citu.framework.tenant.core.db.TenantBaseDO;
@@ -70,7 +71,7 @@ public class MdeOldSyncService {
      * 工作经验新旧平台对照
      **/
     private final Map<String, String> expTypeMapRelation = new HashMap() {{
-        put("-1", ExpTypeEnum.NO_LIMIT.getType());
+        put("-1", null);
         put("1", ExpTypeEnum.ONE_TO_THREE_YEARS.getType());
         put("3", ExpTypeEnum.THREE_TO_FIVE_YEARS.getType());
         put("5", ExpTypeEnum.FIVE_TO_TEN_YEARS.getType());
@@ -504,16 +505,24 @@ public class MdeOldSyncService {
 
             if (oldMdeUser.getIdentityFlag().equals("0")) {
                 // 企业基本信息 不新增人才信息,只有普通用户才新增
+                if(ValidationUtils.isMobile((oldMdeUser.getUserName()))) {
+                    personInfoDO.setPhone(oldMdeUser.getUserName());
+                }
                 setCommon(personInfoDO);
                 personInfoMapper.insertOrUpdate(personInfoDO);
             }
 
             if (oldMdeUser.getIdentityFlag().equals("0")) {
                 // 个人
-                insertionDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
+                if(ValidationUtils.isMobile((oldMdeUser.getUserName()))) {
+                    insertionDO.setPhone(oldMdeUser.getUserName());
+                }
+
             } else {
                 // 企业
-                insertionDO.setPhone(oldMdeUser.getEntPhone());
+                if(ValidationUtils.isMobile((oldMdeUser.getEntPhone()))) {
+                    insertionDO.setPhone(oldMdeUser.getEntPhone());
+                }
             }
 
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeAuthServiceImpl.java

@@ -225,7 +225,7 @@ public class MdeAuthServiceImpl implements MdeAuthService {
         }
 
         // 创建用户并返回
-        user = userService.createUserIfAbsent(reqVO.getPhone(), userIp, getTerminal().toString());
+        user = userService.createUserIfAbsent(reqVO.getPhone(),reqVO.getInviteCode());
 
         if (null != reqVO.getInviteCode()) {
             // 给邀请人增加积分

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/invite/EnterpriseInviteRecordServiceImpl.java

@@ -183,7 +183,8 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
         // 增加邀请记录
         mapper.insert(
                 EnterpriseInviteRecordDO.builder()
-                        .enterpriseId(enterpriseId)
+                        .enterpriseId(EnterpriseInviteTypeEnum.COLLEAGUE.getType()
+                                .equals(invite.getType())? invite.getEnterpriseId():enterpriseId)
                         .userId(userId)
                         .inviteEnterpriseId(invite.getEnterpriseId())
                         .inviteUserId(invite.getUserId())

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java

@@ -395,7 +395,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
      */
     private void processNewJob(JobAdvertisedDO job, Long enterpriseId, Long userId) {
         // 验证权益
-        vipEntitlementCheckAspect.validate(VipEntitlementCheck.OPERATE_PUBLISH_JOB);
+        vipEntitlementCheckAspect.validate(VipEntitlementCheck.OPERATE_PUBLISH_JOB,!job.getHire());
 
 
         // 设置默认值
@@ -422,7 +422,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
 
         // 处理权益
         vipEntitlementCheckAspect
-                .process(VipEntitlementCheck.OPERATE_PUBLISH_JOB, VipEntitlementCheck.OperationType.DEDUCT);
+                .process(VipEntitlementCheck.OPERATE_PUBLISH_JOB, VipEntitlementCheck.OperationType.DEDUCT,!job.getHire());
     }
 
     /**

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.common.util.LoginUserContext;
+import com.citu.module.menduner.system.aop.VipEntitlementCheck;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.hire.AppHireJobCvRelQueryReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.hire.AppHireJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.hire.AppHireJobCvRelRespVO;
@@ -182,6 +183,7 @@ public class JobCvRelServiceImpl implements JobCvRelService {
 
     @Override
     @DSTransactional
+    @VipEntitlementCheck(type = VipEntitlementCheck.OPERATE_LOOK_CV, operate = VipEntitlementCheck.OperationType.DEDUCT)
     public boolean look(Long id) {
         JobCvRelDO jobCvRel = validateJobCvRelExists(id);
         if (JobCvRelStatusEnum.LOOK.getStatus().equals(jobCvRel.getStatus())) {

+ 6 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java

@@ -228,12 +228,14 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
                         .numOfFragments(10000)
                 )
                 .withSorts(
+//                        SortBuilders.fieldSort("name.keyword").order(SortOrder.DESC),
+//                        SortBuilders.fieldSort("enterpriseName.keyword").order(SortOrder.DESC),
+//                        SortBuilders.fieldSort("enterpriseAnotherName.keyword").order(SortOrder.DESC),
+//                        SortBuilders.scoreSort().order(SortOrder.DESC),
+                        SortBuilders.fieldSort("updateTime").order(SortOrder.DESC),
                         SortBuilders.fieldSort("name.keyword").order(SortOrder.DESC),
                         SortBuilders.fieldSort("enterpriseName.keyword").order(SortOrder.DESC),
-                        SortBuilders.fieldSort("enterpriseAnotherName.keyword").order(SortOrder.DESC),
-                        SortBuilders.scoreSort().order(SortOrder.DESC),
-                        SortBuilders.fieldSort("hire").order(SortOrder.DESC),
-                        SortBuilders.fieldSort("updateTime").order(SortOrder.DESC)
+                        SortBuilders.fieldSort("enterpriseAnotherName.keyword").order(SortOrder.DESC)
                 )
                 .withPageable(pageable)
                 .build();

+ 10 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoService.java

@@ -1,14 +1,15 @@
 package com.citu.module.menduner.system.service.person.info;
 
+import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonAdvantageSaveReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonInfoSaveReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonInfoSaveSimpleReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonInfoTagReqVO;
-import com.citu.module.menduner.system.controller.app.recruit.enterprise.vo.AppRecruitEnterpriseTagReqVO;
-import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.base.person.info.PersonSimpleRespVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
@@ -76,6 +77,7 @@ public interface PersonInfoService {
 
     /**
      * 修改人才标签
+     *
      * @param reqVO
      **/
     void updateTag(AppPersonInfoTagReqVO reqVO);
@@ -86,6 +88,7 @@ public interface PersonInfoService {
      * @param avatar 头像地址
      */
     void uploadAvatar(String avatar);
+
     /**
      * 保存简历简易基本信息
      *
@@ -109,4 +112,9 @@ public interface PersonInfoService {
      * @return 保存|成功|失败
      */
     boolean updateJobStatus(String status);
+
+    /**
+     * 获取邀请的人才信息
+     */
+    PageResult<PersonSimpleRespVO> getInvitePerson(PageParam pageParam);
 }

+ 8 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.person.info;
 
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.common.util.validation.ValidationUtils;
@@ -12,6 +13,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppP
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonInfoTagReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.base.person.info.PersonSimpleRespVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonInfoMapper;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
@@ -98,7 +100,7 @@ public class PersonInfoServiceImpl implements PersonInfoService {
             // 邮箱不合法
             throw exception(MDE_PERSON_EMAIL_ERROR);
         }
-        if(StringUtils.hasText(reqVO.getPhone())&& !ValidationUtils.isMobile(reqVO.getPhone())) {
+        if (StringUtils.hasText(reqVO.getPhone()) && !ValidationUtils.isMobile(reqVO.getPhone())) {
             // 手机号不合法
             throw exception(MDE_PERSON_PHONE_ERROR);
         }
@@ -211,4 +213,9 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         personInfoMapper.updateById(info);
         return true;
     }
+
+    @Override
+    public PageResult<PersonSimpleRespVO> getInvitePerson(PageParam pageParam) {
+        return personInfoMapper.queryInvitePersonByUserId(LoginUserContext.getUserId(),pageParam);
+    }
 }

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/record/UserAccountRecordService.java

@@ -4,7 +4,7 @@ import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.base.account.record.UserAccountRecordPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.record.UserAccountRecordDO;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 
 import java.time.LocalDateTime;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/record/UserAccountRecordServiceImpl.java

@@ -10,7 +10,7 @@ import com.citu.module.menduner.system.controller.base.account.record.UserAccoun
 import com.citu.module.menduner.system.dal.dataobject.record.UserAccountRecordDO;
 import com.citu.module.menduner.system.dal.dataobject.user.UserAccountDO;
 import com.citu.module.menduner.system.dal.mysql.record.UserAccountRecordMapper;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.system.enums.account.AccountRecordTypeEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import com.citu.module.menduner.system.service.user.UserAccountService;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/redeem/RedeemServiceImpl.java

@@ -10,7 +10,7 @@ import com.citu.module.menduner.system.controller.base.redeem.RedeemPageReqVO;
 import com.citu.module.menduner.system.controller.base.redeem.RedeemSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.redeem.RedeemDO;
 import com.citu.module.menduner.system.dal.mysql.redeem.RedeemMapper;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
+import com.citu.module.menduner.common.enums.MathOperationEnum;
 import com.citu.module.menduner.common.enums.PointBizTypeEnum;
 import com.citu.module.menduner.system.service.record.UserAccountRecordService;
 import org.springframework.stereotype.Service;