dingxin 5 years ago
parent
commit
1118758ee0
22 changed files with 762 additions and 86 deletions
  1. 1
    1
      src/main/java/com/huiju/estateagents/activity/entity/Activity.java
  2. 1
    1
      src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java
  3. 3
    0
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  4. 44
    24
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  5. 73
    3
      src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java
  6. 90
    3
      src/main/java/com/huiju/estateagents/controller/TaShareChildRecordController.java
  7. 100
    8
      src/main/java/com/huiju/estateagents/controller/TaShareRecordController.java
  8. 12
    2
      src/main/java/com/huiju/estateagents/entity/TaShareActivity.java
  9. 43
    0
      src/main/java/com/huiju/estateagents/excel/ShareChildRecordExport.java
  10. 41
    0
      src/main/java/com/huiju/estateagents/excel/ShareRecordFailExport.java
  11. 57
    0
      src/main/java/com/huiju/estateagents/excel/ShareRecordSuccessExport.java
  12. 41
    0
      src/main/java/com/huiju/estateagents/job/JudglActivityTimeJob.java
  13. 4
    1
      src/main/java/com/huiju/estateagents/mapper/TaShareChildRecordMapper.java
  14. 8
    1
      src/main/java/com/huiju/estateagents/mapper/TaShareRecordMapper.java
  15. 18
    1
      src/main/java/com/huiju/estateagents/service/ITaShareChildRecordService.java
  16. 13
    3
      src/main/java/com/huiju/estateagents/service/ITaShareRecordService.java
  17. 2
    2
      src/main/java/com/huiju/estateagents/service/impl/HelpRecordServiceImpl.java
  18. 103
    10
      src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java
  19. 33
    21
      src/main/java/com/huiju/estateagents/service/impl/TaShareRecordServiceImpl.java
  20. 1
    1
      src/main/resources/mapper/Activity.xml
  21. 22
    1
      src/main/resources/mapper/TaShareChildRecordMapper.xml
  22. 52
    3
      src/main/resources/mapper/TaShareRecordMapper.xml

+ 1
- 1
src/main/java/com/huiju/estateagents/activity/entity/Activity.java View File

@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
11 11
 @Data
