记得上下班打卡 | git大法好,push需谨慎

Commit 2f10f380 authored by jiangxiulong's avatar jiangxiulong

关注也调用积分任务

parent 40b2bf84
......@@ -56,5 +56,6 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_WECHAT_USERS = "sweet:wechatUsers:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_TYPE = "type:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_RELATION = "sweet:wechatUsersRelation:mobile:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_RELATION_PHONE = "sweet:wechatUsersRelation:mobile:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_RELATION_UNIONID = "sweet:wechatUsersRelation:unionId:";
}
......@@ -5,10 +5,12 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.sweet.config.WechatMpConfigure;
import com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.WechatUsersRedisUtils;
import com.liquidnet.service.sweet.vo.SweetWechatUsersRelationVo;
import com.liquidnet.service.sweet.vo.SweetWechatUsersVo;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
......@@ -45,6 +47,9 @@ public class SubscribeHandler implements WxMpMessageHandler {
@Autowired
private SweetWechatTemplateServiceImpl sweetWechatTemplateService;
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService,
WxSessionManager sessionManager) throws WxErrorException {
......@@ -65,9 +70,13 @@ public class SubscribeHandler implements WxMpMessageHandler {
type = 1;
} else {// 摩登服务号
type = 2;
SweetWechatUsersRelationVo usersRelationUnionid = redisUtils.getSweetWechatUsersRelationUnionid(wxMpUser.getUnionId());
if (null != usersRelationUnionid) {
feignStoneIntegralClient.doTask(4, usersRelationUnionid.getUserId());
}
}
SweetWechatUsersVo sweetWechatUsers = redisUtils.getSweetWechatUsers(wxMpUser.getUnionId(), type);
if (null == sweetWechatUsers && type > 0) {
if (null == sweetWechatUsers) {
SweetWechatUsersVo sweetWechatUsersVo = SweetWechatUsersVo.getNew();
sweetWechatUsersVo.setWechatId(IDGenerator.nextSnowId());
sweetWechatUsersVo.setOpenId(wxMpUser.getOpenId());
......
......@@ -114,9 +114,15 @@ public class SweetWechatLoginServiceImpl {
usersRelationVo.setUserId(userId);
usersRelationVo.setUserPhone(mobile);
redisUtils.setSweetWechatUsersRelation(usersRelationVo);
// 调用关注赠积分任务
// 调用关注赠积分任务 这里如果不调用的话
// 1。关注过了也登陆过小程序的可以脚本处理 脚本不处理就需要每个用户点进入小程序登陆
// 2。关注过了 无小程序的 本次登陆才有的 接口也不是前端请求的 就没有地方触发做任务接口
// 3。有小程序未关注的就关注时候适用
SweetWechatUsersVo sweetWechatUsersSky = redisUtils.getSweetWechatUsers(unionId, 2);
if (null != sweetWechatUsersSky) {
feignStoneIntegralClient.doTask(4, userId);
}
}
// 返回给前端数据
HashMap<String, Object> userInfo = CollectionUtil.mapStringObject();
userInfo.put("unionId", unionId);
......
......@@ -38,7 +38,17 @@ public class WechatUsersRedisUtils {
}
public SweetWechatUsersRelationVo getSweetWechatUsersRelation(String mobile) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION.concat(mobile);
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION_PHONE.concat(mobile);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return null;
} else {
SweetWechatUsersRelationVo sweetWechatUsersRelationVo = (SweetWechatUsersRelationVo) obj;
return sweetWechatUsersRelationVo;
}
}
public SweetWechatUsersRelationVo getSweetWechatUsersRelationUnionid(String mobile) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION_PHONE.concat(mobile);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return null;
......@@ -48,8 +58,10 @@ public class WechatUsersRedisUtils {
}
}
public void setSweetWechatUsersRelation(SweetWechatUsersRelationVo usersRelationVo) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION.concat(usersRelationVo.getUserPhone());
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION_PHONE.concat(usersRelationVo.getUserPhone());
String redisKey2 = SweetConstant.REDIS_KEY_SWEET_WECHAT_USERS_RELATION_UNIONID.concat(usersRelationVo.getUnionId());
redisUtil.set(redisKey, usersRelationVo);
redisUtil.set(redisKey2, usersRelationVo);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment