|
@@ -2,10 +2,23 @@ package com.huiju.estateagents.third.service.impl;
|
2
|
2
|
|
3
|
3
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
4
|
4
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
5
|
+import com.huiju.estateagents.base.ResponseBean;
|
|
6
|
+import com.huiju.estateagents.common.CommConstant;
|
5
|
7
|
import com.huiju.estateagents.common.MD5Utils;
|
|
8
|
+import com.huiju.estateagents.drainage.entity.TaDrainage;
|
|
9
|
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
|
|
10
|
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
|
|
11
|
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
|
|
12
|
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
|
|
13
|
+import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
|
|
14
|
+import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
|
|
15
|
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
|
|
16
|
+import com.huiju.estateagents.redpack.mapper.TaRedPacketMapper;
|
|
17
|
+import com.huiju.estateagents.redpack.mapper.TaRedPacketPersonMapper;
|
6
|
18
|
import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
|
7
|
19
|
import com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper;
|
8
|
20
|
import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
|
|
21
|
+import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
9
|
22
|
import org.springframework.beans.factory.annotation.Autowired;
|
10
|
23
|
import org.springframework.stereotype.Service;
|
11
|
24
|
|
|
@@ -24,7 +37,22 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
|
24
|
37
|
|
25
|
38
|
@Autowired
|
26
|
39
|
private TaThirdPartyMiniappConfigMapper taThirdPartyMiniappConfigMapper;
|
27
|
|
-
|
|
40
|
+
|
|
41
|
+ @Autowired
|
|
42
|
+ private TaMpPersonMapper taMpPersonMapper;
|
|
43
|
+
|
|
44
|
+ @Autowired
|
|
45
|
+ private TaMpMiniappMapper taMpMiniappMapper;
|
|
46
|
+
|
|
47
|
+ @Autowired
|
|
48
|
+ private TaDrainageMapper taDrainageMapper;
|
|
49
|
+
|
|
50
|
+ @Autowired
|
|
51
|
+ private TaRedPacketMapper taRedPacketMapper;
|
|
52
|
+
|
|
53
|
+ @Autowired
|
|
54
|
+ private TaRedPacketPersonMapper taRedPacketPersonMapper;
|
|
55
|
+
|
28
|
56
|
/**
|
29
|
57
|
* 校验是否合法第三方接口调用
|
30
|
58
|
*
|
|
@@ -58,4 +86,95 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
|
58
|
86
|
|
59
|
87
|
return "success";
|
60
|
88
|
}
|
|
89
|
+
|
|
90
|
+ /**
|
|
91
|
+ * 创建公众号人员并关联上小程序人员
|
|
92
|
+ *
|
|
93
|
+ * @param user
|
|
94
|
+ * @param xAppid
|
|
95
|
+ * @param miniAppid
|
|
96
|
+ * @param personId
|
|
97
|
+ */
|
|
98
|
+ @Override
|
|
99
|
+ public TaMpPerson newMpPerson(WxMpUser user,String mpAppid, String xAppid, String miniAppid, String personId) {
|
|
100
|
+ //查询这个人员是否存在
|
|
101
|
+ TaMpPerson mpPerson = taMpPersonMapper.selectOne(new QueryWrapper<TaMpPerson>().eq("mp_openid", user.getOpenId()));
|
|
102
|
+ //不存在就新建
|
|
103
|
+ if (null == mpPerson){
|
|
104
|
+ //新增入公众号人员表
|
|
105
|
+ TaMpPerson taMpPerson = new TaMpPerson();
|
|
106
|
+ taMpPerson.setAppid(mpAppid);
|
|
107
|
+ taMpPerson.setCity(user.getCity());
|
|
108
|
+ taMpPerson.setCountry(user.getCountry());
|
|
109
|
+ taMpPerson.setCreateDate(LocalDateTime.now());
|
|
110
|
+ taMpPerson.setHeadimgurl(user.getHeadImgUrl());
|
|
111
|
+ taMpPerson.setMpOpenid(user.getOpenId());
|
|
112
|
+ taMpPerson.setMpPersonId(personId);
|
|
113
|
+ taMpPerson.setNickname(user.getNickname());
|
|
114
|
+ taMpPerson.setProvince(user.getProvince());
|
|
115
|
+ taMpPerson.setSex(user.getSex());
|
|
116
|
+ taMpPerson.setStatus(CommConstant.STATUS_NORMAL);
|
|
117
|
+ taMpPersonMapper.insert(taMpPerson);
|
|
118
|
+ mpPerson = taMpPerson;
|
|
119
|
+ }
|
|
120
|
+
|
|
121
|
+ //查看这个人是否绑定了小程序用户
|
|
122
|
+ TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", mpPerson.getMpPersonId()).eq("miniapp_person_id", personId));
|
|
123
|
+ if (null == taMpMiniapp){
|
|
124
|
+ taMpMiniapp = new TaMpMiniapp();
|
|
125
|
+ taMpMiniapp.setMpPersonId(mpPerson.getMpPersonId());
|
|
126
|
+ taMpMiniapp.setMiniappPersonId(personId);
|
|
127
|
+ taMpMiniappMapper.insert(taMpMiniapp);
|
|
128
|
+ }
|
|
129
|
+
|
|
130
|
+ return mpPerson;
|
|
131
|
+ }
|
|
132
|
+
|
|
133
|
+ /**
|
|
134
|
+ * 参加活动生成参与记录等
|
|
135
|
+ *
|
|
136
|
+ * @param mpAppid 公众号appid
|
|
137
|
+ * @param mpPersonId 公众号人员id
|
|
138
|
+ * @param drainageId H5活动id
|
|
139
|
+ * @param orgId 小程序id
|
|
140
|
+ */
|
|
141
|
+ @Override
|
|
142
|
+ public ResponseBean participateActivity(String mpAppid, String mpPersonId, String drainageId, Integer orgId) {
|
|
143
|
+ //第一步根据drainggeid查询出红包表对应的记录
|
|
144
|
+ TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
|
|
145
|
+ //第二步查询出这个H5对应的活动
|
|
146
|
+ TaRedPacket taRedPacket = taRedPacketMapper.selectById(taDrainage.getActivityId());
|
|
147
|
+ //判断这个活动的过期时间
|
|
148
|
+ if (LocalDateTime.now().isAfter(taRedPacket.getEndDate())){
|
|
149
|
+ return ResponseBean.error(taRedPacket.getActivityEndTip(),ResponseBean.ERROR_ILLEGAL_PARAMS);
|
|
150
|
+ }
|
|
151
|
+ if (LocalDateTime.now().isBefore(taRedPacket.getStartDate())){
|
|
152
|
+ return ResponseBean.error("此活动未开始",ResponseBean.ERROR_ILLEGAL_PARAMS);
|
|
153
|
+ }
|
|
154
|
+
|
|
155
|
+ //查看这个人绑定的小程序用户
|
|
156
|
+ TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", mpPersonId));
|
|
157
|
+
|
|
158
|
+ //查看此人是否参加过活动如果参加过直接返回
|
|
159
|
+ QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
|
|
160
|
+ queryWrapper.eq("activity_id",taRedPacket.getActivityId());
|
|
161
|
+ queryWrapper.eq("org_id",orgId);
|
|
162
|
+ queryWrapper.eq("mp_person_id",mpPersonId);
|
|
163
|
+ queryWrapper.eq("miniapp_person_id",taMpMiniapp.getMiniappPersonId());
|
|
164
|
+ TaRedPacketPerson redPacketPerson = taRedPacketPersonMapper.selectOne(queryWrapper);
|
|
165
|
+ if (null != redPacketPerson){
|
|
166
|
+ return ResponseBean.success(redPacketPerson);
|
|
167
|
+ }
|
|
168
|
+
|
|
169
|
+ //参与活动
|
|
170
|
+ TaRedPacketPerson taRedPacketPerson = new TaRedPacketPerson();
|
|
171
|
+ taRedPacketPerson.setActivityId(taRedPacket.getActivityId());
|
|
172
|
+ taRedPacketPerson.setCreateDate(LocalDateTime.now());
|
|
173
|
+ taRedPacketPerson.setIsSignedUp(true);
|
|
174
|
+ taRedPacketPerson.setMiniappPersonId(taMpMiniapp.getMiniappPersonId());
|
|
175
|
+ taRedPacketPerson.setMpPersonId(mpPersonId);
|
|
176
|
+ taRedPacketPerson.setOrgId(orgId);
|
|
177
|
+ taRedPacketPersonMapper.insert(taRedPacketPerson);
|
|
178
|
+ return ResponseBean.success(taRedPacketPerson);
|
|
179
|
+ }
|
61
|
180
|
}
|