ソースを参照

Merge branch 'v3.5' of http://git.ycjcjy.com/zhiyuxing/estateagents into v3.5

魏熙美 5 年 前
コミット
069ecfd47c

+ 5
- 0
src/main/java/com/huiju/estateagents/activity/entity/Activity.java ファイルの表示

@@ -29,4 +29,9 @@ public class Activity {
29 29
 	private Integer activityStatus;
30 30
 	
31 31
 	private String type;
32
+	
33
+	/**
34
+	 * 完成数量
35
+	 */
36
+	private Integer successNum;
32 37
 }

+ 15
- 0
src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java ファイルの表示

@@ -75,18 +75,33 @@ public class ActivityServiceImpl implements ActivityServiceI {
75 75
 						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
76 76
 					}
77 77
 				});
78
+				e.setSuccessNum(null);
78 79
 			}else if (e.getType().equals("share")){
79 80
 				taShareRecords.forEach(share -> {
80 81
 					if (e.getId().equals(share.getGroupActivityId())){
81 82
 						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
82 83
 					}
83 84
 				});
85
+				//查看此活动已经完成的数量
86
+				QueryWrapper<TaShareRecord> shareRecordQueryWrapper = new QueryWrapper<>();
87
+				shareRecordQueryWrapper.eq("org_id",orgId);
88
+				shareRecordQueryWrapper.eq("group_activity_id",e.getId());
89
+				shareRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
90
+				List<TaShareRecord> taShareRecordsList = taShareRecordMapper.selectList(shareRecordQueryWrapper);
91
+				e.setSuccessNum(taShareRecordsList.size());
84 92
 			}else if (e.getType().equals("help")){
85 93
 				helpRecords.forEach(help -> {
86 94
 					if (e.getId().equals(help.getHelpActivityId())){
87 95
 						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
88 96
 					}
89 97
 				});
98
+				//查看此活动已经完成的数量
99
+				QueryWrapper<HelpRecord> tahelpRecordQueryWrapper = new QueryWrapper<>();
100
+				tahelpRecordQueryWrapper.eq("org_id",orgId);
101
+				tahelpRecordQueryWrapper.eq("help_activity_id",e.getId());
102
+				tahelpRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
103
+				List<HelpRecord> helpRecordList = helpRecordMapper.selectList(tahelpRecordQueryWrapper);
104
+				e.setSuccessNum(helpRecordList.size());
90 105
 			}
91 106
 		});
92 107
 		pg.setRecords(list);

+ 12
- 0
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java ファイルの表示

@@ -13,10 +13,12 @@ import com.huiju.estateagents.entity.TaShareActivity;
13 13
 import com.huiju.estateagents.entity.TaShareChildRecord;
14 14
 import com.huiju.estateagents.entity.TaShareContent;
15 15
 import com.huiju.estateagents.entity.TaShareRecord;
16
+import com.huiju.estateagents.entity.TdPosterTemplate;
16 17
 import com.huiju.estateagents.service.ITaPersonService;
17 18
 import com.huiju.estateagents.service.ITaShareActivityService;
18 19
 import com.huiju.estateagents.service.ITaShareChildRecordService;
19 20
 import com.huiju.estateagents.service.ITaShareRecordService;
21
+import com.huiju.estateagents.service.ITdPosterTemplateService;
20 22
 import com.huiju.estateagents.service.TaPosterService;
21 23
 import com.huiju.estateagents.service.TaShareContentService;
22 24
 import io.swagger.models.auth.In;
