dingxin 5 лет назад
Родитель
Сommit
b720e8071e

+ 60
- 0
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java Просмотреть файл

@@ -15,6 +15,7 @@ import io.swagger.annotations.Api;
15 15
 import io.swagger.annotations.ApiOperation;
16 16
 import io.swagger.annotations.ApiImplicitParam;
17 17
 import io.swagger.annotations.ApiImplicitParams;
18
+import org.apache.ibatis.annotations.Param;
18 19
 import org.slf4j.Logger;
19 20
 import org.slf4j.LoggerFactory;
20 21
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,6 +95,8 @@ public class HelpActivityController extends BaseController {
94 95
         Integer orgId = getOrgId(request);
95 96
         Integer cityId = iTaBuildingService.getCityById(helpActivity.getBuildingId());
96 97
         helpActivity.setCityId(cityId);
98
+        helpActivity.setWeight(0);
99
+        helpActivity.setIsMain(false);
97 100
         taHelpActivityService.helpActivityAdd(helpActivity,orgId);
98 101
         return responseBean;
99 102
     }
@@ -150,4 +153,61 @@ public class HelpActivityController extends BaseController {
150 153
         }
151 154
         return responseBean;
152 155
     }
156
+    @ApiOperation(value = "置顶和推首页", notes = "置顶和推首页")
157
+    @ApiImplicitParams({
158
+            @ApiImplicitParam(dataTypeClass = String.class, name = "parameter", paramType = "body",value = "status:0置顶操作,1推首页操作,2结束活动操作,helpActivityId:助力ID")
159
+    })
160
+    @RequestMapping(value="admin/top/update",method= RequestMethod.POST)
161
+    public ResponseBean top( @RequestBody String parameter){
162
+        ResponseBean responseBean = new ResponseBean();
163
+        JSONObject object= JSONObject.parseObject(parameter);
164
+        // 根据状态值判断是置顶还是推首页的操作
165
+        String  status= object.getString("status");
166
+        String  helpActivityId= object.getString("helpActivityId");
167
+        HelpActivity helpActivity = taHelpActivityService.getById(helpActivityId);
168
+        // 置顶操作
169
+        if (status.equals("0")) {
170
+            helpActivity.setWeight(Integer.valueOf(helpActivity.getWeight().equals(0)? 1:0));
171
+        }
172
+        // 推首页
173
+        if (status.equals("1")){
174
+            helpActivity.setIsMain(true==helpActivity.getIsMain()?false:true);
175
+        }
176
+        // 结束活动操作
177
+        if (status.equals("2")){
178
+            helpActivity.setStatus(2);
179
+        }
180
+        Boolean isA = taHelpActivityService.updateById(helpActivity);
181
+        responseBean.addSuccess(isA);
182
+        return responseBean;
183
+    }
184
+    @ApiOperation(value = "助力记录", notes = "助力记录")
185
+    @ApiImplicitParams({
186
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
187
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
188
+            @ApiImplicitParam(dataTypeClass = String.class, name = "helpActivityId", paramType = "query",value = "助力ID"),
189
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query",value = "status: 0助力成功,1进行中,2助力失败")
190
+    })
191
+    @RequestMapping(value="admin/top/update",method= RequestMethod.GET)
192
+    public ResponseBean helpRecord(@RequestParam(value ="helpActivityId",required = false) Integer helpActivityId,
193
+                                   @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
194
+                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
195
+                                   @RequestParam(value ="status",required = false) Integer status){
196
+        ResponseBean helpRecord = taHelpActivityService.helpRecord(helpActivityId,status, pageNum, pageSize);
197
+        return helpRecord;
198
+    }
199
+
200
+    @ApiOperation(value = "助力人详情", notes = "助力人详情")
201
+    @ApiImplicitParams({
202
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
203
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
204
+            @ApiImplicitParam(dataTypeClass = String.class, name = "helpRecordInitiateId", paramType = "query",value = "发起助力ID"),
205
+    })
206
+    @RequestMapping(value="admin/taHelpRecord/details",method= RequestMethod.GET)
207
+    public ResponseBean taHelpRecordDetails(@RequestParam(value ="helpRecordInitiateId",required = false) Integer helpRecordInitiateId,
208
+                                   @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
209
+                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
210
+        ResponseBean helpRecord = taHelpActivityService.taHelpRecordDetails(helpRecordInitiateId, pageNum, pageSize);
211
+        return helpRecord;
212
+    }
153 213
 }