12 12
 public class Activity {
13 13
 
14
-	private Integer id;
14
+	private Object id;
15 15
 	
16 16
 	private String mainImg;
17 17
 	

+ 1
- 1
src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java View File

@@ -62,7 +62,7 @@ public class ActivityServiceImpl implements ActivityServiceI {
62 62
 		//判断是否报名了助力活动
63 63
 		QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
64 64
 		helpRecordQueryWrapper.eq("org_id",orgId);
65
-		helpRecordQueryWrapper.eq("person_id",person.getPersonId());
65
+		helpRecordQueryWrapper.eq("persion_id",person.getPersonId());
66 66
 		List<HelpRecord> helpRecords = helpRecordMapper.selectList(helpRecordQueryWrapper);
67 67
 		
68 68
 		//分页获取全部数据

+ 3
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java View File

@@ -391,4 +391,7 @@ public class CommConstant {
391 391
     
392 392
     //发起者
393 393
 	public static final String HELP_STATUS_INITIATE = "Initiate";
394
+	
395
+	//助力活动
396
+	public static final Object HELP_ACTIVITY = "helpActivity";
394 397
 }

+ 44
- 24
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java View File

@@ -16,6 +16,8 @@ import com.huiju.estateagents.entity.HelpRecord;
16 16
 import com.huiju.estateagents.entity.TaBuildingDynamic;
17 17
 import com.huiju.estateagents.entity.TaChannel;
18 18
 import com.huiju.estateagents.entity.TaPerson;
19
+import com.huiju.estateagents.entity.TaPoster;
20
+import com.huiju.estateagents.entity.TaShareContent;
19 21
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
20 22
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
21 23
 import com.huiju.estateagents.excel.HelpRecordExport;
@@ -27,6 +29,8 @@ import com.huiju.estateagents.service.IHelpInitiateRecordService;
27 29
 import com.huiju.estateagents.service.IHelpRecordService;
28 30
 import com.huiju.estateagents.service.ITaBuildingService;
29 31
 import com.huiju.estateagents.service.ITaPersonService;
32
+import com.huiju.estateagents.service.TaPosterService;
33
+import com.huiju.estateagents.service.TaShareContentService;
30 34
 import io.swagger.annotations.Api;
31 35
 import io.swagger.annotations.ApiOperation;
32 36
 import io.swagger.annotations.ApiImplicitParam;
@@ -74,6 +78,12 @@ public class HelpActivityController extends BaseController {
74 78
     
75 79
     @Autowired
76 80
     private IHelpRecordService helpRecordService;
81
+    
82
+    @Autowired
83
+    private TaPosterService taPosterService;
84
+    
85
+    @Autowired
86
+    private TaShareContentService taShareContentService;
77 87
 
78 88
     /**
79 89
      * 活动助力列表
@@ -369,15 +379,11 @@ public class HelpActivityController extends BaseController {
369 379
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "path", value = "活动状态")
370 380
     })
371 381
     @RequestMapping(value = "/wx/helpActivity/{helpActivityId}", method = RequestMethod.GET)
372
-    public ResponseBean wxHelpActivityGet(@PathVariable(value = "helpActivityId") Integer helpActivityId,HttpServletRequest request) {
382
+    public ResponseBean wxHelpActivityGet(@PathVariable(value = "helpActivityId") Integer helpActivityId,
383
+                                          @RequestParam(value = "initiateId",required = false) Integer initiateId,HttpServletRequest request) {
373 384
         ResponseBean responseBean = new ResponseBean();
374
-        String openid = getOpenId(request);
375 385
         Integer orgId = getOrgId(request);
376
-        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
377
-        if (null == taPersons || taPersons.size() != 1) {
378
-            return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
379
-        }
380
-        TaPerson person = taPersons.get(0);
386
+        
381 387
         Map<String,Object> map = new HashMap<>();
382 388
         try {
383 389
             //活动信息
@@ -385,25 +391,39 @@ public class HelpActivityController extends BaseController {
385 391
             map.put("helpActivity",helpActivity);
386 392
             
387 393
             //发起者信息
388
-            QueryWrapper<HelpInitiateRecord> queryWrapper = new QueryWrapper<>();
389
-            queryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
390
-            queryWrapper.eq("persion_id",person.getPersonId());
391
-            queryWrapper.eq("org_id",orgId);
392
-            HelpInitiateRecord helpInitiateRecord = helpInitiateRecordService.getOne(queryWrapper);
393
-            if (null != helpInitiateRecord){
394
-                helpActivity.setHelpStatus(CommConstant.HELP_STATUS_INITIATE);
394
+             if (null != initiateId){
395
+                 HelpInitiateRecord helpInitiateRecord = helpInitiateRecordService.getById(initiateId);
396
+                 if (null != helpInitiateRecord){
397
+                     helpActivity.setHelpStatus(CommConstant.HELP_STATUS_INITIATE);
398
+        
399
+                     //助力者信息
400
+                     QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
401
+                     helpRecordQueryWrapper.eq("org_id",orgId);
402
+                     helpRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
403
+                     helpRecordQueryWrapper.eq("help_record_initiate_id",helpInitiateRecord.getHelpRecordInitiateId());
404
+                     List<HelpRecord> helpRecordList = helpRecordService.list(helpRecordQueryWrapper);
405
+        
406
+                     map.put("helpInitiateRecord",helpInitiateRecord);
407
+                     map.put("helpRecordList",helpRecordList);
408
+                 }
409
+             }
395 410
     
396
-                //助力者信息
397
-                QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
398
-                helpRecordQueryWrapper.eq("org_id",orgId);
399
-                helpRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
400
-                helpRecordQueryWrapper.eq("help_record_initiate_id",helpInitiateRecord.getHelpRecordInitiateId());
401
-                List<HelpRecord> helpRecordList = helpRecordService.list(helpRecordQueryWrapper);
402
-                
403
-                map.put("helpInitiateRecord",helpInitiateRecord);
404
-                map.put("helpRecordList",helpRecordList);
405
-            }
411
+            //获取海报信息
412
+            QueryWrapper<TaPoster> posterQueryWrapper = new QueryWrapper<>();
413
+            posterQueryWrapper.eq("target_type",CommConstant.HELP_ACTIVITY);
414
+            posterQueryWrapper.eq("target_id",helpActivityId);
415
+            posterQueryWrapper.eq("org_id",orgId);
416
+            List<TaPoster> postList = taPosterService.list(posterQueryWrapper);
417
+            map.put("postList",postList);
406 418
             
419
+            //获取分享信息
420
+            QueryWrapper<TaShareContent> taShareContentQueryWrapper = new QueryWrapper<>();
421
+            taShareContentQueryWrapper.eq("share_content_type",CommConstant.HELP_ACTIVITY);
422
+            taShareContentQueryWrapper.eq("target_id",helpActivityId);
423
+            taShareContentQueryWrapper.eq("org_id",orgId);
424
+            List<TaShareContent> shareContentList = taShareContentService.list(taShareContentQueryWrapper);
425
+            map.put("shareContentList",shareContentList);
426
+    
407 427
             responseBean.addSuccess(map);
408 428
         } catch (Exception e) {
409 429
             e.printStackTrace();

+ 73
- 3
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java View File

@@ -4,9 +4,16 @@ import com.alibaba.fastjson.JSONObject;
4 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 5
 import com.huiju.estateagents.base.BaseController;
6 6
 import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.common.CommConstant;
7 8
 import com.huiju.estateagents.entity.TaNews;
9
+import com.huiju.estateagents.entity.TaPerson;
8 10
 import com.huiju.estateagents.entity.TaShareActivity;
11
+import com.huiju.estateagents.entity.TaShareChildRecord;
12
+import com.huiju.estateagents.entity.TaShareRecord;
13
+import com.huiju.estateagents.service.ITaPersonService;
9 14
 import com.huiju.estateagents.service.ITaShareActivityService;
15
+import com.huiju.estateagents.service.ITaShareChildRecordService;
16
+import com.huiju.estateagents.service.ITaShareRecordService;
10 17
 import io.swagger.models.auth.In;
11 18
 import org.slf4j.Logger;
12 19
 import org.slf4j.LoggerFactory;
@@ -14,6 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired;
14 21
 import org.springframework.web.bind.annotation.*;
15 22
 
16 23
 import javax.servlet.http.HttpServletRequest;
24
+import java.util.HashMap;
25
+import java.util.List;
26
+import java.util.Map;
17 27
 
18 28
 /**
19 29
  * <p>
@@ -31,7 +41,15 @@ public class TaShareActivityController extends BaseController {
31 41
 
32 42
     @Autowired
33 43
     public ITaShareActivityService iTaShareActivityService;
34
-
44
+    
45
+    @Autowired
46
+    private ITaPersonService taPersonService;
47
+    
48
+    @Autowired
49
+    private ITaShareRecordService taShareRecordService;
50
+    
51
+    @Autowired
52
+    private ITaShareChildRecordService taShareChildRecordService;
35 53
 
36 54
     /**
37 55
      * 分页查询列表
@@ -69,6 +87,7 @@ public class TaShareActivityController extends BaseController {
69 87
             TaShareActivity taShareActivity = JSONObject.parseObject(parameter, TaShareActivity.class);
70 88
             taShareActivity.setOrgId(getOrgId(request));
71 89
             taShareActivity.setStatus(0);
90
+            taShareActivity.setActivityStatus(1);
72 91
             taShareActivity.setSort(false);
73 92
             taShareActivity.setWeight(0);
74 93
             if (iTaShareActivityService.save(taShareActivity)){
@@ -156,7 +175,10 @@ public class TaShareActivityController extends BaseController {
156 175
         ResponseBean responseBean = new ResponseBean();
157 176
         try {
158 177
             TaShareActivity taShareActivity = new TaShareActivity();
159
-            taShareActivity.setStatus(2);
178
+            //活动禁用启用 0启动1禁用
179
+            taShareActivity.setStatus(1);
180
+            //0:进行中 1:未开始 2:已结束
181
+            taShareActivity.setActivityStatus(2);
160 182
             taShareActivity.setGroupActicityId(id);
161 183
             if (iTaShareActivityService.updateById(taShareActivity)){
162 184
                 responseBean.addSuccess(taShareActivity);
@@ -196,5 +218,53 @@ public class TaShareActivityController extends BaseController {
196 218
         }
197 219
         return responseBean;
198 220
     }
199
-
221
+    
222
+    /**
223
+     * 微信端根据id查询详情
224
+     * @param groupActicityId  实体ID
225
+     */
226
+    @RequestMapping(value="/wx/taShareActivity/{groupActicityId}",method= RequestMethod.GET)
227
+    public ResponseBean wxShareActivityGet(@PathVariable Integer groupActicityId, HttpServletRequest request){
228
+        ResponseBean responseBean = new ResponseBean();
229
+        String openid = getOpenId(request);
230
+        Integer orgId = getOrgId(request);
231
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
232
+        if (null == taPersons || taPersons.size() != 1) {
233
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
234
+        }
235
+        TaPerson person = taPersons.get(0);
236
+        Map<String,Object> map = new HashMap<>();
237
+        try {
238
+            //活动详情
239
+            TaShareActivity taShareActivity = iTaShareActivityService.getById(groupActicityId);
240
+            map.put("taShareActivity",taShareActivity);
241
+            
242
+            //发起者团长信息
243
+            QueryWrapper<TaShareRecord> queryWrapper = new QueryWrapper<>();
244
+            queryWrapper.eq("group_activity_id",groupActicityId);
245
+            queryWrapper.eq("person_id",person.getPersonId());
246
+            queryWrapper.eq("org_id",orgId);
247
+            TaShareRecord taShareRecord = taShareRecordService.getOne(queryWrapper);
248
+            if (null != taShareRecord){
249
+                //团长
250
+                taShareActivity.setGroupStatus(CommConstant.HELP_STATUS_INITIATE);
251
+                map.put("taShareRecord",taShareRecord);
252
+                
253
+                //团员
254
+                QueryWrapper<TaShareChildRecord> childRecordQueryWrapper = new QueryWrapper<>();
255
+                childRecordQueryWrapper.eq("org_id",orgId);
256
+                childRecordQueryWrapper.eq("group_activity_id",taShareActivity.getGroupActicityId());
257
+                childRecordQueryWrapper.eq("record_id",taShareRecord.getRecordId());
258
+                List<TaShareChildRecord> shareChildRecordList = taShareChildRecordService.list(childRecordQueryWrapper);
259
+                map.put("shareChildRecordList",shareChildRecordList);
260
+            }
261
+            responseBean.addSuccess(map);
262
+        }catch (Exception e){
263
+            e.printStackTrace();
264
+            logger.error("taShareActivityDelete -=- {}",e.toString());
265
+            responseBean.addError(e.getMessage());
266
+        }
267
+        return responseBean;
268
+    }
269
+    
200 270
 }

+ 90
- 3
src/main/java/com/huiju/estateagents/controller/TaShareChildRecordController.java View File

@@ -1,8 +1,16 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.ExcelWriter;
5
+import com.alibaba.excel.write.metadata.WriteSheet;
6
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 7
 import com.huiju.estateagents.base.BaseController;
4 8
 import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.entity.TaPerson;
5 10
 import com.huiju.estateagents.entity.TaShareChildRecord;
11
+import com.huiju.estateagents.excel.ShareChildRecordExport;
12
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
13
+import com.huiju.estateagents.service.ITaPersonService;
6 14
 import com.huiju.estateagents.service.ITaShareActivityService;
7 15
 import com.huiju.estateagents.service.ITaShareChildRecordService;
8 16
 import org.slf4j.Logger;
@@ -11,6 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
11 19
 import org.springframework.web.bind.annotation.*;
12 20
 
13 21
 import javax.servlet.http.HttpServletRequest;
22
+import javax.servlet.http.HttpServletResponse;
23
+import java.io.IOException;
24
+import java.util.List;
14 25
 
15 26
 /**
16 27
  * <p>
@@ -28,8 +39,12 @@ public class TaShareChildRecordController extends BaseController {
28 39
 
29 40
     @Autowired
30 41
     private ITaShareChildRecordService iTaShareChildRecordService;
42
+    
31 43
     @Autowired
32 44
     private ITaShareActivityService iTaShareActivityService;
45
+    
46
+    @Autowired
47
+    private ITaPersonService taPersonService;
33 48
 
34 49
     /**
35 50
      * 分页查询列表
@@ -41,12 +56,13 @@ public class TaShareChildRecordController extends BaseController {
41 56
     public ResponseBean taShareChildRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
42 57
                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
43 58
                                                @RequestParam(value ="groupActivityId",required = false) Integer groupActivityId,
44
-                                               @RequestParam(value ="status",required = false) Integer status,
59
+                                               @RequestParam(value ="groupStatus",required = false) Integer groupStatus,
60
+                                               @RequestParam(value ="recordId",required = false) Integer recordId,
45 61
                                                HttpServletRequest request){
46 62
         ResponseBean responseBean = new ResponseBean();
47 63
         try {
48
-            responseBean = iTaShareChildRecordService.getList(pageNum, pageSize, groupActivityId, status, getOrgId(request));
49
-            responseBean.addSuccess(responseBean);
64
+            IPage<TaShareChildRecord> result  = iTaShareChildRecordService.getList(pageNum, pageSize, groupActivityId, groupStatus, recordId, getOrgId(request));
65
+            responseBean.addSuccess(result);
50 66
         }catch (Exception e){
51 67
             e.printStackTrace();
52 68
             logger.error("taShareChildRecordList -=- {}",e.toString());
@@ -148,4 +164,75 @@ public class TaShareChildRecordController extends BaseController {
148 164
         }
149 165
         return responseBean;
150 166
     }
167
+
168
+    @GetMapping("/admin/taShareChildRecord/export")
169
+    public void gethelpRecordExport(HttpServletRequest request,
170
+                                    HttpServletResponse response,
171
+                                    @RequestParam(value = "recordId", required = false) Integer recordId,
172
+                                    @RequestParam(value = "groupStatus", required = false) Integer groupStatus,
173
+                                    @RequestParam(value = "groupActivityId", required = false) Integer groupActivityId) throws IOException {
174
+
175
+        ExcelWriter excelWriter = null;
176
+        try{
177
+            response.setContentType("application/octet-stream");
178
+            response.setCharacterEncoding("utf-8");
179
+            response.setHeader("Content-disposition", "attachment;filename=拼团活动发起人.xlsx");
180
+
181
+            Integer orgId = getOrgId(request);
182
+
183
+            Integer pageCode = 0;
184
+            Integer pageSize = 100;
185
+            // 总页数
186
+            Integer pageCount = 0;
187
+
188
+            /**
189
+             * 拼团活动参与者
190
+             */
191
+            // 设置读取的class
192
+            excelWriter = EasyExcel.write(response.getOutputStream(), ShareChildRecordExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
193
+            // 设置 sheet, 同一个sheet只需要设置一次
194
+            WriteSheet writeSheet = EasyExcel.writerSheet("拼团成功").build();
195
+            Integer count = iTaShareChildRecordService.getShareRecord(recordId, groupStatus);
196
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
197
+            List<ShareChildRecordExport> publicList = null;
198
+            do {
199
+                publicList = iTaShareChildRecordService.getShareRecordExportList(pageCode * pageSize, pageSize, recordId, groupStatus, groupActivityId);
200
+                excelWriter.write(publicList, writeSheet);
201
+
202
+                pageCode++;
203
+            } while (pageCode <= pageCount);
204
+
205
+        }catch (IOException e){
206
+            e.printStackTrace();
207
+        }finally {
208
+            // finish 会帮忙关闭流
209
+            excelWriter.finish();
210
+        }
211
+    }
212
+
213
+
214
+    /**
215
+     * 微信端成为团员
216
+     * @param taShareChildRecord 实体对象
217
+     * @return
218
+     */
219
+    @RequestMapping(value="/wx/taShareChildRecord",method= RequestMethod.POST)
220
+    public ResponseBean wxShareChildRecordAdd(@RequestBody TaShareChildRecord taShareChildRecord, HttpServletRequest request){
221
+        ResponseBean responseBean = new ResponseBean();
222
+        String openid = getOpenId(request);
223
+        Integer orgId = getOrgId(request);
224
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
225
+        if (null == taPersons || taPersons.size() != 1) {
226
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
227
+        }
228
+        TaPerson person = taPersons.get(0);
229
+        try {
230
+            responseBean = iTaShareChildRecordService.addChildRecord(taShareChildRecord,orgId,person);
231
+        }catch (Exception e){
232
+            e.printStackTrace();
233
+            logger.error("taShareChildRecordAdd -=- {}",e.toString());
234
+            responseBean.addError(e.getMessage());
235
+        }
236
+        return responseBean;
237
+    }
151 238
 }

