Ver código fonte

fix 关注任务增加余额奖励

zoujiajian 3 anos atrás
pai
commit
91e0b7f21e

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/Task.java

@@ -7,6 +7,7 @@ import lombok.Setter;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 
 /*
  *项目名: netflix
@@ -51,5 +52,7 @@ public class Task extends BaseEntity{
 
 	private Boolean status;
 
+	private BigDecimal balance;
+
 	private Boolean deleted;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/views/TaskView.java

@@ -6,6 +6,8 @@ import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /*
  *项目名: netflix
  *文件名: TaskView
@@ -41,6 +43,9 @@ public class TaskView {
 	@DbField("t.points")
 	private Integer points;
 
+	@DbField("t.balance")
+	private BigDecimal balance;
+
 	@DbField("t.status")
 	private Boolean status;
 

+ 21 - 0
netflix-service/src/main/java/com/cyksj/service/market/task/impl/TaskServiceImpl.java

@@ -15,12 +15,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 +53,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);
@@ -137,6 +146,13 @@ 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());
+							}
+						}
 					} else if (verifyStatus == fail) {
 						record.setStatus(TaskUserCompleteRecord.Status.fail);
 					}
@@ -184,6 +200,11 @@ public class TaskServiceImpl implements TaskService {
 			if (selectOne != null) {
 				throw BusinessRuntimeException.getInstance("已新增对应的任务");
 			}
+			//关注引导 才配置奖励余额
+			task.setBalance(null);
+		}
+		if (task.getBalance() != null && task.getBalance().compareTo(BigDecimal.ZERO) < 0) {
+			throw BusinessRuntimeException.getInstance("请输入正确的奖励余额");
 		}
 	}
 

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/market/TaskController.java

@@ -29,7 +29,7 @@ import java.util.List;
 
 /*
  *项目名: netflix
- *文件名: TaskController
+ *文件名: GoodsDonSkuFrontView
  *创建者: JavaZou
  *创建时间:2022/12/27 13:34
  */