+ 8
- 0
src/main/java/com/huiju/estateagents/entity/HelpInitiateRecord.java Просмотреть файл

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3
+import com.baomidou.mybatisplus.annotation.TableField;
3 4
 import com.baomidou.mybatisplus.annotation.TableName;
4 5
 import com.baomidou.mybatisplus.annotation.IdType;
5 6
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -8,6 +9,7 @@ import java.io.Serializable;
8 9
 import lombok.Data;
9 10
 import lombok.EqualsAndHashCode;
10 11
 import lombok.experimental.Accessors;
12
+import lombok.experimental.FieldDefaults;
11 13
 
12 14
 /**
13 15
  * <p>
@@ -96,5 +98,11 @@ public class HelpInitiateRecord implements Serializable {
96 98
      */
97 99
     private Integer enlistNum;
98 100
 
101
+    /**
102
+     * 助力
103
+     */
104
+    @TableField(exist = false)
105
+    private Integer helpCount;
106
+
99 107
 
100 108
 }

+ 1
- 0
src/main/java/com/huiju/estateagents/mapper/HelpInitiateRecordMapper.java Просмотреть файл

@@ -16,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
16 16
 @Mapper
17 17
 public interface HelpInitiateRecordMapper extends BaseMapper<HelpInitiateRecord> {
18 18
 
19
+
19 20
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/mapper/HelpRecordMapper.java Просмотреть файл

@@ -2,8 +2,11 @@ package com.huiju.estateagents.mapper;
2 2
 
3 3
 
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.huiju.estateagents.entity.HelpInitiateRecord;
5 7
 import com.huiju.estateagents.entity.HelpRecord;
6 8
 import org.apache.ibatis.annotations.Mapper;
9
+import org.apache.ibatis.annotations.Param;
7 10
 
8 11
 /**
9 12
  * <p>
@@ -16,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
16 19
 @Mapper
17 20
 public interface HelpRecordMapper extends BaseMapper<HelpRecord> {
18 21
 
22
+    IPage<HelpRecord> taHelpRecordDetails(IPage<HelpInitiateRecord> pg, @Param("helpRecordInitiateId") Integer helpRecordInitiateId);
19 23
 }

+ 16
- 0
src/main/java/com/huiju/estateagents/service/IHelpActivityService.java Просмотреть файл

@@ -42,4 +42,20 @@ public interface IHelpActivityService extends IService<HelpActivity> {
42 42
      * @return
43 43
      */
44 44
     void helpActivityUpdate(HelpActivity helpActivity);
45
+
46
+    /**
47
+     * 助力记录(成功,进行中,失败)
48
+     * @param helpActivityId
49
+     * @return
50
+     */
51
+    ResponseBean helpRecord(Integer helpActivityId,int status,Integer pageNum,Integer pageSize);
52
+
53
+    /**
54
+     * 当前发起人的助力人数
55
+     * @param helpRecordInitiateId
56
+     * @param pageNum
57
+     * @param pageSize
58
+     * @return
59
+     */
60
+    ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize);
45 61
 }

+ 76
- 3
src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java Просмотреть файл

@@ -6,13 +6,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.entity.HelpActivity;
9
+import com.huiju.estateagents.entity.HelpInitiateRecord;
10
+import com.huiju.estateagents.entity.HelpRecord;
9 11
 import com.huiju.estateagents.mapper.HelpActivityMapper;
12
+import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
13
+import com.huiju.estateagents.mapper.HelpRecordMapper;
10 14
 import com.huiju.estateagents.service.IHelpActivityService;
11 15
 import org.springframework.beans.factory.annotation.Autowired;
12 16
 import org.springframework.stereotype.Service;
13 17
 
14 18
 import javax.xml.crypto.Data;
15 19
 import java.time.LocalDateTime;
20
+import java.util.HashMap;
21
+import java.util.List;
16 22
 