+ 100
- 8
src/main/java/com/huiju/estateagents/controller/TaShareRecordController.java View File

@@ -1,11 +1,20 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.ExcelWriter;
5
+import com.alibaba.excel.write.metadata.WriteSheet;
6
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7
+import com.baomidou.mybatisplus.core.metadata.IPage;
8
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
3 9
 import com.huiju.estateagents.base.BaseController;
4 10
 import com.huiju.estateagents.base.ResponseBean;
5 11
 import com.huiju.estateagents.entity.TaPerson;
6 12
 import com.huiju.estateagents.entity.TaShareRecord;
13
+import com.huiju.estateagents.excel.ShareRecordFailExport;
14
+import com.huiju.estateagents.excel.ShareRecordSuccessExport;
15
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
16
+import com.huiju.estateagents.po.TaShareRecordPO;
7 17
 import com.huiju.estateagents.service.ITaPersonService;
8
-import com.huiju.estateagents.service.ITaShareActivityService;
9 18
 import com.huiju.estateagents.service.ITaShareRecordService;
10 19
 import org.slf4j.Logger;
11 20
 import org.slf4j.LoggerFactory;
@@ -13,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
13 22
 import org.springframework.web.bind.annotation.*;
14 23
 
15 24
 import javax.servlet.http.HttpServletRequest;
25
+import javax.servlet.http.HttpServletResponse;
26
+import java.io.IOException;
16 27
 import java.util.List;
17 28
 
