|
@@ -12,11 +12,11 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
-import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignMapper;
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
-import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
|
|
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalTime;
|
|
import java.time.LocalTime;
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.time.temporal.ChronoUnit;
|
|
@@ -59,6 +60,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
|
|
private final WmScorePackageService wmScorePackageService;
|
|
private final WmScorePackageService wmScorePackageService;
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
private final WmTaskService wmTaskService;
|
|
private final WmTaskService wmTaskService;
|
|
|
|
+ private final WmTaskMapper wmTaskMapper;
|
|
private final WmTaskContentService taskContentService;
|
|
private final WmTaskContentService taskContentService;
|
|
private final SysPublicParamService sysPublicParamService;
|
|
private final SysPublicParamService sysPublicParamService;
|
|
private final WmDeptTaskTypeTemplateService wmDeptTaskTypeTemplateService;
|
|
private final WmDeptTaskTypeTemplateService wmDeptTaskTypeTemplateService;
|
|
@@ -228,42 +230,6 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 校验积分限制
|
|
|
|
- *
|
|
|
|
- * @param entId 企业ID
|
|
|
|
- * @param userId 用户ID
|
|
|
|
- */
|
|
|
|
- private void checkLimitScore(Integer entId, Integer userId) {
|
|
|
|
- String limitValue = "30000";
|
|
|
|
- // 查询当前企业配置的积分限制
|
|
|
|
- List<WmTaskSubmissionRule> scoreLimitRuleList = wmTaskSubmissionRuleService.list(Wrappers.<WmTaskSubmissionRule>lambdaQuery()
|
|
|
|
- .in(WmTaskSubmissionRule::getDeptId, CollUtil.newHashSet(entId, 1))
|
|
|
|
- .eq(WmTaskSubmissionRule::getOptFlag, CommonFlag.OptFlag.OK)
|
|
|
|
- .eq(WmTaskSubmissionRule::getSubCategory, UpmsType.TaskSubCategory.SCORE_LIMIT));
|
|
|
|
-
|
|
|
|
- // 公共参数配置的
|
|
|
|
- String userTaskSubScore = sysPublicParamService.getSysPublicParamKeyToValue("USER_TASK_SUB_SCORE");
|
|
|
|
-
|
|
|
|
- if (CollUtil.isNotEmpty(scoreLimitRuleList)) {
|
|
|
|
- Map<Integer, WmTaskSubmissionRule.SubmissionRule> submissionRuleMap = scoreLimitRuleList.stream()
|
|
|
|
- .collect(Collectors.toMap(WmTaskSubmissionRule::getDeptId, rules ->
|
|
|
|
- BeanUtil.toBean(rules.getRule().get(0), WmTaskSubmissionRule.SubmissionRule.class)));
|
|
|
|
- WmTaskSubmissionRule.SubmissionRule submissionRule = submissionRuleMap.containsKey(entId) ? submissionRuleMap.get(entId) : submissionRuleMap.get(1);
|
|
|
|
- limitValue = String.valueOf(submissionRule.getFrequency().get(0).get("quantity"));
|
|
|
|
- } else if (StrUtil.isNotBlank(userTaskSubScore)) {
|
|
|
|
- limitValue = userTaskSubScore;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- boolean fullFlag = wmTaskService.checkUserTaskSubScore(userId.toString(), limitValue);
|
|
|
|
- if (fullFlag) {
|
|
|
|
- String info = String.format("每日最多提交%s积分", limitValue);
|
|
|
|
- log.warn("系统当前限制积分上限:【{}】,提示:【{}】", limitValue, info);
|
|
|
|
- throw new BizException(info);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 获取积分包领取明细
|
|
* 获取积分包领取明细
|
|
*
|
|
*
|
|
@@ -529,7 +495,9 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
|
|
|
|
|
|
Set<Integer> signIds = signs.stream().map(WmUserSign::getId).collect(Collectors.toSet());
|
|
Set<Integer> signIds = signs.stream().map(WmUserSign::getId).collect(Collectors.toSet());
|
|
|
|
|
|
- List<WmTaskContent> taskContents = taskContentService.list(Wrappers.<WmTaskContent>lambdaQuery().in(WmTaskContent::getTemp3, signIds));
|
|
|
|
|
|
+ List<WmTaskContent> taskContents = taskContentService.list(Wrappers.<WmTaskContent>lambdaQuery()
|
|
|
|
+ .in(WmTaskContent::getTemp3, signIds)
|
|
|
|
+ .isNull(WmTaskContent::getTemp30));
|
|
|
|
|
|
List<WmTaskContent> availTaskContents = taskContents.stream().filter(con -> StrUtil.isNotBlank(con.getTemp3())).collect(Collectors.toList());
|
|
List<WmTaskContent> availTaskContents = taskContents.stream().filter(con -> StrUtil.isNotBlank(con.getTemp3())).collect(Collectors.toList());
|
|
|
|
|
|
@@ -677,8 +645,9 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
|
|
WmScorePackageStatus packageStatus = checkPkgStatus(tWmScorePackage.getId(), sysU.getUserId());
|
|
WmScorePackageStatus packageStatus = checkPkgStatus(tWmScorePackage.getId(), sysU.getUserId());
|
|
|
|
|
|
// 校验积分限制
|
|
// 校验积分限制
|
|
- if ("1".equals(tWmScorePackage.getPackageType1())) {
|
|
|
|
- checkLimitScore(sysU.getDeptId(), sysU.getUserId());
|
|
|
|
|
|
+ if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), tWmScorePackage.getPackageType1())
|
|
|
|
+ || StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), tWmScorePackage.getPackageType1())) {
|
|
|
|
+ wmTaskContentService.limitScore(sysU.getUserId(), sysU.getDeptId(), "1");
|
|
}
|
|
}
|
|
|
|
|
|
// 设置参数 && 保存
|
|
// 设置参数 && 保存
|