Kaynağa Gözat

活动助力

傅行帆 5 yıl önce
ebeveyn
işleme
3e82f7769d

+ 1
- 1
src/main/java/com/huiju/estateagents/entity/HelpActivity.java Dosyayı Görüntüle

@@ -77,7 +77,7 @@ public class HelpActivity implements Serializable {
77 77
     /**
78 78
      * 助力次数 0不限制,大于零表示限制次数
79 79
      */
80
-    private String helpNum;
80
+    private Integer helpNum;
81 81
 
82 82
     /**
83 83
      * 状态 0未开始,1进行中,2已结束

+ 64
- 1
src/main/java/com/huiju/estateagents/service/impl/HelpRecordServiceImpl.java Dosyayı Görüntüle

@@ -1,13 +1,23 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.entity.HelpActivity;
8
+import com.huiju.estateagents.entity.HelpInitiateRecord;
5 9
 import com.huiju.estateagents.entity.HelpRecord;
6 10
 import com.huiju.estateagents.entity.TaPerson;
11
+import com.huiju.estateagents.mapper.HelpActivityMapper;
12
+import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
7 13
 import com.huiju.estateagents.mapper.HelpRecordMapper;
8 14
 import com.huiju.estateagents.service.IHelpRecordService;
15
+import org.springframework.beans.factory.annotation.Autowired;
9 16
 import org.springframework.stereotype.Service;
10 17
 
18
+import java.time.LocalDateTime;
19
+import java.util.List;
20
+
11 21
 /**
12 22
  * <p>
13 23
  * 助力活动助力人员记录  服务实现类
@@ -19,6 +29,15 @@ import org.springframework.stereotype.Service;
19 29
 @Service
20 30
 public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRecord> implements IHelpRecordService {
21 31
 	
32
+	@Autowired
33
+	private HelpActivityMapper helpActivityMapper;
34
+	
35
+	@Autowired
36
+	private HelpInitiateRecordMapper helpInitiateRecordMapper;
37
+	
38
+	@Autowired
39
+	private HelpRecordMapper helpRecordMapper;
40
+	
22 41
 	/**
23 42
 	 * 助力者助力
24 43
 	 *
@@ -29,6 +48,50 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
29 48
 	 */
30 49
 	@Override
31 50
 	public ResponseBean saveBooster(HelpRecord helpRecord, Integer orgId, TaPerson person) {
32
-		return null;
51
+		//查看是否助力成功
52
+		HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecord.getHelpRecordInitiateId());
53
+		if (!StringUtils.isEmpty(helpInitiateRecord.getVerification())){
54
+			return ResponseBean.error("已经助力成功", ResponseBean.ERROR_UNAVAILABLE);
55
+		}
56
+		
57
+		HelpActivity helpActivity = helpActivityMapper.selectById(helpRecord.getHelpActivityId());
58
+		//是否助力成功
59
+		if (helpActivity.getEnlistNum() >= helpActivity.getPersionNum()){
60
+			return ResponseBean.error("已经助力成功", ResponseBean.ERROR_UNAVAILABLE);
61
+		}
62
+		if (helpActivity.getEndDate().isBefore(LocalDateTime.now())){
63
+			return ResponseBean.error("活动已超时", ResponseBean.ERROR_UNAVAILABLE);
64
+		}
65
+		//查看每个人的助力次数
66
+		Integer helpNum = helpActivity.getHelpNum();
67
+		
68
+		QueryWrapper<HelpRecord> queryWrapper = new QueryWrapper<>();
69
+		queryWrapper.eq("org_id",orgId);
70
+		queryWrapper.eq("help_activity_id",helpRecord.getHelpActivityId());
71
+		queryWrapper.eq("persion_id",person.getPersonId());
72
+		if (null != helpNum && helpNum >= 0){
73
+			//查看这个人是否助力过,和助力了几次
74
+			List<HelpRecord> helpRecords = helpRecordMapper.selectList(queryWrapper);
75
+			if (helpRecords.size() >= helpNum){
76
+				return ResponseBean.error("助力次数达到上限", ResponseBean.ERROR_UNAVAILABLE);
77
+			}
78
+		}
79
+		//查看是否助力过这个人
80
+		queryWrapper.eq("help_record_initiate_id",helpRecord.getHelpRecordInitiateId());
81
+		List<HelpRecord> helpRecordList = helpRecordMapper.selectList(queryWrapper);
82
+		if (helpRecordList.size() > 0){
83
+			return ResponseBean.error("您已经助力过了,无需重复助力", ResponseBean.ERROR_UNAVAILABLE);
84
+		}
85
+		//反更新在入库
86
+		helpActivity.setEnlistNum(helpActivity.getEnlistNum()+1);
87
+		helpActivityMapper.updateById(helpActivity);
88
+		helpInitiateRecord.setEnlistNum(helpInitiateRecord.getEnlistNum()+1);
89
+		helpInitiateRecordMapper.updateById(helpInitiateRecord);
90
+		//插入数据
91
+		helpRecord.setOrgId(orgId);
92
+		helpRecord.setCreateDate(LocalDateTime.now());
93
+		helpRecord.setPersionId(person.getPersonId());
94
+		helpRecordMapper.insert(helpRecord);
95
+		return ResponseBean.success(helpRecord);
33 96
 	}
34 97
 }