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("老粉丝访问过,已关注"); + } + } + } }