@@ -62,6 +64,9 @@ public class TaShareActivityController extends BaseController {
62 64
     @Autowired
63 65
     private TaShareContentService taShareContentService;
64 66
     
67
+    @Autowired
68
+    private ITdPosterTemplateService tdPosterTemplateService;
69
+    
65 70
 
66 71
     /**
67 72
      * 分页查询列表
@@ -304,6 +309,13 @@ public class TaShareActivityController extends BaseController {
304 309
             List<TaPoster> postList = taPosterService.list(posterQueryWrapper);
305 310
             map.put("postList",postList);
306 311
     
312
+            QueryWrapper<TdPosterTemplate> tdPosterTemplateQueryWrapper = new QueryWrapper<>();
313
+            tdPosterTemplateQueryWrapper.eq("org_id",orgId);
314
+            tdPosterTemplateQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
315
+            tdPosterTemplateQueryWrapper.eq("type",CommConstant.GROUP_ACTIVITY);
316
+            List<TdPosterTemplate> posterTemplateList = tdPosterTemplateService.list(tdPosterTemplateQueryWrapper);
317
+            map.put("posterTemplateList",posterTemplateList);
318
+    
307 319
             //获取分享信息
308 320
             QueryWrapper<TaShareContent> taShareContentQueryWrapper = new QueryWrapper<>();
309 321
             taShareContentQueryWrapper.eq("share_content_type",CommConstant.GROUP_ACTIVITY);

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/HelpActivity.java ファイルの表示

@@ -120,4 +120,9 @@ public class HelpActivity implements Serializable {
120 120
     @TableField(exist = false)
121 121
     private String helpStatus;
122 122
 
123
+    /**
124
+     * 发起成功的总数
125
+     */
126
+    @TableField(exist = false)
127
+    private String succeedCount;
123 128
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/service/IMiniAppService.java ファイルの表示

@@ -24,6 +24,10 @@ public interface IMiniAppService {
24 24
     WxMaPhoneNumberInfo getPhoneNoInfo(String sessionKey, String encryptedData, String iv, String appid);
25 25
 
26 26
     void sendNoticeMessage(TaPerson toUser, String link, String name, String phone, String content, LocalDateTime dt);
27
+    
28
+    void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
29
+    
30
+    void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
27 31
 
28 32
     void sendMainBizMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName, String bizType, String content);
29 33
 

+ 36
- 4
src/main/java/com/huiju/estateagents/service/impl/HelpRecordServiceImpl.java ファイルの表示

@@ -11,7 +11,9 @@ import com.huiju.estateagents.entity.TaPerson;
11 11
 import com.huiju.estateagents.mapper.HelpActivityMapper;
12 12
 import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
13 13
 import com.huiju.estateagents.mapper.HelpRecordMapper;
14
+import com.huiju.estateagents.mapper.TaPersonMapper;
14 15
 import com.huiju.estateagents.service.IHelpRecordService;
16
+import com.huiju.estateagents.service.IMiniAppService;
15 17
 import org.apache.commons.collections.CollectionUtils;
16 18
 import org.apache.commons.collections.map.HashedMap;
17 19
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +46,12 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
44 46
 	@Autowired
45 47
 	private HelpRecordMapper helpRecordMapper;
46 48
 	
49
+	@Autowired
50
+	private TaPersonMapper taPersonMapper;
51
+	
52
+	@Autowired
53
+	private IMiniAppService miniAppService;
54
+	
47 55
 	/**
48 56
 	 * 助力者助力
49 57
 	 *
@@ -57,13 +65,13 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
57 65
 		//查看是否助力成功
58 66
 		HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecord.getHelpRecordInitiateId());
59 67
 		if (!StringUtils.isEmpty(helpInitiateRecord.getVerification())){
60
-			return ResponseBean.error("已经助力成功", ResponseBean.ERROR_UNAVAILABLE);
68
+			return ResponseBean.error("助力失败", ResponseBean.ERROR_UNAVAILABLE);
61 69
 		}
62 70
 		
63 71
 		HelpActivity helpActivity = helpActivityMapper.selectById(helpRecord.getHelpActivityId());
64 72
 		//是否助力成功
65 73
 		if (null != helpActivity.getEnlistNum() && helpActivity.getEnlistNum() >= helpActivity.getPersonNum()){
66
-			return ResponseBean.error("已经助力成功", ResponseBean.ERROR_UNAVAILABLE);
74
+			return ResponseBean.error("助力失败", ResponseBean.ERROR_UNAVAILABLE);
67 75
 		}
68 76
 		if (helpActivity.getEndDate().isBefore(LocalDateTime.now())){
69 77
 			return ResponseBean.error("活动已超时", ResponseBean.ERROR_UNAVAILABLE);
@@ -100,7 +108,8 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
100 108
 		helpRecord.setPersonId(person.getPersonId());
101 109
 		helpRecordMapper.insert(helpRecord);
102 110
 		if (helpActivity.getEnlistNum().equals(helpActivity.getPersonNum())){
103
-			//发送微信模板消息所有人都发送--todo
111
+			//发送微信模板消息所有人都发送
112
+			sendWxMessage(helpInitiateRecord,orgId,helpActivity);
104 113
 			
105 114
 			//生成核销码
106 115
 			helpInitiateRecord.setVerification(String.valueOf(helpInitiateRecord.getHelpRecordInitiateId()+System.currentTimeMillis()));
@@ -117,5 +126,28 @@ public class HelpRecordServiceImpl extends ServiceImpl<HelpRecordMapper, HelpRec
117 126
 		map.put("helpInitiateRecord",helpInitiateRecord);
118 127
 		return ResponseBean.success(map);
119 128
 	}
120
-
129
+	
130
+	/**
131
+	 * 发送微信消息
132
+	 * @param helpInitiateRecord
133
+	 * @param orgId
134
+	 * @param helpActivity
135
+	 */
136
+	private void sendWxMessage(HelpInitiateRecord helpInitiateRecord, Integer orgId, HelpActivity helpActivity) {
137
+		//发送给发起者
138
+		TaPerson taPerson = taPersonMapper.selectById(helpInitiateRecord.getPersonId());
139
+		String link = "/pages/activity/detail/assistance?id="+helpInitiateRecord.getHelpActivityId()+"&initiateId="+helpInitiateRecord.getHelpRecordInitiateId();
140
+		miniAppService.sendHelpMessage(taPerson,link,"助力成功",helpActivity.getTitle(),LocalDateTime.now());
141
+		//批量发送给助力者
142
+		QueryWrapper<HelpRecord> queryWrapper = new QueryWrapper<>();
143
+		queryWrapper.eq("org_id",orgId);
144
+		queryWrapper.eq("help_activity_id",helpInitiateRecord.getHelpActivityId());
145
+		queryWrapper.eq("help_record_initiate_id",helpInitiateRecord.getHelpRecordInitiateId());
146
+		List<HelpRecord> helpRecords = helpRecordMapper.selectList(queryWrapper);
147
+		helpRecords.forEach(e -> {
148
+			TaPerson toTaPerson = taPersonMapper.selectById(e.getPersonId());
149
+			miniAppService.sendHelpMessage(toTaPerson,link,"助力成功",helpActivity.getTitle(),LocalDateTime.now());
150
+		});
151
+	}
152
+	
121 153
 }

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java ファイルの表示