17 23
 /**
18 24
  * <p>
@@ -27,17 +33,24 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
27 33
 
28 34
     @Autowired
29 35
     HelpActivityMapper taHelpActivityMapper;
36
+
37
+    @Autowired
38
+    HelpInitiateRecordMapper helpInitiateRecordMapper;
39
+
40
+    @Autowired
41
+    HelpRecordMapper helpRecordMapper;
42
+
30 43
     @Override
31 44
     public ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, Data startDate, Data endDate, Integer status, Integer orgId) {
32 45
         ResponseBean responseBean = new ResponseBean<>();
33 46
         IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
34
-        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg,cityId,buildingId,title,startDate,endDate,status,orgId);
47
+        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg, cityId, buildingId, title, startDate, endDate, status, orgId);
35 48
         responseBean.addSuccess(result);
36 49
         return responseBean;
37 50
     }
38 51
 
39 52
     @Override
40
-    public void helpActivityAdd(HelpActivity helpActivity,Integer orgId) {
53
+    public void helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
41 54
         helpActivity.setOrgId(orgId)
42 55
                 .setCreateDate(LocalDateTime.now());
43 56
         taHelpActivityMapper.insert(helpActivity);
@@ -47,4 +60,64 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
47 60
     public void helpActivityUpdate(HelpActivity helpActivity) {
48 61
         taHelpActivityMapper.updateById(helpActivity);
49 62
     }
50
-}
63
+
64
+    @Override
65
+    public ResponseBean helpRecord(Integer helpActivityId, int status,Integer pageNum,Integer pageSize) {
66
+        ResponseBean responseBean = new ResponseBean<>();
67
+        //  status 0助力成功,1进行中,2助力失败
68
+
69
+        //查询当前助力成功所需的人数限制(persion_num)
70
+        HelpActivity helpActivity = taHelpActivityMapper.selectById(helpActivityId);
71
+        // 得到活动限制助力的总数
72
+        int persionNumCount = helpActivity.getPersionNum();
73
+        IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
74
+        QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery = new QueryWrapper<>();
75
+        helpInitiateRecordQuery.eq("help_activity_id", helpActivityId);
76
+        IPage<HelpInitiateRecord> list = helpInitiateRecordMapper.selectPage(pg,helpInitiateRecordQuery);
77
+
78
+        List<HelpInitiateRecord>  helpInitiateRecordList= list.getRecords();
79
+        for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
80
+
81
+            // 统计助力成功的总数(发起人得到助力数满了即可)
82
+            QueryWrapper<HelpRecord> helpRecorddQueryWrapper = new QueryWrapper<>();
83
+            helpRecorddQueryWrapper.eq("help_record_initiate_id", helpInitiateRecord.getHelpActivityId());
84
+            // 拿到每个发起人,得到助力的总数
85
+            int helpRecordCount = helpRecordMapper.selectCount(helpRecorddQueryWrapper);
86
+            // 助力成功
87
+            if (0 == status) {
88
+                if (persionNumCount == helpRecordCount) {
89
+                    helpInitiateRecord.setHelpCount(helpRecordCount);
90
+                }
91
+            }
92
+            // 助力进行中(活动进行中,未结束)
93
+            if (1 == status && "1".equals(helpActivity.getStatus())) {
94
+                if (persionNumCount > helpRecordCount) {
95
+                    helpInitiateRecord.setHelpCount(helpRecordCount);
96
+                }
97
+            }
98
+            // 活动助力失败
99
+            // 活动进行中(活动已结束)
100
+            if (2 == status && "2".equals(helpActivity.getStatus())) {
101
+                if (persionNumCount > helpRecordCount) {
102
+                    helpInitiateRecord.setHelpCount(helpRecordCount);
103
+                }
104
+
105
+            }
106
+        }
107
+        HashMap<String, Object> map = new HashMap<>();
108
+        map.put("list", helpInitiateRecordList);
109
+        map.put("total", list.getTotal());
110
+        map.put("pageNum", list.getCurrent());
111
+        map.put("pageSize", list.getSize());
112
+        return ResponseBean.success(map);
113
+    }
114
+
115
+    @Override
116
+    public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
117
+        ResponseBean responseBean = new ResponseBean<>();
118
+        IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
119
+        IPage<HelpRecord> helpRecordList= helpRecordMapper.taHelpRecordDetails(pg,helpRecordInitiateId);
120
+        responseBean.addSuccess(helpRecordList);
121
+        return responseBean;
122
+    }
123
+}

+ 4
- 1
src/main/resources/mapper/HelpRecordMapper.xml Просмотреть файл

@@ -1,5 +1,8 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.mapper.HelpRecordMapper">
4
-
4
+<select id="taHelpRecordDetails" resultType="com.huiju.estateagents.entity.HelpRecord">
5
+    select * from ta_help_record
6
+    where help_record_initiate_id =#{helpRecordInitiateId}
7
+</select>
5 8
 </mapper>