From 54d23cdd109a411b52c3b33fa5d18b267d9c1f2d Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Tue, 11 Aug 2020 20:06:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E9=80=9A=E8=BF=87unionId=EF=BC=8C?= =?UTF-8?q?=E9=80=9A=E8=BF=87openId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsd/say/controller/WechatController.java | 29 +----------- .../service/impl/AwardListServiceImpl.java | 2 +- .../bsd/say/service/impl/WeixinService.java | 44 +++++++++++++++++++ 3 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/bsd/say/controller/WechatController.java b/src/main/java/com/bsd/say/controller/WechatController.java index a3a93e2..d750422 100644 --- a/src/main/java/com/bsd/say/controller/WechatController.java +++ b/src/main/java/com/bsd/say/controller/WechatController.java @@ -151,34 +151,7 @@ public class WechatController { String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN"); JSONObject jsonObject = JSONObject.parseObject(resutl); Integer subscribe = jsonObject.getInteger("subscribe"); - logger.info("subscribe:"+ subscribe); - Record recordByOpenId = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getOpenId,openId) - .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); - if (subscribe == 0){ - //未关注公众号 - if (recordByOpenId == null){ - logger.info("新粉丝第一次进入"); - Record record = new Record(); - record.setOpenId(openId); - record.setFan("新粉丝"); - record.setCreateDateTime(new Date()); - recordMapper.insert(record); - }else { - logger.info("游客访问过,但未关注"); - } - }else { - //关注过公众号 - if (recordByOpenId == null){ - logger.info("老粉丝第一次进入"); - Record record = new Record(); - record.setOpenId(openId); - record.setFan("老粉丝"); - record.setCreateDateTime(new Date()); - recordMapper.insert(record); - }else { - logger.info("老粉丝访问过,已关注"); - } - } + weixinService.insertRecord(openId,subscribe); AjaxResult ajaxResult = new AjaxResult(); ajaxResult.setData(jsonObject); return ajaxResult; diff --git a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java index ce0e3e0..93db591 100644 --- a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java @@ -280,7 +280,7 @@ public class AwardListServiceImpl extends BaseServiceImpllambdaQuery().eq(Users::getUnionId,unionId) + Users users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getOpenId,openId) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); if (users == null){ ajaxResult.setRetcode(AjaxResult.SUCCESS); diff --git a/src/main/java/com/bsd/say/service/impl/WeixinService.java b/src/main/java/com/bsd/say/service/impl/WeixinService.java index 2df6ccf..25db2de 100644 --- a/src/main/java/com/bsd/say/service/impl/WeixinService.java +++ b/src/main/java/com/bsd/say/service/impl/WeixinService.java @@ -2,7 +2,10 @@ package com.bsd.say.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bsd.say.config.RedisProperies; +import com.bsd.say.entities.Record; +import com.bsd.say.mapper.RecordMapper; import com.bsd.say.service.WxOpenServiceDemo; import com.bsd.say.util.AESWithJCEUtils; import com.bsd.say.util.HttpRequestUtils; @@ -16,10 +19,12 @@ import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import redis.clients.jedis.JedisPool; import javax.annotation.PostConstruct; import javax.annotation.Resource; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -46,6 +51,8 @@ public class WeixinService extends WxOpenServiceImpl { private String getWxUserInfoUrl; @Resource private RedisTemplate redisTemplate; + @Resource + private RecordMapper recordMapper; private WxOpenMessageRouter wxOpenMessageRouter; Logger logger = LogUtils.getBussinessLogger(); @@ -140,4 +147,41 @@ public class WeixinService extends WxOpenServiceImpl { logger.info("userInfo:"+ jsonObject.toString()); return jsonObject; } + + /** + * 插入记录的 + * @param openId + * @param subscribe + */ + @Transactional + public void insertRecord(String openId,Integer subscribe){ + logger.info("subscribe:"+ subscribe); + Record recordByOpenId = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getOpenId,openId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + if (subscribe == 0){ + //未关注公众号 + if (recordByOpenId == null){ + logger.info("新粉丝第一次进入"); + Record record = new Record(); + record.setOpenId(openId); + record.setFan("新粉丝"); + record.setCreateDateTime(new Date()); + recordMapper.insert(record); + }else { + logger.info("游客访问过,但未关注"); + } + }else { + //关注过公众号 + if (recordByOpenId == null){ + logger.info("老粉丝第一次进入"); + Record record = new Record(); + record.setOpenId(openId); + record.setFan("老粉丝"); + record.setCreateDateTime(new Date()); + recordMapper.insert(record); + }else { + logger.info("老粉丝访问过,已关注"); + } + } + } }