@@ -84,6 +84,26 @@ public class MiniAppServiceImpl implements IMiniAppService {
84 84
 
85 85
         sendMessage("notice", toUser, link, data);
86 86
     }
87
+    
88
+    @Override
89
+    public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
90
+        List<WxMaTemplateData> data = new ArrayList<>();
91
+        data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
92
+        data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
93
+        data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
94
+        
95
+        sendMessage("help.result", toUser, link, data);
96
+    }
97
+    
98
+    @Override
99
+    public void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
100
+        List<WxMaTemplateData> data = new ArrayList<>();
101
+        data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
102
+        data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
103
+        data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
104
+        
105
+        sendMessage("group.result", toUser, link, data);
106
+    }
87 107
 
88 108
     @Override
89 109
     public void sendMainBizMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName, String bizType, String content) {

+ 31
- 3
src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java ファイルの表示

@@ -16,6 +16,7 @@ import com.huiju.estateagents.mapper.TaPersonMapper;
16 16
 import com.huiju.estateagents.mapper.TaShareActivityMapper;
17 17
 import com.huiju.estateagents.mapper.TaShareChildRecordMapper;
18 18
 import com.huiju.estateagents.mapper.TaShareRecordMapper;
19
+import com.huiju.estateagents.service.IMiniAppService;
19 20
 import com.huiju.estateagents.service.ITaShareChildRecordService;
20 21
 import org.apache.commons.collections.CollectionUtils;
21 22
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +44,8 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
43 44
     private TaShareActivityMapper activityMapper;
44 45
     @Autowired
45 46
     private TaShareRecordMapper tashareRecordmapper;
47
+    @Autowired
48
+    private IMiniAppService miniAppService;
46 49
 
47 50
     @Override
48 51
     public IPage<TaShareChildRecord> getList(Integer pageNum, Integer pageSize, Integer groupActivityId, Integer status, Integer recordId, Integer orgId) {
@@ -118,13 +121,13 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
118 121
         //查看是否拼团成功
119 122
         TaShareRecord taShareRecord = tashareRecordmapper.selectById(taShareChildRecord.getRecordId());
120 123
         if (taShareRecord.getStatus().equals(CommConstant.STATUS_UNACCALIMED)){
121
-            return ResponseBean.error("已经拼团成功", ResponseBean.ERROR_UNAVAILABLE);
124
+            return ResponseBean.error("拼团失败", ResponseBean.ERROR_UNAVAILABLE);
122 125
         }
123 126
         
124 127
         //查看是否拼团成功
125 128
         TaShareActivity taShareActivity = activityMapper.selectById(taShareChildRecord.getGroupActivityId());
126 129
         if (taShareActivity.getJoinPeople() >= taShareActivity.getGroupBuyPeople()){
127
-            return ResponseBean.error("已经拼团成功", ResponseBean.ERROR_UNAVAILABLE);
130
+            return ResponseBean.error("拼团失败", ResponseBean.ERROR_UNAVAILABLE);
128 131
         }
129 132
         if (taShareActivity.getEndTime().isBefore(LocalDateTime.now())){
130 133
             return ResponseBean.error("活动已超时", ResponseBean.ERROR_UNAVAILABLE);
@@ -156,7 +159,8 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
156 159
         taShareChildRecord.setPersonId(person.getPersonId());
157 160
         taShareChildRecordMapper.insert(taShareChildRecord);
158 161
         if (taShareActivity.getJoinPeople().equals(taShareActivity.getGroupBuyPeople())){
159
-            //发送微信模板消息所有人都发送--todo
162
+            //发送微信模板消息所有人都发送
163
+            sendWxMessage(taShareRecord,orgId,taShareActivity);
160 164
             
161 165
             //生成团员核销码和改状态拼团成功
162 166
             changeChildRecord(taShareChildRecord.getRecordId(),orgId,taShareChildRecord.getGroupActivityId());
@@ -168,6 +172,30 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
168 172
         return ResponseBean.success(taShareRecord);
169 173
     }
170 174
     
175
+    /**
176
+     * 发送微信消息
177
+     * @param taShareRecord
178
+     * @param orgId
179
+     * @param taShareActivity
180
+     */
181
+    private void sendWxMessage(TaShareRecord taShareRecord, Integer orgId, TaShareActivity taShareActivity) {
182
+        //发送给发起者
183
+        TaPerson taPerson = taPersonMapper.selectById(taShareRecord.getRecordId());
184
+        //--todo
185
+        String link = "/pages/activity/detail/assistance?id="+taShareRecord.getGroupActivityId()+"&initiateId="+taShareRecord.getRecordId();
186
+        miniAppService.sendHelpMessage(taPerson,link,"助力成功",taShareActivity.getActivityName(),LocalDateTime.now());
187
+        //批量发送给助力者
188
+        QueryWrapper<TaShareChildRecord> taShareChildRecordQueryWrapper = new QueryWrapper<>();
189
+        taShareChildRecordQueryWrapper.eq("org_id",orgId);
190
+        taShareChildRecordQueryWrapper.eq("group_activity_id",taShareRecord.getGroupActivityId());
191
+        taShareChildRecordQueryWrapper.eq("record_id",taShareRecord.getRecordId());
192
+        List<TaShareChildRecord> shareChildRecordList = taShareChildRecordMapper.selectList(taShareChildRecordQueryWrapper);
193
+        shareChildRecordList.forEach(e -> {
194
+            TaPerson toTaPerson = taPersonMapper.selectById(e.getPersonId());
195
+            miniAppService.sendHelpMessage(toTaPerson,link,"助力成功",taShareActivity.getActivityName(),LocalDateTime.now());
196
+        });
197
+    }
198
+    
171 199
     /**
172 200
      * 更改团员状态和生成核销码
173 201
      * @param recordId

+ 16
- 8
src/main/resources/mapper/HelpActivityMapper.xml ファイルの表示

@@ -2,28 +2,36 @@
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.HelpActivityMapper">
4 4
     <select id="helpActivityListPage" resultType="com.huiju.estateagents.entity.HelpActivity">
5
-        select * from ta_help_activity
5
+        SELECT
6
+        COUNT(hir.verification) as succeedCount,
7
+        ha.*
8
+        FROM
9
+        ta_help_activity ha
10
+        LEFT JOIN ta_help_initiate_record hir ON ha.help_activity_id = hir.help_activity_id
11
+        AND (hir.verification is NULL or hir.verification != '')
6 12
         <where>
7 13
         <if test="cityId != null and cityId != ''">
8
-            and city_id = #{cityId}
14
+            and ha.city_id = #{cityId}
9 15
         </if>
10 16
         <if test="buildingId != null and buildingId != ''">
11
-            and building_id = #{buildingId}
17
+            and ha.building_id = #{buildingId}
12 18
         </if>
13 19
         <if test="title != null and title != ''">
14
-            and title = #{title}
20
+            and ha.title like CONCAT('%',#{title}, '%')
15 21
         </if>
16 22
         <if test="startDate != null and startDate != ''and startDate!='Invalid date'">
17
-         and date_format(start_date,'%Y-%m-%d') = date_format( #{startDate}, '%Y-%m-%d' )
23
+         and date_format(ha.start_date,'%Y-%m-%d') = date_format( #{startDate}, '%Y-%m-%d' )
18 24
         </if>
19 25
         <if test="endDate != null and endDate != ''and endDate!='Invalid date'">
20
-            and date_format(end_date,'%Y-%m-%d') = date_format( #{endDate}, '%Y-%m-%d' )
26
+            and date_format(ha.end_date,'%Y-%m-%d') = date_format( #{endDate}, '%Y-%m-%d' )
21 27
         </if>
22 28
         <if test="activityStatus != null and activityStatus != null">
23
-            and activity_status = #{activityStatus}
29
+            and ha.activity_status = #{activityStatus}
24 30
         </if>
25
-            and org_id=#{orgId}
31
+            and ha.org_id=#{orgId}
26 32
         </where>
33
+        GROUP BY ha.help_activity_id
34
+        order by ha.activity_status = 0 desc,ha.activity_status = 1 desc,ha.activity_status = 2 desc,ha.start_date desc
27 35
     </select>
28 36
 
29 37
     <update id="updateUnStartHelpActivity">