18 29
 /**
@@ -45,12 +56,21 @@ public class TaShareRecordController extends BaseController {
45 56
     public ResponseBean taShareSuccessRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
46 57
                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
47 58
                                           @RequestParam(value ="phone",required = false) String phone,
48
-                                          @RequestParam(value ="status",required = false) Integer status,
59
+                                          @RequestParam(value ="groupStatus",required = false) Integer groupStatus,
60
+                                          @RequestParam(value ="groupActivityId",required = false) Integer groupActivityId,
49 61
                                           HttpServletRequest request){
50 62
         ResponseBean responseBean = new ResponseBean();
51 63
         try {
52
-            responseBean = iTaShareRecordService.getSuccessList(pageNum, pageSize, phone, status, getOrgId(request));
53
-            responseBean.addSuccess(responseBean);
64
+            //使用分页插件
65
+            IPage<TaShareRecord> pg = new Page<>(pageNum, pageSize);
66
+            QueryWrapper<TaShareRecord> queryWrapper = new QueryWrapper<>();
67
+            queryWrapper.eq(phone != null,"phone", phone);
68
+            queryWrapper.eq(groupStatus != null, "status", groupStatus);
69
+            queryWrapper.eq(groupActivityId != null, "group_activity_id", groupActivityId);
70
+            queryWrapper.eq(getOrgId(request) != null, "org_id", getOrgId(request));
71
+
72
+            IPage<TaShareRecord> result = iTaShareRecordService.page(pg, queryWrapper);
73
+            responseBean.addSuccess(result);
54 74
         }catch (Exception e){
55 75
             e.printStackTrace();
56 76
             logger.error("taShareRecordList -=- {}",e.toString());
@@ -69,12 +89,13 @@ public class TaShareRecordController extends BaseController {
69 89
     public ResponseBean taShareFailAndProcessingRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
70 90
                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
71 91
                                           @RequestParam(value ="phone",required = false) String phone,
72
-                                          @RequestParam(value ="status",required = false) Integer status,
92
+                                          @RequestParam(value ="groupStatus",required = false) Integer groupStatus,
93
+                                          @RequestParam(value ="groupActivityId",required = false) Integer groupActivityId,
73 94
                                           HttpServletRequest request){
74 95
         ResponseBean responseBean = new ResponseBean();
75 96
         try {
76
-            responseBean = iTaShareRecordService.getFailAndProcessingList(pageNum, pageSize, phone, status, getOrgId(request));
77
-            responseBean.addSuccess(responseBean);
97
+            IPage<TaShareRecordPO> result = iTaShareRecordService.getFailAndProcessingList(pageNum, pageSize, phone, groupStatus, groupActivityId, getOrgId(request));
98
+            responseBean.addSuccess(result);
78 99
         }catch (Exception e){
79 100
             e.printStackTrace();
80 101
             logger.error("taShareRecordList -=- {}",e.toString());
@@ -191,7 +212,78 @@ public class TaShareRecordController extends BaseController {
191 212
         }
192 213
         return responseBean;
193 214
     }
194
-    
215
+
216
+    @GetMapping("/admin/taShareRecord/export")
217
+    public void gethelpRecordExport(HttpServletRequest request,
218
+                                    HttpServletResponse response,
219
+                                    @RequestParam(value = "recordId", required = false) Integer recordId,
220
+                                    @RequestParam(value = "groupStatus", required = false) Integer groupStatus,
221
+                                    @RequestParam(value = "groupActivityId", required = false) Integer groupActivityId) throws IOException {
222
+
223
+        ExcelWriter excelWriter = null;
224
+        try {
225
+            response.setContentType("application/octet-stream");
226
+            response.setCharacterEncoding("utf-8");
227
+            response.setHeader("Content-disposition", "attachment;filename=拼团活动发起人.xlsx");
228
+
229
+            if (groupStatus == 0) {
230
+                Integer orgId = getOrgId(request);
231
+
232
+                Integer pageCode = 0;
233
+                Integer pageSize = 100;
234
+                // 总页数
235
+                Integer pageCount = 0;
236
+
237
+                /**
238
+                 * 拼团活动参与者
239
+                 */
240
+                // 设置读取的class
241
+                excelWriter = EasyExcel.write(response.getOutputStream(), ShareRecordSuccessExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
242
+                // 设置 sheet, 同一个sheet只需要设置一次
243
+                WriteSheet writeSheet = EasyExcel.writerSheet("拼团成功").build();
244
+                Integer count = iTaShareRecordService.getShareRecord(recordId, groupStatus);
245
+                pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
246
+                List<ShareRecordSuccessExport> publicList = null;
247
+                do {
248
+                    publicList = iTaShareRecordService.getShareRecordSuccessExportList(pageCode * pageSize, pageSize, recordId, groupStatus, groupActivityId);
249
+                    excelWriter.write(publicList, writeSheet);
250
+
251
+                    pageCode++;
252
+                } while (pageCode <= pageCount);
253
+            } else {
254
+                Integer orgId = getOrgId(request);
255
+
256
+                Integer pageCode = 0;
257
+                Integer pageSize = 100;
258
+                // 总页数
259
+                Integer pageCount = 0;
260
+
261
+                /**
262
+                 * 拼团活动参与者
263
+                 */
264
+                // 设置读取的class
265
+                excelWriter = EasyExcel.write(response.getOutputStream(), ShareRecordFailExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
266
+                // 设置 sheet, 同一个sheet只需要设置一次
267
+                WriteSheet writeSheet = EasyExcel.writerSheet("拼团成功").build();
268
+                Integer count = iTaShareRecordService.getShareRecord(recordId, groupStatus);
269
+                pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
270
+                List<ShareRecordFailExport> publicList = null;
271
+                do {
272
+                    publicList = iTaShareRecordService.getShareRecordFailExportList(pageCode * pageSize, pageSize, recordId, groupStatus, groupActivityId);
273
+                    excelWriter.write(publicList, writeSheet);
274
+
275
+                    pageCode++;
276
+                } while (pageCode <= pageCount);
277
+            }
278
+
279
+
280
+        } catch (IOException e) {
281
+            e.printStackTrace();
282
+        } finally {
283
+            // finish 会帮忙关闭流
284
+            excelWriter.finish();
285
+        }
286
+    }
195 287
     /**
196 288
      * 微信端分页获取团长记录
197 289
      * @param pageNum

+ 12
- 2
src/main/java/com/huiju/estateagents/entity/TaShareActivity.java View File

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -94,6 +95,11 @@ public class TaShareActivity implements Serializable {
94 95
      */
95 96
     private Integer status;
96 97
 
98
+    /**
99
+     * 活动状态
100
+     */
101
+    private Integer activityStatus;
102
+
97 103
     /**
98 104
      * 首页推荐
99 105
      */
@@ -103,6 +109,10 @@ public class TaShareActivity implements Serializable {
103 109
      * 置顶
104 110
      */
105 111
     private Integer weight;
106
-
107
-
112
+    
113
+    /**
114
+     * Initiate 发起者  Booster 助力者
115
+     */
116
+    @TableField(exist = false)
117
+    private String groupStatus;
108 118
 }

+ 43
- 0
src/main/java/com/huiju/estateagents/excel/ShareChildRecordExport.java View File

@@ -0,0 +1,43 @@
1
+package com.huiju.estateagents.excel;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.format.DateTimeFormat;
5
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
6
+import lombok.Data;
7
+
8
+import java.util.Date;
9
+
10
+/**
11
+ * @author admin
12
+ * @Title: ShareChildRecordExport
13
+ * @Description: TODO
14
+ * @date 2019/10/22
15
+ */
16
+
17
+@Data
18
+public class ShareChildRecordExport {
19
+
20
+    /**
21
+     * 创建时间 也是活动发起时间
22
+     */
23
+    @ColumnWidth(15)
24
+    @ExcelProperty(value = "活动时间", index = 2)
25
+    @DateTimeFormat("yyyy年MM月dd日")
26
+    private Date createTime;
27
+
28
+
29
+    /**
30
+     * 人员手机号
31
+     */
32
+    @ColumnWidth(15)
33
+    @ExcelProperty(value = "手机号", index = 1)
34
+    private String phone;
35
+
36
+    /**
37
+     * 人员姓名
38
+     */
39
+    @ColumnWidth(15)
40
+    @ExcelProperty(value = "用户名", index = 0)
41
+    private String nickName;
42
+
43
+}

+ 41
- 0
src/main/java/com/huiju/estateagents/excel/ShareRecordFailExport.java View File

