|
|
@@ -3,6 +3,7 @@ package com.cyksj.service.market.task.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.constant.PointsRecordConst;
|
|
|
@@ -15,12 +16,17 @@ import com.cyksj.mapper.market.task.TaskMapper;
|
|
|
import com.cyksj.mapper.market.task.TaskTypeMapper;
|
|
|
import com.cyksj.mapper.market.task.TaskUserCompleteRecordMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
+import com.cyksj.model.views.TaskView;
|
|
|
import com.cyksj.service.market.task.TaskService;
|
|
|
+import com.cyksj.service.user.UserBenefitsService;
|
|
|
+import com.ejlchina.searcher.BeanSearcher;
|
|
|
+import com.ejlchina.searcher.util.MapUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
|
|
|
/*
|
|
|
@@ -48,6 +54,10 @@ public class TaskServiceImpl implements TaskService {
|
|
|
|
|
|
private final UserPointsRecordMapper userPointsRecordMapper;
|
|
|
|
|
|
+ private final BeanSearcher beanSearcher;
|
|
|
+
|
|
|
+ private final UserBenefitsService userBenefitsService;
|
|
|
+
|
|
|
@Override
|
|
|
public void saveTask(Task task) {
|
|
|
checkTask(task);
|
|
|
@@ -60,6 +70,9 @@ public class TaskServiceImpl implements TaskService {
|
|
|
if (db == null || !db.getDeleted()) {
|
|
|
throw BusinessRuntimeException.getInstance("该任务已不存在");
|
|
|
}
|
|
|
+ if (task.getPoints() == null || task.getPoints() <= 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("积分不小于0");
|
|
|
+ }
|
|
|
BeanUtil.copyProperties(task, db);
|
|
|
checkTask(db);
|
|
|
taskMapper.updateById(db);
|
|
|
@@ -137,6 +150,14 @@ public class TaskServiceImpl implements TaskService {
|
|
|
if (verifyStatus == success) {
|
|
|
record.setStatus(TaskUserCompleteRecord.Status.received);
|
|
|
this.pointsRecord(record.getUserId(), record.getPoints(), PointsRecordConst.TASK, false);
|
|
|
+ TaskView taskView = beanSearcher.searchFirst(TaskView.class, MapUtils.builder().field(TaskView::getId, dbPlatVerify.getTaskId()).build());
|
|
|
+ if (taskView != null) {
|
|
|
+ if ("关注引导".equals(taskView.getTypeName()) && taskView.getBalance().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ //发送余额
|
|
|
+ userBenefitsService.addUserBalance(dbPlatVerify.getUserId(), taskView.getBalance());
|
|
|
+ record.setBalance(taskView.getBalance());
|
|
|
+ }
|
|
|
+ }
|
|
|
} else if (verifyStatus == fail) {
|
|
|
record.setStatus(TaskUserCompleteRecord.Status.fail);
|
|
|
}
|
|
|
@@ -184,6 +205,12 @@ public class TaskServiceImpl implements TaskService {
|
|
|
if (selectOne != null) {
|
|
|
throw BusinessRuntimeException.getInstance("已新增对应的任务");
|
|
|
}
|
|
|
+ //关注引导 才配置奖励余额
|
|
|
+ task.setBalance(BigDecimal.ZERO);
|
|
|
+ task.setLink(StrUtil.EMPTY);
|
|
|
+ }
|
|
|
+ if (task.getBalance() != null && task.getBalance().compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("请输入正确的奖励余额");
|
|
|
}
|
|
|
}
|
|
|
|