@@ -0,0 +1,41 @@
1
+package com.huiju.estateagents.excel;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.format.DateTimeFormat;
5
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
6
+import lombok.Data;
7
+
8
+import java.util.Date;
9
+
10
+/**
11
+ * @author admin
12
+ * @Title: ShareRecordFailExport
13
+ * @Description: TODO
14
+ * @date 2019/10/22
15
+ */
16
+@Data
17
+public class ShareRecordFailExport {
18
+
19
+    /**
20
+     * 人员姓名
21
+     */
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "拼团者", index = 0)
24
+    private String nickName;
25
+
26
+    /**
27
+     * 人员手机号
28
+     */
29
+    @ColumnWidth(15)
30
+    @ExcelProperty(value = "拼团者手机号", index = 1)
31
+    private String phone;
32
+
33
+    /**
34
+     * 创建时间 也是助力发起时间
35
+     */
36
+    @ColumnWidth(15)
37
+    @DateTimeFormat("yyyy年MM月dd日")
38
+    @ExcelProperty(value = "拼团时间", index = 2)
39
+    private Date createTime;
40
+
41
+}

+ 57
- 0
src/main/java/com/huiju/estateagents/excel/ShareRecordSuccessExport.java View File

@@ -0,0 +1,57 @@
1
+package com.huiju.estateagents.excel;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.format.DateTimeFormat;
5
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
6
+import lombok.Data;
7
+
8
+import java.util.Date;
9
+
10
+/**
11
+ * @author admin
12
+ * @Title: ShareRecordExport
13
+ * @Description: TODO
14
+ * @date 2019/10/22
15
+ */
16
+@Data
17
+public class ShareRecordSuccessExport {
18
+
19
+    /**
20
+     * 人员姓名
21
+     */
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "拼团发起者", index = 0)
24
+    private String nickName;
25
+
26
+    /**
27
+     * 人员手机号
28
+     */
29
+    @ColumnWidth(15)
30
+    @ExcelProperty(value = "拼团发起者手机号", index = 1)
31
+    private String phone;
32
+
33
+    /**
34
+     * 创建时间 也是拼团发起时间
35
+     */
36
+    @ColumnWidth(15)
37
+    @DateTimeFormat("yyyy年MM月dd日")
38
+    @ExcelProperty(value = "发起时间", index = 2)
39
+    private Date createTime;
40
+
41
+    /**
42
+     * 助力成功时间
43
+     */    /**
44
+     * 创建时间 也是助力发起时间
45
+     */
46
+    @ColumnWidth(15)
47
+    @DateTimeFormat("yyyy年MM月dd日")
48
+    @ExcelProperty(value = "成团时间", index = 3)
49
+    private Date endTime;
50
+
51
+    /**
52
+     * 核销状态
53
+     */
54
+    @ColumnWidth(15)
55
+    @ExcelProperty(value = "核销状态", index = 4)
56
+    private String verificationStatus;
57
+}

+ 41
- 0
src/main/java/com/huiju/estateagents/job/JudglActivityTimeJob.java View File

@@ -0,0 +1,41 @@
1
+package com.huiju.estateagents.job;
2
+
3
+import com.huiju.estateagents.base.BaseController;
4
+import com.huiju.estateagents.service.IHelpActivityService;
5
+import com.huiju.estateagents.service.ITaBuildingDynamicService;
6
+import com.huiju.estateagents.service.ITaShareActivityService;
7
+import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.context.annotation.Configuration;
9
+import org.springframework.scheduling.annotation.EnableScheduling;
10
+import org.springframework.scheduling.annotation.Scheduled;
11
+import org.springframework.stereotype.Component;
12
+
13
+/**
14
+ * @author admin
15
+ * @Title: JudglActivityTimeJob
16
+ * @Description: TODO
17
+ * @date 2019/10/21
18
+ */
19
+@Component
20
+@Configuration
21
+@EnableScheduling
22
+public class JudglActivityTimeJob extends BaseController {
23
+
24
+    @Autowired
25
+    private ITaBuildingDynamicService iTaBuildingDynamicService;
26
+
27
+    @Autowired
28
+    private ITaShareActivityService iTaShareActivityService;
29
+
30
+    @Autowired
31
+    private IHelpActivityService iHelpActivityService;
32
+
33
+    /**
34
+     * 开启定时任务,每天12:30执行
35
+     */
36
+    @Scheduled(cron = "* 30 12 * * ?")
37
+    private void configureTasks() {
38
+//        iTaBuildingDynamicService.
39
+    }
40
+
41
+}

+ 4
- 1
src/main/java/com/huiju/estateagents/mapper/TaShareChildRecordMapper.java View File

@@ -1,7 +1,9 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.huiju.estateagents.entity.TaShareChildRecord;
6
+import com.huiju.estateagents.excel.ShareChildRecordExport;
5 7
 import org.apache.ibatis.annotations.Mapper;
6 8
 import org.apache.ibatis.annotations.Param;
7 9
 
@@ -17,5 +19,6 @@ import java.util.List;
17 19
  */
18 20
 @Mapper
19 21
 public interface TaShareChildRecordMapper extends BaseMapper<TaShareChildRecord> {
20
-    List<TaShareChildRecord> getList(@Param("groupActivityId") Integer groupActivityId, @Param("status") Integer status, @Param("orgId") Integer orgId);
22
+    IPage<TaShareChildRecord> getList(IPage<TaShareChildRecord> pg, @Param("groupActivityId") Integer groupActivityId, @Param("status") Integer status, @Param("recordId") Integer recordId, @Param("orgId") Integer orgId);
23
+    List<ShareChildRecordExport> getShareRecordExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("recordId") Integer recordId , @Param("status")Integer status, @Param("groupActivityId") Integer groupActivityId);
21 24
 }

+ 8
- 1
src/main/java/com/huiju/estateagents/mapper/TaShareRecordMapper.java View File

@@ -1,8 +1,12 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 6
 import com.huiju.estateagents.entity.TaShareRecord;
7
+import com.huiju.estateagents.excel.ShareChildRecordExport;
8
+import com.huiju.estateagents.excel.ShareRecordFailExport;
9
+import com.huiju.estateagents.excel.ShareRecordSuccessExport;
6 10
 import com.huiju.estateagents.po.TaShareRecordPO;
7 11
 import org.apache.ibatis.annotations.Mapper;
8 12
 import org.apache.ibatis.annotations.Param;
@@ -19,8 +23,11 @@ import java.util.List;
19 23
  */
20 24
 @Mapper
21 25
 public interface TaShareRecordMapper extends BaseMapper<TaShareRecord> {
26
+    IPage<TaShareRecord> recordSuccessList(IPage<TaShareRecord> page, @Param("phone") String phone, @Param("status") Integer status, @Param("orgId") Integer orgId);
27
+    IPage<TaShareRecordPO> recordFailAndProcessingList(IPage<TaShareRecord> page, @Param("phone") String phone, @Param("status") Integer status, @Param("groupActivityId") Integer groupActivityId, @Param("orgId") Integer orgId);
28
+    List<ShareRecordSuccessExport> getShareRecordSuccessExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("recordId") Integer recordId , @Param("status")Integer status, @Param("groupActivityId") Integer groupActivityId);
29
+    List<ShareRecordFailExport> getShareRecordFailExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("recordId") Integer recordId , @Param("status")Integer status, @Param("groupActivityId") Integer groupActivityId);
22 30
     List<TaShareRecord> recordSuccessList(@Param("phone") String phone, @Param("status") Integer status, @Param("orgId") Integer orgId);
23 31
     List<TaShareRecordPO> recordFailAndProcessingList(@Param("phone") String phone, @Param("status") Integer status, @Param("orgId") Integer orgId);
24
-	
25 32
 	List<TaShareRecord> getShareRecordList(Page<TaShareRecord> pg,@Param("orgId") Integer orgId,@Param("personId") String personId);
26 33
 }

+ 18
- 1
src/main/java/com/huiju/estateagents/service/ITaShareChildRecordService.java View File

@@ -1,8 +1,13 @@
1 1
 package com.huiju.estateagents.service;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import com.baomidou.mybatisplus.extension.service.IService;
4 5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TaPerson;
5 7
 import com.huiju.estateagents.entity.TaShareChildRecord;
8
+import com.huiju.estateagents.excel.ShareChildRecordExport;
9
+
10
+import java.util.List;
6 11
 
7 12
 /**
8 13
  * <p>
@@ -13,6 +18,18 @@ import com.huiju.estateagents.entity.TaShareChildRecord;
13 18
  * @since 2019-10-18
14 19
  */
15 20
 public interface ITaShareChildRecordService extends IService<TaShareChildRecord> {
16
-    ResponseBean getList(Integer pageNum, Integer pageSize, Integer groupActivityId, Integer status, Integer orgId);
21
+    IPage<TaShareChildRecord> getList(Integer pageNum, Integer pageSize, Integer groupActivityId, Integer status, Integer recordId, Integer orgId);
17 22
     ResponseBean validateRule(TaShareChildRecord taShareChildRecord);
23
+    Integer getShareRecord(Integer recordId, Integer status);
24
+    List<ShareChildRecordExport> getShareRecordExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId);
25
+
26
+	/**
27
+	 * 微信端成为团员
28
+	 *
29
+	 * @param taShareChildRecord
30
+	 * @param orgId
31
+	 * @param person
32
+	 * @return
33
+	 */
34
+	ResponseBean addChildRecord(TaShareChildRecord taShareChildRecord, Integer orgId, TaPerson person);
18 35
 }

+ 13
- 3
src/main/java/com/huiju/estateagents/service/ITaShareRecordService.java View File

@@ -1,9 +1,16 @@
1 1
 package com.huiju.estateagents.service;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import com.baomidou.mybatisplus.extension.service.IService;
4 5
 import com.huiju.estateagents.base.ResponseBean;
5 6
 import com.huiju.estateagents.entity.TaPerson;
6 7
 import com.huiju.estateagents.entity.TaShareRecord;
8
+import com.huiju.estateagents.excel.ShareChildRecordExport;
9
+import com.huiju.estateagents.excel.ShareRecordFailExport;
10
+import com.huiju.estateagents.excel.ShareRecordSuccessExport;
11
+import com.huiju.estateagents.po.TaShareRecordPO;
12
+
13
+import java.util.List;
7 14
 
8 15
 
9 16
 /**
@@ -15,11 +22,14 @@ import com.huiju.estateagents.entity.TaShareRecord;
15 22
  * @since 2019-10-18
16 23
  */
17 24
 public interface ITaShareRecordService extends IService<TaShareRecord> {
18
-    ResponseBean getSuccessList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId);
19
-    ResponseBean getFailAndProcessingList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId);
25
+    IPage<TaShareRecord> getSuccessList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId);
26
+    IPage<TaShareRecordPO> getFailAndProcessingList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer groupActivityId, Integer orgId);
20 27
     ResponseBean validateRule(TaShareRecord taShareRecord);
21 28
     ResponseBean verifyCode(Integer activityId, String verifyCode);
22
-	
29
+    Integer getShareRecord(Integer recordId, Integer status);
30
+    List<ShareRecordSuccessExport>  getShareRecordSuccessExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId);
31
+    List<ShareRecordFailExport>  getShareRecordFailExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId);
32
+
23 33
 	/**
24 34
 	 * 分页获取微信端发起拼团记录
25 35
 	 * @param pageNum

+ 2
- 2
src/main/java/com/huiju/estateagents/service/impl/HelpRecordServiceImpl.java View File

@@ -90,11 +90,11 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
90 90
 		helpRecord.setCreateDate(LocalDateTime.now());
91 91
 		helpRecord.setPersionId(person.getPersonId());
92 92
 		helpRecordMapper.insert(helpRecord);
93
-		if (helpActivity.getEnlistNum()+1 == helpActivity.getPersionNum()){
93
+		if (helpActivity.getEnlistNum().equals(helpActivity.getPersionNum())){
94 94
 			//发送微信模板消息所有人都发送--todo
95 95
 			
96 96
 			//生成核销码
97
-			helpInitiateRecord.setVerification(helpInitiateRecord.getHelpActivityId()+System.currentTimeMillis());
97
+			helpInitiateRecord.setVerification(String.valueOf(helpInitiateRecord.getHelpRecordInitiateId()+System.currentTimeMillis()));
98 98
 		}
99 99
 		helpInitiateRecord.setEnlistNum(helpInitiateRecord.getEnlistNum()+1);
100 100
 		helpInitiateRecordMapper.updateById(helpInitiateRecord);

+ 103
- 10
src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java View File

@@ -1,9 +1,13 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.*;
9
+import com.huiju.estateagents.excel.ShareChildRecordExport;
10
+import com.huiju.estateagents.common.CommConstant;
7 11
 import com.huiju.estateagents.entity.TaPerson;
8 12
 import com.huiju.estateagents.entity.TaShareActivity;
9 13
 import com.huiju.estateagents.entity.TaShareChildRecord;
@@ -16,6 +20,7 @@ import com.huiju.estateagents.service.ITaShareChildRecordService;
16 20
 import org.springframework.beans.factory.annotation.Autowired;
17 21
 import org.springframework.stereotype.Service;
18 22
 
23
+import java.time.LocalDateTime;
19 24
 import java.util.List;
20 25
 
21 26
 /**
@@ -39,16 +44,9 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
39 44
     private TaShareRecordMapper tashareRecordmapper;
40 45
 
41 46
     @Override
42
-    public ResponseBean getList(Integer pageNum, Integer pageSize, Integer groupActivityId, Integer status, Integer orgId) {
43
-        ResponseBean responseBean = new ResponseBean();
44
-        Page<TaShareRecord> page = new Page<>();
45
-        page.setSize(pageSize == null ? 10 : pageSize);
46
-        page.setCurrent(pageNum == null ? 1 : pageNum);
47
-
48
-        List<TaShareChildRecord> list = taShareChildRecordMapper.getList(groupActivityId, status, orgId);
49
-        responseBean.addSuccess(list);
50
-
51
-        return responseBean;
47
+    public IPage<TaShareChildRecord> getList(Integer pageNum, Integer pageSize, Integer groupActivityId, Integer status, Integer recordId, Integer orgId) {
48
+        IPage<TaShareChildRecord> page = new Page<>(pageNum,pageSize);
49
+        return taShareChildRecordMapper.getList(page, groupActivityId, status, recordId, orgId);
52 50
     }
53 51
 
54 52
     @Override
@@ -84,4 +82,99 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
84 82
 
85 83
         return responseBean;
86 84
     }
85
+
86
+    @Override
87
+    public Integer getShareRecord(Integer recordId, Integer status) {
88
+        QueryWrapper<TaShareChildRecord> taShareChildRecordQueryWrapper= new QueryWrapper<>();
89
+        taShareChildRecordQueryWrapper.eq("record_id",recordId);
90
+        taShareChildRecordQueryWrapper.eq("status",status);
91
+        return taShareChildRecordMapper.selectCount(taShareChildRecordQueryWrapper);
92
+    }
93
+
94
+    @Override
95
+    public List<ShareChildRecordExport> getShareRecordExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId) {
96
+        List<ShareChildRecordExport> list = taShareChildRecordMapper.getShareRecordExportList(pageCode, pageSize, recordId, status, groupActivityId);
97
+        return list;
98
+    }
99
+    /**
100
+     * 微信端成为团员
101
+     *
102
+     * @param taShareChildRecord
103
+     * @param orgId
104
+     * @param person
105
+     * @return
106
+     */
107
+    @Override
108
+    public ResponseBean addChildRecord(TaShareChildRecord taShareChildRecord, Integer orgId, TaPerson person) {
109
+        //查看是否拼团成功
110
+        TaShareRecord taShareRecord = tashareRecordmapper.selectById(taShareChildRecord.getRecordId());
111
+        if (taShareRecord.getStatus().equals(CommConstant.STATUS_UNACCALIMED)){
112
+            return ResponseBean.error("已经拼团成功", ResponseBean.ERROR_UNAVAILABLE);
113
+        }
114
+        
115
+        //查看是否拼团成功
116
+        TaShareActivity taShareActivity = activityMapper.selectById(taShareChildRecord.getGroupActivityId());
117
+        if (taShareActivity.getJoinPeople() >= taShareActivity.getGroupBuyPeople()){
118
+            return ResponseBean.error("已经拼团成功", ResponseBean.ERROR_UNAVAILABLE);
119
+        }
120
+        if (taShareActivity.getEndTime().isBefore(LocalDateTime.now())){
121
+            return ResponseBean.error("活动已超时", ResponseBean.ERROR_UNAVAILABLE);
122
+        }
123
+        
124
+        //查看这个人是否是团员
125
+        QueryWrapper<TaShareChildRecord> taShareChildRecordQueryWrapper = new QueryWrapper<>();
126
+        taShareChildRecordQueryWrapper.eq("org_id",orgId);
127
+        taShareChildRecordQueryWrapper.eq("group_activity_id",taShareChildRecord.getGroupActivityId());
128
+        taShareChildRecordQueryWrapper.eq("person_id",person.getPersonId());
129
+        taShareChildRecordQueryWrapper.eq("record_id",taShareChildRecord.getRecordId());
130
+        List<TaShareChildRecord> shareChildRecordList = taShareChildRecordMapper.selectList(taShareChildRecordQueryWrapper);
131
+        if (shareChildRecordList.size() > 0){
132
+            return ResponseBean.error("您已经是团员,无需重复拼团", ResponseBean.ERROR_UNAVAILABLE);
133
+        }
134
+        
135
+        //检查这个团员积分够不够
136
+        if (person.getPoints() == null || person.getPoints() < taShareActivity.getIntegral()){
137
+            return ResponseBean.error("积分不足",ResponseBean.ERROR_UNAVAILABLE);
138
+        }
139
+        
140
+        //反更新人数
141
+        taShareActivity.setJoinPeople(taShareActivity.getJoinPeople()+1);
142
+        activityMapper.updateById(taShareActivity);
143
+    
144
+        //成为团员
145
+        taShareChildRecord.setOrgId(orgId);
146
+        taShareChildRecord.setStatus(CommConstant.STATUS_NORMAL);
147
+        taShareChildRecord.setPersonId(person.getPersonId());
148
+        taShareChildRecordMapper.insert(taShareChildRecord);
149
+        if (taShareActivity.getJoinPeople().equals(taShareActivity.getGroupBuyPeople())){
150
+            //发送微信模板消息所有人都发送--todo
151
+            
152
+            //生成团员核销码和改状态拼团成功
153
+            changeChildRecord(taShareChildRecord.getRecordId(),orgId,taShareChildRecord.getGroupActivityId());
154
+            //生成团长核销码和拼团成功
155
+            taShareRecord.setVerificationCode(String.valueOf(taShareRecord.getRecordId()+System.currentTimeMillis()));
156
+            taShareRecord.setVerificationStatus(CommConstant.STATUS_UNACCALIMED);
157
+        }
158
+        tashareRecordmapper.updateById(taShareRecord);
159
+        return ResponseBean.success(taShareRecord);
160
+    }
161
+    
162
+    /**
163
+     * 更改团员状态和生成核销码
164
+     * @param recordId
165
+     * @param orgId
166
+     * @param groupActivityId
167
+     */
168
+    private void changeChildRecord(Integer recordId, Integer orgId, Integer groupActivityId) {
169
+        QueryWrapper<TaShareChildRecord> taShareChildRecordQueryWrapper = new QueryWrapper<>();
170
+        taShareChildRecordQueryWrapper.eq("record_id",recordId);
171
+        taShareChildRecordQueryWrapper.eq("org_id",orgId);
172
+        taShareChildRecordQueryWrapper.eq("group_activity_id",groupActivityId);
173
+        List<TaShareChildRecord> shareChildRecordList = taShareChildRecordMapper.selectList(taShareChildRecordQueryWrapper);
174
+        shareChildRecordList.forEach(e -> {
175
+            e.setVerificationCode(String.valueOf(e.getChildRecordId()+System.currentTimeMillis()));
176
+            e.setVerificationStatus(CommConstant.STATUS_UNACCALIMED);
177
+        });
178
+        this.updateBatchById(shareChildRecordList);
179
+    }
87 180
 }

+ 33
- 21
src/main/java/com/huiju/estateagents/service/impl/TaShareRecordServiceImpl.java View File

@@ -7,7 +7,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.entity.TaPerson;
9 9
 import com.huiju.estateagents.entity.TaShareActivity;
10
+import com.huiju.estateagents.entity.TaShareChildRecord;
10 11
 import com.huiju.estateagents.entity.TaShareRecord;
12
+import com.huiju.estateagents.excel.ShareChildRecordExport;
13
+import com.huiju.estateagents.excel.ShareRecordFailExport;
14
+import com.huiju.estateagents.excel.ShareRecordSuccessExport;
11 15
 import com.huiju.estateagents.mapper.TaPersonMapper;
12 16
 import com.huiju.estateagents.mapper.TaShareActivityMapper;
13 17
 import com.huiju.estateagents.mapper.TaShareRecordMapper;
@@ -38,29 +42,15 @@ public class TaShareRecordServiceImpl extends ServiceImpl<TaShareRecordMapper, T
38 42
     private TaShareRecordMapper taShareRecordMapper;
39 43
 
40 44
     @Override
41
-    public ResponseBean getSuccessList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId) {
42
-        ResponseBean responseBean = new ResponseBean();
43
-        Page<TaShareRecord> page = new Page<>();
44
-        page.setSize(pageSize == null ? 10 : pageSize);
45
-        page.setCurrent(pageNum == null ? 1 : pageNum);
46
-
47
-        List<TaShareRecord> list = taShareRecordMapper.recordSuccessList(phone, status, orgId);
48
-        responseBean.addSuccess(list);
49
-
50
-        return responseBean;
45
+    public IPage<TaShareRecord> getSuccessList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId) {
46
+        IPage<TaShareRecord> page = new Page<>(pageNum,pageSize);
47
+        return taShareRecordMapper.recordSuccessList(page, phone, status, orgId);
51 48
     }
52 49
 
53 50
     @Override
54
-    public ResponseBean getFailAndProcessingList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer orgId) {
55
-        ResponseBean responseBean = new ResponseBean();
56
-        Page<TaShareRecord> page = new Page<>();
57
-        page.setSize(pageSize == null ? 10 : pageSize);
58
-        page.setCurrent(pageNum == null ? 1 : pageNum);
59
-
60
-        List<TaShareRecordPO> list = taShareRecordMapper.recordFailAndProcessingList(phone, status, orgId);
61
-        responseBean.addSuccess(list);
62
-
63
-        return responseBean;
51
+    public IPage<TaShareRecordPO> getFailAndProcessingList(Integer pageNum, Integer pageSize, String phone, Integer status, Integer groupActivityId, Integer orgId) {
52
+        IPage<TaShareRecord> page = new Page<>(pageNum,pageSize);
53
+        return taShareRecordMapper.recordFailAndProcessingList(page, phone, status, groupActivityId, orgId);
64 54
     }
65 55
 
66 56
     @Override
@@ -112,7 +102,29 @@ public class TaShareRecordServiceImpl extends ServiceImpl<TaShareRecordMapper, T
112 102
         responseBean.addSuccess("核销成功");
113 103
         return responseBean;
114 104
     }
115
-    
105
+
106
+    @Override
107
+    public Integer getShareRecord(Integer recordId, Integer status) {
108
+        QueryWrapper<TaShareRecord> taShareRecordQueryWrapper= new QueryWrapper<>();
109
+        taShareRecordQueryWrapper.eq("record_id",recordId);
110
+        taShareRecordQueryWrapper.eq("status",status);
111
+        return taShareRecordMapper.selectCount(taShareRecordQueryWrapper);
112
+    }
113
+
114
+    @Override
115
+    public List<ShareRecordSuccessExport> getShareRecordSuccessExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId) {
116
+        List<ShareRecordSuccessExport> list= taShareRecordMapper.getShareRecordSuccessExportList(pageCode ,pageSize, recordId, status, groupActivityId);
117
+        list.forEach(e -> e.setVerificationStatus("0".equals(e.getVerificationStatus()) ? "未核销" : "已核销")
118
+        );
119
+        return list;
120
+    }
121
+
122
+    @Override
123
+    public List<ShareRecordFailExport> getShareRecordFailExportList(Integer pageCode, Integer pageSize, Integer recordId, Integer status, Integer groupActivityId) {
124
+        List<ShareRecordFailExport> list= taShareRecordMapper.getShareRecordFailExportList(pageCode ,pageSize, recordId, status, groupActivityId);
125
+        return list;
126
+    }
127
+
116 128
     /**
117 129
      * 分页获取微信端发起拼团记录
118 130
      *

+ 1
- 1
src/main/resources/mapper/Activity.xml View File

@@ -5,7 +5,7 @@
5 5
     <select id="getActivityList" resultType="com.huiju.estateagents.activity.entity.Activity">
6 6
         SELECT dynamic_id as id,img_url as main_img,title,start_date as start_date,enlist_end as end_date,weight,activity_status,'dynamic' as type FROM ta_building_dynamic WHERE org_id = #{orgId}  and `status` = #{status}
7 7
         UNION  all
8
-        SELECT group_acticity_id as id,main_img,activity_name as title,start_time as start_date,end_time as end_date,weight,activity_status,'share' as type from ta_share_activity WHERE org_id = #{orgId} and `status` = #{status}
8
+        SELECT group_acticity_id as id,main_img,activity_name as title,start_time as start_date,end_time as end_date,weight,activity_status,'group' as type from ta_share_activity WHERE org_id = #{orgId} and `status` = #{status}
9 9
         UNION  all
10 10
         SELECT help_activity_id as id,img as main_img,title,start_date,end_date,weight,activity_status,'help' as type from ta_help_activity WHERE org_id = #{orgId} and `status` = #{status}
11 11
         ORDER BY weight desc,activity_status,start_date

+ 22
- 1
src/main/resources/mapper/TaShareChildRecordMapper.xml View File

@@ -15,7 +15,28 @@
15 15
             and t.status = #{status}
16 16
         </if>
17 17
         <if test="groupActivityId != null and groupActivityId != ''">
18
-            and t.groupActivityId = #{groupActivityId}
18
+            and t.group_Activity_Id = #{groupActivityId}
19 19
         </if>
20
+        <if test="recordId != null and recordId != ''">
21
+            and t.record_id = #{recordId}
22
+        </if>
23
+    </select>
24
+    <select id="getShareRecordExportList" resultType="com.huiju.estateagents.excel.ShareChildRecordExport">
25
+        select
26
+        t.nickname,
27
+        t.phone,
28
+        t.create_time
29
+        from ta_share_child_record t
30
+        where 1=1
31
+        <if test="status != null and status != ''">
32
+            and t.status = #{status}
33
+        </if>
34
+        <if test="recordId != null and recordId != ''">
35
+            and t.record_id = #{recordId}
36
+        </if>
37
+        <if test="groupActivityId != null and groupActivityId != ''">
38
+            and t.group_Activity_Id = #{groupActivityId}
39
+        </if>
40
+        limit #{pageCode}, #{pageSize}
20 41
     </select>
21 42
 </mapper>

+ 52
- 3
src/main/resources/mapper/TaShareRecordMapper.xml View File

@@ -27,7 +27,7 @@
27 27
         a.end_time as joinEndTime,
28 28
         a.verification_status as joinVerificationStatus,
29 29
         a.verification_code as joinVerificationCode
30
-        from ta_share_child_record a where where 1=1
30
+        from ta_share_child_record a where 1=1
31 31
         <if test="status !=null and status != ''">
32 32
             and a.status = #{status}
33 33
         </if>
@@ -40,12 +40,27 @@
40 40
     </select>
41 41
 
42 42
     <select id="recordFailAndProcessingList" resultType="com.huiju.estateagents.po.TaShareRecordPO">
43
-        select t.record_id, t.nickname, t.phone, t.create_time, a.group_buy_people, a.join_people  from ta_share_record t
43
+        select
44
+        t.record_id,
45
+        t.group_activity_id,
46
+        t.person_id,
47
+        t.nickname,
48
+        t.phone,
49
+        t.create_time,
50
+        a.group_buy_people,
51
+        a.join_people,
52
+        t.status,
53
+        t.verification_status,
54
+        t.verification_code
55
+        from ta_share_record t
44 56
         left join ta_share_activity a on t.group_activity_id = a.group_acticity_id
45 57
         where 1=1
46 58
         <if test="status !=null and status != ''">
47 59
             and t.status = #{status}
48 60
         </if>
61
+        <if test="groupActivityId != null and groupActivityId != ''">
62
+            and t.group_activity_id = #{groupActivityId}
63
+        </if>
49 64
         <if test="orgId != null and orgId != ''">
50 65
             and t.org_id = #{orgId}
51 66
         </if>
@@ -53,7 +68,41 @@
53 68
             and t.phone = #{phone}
54 69
         </if> order by t.create_time desc
55 70
     </select>
56
-
71
+    <select id="getShareRecordSuccessExportList" resultType="com.huiju.estateagents.excel.ShareRecordSuccessExport">
72
+        select
73
+        t.nickname,
74
+        t.phone,
75
+        t.create_time,
76
+        t.end_time,
77
+        t.verification_status
78
+        from ta_share_record t
79
+        where 1=1
80
+        <!--<if test="status != null and status != ''">-->
81
+            and t.status = #{status}
82
+        <!--</if>-->
83
+        <if test="recordId != null and recordId != ''">
84
+            and t.record_id = #{recordId}
85
+        </if>
86
+        <if test="groupActivityId != null and groupActivityId != ''">
87
+            and t.group_Activity_Id = #{groupActivityId}
88
+        </if>
89
+        limit #{pageCode}, #{pageSize}
90
+    </select>
91
+    <select id="getShareRecordFailExportList" resultType="com.huiju.estateagents.excel.ShareRecordFailExport">
92
+        select
93
+        t.nickname,
94
+        t.phone,
95
+        t.create_time
96
+        from ta_share_record t
97
+        where 1=1 and t.status = #{status}
98
+        <if test="recordId != null and recordId != ''">
99
+            and t.record_id = #{recordId}
100
+        </if>
101
+        <if test="groupActivityId != null and groupActivityId != ''">
102
+            and t.group_Activity_Id = #{groupActivityId}
103
+        </if>
104
+        limit #{pageCode}, #{pageSize}
105
+    </select>
57 106
     <select id="getShareRecordList" resultType="com.huiju.estateagents.entity.TaShareRecord">
58 107
         SELECT
59 108
             t.*,